Bose USB 스피커가 드라이버를 로드하지 못함

Bose USB 스피커가 드라이버를 로드하지 못함

스피커가 작동하도록 하기 위해 여러 가이드를 따랐습니다. 주로 적절한 인덱스를 위해 /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

관련 정보