連接usb-c耳機
我有一個帶 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 發現我的耳機?
編輯
似乎完整的系統更新已經神奇地解決了這個問題,並且現在可以開箱即用。非常感謝此處發布的所有幫助以供將來參考。
請將耳塞連接到電腦並執行以下命令:
lsusb -d 18d1:5033 -v | grep Class
如果輸出包含單詞
Audio
和Streaming
任何地方,則有希望:耳塞具有內置 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
模組無法使用設備,那麼它可能有一些需要考慮的硬體怪癖;該模組已經有許多您可以嘗試的怪癖選項。在這種情況下,特別是如果您發現添加特定的 quirk 選項可以使設備正常工作,您還應該通過電子郵件將lsusb -v
設備的輸出和您的發現描述發送給 Linux 音頻驅動程序開發人員,以便正確的 quirk(s)將在未來的核心版本中自動應用於您的設備模型。如果您的發行版使用 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"