だから私が自分で作ったUSBキーボードがありますが、実行になります。qmkキーボードファームウェア。最初に申し上げたいのは、これがおそらくキーボードファームウェアのバグである可能性があるということです。しかし、Windowsではキーボードが正常に動作しているようで、Linuxコマンドを実行して(つまり、キーボード側で何も変更せずに)キーボードが動作するようにできるため、これがLinux側で問題になる可能性があると思いました。
デフォルトでは、Archがデバイスファイルを手動で確認するまで、キーボードは機能しませんでした。
キーボードが接続されている状態(内蔵カメラ以外のUSBデバイスなし)でコンピュータを起動したときに発生するいくつかの関連ログファイル:
この時点では、列挙失敗エラーのためキーボードは機能しません。キーボードはUSB 1-1.2にあります。
関連する行は次のとおりです。
[ 1.832175] usb 1-1.2: new full-speed USB device number 3 using ehci-pci
[ 1.905512] usb 1-1.2: device descriptor read/64, error -32
[ 2.085461] usb 1-1.2: device descriptor read/64, error -32
[ 2.265515] usb 1-1.2: new full-speed USB device number 4 using ehci-pci
[ 2.338846] usb 1-1.2: device descriptor read/64, error -32
[ 2.518816] usb 1-1.2: device descriptor read/64, error -32
[ 2.625860] usb 1-1-port2: attempt power cycle
[ 3.218828] usb 1-1.2: new full-speed USB device number 5 using ehci-pci
[ 3.632148] usb 1-1.2: device not accepting address 5, error -32
[ 3.705494] usb 1-1.2: new full-speed USB device number 6 using ehci-pci
[ 4.118807] usb 1-1.2: device not accepting address 6, error -32
[ 4.119230] usb 1-1-port2: unable to enumerate USB device
[ 17.805499] usb 1-1.2: device descriptor read/64, error -32
[ 17.985547] usb 1-1.2: device descriptor read/64, error -32
[ 18.165533] usb 1-1.2: new full-speed USB device number 9 using ehci-pci
[ 18.238879] usb 1-1.2: device descriptor read/64, error -32
[ 18.418843] usb 1-1.2: device descriptor read/64, error -32
[ 18.525892] usb 1-1-port2: attempt power cycle
[ 19.118769] usb 1-1.2: new full-speed USB device number 10 using ehci-pci
[ 19.532187] usb 1-1.2: device not accepting address 10, error -32
[ 19.605514] usb 1-1.2: new full-speed USB device number 11 using ehci-pci
[ 20.018843] usb 1-1.2: device not accepting address 11, error -32
[ 20.019332] usb 1-1-port2: unable to enumerate USB device
[ 42.472082] usb 1-1.2: new full-speed USB device number 12 using ehci-pci
[ 42.545439] usb 1-1.2: device descriptor read/64, error -32
[ 42.725428] usb 1-1.2: device descriptor read/64, error -32
[ 42.905429] usb 1-1.2: new full-speed USB device number 13 using ehci-pci
[ 42.978812] usb 1-1.2: device descriptor read/64, error -32
[ 43.158874] usb 1-1.2: device descriptor read/64, error -32
[ 43.265778] usb 1-1-port2: attempt power cycle
[ 43.858811] usb 1-1.2: new full-speed USB device number 14 using ehci-pci
[ 44.272092] usb 1-1.2: device not accepting address 14, error -32
[ 44.345501] usb 1-1.2: new full-speed USB device number 15 using ehci-pci
[ 44.758834] usb 1-1.2: device not accepting address 15, error -32
[ 44.759116] usb 1-1-port2: unable to enumerate USB device
プラグを抜いて再接続すると、ログは次のようになります。
この時点で、キーボードはlsusb(USB ID ca04:0248)として認識されますが、入力は機能しません。
コンピュータにキーボード入力を登録させる方法は、dmesgを見て、キーボードが/dev/hidraw0、/dev/hidraw1、/dev/hidraw2を占めていることを確認することです。それから走らなければならずsudo cat /dev/hidraw2
、それからすべてがうまくいきます(猫を殺した後でも)。他の周辺機器が接続されており、キーボードのhidraw番号が異なる場合は、常に最後の番号を選択する必要があります(たとえば、USBマウスも接続されている場合は、キーボードに/ dev / hidraw5が表示されます。これが私がすべきことです)。cat
効果を発揮するようにしてください。
ファイルシステムのデバイスが正常に動作していることを確認するために何をしているのかを知っている人はいますか?キーボードが接続されるたびにこれを行うためにudevルールを作成するのは非常に簡単ですが、可能であれば基本的な問題を解決したいと思います。