最近Corsair k65 RGBキーボードを購入しました。もちろん、最初は動作しませんでしたが、ckb-opensourceドライバを使用すると、私のアーチシステムですべてがうまくいきました。
システムを起動するたびにエラーが発生するまで、すべてがうまくいきました。
usb_submit_urb(ctrl) 失敗: -1
画面にメッセージが表示され、システムが30秒間停止しました。これでキーボードが機能し、システムにログインできます。しかし、このエラーはどういう意味ですか?
[ 11.238682] 一般 0003:1B1C:1B17.0002 非表示: usb_submit_urb(ctrl) 失敗: -1 [11.239526] hid-generic 0003:1B1C:1B17.0002: 初期化レポートのタイムアウト [11.239959]入力:Corsair Corsair K65 RGBゲーミングキーボードは/devices/pci0000:00/0000:00:1c.7/0000:07:00.0/usb5/5-1/5-1:1.1/0003:1B1C:1です。 .0002/入力/入力6 [11.291882]hid-generic 0003:1B1C:1B17.0002:input,hidraw4:USB HID v1.11 キーボード [Corsair Corsair K65 RGB ゲーミングキーボード] at usb-0000:07:00.0-1/input1 [21.291319] hid-generic 0003:1B1C:1B17.0003: 初期化レポートのタイムアウト [21.291585] hid-generic 0003:1B1C:1B17.0003:hiddev0,hidraw5: USB HID v1.11 デバイス [Corsair Corsair K65 RGB ゲーミングキーボード] on usb-0000:07:00.0-1/input2 [31.290650] hid-generic 0003:1B1C:1B17.0004: 初期化レポートのタイムアウト [31.290905] hid-generic 0003:1B1C:1B17.0004:hiddev0,hidraw6: USB HID v1.11 デバイス [Corsair Corsair K65 RGB ゲーミングキーボード] at usb-0000:07:00.0-1/input
使用すると、lsusb
次のような結果が得られます。
バス 005 デバイス 002: ID 1b1c:1b17 Corsair
「usbhid問題」が可能な解決策だと聞きました。しかし、これをどのように使用しますか?それとも可能な解決策がありますか?
答え1
USBhid機能を備えたすべてのCorsairメカニカルキーボードのためのソリューションです。
sudo nano /etc/default/grub
またはnanoの代わりに使用することを好む他のエディタ。
この行が見えます。
GRUB_CMDLINE_LINUX_DEFAULT=""
usbhid.quircksを引用符の間に入れて保存します。
存在する私の状況この行に変えなければなりませんでした。
GRUB_CMDLINE_LINUX_DEFAULT="usbhid.quirks=0x1B1C:0x1B17:0x20000408"
その後、グラブを更新してください。
sudo update-grub
*コマンドが見つからない場合は、grub 2.0を実行している可能性があります。代わりにこのコマンドを使用してください。 update-grub コマンドは grub-mkconfig を実行するスクリプトです。
sudo grub-mkconfig -o /boot/grub/grub.cfg
完了したら、システムを再起動します。
これで正常に動作し、メッセージが表示されてはいけません。
キーボード使用において不思議な点。 Corsairキーボードには以下のリストがあります。
K65 RGB: usbhid.quirks=0x1B1C:0x1B17:0x20000408
K70: usbhid.quirks=0x1B1C:0x1B09:0x0x20000408
K70 RGB: usbhid.quirks=0x1B1C:0x1B13:0x20000408
K95: usbhid.quirks=0x1B1C:0x1B08:0x20000408
K95 RGB: usbhid.quirks=0x1B1C:0x1B11:0x20000408
Strafe: usbhid.quirks=0x1B1C:0x1B15:0x20000408
Strafe RGB: usbhid.quirks=0x1B1C:0x1B20:0x20000408
M65 RGB: usbhid.quirks=0x1B1C:0x1B12:0x20000408
Sabre RGB Optical: usbhid.quirks=0x1B1C:0x1B14:0x20000408
Sabre RGB Laser: usbhid.quirks=0x1B1C:0x1B19:0x20000408
Scimitar RGB: usbhid.quirks=0x1B1C:0x1B1E:0x20000408
修正する Linuxカーネル4.11:HIDの修正により、より多くのCorsairマウスとキーボードがサポートされます。 K65RGBおよびK70RGB HIDの問題は、Linux 4.11でこれらのデバイスに対して修正されました。
端末でこのコマンドを使用するには、カーネルのバージョンを見つけることができます。
uname -r
全体的にLinuxカーネル4.11を使用している場合は、usbhidの問題を追加するためにこの手順を実行する必要はありません。
答え2
最近購入したK70 LuxがLinux Mint 18(4.4.0-21カーネル)で正しく機能するようにするには、別のコードを使用する必要があることを付け加えたいと思いました。
K70 ラックス: usbhid.quirks=0x1B1C:0x1B36:0x0x20000408
コードは出力に基づいていますlsusb
。私の場合
Bus 003 Device 002: ID 1b1c:1b36 Corsair
これを以前の回答のコードと比較したところ、私のデバイスと一致するようにUSB識別子を変更する必要があることがわかりました。
答え3
この答えは@rsking84と@romanoの答えに完全に基づいていますが、他のアプローチを使って
- この機能は、コンピュータを再起動しなくても機能します。
- コンピュータを再起動せずにデバッグ
引用するこの投稿、ロマノの方法セットカーネルコマンドラインパラメータモジュールパラメータを設定するために順番に使用されます。USBHIDモジュールがロードされたとき。時々USBHIDカーネルにコンパイルされ、この場合、このパラメータを設定する唯一の方法のようです。
モジュールパラメータは、モジュールをロード(またはリロード)するときに設定することもできます。これは、次のいずれかのケースを使用して実行時にパラメータをテストすることを意味します。
/usr/bin/sudo rmmod usbhid
/usr/bin/sudo modprobe usbhid.quirks=0x1B1C:0x1B17:0x200004
cat /sys/module/usbhid/parameters/quirks
(何か問題が発生してキーボードの動作が停止した場合は、キーボードを抜いて再接続して問題を解決できます。)
これが完了したら(@ rsking84の回答などの製品やベンダーIDを変更できます)、次のオプションを追加できます/etc/modprobe.d/ushbid.conf
。
options usbhid quirks=0x1B1C:0x1B17:0x200004
rmmod usbhid
もう一度実行してキーボードを再接続してテストできます。