AVB Daisy Chain will not stream audio to Mac 10.9.3

Technical discussions related to any XMOS development kit or reference design. Eg XK-1A, sliceKIT, etc.
Post Reply
User avatar
mbradshaw3
Junior Member
Posts: 4
Joined: Fri Jan 30, 2015 9:23 pm

AVB Daisy Chain will not stream audio to Mac 10.9.3

Post by mbradshaw3 »

I Built Daisy chain software and flashed into one of the XMOS DC boards.
I connected to one of the Ethernet slices on the Daisy chain board to the MAC OS 10.9.3. The DC Device enumerates and is shown in Mac Audio Midii Setup utility. I then choose the Daisy chain as the input device by setting as audio input device on Mac audio midi utility. No audio plays on the Mac default sound output when connecting an analog audio source to the Daisy chain line input jack 1/2.

I have tried this test with a DSP4you switch and without switch between the Mac. I all cases I see the Daisy chain device enumerate but do not get audio streaming to the Mac.

Do I need to perform additional steps with a tool such as avdecccmdline on the Mac to turn on Daisy chain talker streaming?

Do you happen to have a binary of the avdecccmdline tools built that you could distribute. I have built the tool from audio science github source but it does not appear to give me the list of command such as list, show all, etc. when running on MAC terminal.


User avatar
infiniteimprobability
XCore Legend
Posts: 1126
Joined: Thu May 27, 2010 10:08 am
Contact:

Post by infiniteimprobability »

I all cases I see the Daisy chain device enumerate but do not get audio streaming to the Mac.
Did Network browser report the correct number of channels (4i 4o) and were you able to select it OK and for the device to come up in Audio Devices? I assume so, but please confirm.

If not, please refer to this thread:

http://www.xcore.com/forum/viewtopic.ph ... avb#p18893
Do I need to perform additional steps with a tool such as avdecccmdline on the Mac to turn on Daisy chain talker streaming?
No. The OSX 1722.1 controller will handled all of the AVDECC commands. You can independently send 1722.1 packets to the endpoint using the command line if you wish, but the OSX controller won't expect that.
Do you happen to have a binary of the avdecccmdline tools built that you could distribute. I have built the tool from audio science github source but it does not appear to give me the list of command such as list, show all, etc. when running on MAC terminal.
Did you follow README.md? Here's the one I built following those instructions.. (Disclaimer - this is a zipped binary. No responsibility assumed for any issues arising etc.)
Attachments
avdecccmdline.zip
avdecc command line
(223.08 KiB) Downloaded 261 times
avdecccmdline.zip
avdecc command line
(223.08 KiB) Downloaded 261 times
User avatar
mbradshaw3
Junior Member
Posts: 4
Joined: Fri Jan 30, 2015 9:23 pm

Post by mbradshaw3 »

OK still no audio play back from Daisy Chain to MAC OS 10.9.3. I have analog audio connected to Audio Slice 3.5mm input 1/2. Selected the Daisy Chain device as the Sound Input device and Built-in Output as the Sound output device to hear the analog audio plugged into the Audio Slice. See the attached screen shot.

Here is the console debug output when selecting the Daisy Chain Device in Mac Audio Midi Network Device Browser and sending the identify command.

PTP Port 0 Role: Master
PTP Port 1 Role: Master
Setting clock source: INPUT_STREAM_DERIVED
MAAP reserved Talker stream #0 address: 91:E0:F0:0:E9:A3
PTP Port 0 Role: Slave
PTP Port 1 Role: Master
PTP sync locked
Added stream:
ID: 685B35C47850000
DA:91:E0:F0:0:4E:7D:
max size: 144
interval: 1
Added stream:
ID: 91E0F0005C880000
DA:91:E0:F0:0:5C:88:
max size: 56
interval: 1
PTP threw away Sync outlier (master_diff 161658617)
1722.1 Controller 053A2B7 acquired entity
CONNECTING Talker stream #0 (22970059200000) -> Listener 0:A:95:A0:C0:27:EA:F9
MSRP: Register stream request 229700:59200000
Added stream:
ID: 22970059200000
DA:91:E0:F0:0:E9:A3:
max size: 224
interval: 1
Talker stream #0 ready
CONNECTING Listener sink #0 -> Talker stream 685B35C47850017, DA: 91:E0:F0:0:F5:21
Listener sink #0 chan map:
0 -> 0
1 -> 1
2 -> 2
3 -> 3
1722 router: Enabled map for stream 685B35C47850017 (link_num:0, hash:0)
MSRP: Register attach request 685B35C4:7850017
Added stream:
ID: 685B35C47850017
Added stream:
ID: 685B35C47850017
DA:91:E0:F0:0:F5:21:
max size: 144
interval: 1
AP: MSRP_LISTENER 7850017:1:1:0 MRP_EVENT_DUMMY: MRP_DISABLED -> MRP_UNUSED
Added stream:
ID: 22970059200000
Increasing port 0 shaper bandwidth to 17024000
Setting stream 0 1722 TX port to 0
Talker stream #0 on
IDENTIFY Ping
Attachments
Screen Shot 2015-02-02 at 9.59.31 PM.png
MAC Audio Midi Setup Utility with AVB device connected.
(173.15 KiB) Not downloaded yet
Screen Shot 2015-02-02 at 9.59.31 PM.png
MAC Audio Midi Setup Utility with AVB device connected.
(173.15 KiB) Not downloaded yet
User avatar
infiniteimprobability
XCore Legend
Posts: 1126
Joined: Thu May 27, 2010 10:08 am
Contact:

Post by infiniteimprobability »

How did you get on with avdecc command line utility? Did it work for you? Could you discover and connect the two endpoints and stream using this? (make sure you do not select the entity in OSX if using the command line).

Thanks for attaching the log. That all looks fairly sensible and as I would expect. Clearly the entity is being discovered, descriptors read and streaming initiated. PTP locked etc.

I see you hit the identify button - did that result in the light coming on on the audio slice? (I'm guessing it did). One thing to double check with slice kits is that everything is pushed in properly..

One thing I noticed from before is that you are using 10.9.3. I have only tested with 10.9.5 and 10.10.1 and can confirm these work fine, although they did both need that bug fix applied in the link given in this thread above.

Unfortunately I don't have a 10.9.3 so cannot recreate this. There have been quite a few developments in AVB recently in OSX so there are very likely to be changes to AVB and the 1722.1 controller in between point releases.

I think it's worth applying the descriptor fix mentioned, and trying again. It's possible 10.9.3 didn't like that..
User avatar
mbradshaw3
Junior Member
Posts: 4
Joined: Fri Jan 30, 2015 9:23 pm

Post by mbradshaw3 »

How did you get on with avdecc command line utility? Did it work for you? Could you discover and connect the two endpoints and stream using this? (make sure you do not select the entity in OSX if using the command line).
.................

To clarify, In my test setup I am only using one Endpoint connected to the Mac. I am not using two Daisy chain endpoints connected together and connected to the Mac. Is this required for streaming to Mac to work?

The utility did not work it gave an error due to the dynamic library being referenced in /users/Ed/scratch/../avdecc-lib/../controller/lib or something like that. I am not currently at my development computer to give you the exact path. When the controller dynamic library .dylib is created, do the build scripts or make process move the generated dylib to the correct location? I am beginning to think that my dynamic library may not be in the correct folder location. I have used cmake to generate Xcode projects as well Unix style build scripts and I get the same results. I build with the command line tools and run like this:

Cd to directory with avdecccmdline and call ./avdecccmdline or sudo ./avdecccmdline which appears to run but I do not get any runtime status message. I have started the app with ./avdecccmdline -l5 for verbose mode and do not get any status messages. I start like this ./avdecccmdline -h and I get a parameter list like -i, -l, and about two other options but that is all. No command options like show all, list, etc.
..............................

Thanks for attaching the log. That all looks fairly sensible and as I would expect. Clearly the entity is being discovered, descriptors read and streaming initiated. PTP locked etc.

I see you hit the identify button - did that result in the light coming on on the audio slice? (I'm guessing it did). One thing to double check with slice kits is that everything is pushed in properly..
............
The led on the audio slice is always on and pressing identify does not change the the led state.
.............

One thing I noticed from before is that you are using 10.9.3. I have only tested with 10.9.5 and 10.10.1 and can confirm these work fine, although the 10.10.1 release did need that bug fix applied in the link given in this thread above.

Unfortunately I don't have a 10.9.3 so cannot recreate this. There have been quite a few developments in AVB recently in OSX so there are very likely to be changes to AVB and the 1722.1 controller in between point releases.

Do you have a 10.9.5 OSX version you could try?
...........
Yes I will try 10.9.5 OSX, I will have to wait on a new development computer to try 10.10.1 because I will lose functionality of my Avid Artist Control.
..............

I also think it's worth applying the descriptor fix mentioned, and trying again. It's possible 10.9.3 didn't like that..
..................
I did apply the descriptor fix the debug trace in the previous reply reflects those changes.
..........

I will get back to you with results of testing with the OS 10.9.5 updates

>>
I updated MAC to 10.9.5 and still no audio from DC hardware. The Audio Slice LED stays on from the time the FW is updated and DC power cycled and remains lighted even when the Identify button is pressed on Audio Midi Network Device Browser. Is there an audio loop back test available for the Audio Slice? I have verified that the analog audio connected to the audio slice analog input 1/2 is working.

By the way I am using the Audio Slice that has the MIDI connectors. The Audio Slice shown in the Daisy Chain kit on the XMOS website does not show a MIDI connector. Is there a hardware version change that would affect the audio on the newest Audio Slice with MIDI connectors?
I noticed that the Daisy Chain kit includes this audio slice with Part#XA-SK-AUDIO-PLL

I am using this Audio Slice Part #XA-SK-AUDIO with
XK-SK-L2-ST General Purpose Slice Core Kit and one additional Ethernet Slice Part#XA-SK-E100
User avatar
infiniteimprobability
XCore Legend
Posts: 1126
Joined: Thu May 27, 2010 10:08 am
Contact:

Post by infiniteimprobability »

To clarify, In my test setup I am only using one Endpoint connected to the Mac. I am not using two Daisy chain endpoints connected together and connected to the Mac. Is this (avdecccmdline) required for streaming to Mac to work?
No - it's just an alternative 1722.1 controller option (alternative to the one built in to OSX). It's low level but offers offers lots of control and visibility
When the controller dynamic library .dylib is created, do the build scripts or make process move the generated dylib to the correct location?
Sorry - I'm not sure. I just built it and it works. Audioscience are the owners of this code.

The led on the audio slice is always on and pressing identify does not change the the led state.
This isn't good. The firmware obviously receives the identify command as it is printed (indentify ping or something) in the console, but it's not making it's way to the LED.
I did apply the descriptor fix the debug trace in the previous reply reflects those changes.
The Audio Slice LED stays on from the time the FW is updated and DC power cycled and remains lighted even when the Identify button is pressed on Audio Midi Network Device Browser. Is there an audio loop back test available for the Audio Slice? I have verified that the analog audio connected to the audio slice analog input 1/2 is working.
There isn't, but it wouldn't be hard to make one using sc_i2s which has a loopback version.
By the way I am using the Audio Slice that has the MIDI connectors. The Audio Slice shown in the Daisy Chain kit on the XMOS website does not show a MIDI connector. Is there a hardware version change that would affect the audio on the newest Audio Slice with MIDI connectors?
I noticed that the Daisy Chain kit includes this audio slice with Part#XA-SK-AUDIO-PLL
Ahh - we have our root cause. The slice with the MIDI connector is different. It uses a fixed oscillator source rather than a PLL which can lock to a locally generated reference. For input stream derived media clocks, you need to recover the media clock from the listener stream, so absolutely need the PLL.

The XA-SK-AUDIO-PLL slice only come as part of the XK-SK-AVB-DC kit AFAIK.
However, I think XA-SK-AUDIO (Without PLL) might have been laid out to accept the CS2100CP as an option (schematic looks promising). So you might be able to source that component and modify the board without too much effort - you will need to check pinout and port mapping.
User avatar
mbradshaw3
Junior Member
Posts: 4
Joined: Fri Jan 30, 2015 9:23 pm

Post by mbradshaw3 »

I do believe that is the issue. I will get my hands on an Audio Slice PLL and test. I have been in contact with one of the FAEs in the USA to source the proper Audio Slice.

Thanks for your help!
Post Reply