Figured out problem #1 by using the snd module's slots option: options snd slots=,,,,,,,,,,,,snd-soc-ps-mach This assigns card number 12 to this device, exactly what I want: $ arecord -l **** List of CAPTURE Hardware Devices **** card 11: ALC257 [HD-Audio Generic], device 0: ALC257 Analog [ALC257 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 12: acp63 [acp63], device 0: DMIC capture dmic-hifi-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0 I also managed to work around problem #2 by assigning proper card ID's to these snd-hda-intel devices. First they were called Generic and Generic_1 now they look like this: $ aplay -l **** List of PLAYBACK Hardware Devices **** card 10: HDMI [HD-Audio Generic], device 3: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 10: HDMI [HD-Audio Generic], device 7: HDMI 1 [HDMI 1] Subdevices: 1/1 Subdevice #0: subdevice #0 card 10: HDMI [HD-Audio Generic], device 8: HDMI 2 [HDMI 2] Subdevices: 1/1 Subdevice #0: subdevice #0 card 11: ALC257 [HD-Audio Generic], device 0: ALC257 Analog [ALC257 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 Their exact order is now not that important anymore but it would still be nice to do this from /etc/modprobe.d/ So that only leaves me problem #3. Jeremy _______________________________________________ Linux-audio-user mailing list -- linux-audio-user@xxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to linux-audio-user-leave@xxxxxxxxxxxxxxxxxxxx