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コントローラの間に必要な配線があるかどうか疑っています。
また見なさい: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 を使用していて、これらすべての確認後もデバイスを表示できない場合は、もう 1 つ間違ったことがあります。デバイスに正しい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