Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

Required fields*

5
  • Unfortunately they don't have a serial number. lsusb -v shows exact same output. ATTR{id} is CODEC and CODEC_1 respectively, so that's probably just assigned as they connect. Maybe the ATTR{devpath} will be consistent, assuming I keep them in the same USB ports? Unfortunately I can't get it to work. Yes, the binary is called, but the symlink is not created (NAME= is deprecated, so I used SYMLINK+=). But putting that to one side, if I create the symlink it'll show up in aplay -l as 10. But how do I create a PulseAudio device from that? Via /etc/asound.conf? Commented Oct 31, 2021 at 17:02
  • If you can identify the device in udev, you can assign its ENV{ID_ID} to something distinguishable, which should automatically be passed to PulseAudio to become part of the PulseAudio device name. Just make sure your rule executes after the standard ENV{ID_ID} rules for your distribution, so the standard rules won't override your custom setting. Commented Nov 1, 2021 at 1:07
  • You mean something like KERNEL=="pcmC[D0-9cp]*", DRIVERS=="usb", PROGRAM="/usr/bin/alsa_name.pl %k", SYMLINK+="snd/%c",ENV{ID_ID}="%c"? The script does print out "pcmC9D0p" to stdout for my example device. But I don't see that string in pacmd dump. Commented Nov 1, 2021 at 9:44
  • Interestingly the symlink actually does work. It's just that despite snd/%c it's actually created directly in /dev/, not in /dev/snd/. Commented Nov 1, 2021 at 9:48
  • I have updated the question with the progress and multiple steps. Thanks, by the way, I really appreciate your great help. Commented Nov 1, 2021 at 10:26