sudo pacman -Syu
今日のArchシステムを6.1.6にアップグレードした後、仮想コンソールと対話することはできません。私はこのシステムを2年以上使用してきました。アップグレード直後は機能しましたが、再起動したときに仮想コンソールがキーストロークを処理しなくなり、ローカルにログインできませんでした。システムは正しく起動しますが、仮想コンソールだけは機能しません。私は成功せずに別のキーボードを試してみました。キーボードはBIOSで正常に動作し、Arch Live CDを使用して同じシステムを起動し、6.1.6環境にchrootするとキーボードが正常に動作します。
次のように、psを介して関連プロセス(ログイン)を一覧表示します。
/sbin/agetty -o -p -- \u --noclear - linux
SSH経由でコンピュータに接続すると、コマンドラインにすべてが正常に表示されます。 systemctl -bを実行すると、ACPIエラーやその他のランダムな項目だけが表示され、キーボードやUSBに関連するものはないようです。
この問題をどのように診断しますか?
usbutils パッケージは xhci パッケージとともにインストールされます。LSSBディスプレイキーボードが有効なUSBデバイスとして検出され、正常に表示されます。キーボードに関連しているように見えるブートログエントリはありません。以下に示すTopreキーボードは機能しません(他のUSBデバイスは機能しない可能性がありますが、もはやデバイスと直接対話できないのでわかりません)。
udevadmテストによると、キーボードを挿入または削除すると「新しいデバイス」のイベントが生成されますが、キー入力時にudevモニタにイベントが表示されないため、これはカーネルの問題かもしれません。
evtestはキーボードでイベントを登録するようです(下記の3番目の貼り付けを参照)。それでは、これは一種の端末の問題ですか? evtestがキーストロークを受け取りますが、udevadmは受け取らない場合はどういう意味ですか?
誰かがキーストロークを処理する全体的なプロセスと、各ステップでキーストロークが処理されたことを確認する方法を説明できれば役立ちます。
私@コンピュータ:~$lsusb バス 004 デバイス 001: ID 1d6b:0003 Linux Foundation 3.0 ルートハブ バス 003 デバイス 001: ID 1d6b:0002 Linux Foundation 2.0 ルートハブ バス 002 デバイス 001: ID 1d6b:0003 Linux Foundation 3.0 ルートハブ バス 001 デバイス 004: ID 0853:0145 Topre Corporation REALFORCE 87 US バス001デバイス003:ID 04b8:013a Seiko Epson Corp。 GT-X820 [Perfection V600写真] バス 001 デバイス 002: ID 046d:0843 Logitech, Inc.ウェブカメラ C930e バス 001 デバイス 001: ID 1d6b:0002 Linux Foundation 2.0 ルートハブ 私@コンピュータ:〜$ lsusb -t /: バス 04. ポート 1: Dev 1, クラス=root_hub, ドライバ=xhci_hcd/2p, 10000M /: バス 03. ポート 1: Dev 1, クラス=root_hub, ドライバ=xhci_hcd/2p, 480M /: バス 02. ポート 1: Dev 1, クラス=root_hub, ドライバ=xhci_hcd/10p, 5000M /: バス 01. ポート 1: Dev 1, クラス=root_hub, ドライバ=xhci_hcd/16p, 480M |__ポート3:Dev 2、0の場合、クラス=ビデオ、ドライバ=uvcvideo、480M |__port3:dev2,if1,class=ビデオ,ドライバ=uvcvideo,480M |__ポート3:Dev 2、If 2、クラス=オーディオ、ドライバ=snd-usb-audio、480M |__ ポート 3: Dev 2, If 3, Class=Audio, Driver=snd-usb-audio, 480M |__ポート7:dev 3、0の場合、クラス=ベンダー固有のクラス、ドライバー=、480M |__ポート8:Dev 4、0の場合、クラス=ヒューマン・インターフェース・デバイス、ドライバー= usbhid、12M |__ポート8:Dev 4、1の場合、クラス=ヒューマン・インターフェース・デバイス、ドライバー= usbhid、12M |__ポート8:Dev 4、2の場合、クラス=ヒューマン・インターフェース・デバイス、ドライバー=usbhid、12M
evtest は、キーボードからイベントが受信されていることを示します。
イベント: 時間 1674156563.381863, --------------- SYN_REPORT ---------- イベント:時間1674156563.523858、タイプ4(EV_MSC)、コード4(MSC_SCAN)、値70004 イベント:時間1674156563.523858、タイプ1(EV_KEY)、コード30(KEY_A)、値0
ログインプロセス(sudo systemctl restartagetty @ tty1)を再起動できますが、再起動しますが、まだキーボード入力を許可しません。 dmesgの内容は正常で、目立つエラーはありません。
答え1
編集するOPが私がコメントセクションで提案したことを試みたことに気付いた@don_crisstiに感謝します。
キーボードはBIOSで正常に動作し、Arch Live CDを使用して同じシステムを起動し、6.1.6環境にchrootするとキーボードが正常に動作します。
元の答えが少し修正されました。
コメントセクションに掲載されている内容によると、USBサブシステムが破損していると言うのは安全です。アップグレード中に発生した問題を確認したり、アップグレード前のバックアップに戻るには、システムをクリーンアップする必要があります。他のすべての方法が失敗した場合は、必要なものをすべてバックアップしてください。/家 /など待ってからシステムを再インストールします。
私/私たちが見たことのないシステムを仮想的にデバッグすることは常に困難です。私の考えでは(IMHO)これがあなたが得ることができる最も多くの情報だと思います。なぜなら、私は問題を示す可能性のあるエラーが発生しているのを見ることができないからです。
答え2
BoxにSSHで接続できる場合は、strace -f -p PIDを試してプロセスにログインし、プロセスがキーボードからデータを取得していることを確認してください。