Problem in using AVB-DC

Technical discussions related to any XMOS development kit or reference design. Eg XK-1A, sliceKIT, etc.
Post Reply
kennethmok
New User
Posts: 3
Joined: Thu Jul 21, 2016 4:06 am

Problem in using AVB-DC

Post by kennethmok »

Dear Sir,

We bought one AVB-DC to test and want to develope our own product. We got some problem in our product. Finally we found the same problem was occurred in AVB-DC board.

Problems are

Used AVB-DC as a one of the units, assign each unit as different character. Use the function provide by AVDECC, the command of connect was sent by talker and listener to create the STREAM. Sometimes success but sometimes failed.

If the STREAM was created, sometimes cannot be disconnected when disconnected command was sent.

When disconnected command was sent, follow by connect command within 2 seconds, the percentage of reconnect was very low.

Used COMMUNITY 13.1 continue to send connect, disconnect command, sometime has the same problems.

Finally, if this system can provide a flag of status to show the stream is created or not, which can help us to solve this problem using other method, such as retry again the connection.


peter
XCore Addict
Posts: 230
Joined: Wed Mar 10, 2010 12:46 pm

Post by peter »

Hi kennethmok,

What topology are you using when you see this issue? Are the devices you are working with connected in a chain or directly to a switch? If they are connected in a chain, how long is that chain?

Can you confirm whether it is an issue of the packets going missing when being forwarded along the chain. Have you used a wire tap to monitor all the packets being sent along the chain. Something like this ethernet tap (and a machine with at least two NIC cards) would allow you to monitor all the packets and determine whether the issue is packet loss.

Peter
kennethmok
New User
Posts: 3
Joined: Thu Jul 21, 2016 4:06 am

Post by kennethmok »

Hi Peter:

Same result when we used two DC board or switch. We knew that the command for STREAM has been sent. But STREAM has not been created.

What we want is, is there any method for us to know, does the STREAM create? Something like a flag, status or any kind of signal.

Thanks

Kenneth Mok
peter
XCore Addict
Posts: 230
Joined: Wed Mar 10, 2010 12:46 pm

Post by peter »

Hi Kenneth Mok,

The avdecc_lib controller allows you to see all active connections using:

Code: Select all

show connections
I haven't looked into the source code, but it must surely be possible to therefore issue the connect command and then extend the tool to test whether the connection has been created - and re-issue the connect command if it hasn't been created.

Peter
kennethmok
New User
Posts: 3
Joined: Thu Jul 21, 2016 4:06 am

Post by kennethmok »

Peter:

We knew how to check the connection, but we cannot check if the STREAM has been created.

That is to say, if the connection was setup but STREAM hasnot been created, then no voice data can be transferred.

We think we can solved this problem in another way if we can check the status of the STREAM.

Regards,

Kenneth
Felixgerste
New User
Posts: 2
Joined: Fri Feb 24, 2017 9:26 am

Post by Felixgerste »

Hello,
i would like to adress this topic again, because I seem to have the same problem:
If I use the AVB Daisy Chain Board and/or the xCORE-200 Multichannel I have the problem, that if I quickly disconnect and reconnect two boards,
AVDECC shows on every level a stable connection, but there seems to be no stream connection between the the boards. As in: Audio is not transmitted.
If i wait 2 sec between connect and disconnect, there is no problem.

It seems to me, that this is a common problem with all the XCOM boards. Is there a fix or workaround for this?
I could probably set some form of flag, so the AVDECC doesn't show a connection, but this doesn't really solve my problem,
since I would like to guarantee a stable connection. Right now, we always wait ~5 sec, so we are sure that the stream connection really works.

Best regards,

Felix
Felixgerste
New User
Posts: 2
Joined: Fri Feb 24, 2017 9:26 am

Post by Felixgerste »

Ok, the problem seem to be, that if I build up a connection between two AVB endpoints and remove the connection cable, the XMOS doesn't seem to stop sending an AVDECC command, that suggests a working connection. If I replugg the connection cable, my AVDECC manager shows a correct connection again, which does not work (or exist). Connecting again won't work, since XMOS is sending a still connected signal.
Disconnecting and reconnecting however should work.

Is this suppose to work like this? Obviously, one should not remove the ethernet cable, but I assume similar thing happen, if an AVB switch shuts down during connection.
User avatar
larry
Respected Member
Posts: 275
Joined: Fri Mar 12, 2010 6:03 pm

Post by larry »

Could you post console output from the DC and xCORE-200 boards during the quick re-connection? It would be good to enable additional output in mrp.h such as MRP_DEBUG_STATE_CHANGE.
Post Reply