![Alsa는 시스템 시작 시 USB 마이크를 감지하지 못합니다.](https://linux55.com/image/52204/Alsa%EB%8A%94%20%EC%8B%9C%EC%8A%A4%ED%85%9C%20%EC%8B%9C%EC%9E%91%20%EC%8B%9C%20USB%20%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A5%BC%20%EA%B0%90%EC%A7%80%ED%95%98%EC%A7%80%20%EB%AA%BB%ED%95%A9%EB%8B%88%EB%8B%A4..png)
시스템을 재부팅할 때까지 USB 마이크가 제대로 작동합니다. 그 후 플러그를 뽑았다가 다시 꽂을 때까지 전혀 작동하지 않았습니다. 관련된 구성 요소에 대한 나의 (제한된) 이해에 따르면 ALSA가 부팅 시 마이크를 감지하지 못하는 것 같습니다(아마도 시스템 부팅 시 USB 스캔 중에 적절한 모듈이 로드되지 않았기 때문일 것입니다). 그래서 제 질문은,
내가 어떻게,
- 초기화 시 USB 장치를 찾도록 ALSA를 구성합니다.
- ALSA를 수동으로 실행하여 부팅 시 실행할 수 있는 스크립트에서 USB 장치를 확인합니다.
- 장치를 처음 스캔하기 전에 snd-usb-audio가 로드되었는지 확인하시겠습니까?
중요한 경우 수정된 RHEL4 배포판을 실행하고 있습니다. 더 많은 정보가 필요하시면 문의해 주시면 추가하겠습니다.
보면 다음과 /var/log/messages
같이 마이크를 연결할 때 시작 시 표시되는 내용이 있습니다.
Mar 28 08:19:04 foobar kernel: usb 6-2: new full speed USB device using uhci_hcd and address 3
Mar 28 08:19:04 foobar kernel: usb 6-2: New USB device found, idVendor=08bb, idProduct=2912
Mar 28 08:19:04 foobar kernel: usb 6-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Mar 28 08:19:04 foobar kernel: usb 6-2: Product: USB audio CODEC
Mar 28 08:19:04 foobar kernel: usb 6-2: Manufacturer: Burr-Brown from TI
Mar 28 08:19:04 foobar kernel: usb 6-2: configuration #1 chosen from 1 choice
나중에 마이크를 분리하면 다음과 같은 줄이 나타납니다.
Mar 28 15:10:52 foobar kernel: usb 6-2: USB disconnect, address 3
부팅한 후 마이크를 연결하면 위와 동일한 출력이 나오지만 라인이 하나 더 추가됩니다.
Mar 28 15:11:12 foobar kernel: usb 6-2: new full speed USB device using uhci_hcd and address 4
Mar 28 15:11:12 foobar kernel: usb 6-2: New USB device found, idVendor=08bb, idProduct=2912
Mar 28 15:11:12 foobar kernel: usb 6-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Mar 28 15:11:12 foobar kernel: usb 6-2: Product: USB audio CODEC
Mar 28 15:11:12 foobar kernel: usb 6-2: Manufacturer: Burr-Brown from TI
Mar 28 15:11:12 foobar kernel: usb 6-2: configuration #1 chosen from 1 choice
Mar 28 15:11:12 foobar kernel: usbcore: registered new interface driver snd-usb-audio
답변1
음, #2에 대한 답을 찾았습니다우분투 스택 교환에서:
sudo sh -c "echo 0 > /sys/bus/usb/devices/<devId>/authorized"
sudo sh -c "echo 1 > /sys/bus/usb/devices/<devId>/authorized"
확인하면 알 수 있음 devId
(저의 경우는 항상 정확한 예상 제품명을 알고 있기 때문에)/sys/bus/usb/devices/*/product