![Kingston HyperX amp USB サウンドカード: マイクが検出されない (Ubuntu 18.04)](https://rvso.com/image/922399/Kingston%20HyperX%20amp%20USB%20%E3%82%B5%E3%82%A6%E3%83%B3%E3%83%89%E3%82%AB%E3%83%BC%E3%83%89%3A%20%E3%83%9E%E3%82%A4%E3%82%AF%E3%81%8C%E6%A4%9C%E5%87%BA%E3%81%95%E3%82%8C%E3%81%AA%E3%81%84%20(Ubuntu%2018.04).png)
HyperX amp USB サウンド カードのマイクが Ubuntu のサウンド設定に表示されません。サウンド出力は正常に機能します。
$ lsusb
Bus 001 Device 013: ID 0951:16d8 Kingston Technology
$ arecord -l
**** List of CAPTURE Hardware Devices ****
...
card 3: Amp [HyperX Amp], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
$ alsamixer -c 3
cannot load mixer controls: Invalid argument
サウンドカードでマイクを使用する方法はありますか?
ありがとう
答え1
これは、後期のヘッドセットで発生した問題について書いたものですが、あなたにも当てはまるはずです。簡単に答えると、カーネルが古すぎるということです。これは HyperX が最初に修正した問題だからです。もっと長い答えは次のとおりです。
のカーネルアップデート5.7rc3 では、この問題に対するパッチが導入されました (このヘッドセット専用)。パッチを適用すると、dmesg 出力に次のような行が表示されます。
[ 6.804026] kernel: usb 1-1: Found post-registration device assignment: 095116ea:02
alsa 構成ドキュメントには次のように記載されています:
Module snd-usb-audio
--------------------
...
delayed_register
The option is needed for devices that have multiple streams
defined in multiple USB interfaces. The driver may invoke
registrations multiple times (once per interface) and this may
lead to the insufficient device enumeration.
This option receives an array of strings, and you can pass
ID:INTERFACE like ``0123abcd:4`` for performing the delayed
registration to the given device. In this example, when a USB
device 0123:abcd is probed, the driver waits the registration
until the USB interface 4 gets probed.
The driver prints a message like "Found post-registration device
assignment: 1234abcd:04" for such a device, so that user can
notice the need.
したがって、dmesgから取得した上記の情報と、設定ドキュメントから必要なフィールドを取得して、alsa-base.confの末尾にこれを追加します。
# Add delayed register for HyperX Cloud Flight S Headset
options snd-usb-audio delayed_register=095116ea:02
その後再起動すると、ヘッドセットとプロファイルが期待どおりに表示されるはずです。
ちなみに、snd-usb-audioモジュールには別のオプションがあります
quirk_alias
Quirk alias list, pass strings like ``0123abcd:5678beef``, which
applies the existing quirk for the device 5678:beef to a new
device 0123:abcd.
これを見ると、カーネル 5.4 で既に「Kingston HyperX AMP」用に書き込まれている奇妙な動作をコピーしてこのヘッドセットに適用し、遅延レジスタを追加すれば 5.7 より前のバージョンでも動作するのではないかと思います。私はすでに勇気を出してカーネルをアップグレードしたので、戻って確認するつもりはありません。誰かがこれを動作させたら、私に知らせてください。ここで投稿を更新します。次のように簡単にできるはずです。
options snd-usb-audio quirk_alias=095116ea:095116d8 delayed_register=095116ea:02
お知らせ下さい!