I have connected two identical USB DACs to my Raspberry Pi and everything seems to work well. Because these are identical, in ALSA (using aplay -lL) they are referred to as DAC and DAC_1. It seems that one is recognized by the OS (Raspbian) first, and then it finds the second DAC and assigns the device the "DAC_1" name.
For my application, I would need the order that these devices are registered and named by the OS to remain the same after each reboot. Is that behavior to be expected, or will the OS randomly recognize one before the other? I would keep both DACs plugged into the same USB ports each time (they would never be removed; its a permanent install).
Thanks for any info or resources on this you can give to me, or direct me to.
EDIT: Before diving into udev I thought I would see what would happen if I rebooted several times, keeping the same physical location (USB port) for each device, each time, e.g. I did not move them to different USB ports. After each reboot, the devices were registered in the same order. This looks encouraging, and I will continue to test this behavior through more reboot cycles. It looks like there is no race condition and peripherals are simply registered in the order of the logical port on which they are found.