USB-C 잭이 있는 헤드셋이 있습니다. Google Pixel 3와 함께 제공됩니다. 저는 Archlinux를 사용하고 있으며 노트북의 USB-C 잭과 함께 사용하게 되어 기쁩니다. 그러나 이를 작동시키려면 어떤 단계를 거쳐야 하는지 모르겠습니다.
지금까지 내가 한 일은 다음과 같습니다.
lsusb
표시 화면:Bus 003 Device 005: ID 18d1:5033 Google Inc.
dmesg
장치가 어떻게 연결되어 있는지 보여줍니다.
[ 2520.298434] usb 3-1: new full-speed USB device number 5 using xhci_hcd
[ 2520.694851] usb 3-1: New USB device found, idVendor=18d1, idProduct=5033, bcdDevice= 0.20
[ 2520.694857] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2520.694861] usb 3-1: Product: Pixel USB-C earbuds
[ 2520.694864] usb 3-1: Manufacturer: Google
[ 2520.694867] usb 3-1: SerialNumber: 00000089MAJ24397
그러나 aplay -l
내 헤드폰을 반영하는 장치는 표시되지 않습니다. 이를 통해 ALSA가 새 USB 장치를 헤드폰으로 인식하지 못하는 것이 문제라고 생각합니다. 이제 장치를 ALSA에 도입하기 위해 일부 ALSA 구성 파일을 편집해야 한다고 가정합니다.
ALSA가 내 헤드폰을 검색하려면 어떤 파일에서 정확히 무엇을 편집해야 하는지 어떻게 알 수 있나요?
편집하다
전체 시스템 업데이트를 통해 문제가 마술처럼 해결되었으며 이제 헤드폰이 즉시 작동하는 것 같습니다. 나중에 참조할 수 있도록 여기에 게시된 모든 도움에 감사드립니다.
답변1
헤드셋을 컴퓨터에 연결하고 다음 명령을 실행하십시오.
lsusb -d 18d1:5033 -v | grep Class
출력에 " Audio
and Streaming
Anywhere"라는 단어가 포함되어 있으면 희망이 있습니다. 이어버드에 DAC가 내장되어 있으며 표준 USB 오디오 장치로 인식될 수 있습니다.
그러나 단어가 보이지 않는다면 헤드폰의 유일한 디지털 전자 장치는 기본적으로 "나는 USB-C 패시브 헤드폰 세트입니다. 특정 USB-C 핀을 직접 헤드폰에 직접 연결하십시오"라고 알려주는 작은 칩일 수 있습니다. 아날로그 오디오 출력." USB-C 이어버드가 시장에 출시되었을 때 표준이 완성되지 않았기 때문에 일부 경쟁 솔루션이 있는 것으로 보입니다.
기본적으로 헤드폰은 USB-C 커넥터의 특정 핀에 직접 연결되며 제어 장치는 해당 핀을 아날로그 오디오 출력 모드로 전환할 수 있어야 합니다. 스마트폰 USB-C 컨트롤러는 분명히 이 작업을 수행할 수 있지만 많은 노트북에는 USB-C에서 아날로그 오디오 신호를 라우팅하기 위해 오디오 칩과 USB-C 컨트롤러 사이에 필요한 배선이 있는지 의심됩니다.
또한보십시오:https://www.reviewgeek.com/11101/dont-bother-with-usb-c-headphones-for-now/
USB 장치 정보에 Audio
클래스와 Streaming
하위 클래스가 포함되어 있으면 snd-usb-audio
이 모듈을 로드해야 합니다. 제대로 작동하면 오디오 장치가 나열되어야 합니다 /proc/asound/cards
. 그 후에 남은 유일한 문제는 장치에 올바른 PulseAudio 프로필을 할당하는 것입니다(PulseAudio를 사용하는 경우).
그러나 snd-usb-audio
모드가 장치에서 작동하지 않으면 고려해야 할 몇 가지 하드웨어 문제가 있을 수 있습니다. 모드에는 이미 시도해 볼 수 있는 이상한 옵션이 많이 있습니다. 이 경우, 특히 특정 쿼크 옵션을 추가하면 장치가 작동하는 것으로 확인되면 lsusb -v
올바른 쿼크가 자동으로 적용되도록 장치의 출력과 결과 설명을 Linux 오디오 드라이버 개발자에게 이메일로 보내야 합니다. 향후 커널 릴리스에서는 장치 모델에 추가됩니다.
배포판에서 PulseAudio를 사용하고 이러한 모든 확인 후에도 장치를 볼 수 없는 경우 잘못된 일이 한 가지 더 있을 수 있습니다. 장치에 올바른 PulseAudio 프로필을 할당하는 것입니다. 구성 파일은 /usr/share/pulseaudio/alsa-mixer/profile-sets/
디렉터리(적어도 Debian/Ubuntu에서는)에 있으며 default.conf
구성 파일에는 매우 설명적인 주석이 있습니다. 기본이 아닌 구성 파일 중 하나가 장치에 작동하는지 확인하거나 새 구성 파일을 작성해야 할 수도 있습니다.
특정 PulseAudio 프로필을 오디오 장치에 할당하려면 udev 규칙을 사용할 수 있습니다. 다음과 같아야 합니다.
SUBSYSTEM=="sound", <conditions to match only your device>, ENV{PULSE_PROFILE_SET}="profilename.conf"
답변2
팁을 주신 TelcoM에게 감사드립니다 snd-usb-audio
. 내 커널이 비활성화된 것으로 나타났습니다 SND_USB_AUDIO
. 나는 다음을 사용했다:
make menuconfig
(커널 모듈) SND_USB_AUDIO
로 설정합니다 . m
그런 다음 다음을 /proc/version
통해 커널 모듈을 다시 컴파일했습니다.
make modules
그런 다음 모듈을 순서대로 삽입합니다.
sudo insmod sound/core/snd-rawmidi.ko
sudo insmod sound/usb/snd-usbmidi-lib.ko
sudo insmod sound/usb/snd-usb-audio.ko
물론 재부팅 시 모듈이 자동으로 로드되지 않기 때문에 커널과 모듈을 함께 다시 빌드하는 것이 더 좋은 생각이지만 위의 방법이 저에게는 효과적이었습니다.
답변3
나에게는 이제 즉시 사용할 수 있습니다.
Linux ux370a 5.10.16-arch1-1 #1 SMP PREEMPT Sat, 13 Feb 2021 20:50:18 +0000 x86_64 GNU/Linux