Home of the Squeezebox™ & Transporter® network music players.
Page 1 of 32 12311 ... LastLast
Results 1 to 10 of 318
  1. #1
    Senior Member
    Join Date
    Apr 2005
    Posts
    8,203

    Async USB Dac Experiments - testers wanted...

    EDIT: The instructions here no longer work - please see the Enhanced Digital Output app for support of usb dacs. These experiments are closed except for tests on specific dacs to improve support.



    As reported by John S I've been looking at support for async usb dacs connected to the Usb port of Touch. I believe I've made some progress and have some changes to the touch firmware which I believe are worth sharing. At present this is really a proof of concept and I am looking for testers who have an async usb dac (usb 1.1 devices for the moment) and are willing to try some tests.

    I've been testing these modifications with a usb 1 dac (Audiolab MDAC) - it will play at 44.1 and 48k sampling rates with my modified kernel. (The dac is capable of 96k, but to make it work with Touch at present I've modified the kernel to only support these lower rates)

    The process for installing the updates is slightly involved, but should all be able to be done from the normal user interface. Instructions below:

    1) Update to latest released Touch firmware
    2) Perform factory reset to ensure any previous usb mods are removed
    3) Add the following new repository url to the LMS Web settings page: Settings, Plugins (additonal repositories at bottom of page), press apply
    http://triodeapplets.googlecode.com/...sbtestrepo.xml (copy the link not text to make sure this forum does not give you a bad url)
    4) Go to Settings, Advanced, Applet Installer on the player, unselect "Recommended Applets Only" and two new applets should appear in the list: Kernel Updater and USB Audio Ouput - install them one at a time (touch will reboot each time you install one)
    5) Go to Settings, Advanced, Kernel Updater and select the kernel to install. Select one of the test kernels (See below), then read the warning text and select "Install". Touch should download a kernel and reboot, when it reboots it should include the text "USB Test Kernel" on the startup screen. If you do not see this then you are not running the test kernel and you should investigate why.
    6) Ensure USB Dac is pluged in and turned on
    7) Go to Setttings, Advanced, USB Audio Output and see if your USB Dac appears in the menu - if so select it (touch will reboot)
    8) Touch should now be using the selected USB device for its audio output - to see the status return to the Settings, Advanced, USB Audio Output menu and select the device - this should show the current status of any playing stream

    Important - before you update to the standard firmware again, you must reselect the Default output on the USB Audio Output menu otherwise the touch will continually reboot. [If you get to this point, press and hold the reset button to perform a factory reset and it should boot correctly]

    Please report your findings here - interested in which dacs and what works/doesn't.

    Update:

    There are now three test kernels:

    Test Kernel #1 - restricts the output rate to 44/48k sampling rates by overriding the rate at which the dac asks for output. It may allow async usb to work at these rates with a dac directly connected to your Touch. Known working devices:
    - Audiolab M-DAC
    - Audiolab 8200CDQ

    Test Kernel #2 - this supports up to 96k sampling rate, but may require an external high speed usb hub between Touch and your dac. Known working devices:
    - Audiolab M-DAC with external high speed hub
    - Music Streamer II with external high speed hub

    Test Kernel #3 - this includes most of the changes to the linux usbaudio driver to bring it up to date with ~April 2011. It may support a wider range of dacs.
    Known working device:
    - Audiolab M-DAC (USB audio class 1) with external high speed hub
    - Audiolab M-DAC with external high speed hub
    - Music Streamer II with external high speed hub
    - Audiolab 8200CDQ with external high speed hub
    - AudioEngine D1 with external high speed hub

    Test Kernel #4 - as Kernel #3 but with more internal debugging messages (for expert users)
    Last edited by Triode; 2012-05-01 at 12:37.

  2. #2

    Cool!

    Will install later this afternoon, can't shake feeding the family first...

    -Paul

  3. #3
    Would step 3 be done on the Touch itself or on the Server side???

    I ask because I dont see the option you listed shown after I select Settings->Plugins on the Server side.

    Don't know or can't find LMS Web setting page either.
    Last edited by dynaudiorules; 2012-01-29 at 15:01.

  4. #4
    Senior Member
    Join Date
    Apr 2005
    Posts
    8,203
    Quote Originally Posted by dynaudiorules View Post
    Would step 3 be done on the Touch itself or on the Server side???

    I ask because I dont see the option you listed shown after I select Settings->Plugins on the Server side.

    Don't know or can't find LMS Web setting page either.
    Server side - its on the settings, plugin tab at the bottom of the page. Note also that the url text is compressed by this forum it should be:
    Code:
    http://triodeapplets.googlecode.com/svn/trunk/usbtestrepo.xml

  5. #5
    Okay found out that Additional Repositories does not show on Linux servers.

    I used my Windows Server.

    I am using a Musical Fidelity V-Link, I get very faint pops about 1 min apart. Otherwise it works great.

  6. #6
    Senior Member
    Join Date
    Apr 2005
    Posts
    8,203
    Quote Originally Posted by dynaudiorules View Post
    Okay found out that Additional Repositories does not show on Linux servers.
    Shows on my linux server...

    I am using a Musical Fidelity V-Link, I get very faint pops about 1 min apart. Otherwise it works great.
    Does the instantaneous frequency update on the Usb Audio Output info display on touch? It could be that your dac has a smaller buffer than mine. This kernel overrides the rate at which the dac asks for data to make sure the feedback packets arrive. I will add more debugging info to the next kernel to help us understand more. Lets get some more reports first though.

  7. #7
    Quote Originally Posted by Triode View Post
    Shows on my linux server...


    Does the instantaneous frequency update on the Usb Audio Output info display on touch? It could be that your dac has a smaller buffer than mine. This kernel overrides the rate at which the dac asks for data to make sure the feedback packets arrive. I will add more debugging info to the next kernel to help us understand more. Lets get some more reports first though.
    Yes if I select the V-Link on the Touch I can see all the information.

    I also notice that it skips more often if I play with the Touch's Menus....

    Just let me know what info you need and I will post it

  8. #8
    Senior Member
    Join Date
    Apr 2005
    Posts
    8,203
    Quote Originally Posted by dynaudiorules View Post
    Yes if I select the V-Link on the Touch I can see all the information.
    Does it say the output endpoint is ASYNC?

    Also does the Momentary freq update (the page is refreshed once a second). On my dac every couple of seconds this updates to a value either side of the nominal frequency.

  9. #9
    Quote Originally Posted by Triode View Post
    Does it say the output endpoint is ASYNC?

    Also does the Momentary freq update (the page is refreshed once a second). On my dac every couple of seconds this updates to a value either side of the nominal frequency.
    Yes it says Async

    No update on the Momentary freq

    44084 Hz (0x2c. 15a0)

    If I switch songs it updates

    44113 Hz (0x2c. 1cf8)

    Edit: Okay it took awhile but yes it updates now its at 44098 Hz
    Last edited by dynaudiorules; 2012-01-29 at 16:24.

  10. #10
    Senior Member
    Join Date
    Apr 2005
    Posts
    8,203
    Quote Originally Posted by dynaudiorules View Post
    Yes it says Async

    No update on the Momentary freq

    44084 Hz (0x2c. 15a0)

    If I switch songs it updates

    44113 Hz (0x2c. 1cf8)
    Hum - async is not working then - should be being updated.. Are you able to ssh into the touch and type "dmesg" - what does it say for the last few lines while it is playing?

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •