• Posts
  • RSS
  • ◂◂RSS
  • Contact

  • Handling Identical USB Sound Cards

    September 10th, 2021
    jammer, tech  [html]
    My Pi Sound Box has two output channels, each on a USB sound card. One has a mic input and runs my whistle synth, the other has no audio input and runs fluidsynth. This worked fine, up until my first gig out (busking in the park) where it decided to swap the devices: my whistle card moved from hw:0,0 to hw:1,0, and vice-versa.

    Here's someone else with the same problem in 2011.

    Cheap USB devices don't have a serial number, and these two sound cards present identically. On the other hand, it's possible to identify them by their location in the USB tree:

    $ for x in /sys/bus/usb/devices/*/product; do
        echo $x $(cat $x)
      done
    /sys/bus/usb/devices/1-1.2.1.3/product USB Audio Device
    /sys/bus/usb/devices/1-1.2.1/product 4-Port USB 2.0 Hub
    /sys/bus/usb/devices/1-1.2.2/product HP Elite USB Keyboard
    /sys/bus/usb/devices/1-1.2.4/product AXIS-49 2A
    /sys/bus/usb/devices/1-1.2/product 4-Port USB 2.0 Hub
    /sys/bus/usb/devices/1-1.3/product USB Audio Device
    /sys/bus/usb/devices/usb1/product DWC OTG Controller
    

    (lsusb --tree can do this too, but it's harder to read)

    Since this is based on physical ports, it will be consistent across reboots.

    It looks like you can write udev rules to tell the system how to map 1-1.2.1.3 to hw:*,0 (docs). Unfortunately, this was getting well beyond what I considered fun, so I gave up. I added a key combination to swap the outputs (commit), so if I notice it's wrong while setting up at a gig I can fix it. Possibly at some point I'll come back and deal with udev?

    Comment via: facebook, lesswrong

    Recent posts on blogs I like:

    EDT with updating double counts

    I recently got confused thinking about the following case: Calculator bet: I am offered the opportunity to bet on a mathematical statement X to which I initially assign 50% probability (perhaps X = 139926 is a quadratic residue modulo 314159). I have acce…

    via The sideways view October 12, 2021

    Meditations on newborns

    [Content: death.]I wrote most of this a couple of months ago when Nora was a newborn, but the first few months are not that conducive to finishing blog posts. New babies put you into a liminal period, both in your own experience and in how others treat yo…

    via The whole sky October 3, 2021

    The value of in-house expertise

    An alternate title for this post might be, "Twitter has a kernel team!?". At this point, I've heard that surprised exclamation enough that I've lost count of the number times that's been said to me (I'd guess that it's more tha…

    via Posts on Dan Luu September 29, 2021

    more     (via openring)


  • Posts
  • RSS
  • ◂◂RSS
  • Contact