
I have a new Dell PowerEdge T110 workstation to replace the old T105. Both of them lack any proper sound hardware so I've got USB speakers. Some time in the process of replacing the system or the monitor (which is a USB hub and thus changes USB device assignment) sound stopped working in KDE. It seems that the main problem is that there is some sort of sound hardware detected on the motherboard (maybe the built in PC speaker) which causes the real sound hardware to be registered as ALSA device 1. So far the only way I've discovered to make things work is to make the following sym-links to make the USB sound hardware be device 0. # ls -l /dev/snd total 0 drwxr-xr-x. 2 root root 60 Dec 9 20:49 by-id drwxr-xr-x. 2 root root 80 Dec 9 20:49 by-path lrwxrwxrwx. 1 root root 9 Dec 18 00:05 controlC0 -> controlC1 crw-rw---T. 1 root audio 116, 3 Dec 9 20:49 controlC1 crw-rw---T. 1 root audio 116, 5 Dec 9 20:49 hwC0D0 lrwxrwxrwx. 1 root root 8 Dec 18 00:09 pcmC0D0p -> pcmC1D0p crw-rw---T. 1 root audio 116, 4 Dec 9 20:49 pcmC0D3p crw-rw---T. 1 root audio 116, 2 Dec 18 00:09 pcmC1D0p crw-rw---T. 1 root audio 116, 1 Dec 9 20:49 seq crw-rw---T. 1 root audio 116, 33 Dec 9 20:49 timer Is there a way that I can reserve device 0 for the USB device? It needs to be reserved because the motherboard hardware is detected before the USB bus is scanned - if the monitor is even turned on when the system is booted. Is there a way I can make the system just ignore the motherboard device and have only 1 ALSA card? There's only one thing that can ever be useful so it seems best to make it the only recognised card in the system. Thanks -- My Main Blog http://etbe.coker.com.au/ My Documents Blog http://doc.coker.com.au/

Russell Coker <russell@coker.com.au> wrote:
Is there a way that I can reserve device 0 for the USB device?
You can specify it as in the following examples: options snd_usb_audio index=1 options snd_hda_intel index=0 I created a file for this: /etc/modprobe.d/sound-devices.conf. Essentially, it specifies parameters to the kernel modules as they are loaded.

Jason White <jason@jasonjgw.net> writes:
Russell Coker <russell@coker.com.au> wrote:
Is there a way that I can reserve device 0 for the USB device?
You can specify it as in the following examples: options snd_usb_audio index=1 options snd_hda_intel index=0
I created a file for this: /etc/modprobe.d/sound-devices.conf. Essentially, it specifies parameters to the kernel modules as they are loaded.
Assuming your (OP's) diagnosis is correct, you can also blacklist the pcspkr module in /etc/modprobe.conf.d/foo.conf blacklist foo prevents it being loaded automatically, install foo /bin/false prevents it being loaded at all.

Trent W. Buck <trentbuck@gmail.com> wrote:
Assuming your (OP's) diagnosis is correct, you can also blacklist the pcspkr module in /etc/modprobe.conf.d/foo.conf
Interestingly, pcspkr is loaded here, but there's no corresponding ALSA device: the only ALSA devices are for true sound cards. Try running aplay -l to identify the relevant hardware. It should be easy enough to find the pertinent kernel module.

Jason White <jason@jasonjgw.net> writes:
Trent W. Buck <trentbuck@gmail.com> wrote:
Assuming your (OP's) diagnosis is correct, you can also blacklist the pcspkr module in /etc/modprobe.conf.d/foo.conf
Interestingly, pcspkr is loaded here, but there's no corresponding ALSA device: the only ALSA devices are for true sound cards.
IIRC when I ran into this, my card wasn't loading soon enough, so I *think* the kernel (or ALSA) went "ruh roh, no cards, I'll fall back to pcspkr" and then later the card arrived, so I had amixer -c0 was pcspkr and amixer -c1 was the real sound card. YMMV &c

I love how your kernel talks like Scooby Doo Trent. On Dec 19, 2013 10:26 AM, "Trent W. Buck" <trentbuck@gmail.com> wrote:
Jason White <jason@jasonjgw.net> writes:
Trent W. Buck <trentbuck@gmail.com> wrote:
Assuming your (OP's) diagnosis is correct, you can also blacklist the pcspkr module in /etc/modprobe.conf.d/foo.conf
Interestingly, pcspkr is loaded here, but there's no corresponding ALSA device: the only ALSA devices are for true sound cards.
IIRC when I ran into this, my card wasn't loading soon enough, so I *think* the kernel (or ALSA) went "ruh roh, no cards, I'll fall back to pcspkr" and then later the card arrived, so I had amixer -c0 was pcspkr and amixer -c1 was the real sound card.
YMMV &c
_______________________________________________ luv-main mailing list luv-main@luv.asn.au http://lists.luv.asn.au/listinfo/luv-main

On Wed, 18 Dec 2013, Jason White <jason@jasonjgw.net> wrote:
Russell Coker <russell@coker.com.au> wrote:
Is there a way that I can reserve device 0 for the USB device?
You can specify it as in the following examples: options snd_usb_audio index=1 options snd_hda_intel index=0
I created a file for this: /etc/modprobe.d/sound-devices.conf. Essentially, it specifies parameters to the kernel modules as they are loaded.
http://etbe.coker.com.au/2013/12/27/sound-device-order-with-alsa/ Thanks for the suggestions, Jason's idea was the one I ended up using. I wrote about it at the above URL. -- My Main Blog http://etbe.coker.com.au/ My Documents Blog http://doc.coker.com.au/

Russell Coker <russell@coker.com.au> wrote:
On Wed, 18 Dec 2013, Jason White <jason@jasonjgw.net> wrote:
I created a file for this: /etc/modprobe.d/sound-devices.conf. Essentially, it specifies parameters to the kernel modules as they are loaded.
http://etbe.coker.com.au/2013/12/27/sound-device-order-with-alsa/
Thanks for the suggestions, Jason's idea was the one I ended up using. I wrote about it at the above URL.
The same effect can be achieved by a udev rule, which is perhaps the better long-term solution. I haven't read up on udev sufficiently to be able to write it.

I just have pulseaudio and alsa configured to route all the sound to all the devices, so it doesn't matter which one has my headphones plugged in.. seems like a simpler solution? On 18 December 2013 00:31, Russell Coker <russell@coker.com.au> wrote:
I have a new Dell PowerEdge T110 workstation to replace the old T105. Both of them lack any proper sound hardware so I've got USB speakers.
Some time in the process of replacing the system or the monitor (which is a USB hub and thus changes USB device assignment) sound stopped working in KDE. It seems that the main problem is that there is some sort of sound hardware detected on the motherboard (maybe the built in PC speaker) which causes the real sound hardware to be registered as ALSA device 1.
So far the only way I've discovered to make things work is to make the following sym-links to make the USB sound hardware be device 0.
# ls -l /dev/snd total 0 drwxr-xr-x. 2 root root 60 Dec 9 20:49 by-id drwxr-xr-x. 2 root root 80 Dec 9 20:49 by-path lrwxrwxrwx. 1 root root 9 Dec 18 00:05 controlC0 -> controlC1 crw-rw---T. 1 root audio 116, 3 Dec 9 20:49 controlC1 crw-rw---T. 1 root audio 116, 5 Dec 9 20:49 hwC0D0 lrwxrwxrwx. 1 root root 8 Dec 18 00:09 pcmC0D0p -> pcmC1D0p crw-rw---T. 1 root audio 116, 4 Dec 9 20:49 pcmC0D3p crw-rw---T. 1 root audio 116, 2 Dec 18 00:09 pcmC1D0p crw-rw---T. 1 root audio 116, 1 Dec 9 20:49 seq crw-rw---T. 1 root audio 116, 33 Dec 9 20:49 timer
Is there a way that I can reserve device 0 for the USB device? It needs to be reserved because the motherboard hardware is detected before the USB bus is scanned - if the monitor is even turned on when the system is booted.
Is there a way I can make the system just ignore the motherboard device and have only 1 ALSA card? There's only one thing that can ever be useful so it seems best to make it the only recognised card in the system.
Thanks
-- My Main Blog http://etbe.coker.com.au/ My Documents Blog http://doc.coker.com.au/
_______________________________________________ luv-main mailing list luv-main@luv.asn.au http://lists.luv.asn.au/listinfo/luv-main
-- Turning and turning in the widening gyre The falcon cannot hear the falconer Things fall apart; the center cannot hold Mere anarchy is loosed upon the world
participants (5)
-
Jason White
-
Russell Coker
-
thelionroars
-
Toby Corkindale
-
trentbuck@gmail.com