Hello,
at first a short overview of what i've done and where i got stuck.
I am currently evaluating the Intel Open-AVB Stack (https://github.com/intel-ethernet/Open-AVB) with a linux x86 PC. I did a simple implementation of the IEEE 1722.1 standard, so that i got an external controller entity, which can be run on linux, and also did extensions to the simple_talker and simple_listener from the Open-AVB project.
I tested the two programs with each other, i.e. i got 2 PC's with 2 Intel AVB-Compatible ethernet cards and this worked. Further it is possible for me to record a stream from an XR-AVB-LC-BRD with the latest simple_avb_demo application on my PC. But when i want to stream from my PC to a XR-AVB-LC-BRD i got no output, altough i got the correct destination mac and stream id on the XR-AVB-LC-BRD and my PC sends out 1722 packets with data in them.
I've done one modification to the code on the XMOS to get only 2 Channels in the stream, on both, listener and talker side. I attached a Wireshark Capture of the setup, so maybe somebody sees something i forgot to submit from the PC that the XMOS-Software needs.
Short Summary:
Streaming from PC Talker to PC Listener is working.
Streaming from XMOS Talker to PC Listener is working.
Streaming from PC Talker to XMOS Listener is NOT working.
So i hope somebody see any problem here. If you may need any further logs or infos please don't hesitate to ask.
Best Regards and Thanks in advance
Ben
Intel Open-AVB Talker to XR-AVB-LC-BRD Listener Problems
-
- New User
- Posts: 3
- Joined: Tue Oct 29, 2013 3:19 pm
Intel Open-AVB Talker to XR-AVB-LC-BRD Listener Problems
You do not have the required permissions to view the files attached to this post.
-
- Respected Member
- Posts: 279
- Joined: Fri Dec 11, 2009 1:34 pm
Hi Ben,
I had a quick glance at the Wireshark capture and it looks OK.
Can you post the output from running the endpoint from JTAG with XScope enabled? The following command should do it:
I had a quick glance at the Wireshark capture and it looks OK.
Can you post the output from running the endpoint from JTAG with XScope enabled? The following command should do it:
Code: Select all
xrun --xscope bin/simple_avb_demo.xe
-
- New User
- Posts: 3
- Joined: Tue Oct 29, 2013 3:19 pm
Hi Andy,
here's the Output i get from the xscope
Thank you and Best Regards
Ben
here's the Output i get from the xscope
Code: Select all
PTP Role: Master
MAAP reserved Talker stream #0 address: 91:E0:F0:0:69:EE
DISCONNECTING Listener sink #0 -> Talker stream A0369F1C3B0B0000, DA: 91:E0:F0:0:AB:42
Talker stream 0A0369F1C, DA: 91:E0:F0:0:AB:42
None XMOS Talker
CONNECTING Listener sink #0 -> Talker stream A0369F1C3B0B0000, DA: 91:E0:F0:0:AB:42
Listener sink #0 chan map:
0 -> 0
1 -> 1
Ben
-
- Respected Member
- Posts: 279
- Joined: Fri Dec 11, 2009 1:34 pm
Hi Ben,
Have you modified the code at all? The line
shouldn't be printed by the reference design.
It looks like the media clock is failing to lock from the incoming stream. At a guess, this could be because the 48kHz 'media clock' on the PC is someway off 48kHz or is unstable.
One thing to check is if the stability count here is incrementing to above the threshold: https://github.com/xcore/sw_avb/blob/ma ... er.xc#L194
Have you modified the code at all? The line
Code: Select all
None XMOS Talker
It looks like the media clock is failing to lock from the incoming stream. At a guess, this could be because the 48kHz 'media clock' on the PC is someway off 48kHz or is unstable.
One thing to check is if the stability count here is incrementing to above the threshold: https://github.com/xcore/sw_avb/blob/ma ... er.xc#L194
-
- New User
- Posts: 3
- Joined: Tue Oct 29, 2013 3:19 pm
Hello Andy,
yes i did modify the code to print this line. If i insert a simpleprint to check the stability count, like this
i get this lines on the console repeatedly
So for me it doesn't look like the threshold is reached. May there be other things i should check?
Thanks and Best Regards
Ben
yes i did modify the code to print this line. If i insert a simpleprint to check the stability count, like this
Code: Select all
if (sample_diff < ACCEPTABLE_FILL_ADJUST &&
sample_diff > -ACCEPTABLE_FILL_ADJUST &&
(sample_diff - b.prev_diff <= 1 &&
sample_diff - b.prev_diff >= -1)) {
b.stability_count++;
} else {
b.stability_count = 0;
}
simple_printf("b.stability_count %d\n",b.stability_count);
if (!locked && (b.stability_count > STABLE_THRESHOLD)) {
int max_adjust = MEDIA_OUTPUT_FIFO_WORD_SIZE-MAX_SAMPLES_PER_1722_PACKET;
if (fill - sample_diff > max_adjust ||
fill - sample_diff < -max_adjust) {
Code: Select all
b.stability_count 1
b.stability_count 0
b.stability_count 0
b.stability_count 0
b.stability_count 1
b.stability_count 0
b.stability_count 0
b.stability_count 0
b.stability_count 1
Thanks and Best Regards
Ben
-
- Member++
- Posts: 28
- Joined: Fri Jul 29, 2016 8:25 am
Hi e45tg4t3,
Were you able to fix this issue?
Even I am facing a similar problem. I am using a 3rd party device with XMOS. When XMOS AVB Endpoint is configured as talker and other device as listener, it works fine and I am able to get proper output.
When 3rd party device is used as talker and XMOS AVB Endpoint as listener, I cant hear anything at the output. I don't even know if it is receiving 1722 packets sent by talker or not.
Regards,
Chandini
Were you able to fix this issue?
Even I am facing a similar problem. I am using a 3rd party device with XMOS. When XMOS AVB Endpoint is configured as talker and other device as listener, it works fine and I am able to get proper output.
When 3rd party device is used as talker and XMOS AVB Endpoint as listener, I cant hear anything at the output. I don't even know if it is receiving 1722 packets sent by talker or not.
Regards,
Chandini