スピーカーを動作させるために、いくつかのガイドに従いました。主に、適切なインデックスのために /etc/modprobe.d/alsa-base.conf を変更する必要がありました。
スピーカーは現在の構成で動作していました。しかし、最近起動時にドライバーの読み込みに失敗するようになりました。dmesg に表示される内容は次のとおりです。
[ 47.721202] usb 1-14: New USB device found, idVendor=05a7, idProduct=1020
[ 47.721204] usb 1-14: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 47.721205] usb 1-14: Product: Bose USB Audio
[ 47.721205] usb 1-14: Manufacturer: Bose Corporation
[ 47.728551] hid-generic 0003:05A7:1020.0006: hiddev0,hidraw5: USB HID v1.10 Device [Bose Corporation Bose USB Audio] on usb-0000:00:14.0-14/input2
[ 47.739669] snd-usb-audio 1-14:1.0: cannot find the slot for index 0 (range 0-0), error: -16
[ 47.741328] usb 1-14: cannot create card instance 0
[ 47.742215] snd-usb-audio: probe of 1-14:1.0 failed with error -16
「cat /proc/asound/cards」を実行すると、使用可能な HDA Nvidia のみが表示されます。「lspci | grep -i audio」でも同様です。
wrathwolf@wolfnix:~$ cat /proc/asound/cards
0 [NVidia ]: HDA-Intel - HDA NVidia
HDA NVidia at 0xfb080000 irq 59
wrathwolf@wolfnix:~$ lspci |grep -i audio
01:00.1 Audio device: NVIDIA Corporation Device 0fb0 (rev a1)
wrathwolf@wolfnix:~$
lsmod は USB ドライバーがロードされていることを示します。
wrathwolf@wolfnix:~$ lsmod |grep usb
usbserial 49152 1 pl2303
btusb 32768 0
bluetooth 491520 22 bnep,btusb,rfcomm
snd_usb_audio 180224 0
snd_usbmidi_lib 32768 1 snd_usb_audio
snd_hwdep 20480 2 snd_usb_audio,snd_hda_codec
snd_pcm 106496 6 snd_usb_audio,snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_hda_controller
snd_rawmidi 32768 2 snd_usbmidi_lib,snd_seq_midi
snd 90112 18 snd_usb_audio,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_seq,snd_rawmidi,snd_usbmidi_lib,snd_hda_codec,snd_hda_intel,snd_seq_device
usbhid 53248 0
hid 110592 2 hid_generic,usbhid
wrathwolf@wolfnix:~$
私のalsa-base.confはこれとは何の関係もないはずです。システムがスピーカーを検出しなくなったからです。Havningがそう言っていましたが、ここに私のalsa-base.confのコピーがあります。仕事をしていました。
wrathwolf@wolfnix:~$ cat /etc/modprobe.d/alsa-base.conf # autoloader aliases
install sound-slot-0 /sbin/modprobe snd-card-0
install sound-slot-1 /sbin/modprobe snd-card-1
install sound-slot-2 /sbin/modprobe snd-card-2
install sound-slot-3 /sbin/modprobe snd-card-3
install sound-slot-4 /sbin/modprobe snd-card-4
install sound-slot-5 /sbin/modprobe snd-card-5
install sound-slot-6 /sbin/modprobe snd-card-6
install sound-slot-7 /sbin/modprobe snd-card-7
# Cause optional modules to be loaded above generic modules
install snd /sbin/modprobe --ignore-install snd $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-ioctl32 ; /sbin/modprobe --quiet --use-blacklist snd-seq ; }
#
# Workaround at bug #499695 (reverted in Ubuntu see LP #319505)
install snd-pcm /sbin/modprobe --ignore-install snd-pcm $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-pcm-oss ; : ; }
install snd-mixer /sbin/modprobe --ignore-install snd-mixer $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-mixer-oss ; : ; }
install snd-seq /sbin/modprobe --ignore-install snd-seq $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq-midi ; /sbin/modprobe --quiet --use-blacklist snd-seq-oss ; : ; }
#
install snd-rawmidi /sbin/modprobe --ignore-install snd-rawmidi $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq-midi ; : ; }
# Cause optional modules to be loaded above sound card driver modules
install snd-emu10k1 /sbin/modprobe --ignore-install snd-emu10k1 $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-emu10k1-synth ; }
install snd-via82xx /sbin/modprobe --ignore-install snd-via82xx $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq ; }
# Load saa7134-alsa instead of saa7134 (which gets dragged in by it anyway)
install saa7134 /sbin/modprobe --ignore-install saa7134 $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist saa7134-alsa ; : ; }
# Assign USB Audio as default sound card
options snd_usb_audio index=0
# Prevent abnormal drivers from grabbing index 0
options bt87x index=-2
options cx88_alsa index=-2
options saa7134-alsa index=-2
options snd-atiixp-modem index=-2
options snd-intel8x0m index=-2
options snd-via82xx-modem index=-2
# Ubuntu #62691, enable MPU for snd-cmipci
options snd-cmipci mpu_port=0x330 fm_port=0x388
# Keep snd-pcsp from being loaded as first soundcard
options snd-pcsp index=-2
wrathwolf@wolfnix:~$
ここで言及するのはおそらく冒涜的だとは思いますが... 科学の名において、Windows 10 (VM ではなくデュアル ブート) でテストしたところ、そこでは動作しているようです。
ご協力いただければ幸いです。
答え1
options snd_usb_audio index=0
このオプションは、snd-usb-audio
ドライバーがロードするときに、最初のサウンド カード インデックスを要求するように指示します。ただし、そのサウンド カード インデックスが既に他のドライバーによって使用されている場合 (snd-hda-intel
この場合は)、ロードは失敗します。
理論的には、このような衝突を防ぐためには、全て使用するインデックスをドライバーに指定します。ただし、より良い解決策は、オプションを使用せずindex
、各インデックスに対してどのドライバーがそれを要求できるかを指定することです。
options snd slots=snd-usb-audio,snd-hda-intel # second one not actually needed