最近、ワイヤレスカードで問題が発生しました。オンラインフォーラムで、dmesg
を検索することを提案しました。 grep firmware
を使用 。それは助けになりました、私はすぐに問題を見つけることができました!ただし、前の1時間は、dmesg
の確認に費やされました。 情報量が非常に多いため、関連するものを特定できませんでした。
dmesgでgrepする対象をどのように知るのですか?
確かに、これはハードウェアの問題でしたが、私自身は「ファームウェア」という文字列をgrepすることを考えたことはありませんでした。誰かのために dmesg
の出力に精通している 、何をgrepするかについて、知識に基づいて推測するにはどうすればよいですか?
承認された回答:
このようなものが役立つでしょう:
dmesg | grep -iC 3 "what you are looking for"
たとえば、ビデオカードを探している場合は、次のことを試してみてください。
dmesg | grep -iC 3 "video"
または:
dmesg | grep -iC 3 "graphics"
C 3
flagは、結果がどうなるかについてのコンテキストを提供するために、一致した文字列の前後に3行を出力します。しかし、@ toheczが言ったように、何千もの可能性があります。
すべてはあなたが探しているものに依存します…サウンド、wifi、usb、シリアル、リーダー… 。
そこにUSBキーが表示されることが予想される場合は、/dev/sd
のgreppingを試すことができます。 。
このページを見つけました。そこにあるものをgrepする方法に関する適切なアドバイスが含まれています:
dmesg
の出力の長さのため 、
出力をgrepにパイプするのが便利な場合があります。これは、後続の文字列(つまり、文字のシーケンス)を含む
行を検索するフィルターです。-i
オプションを使用して、文字列内の文字の大文字と小文字(つまり、小文字
または大文字)を無視するようにgrepに指示できます。たとえば、次のコマンドの
は、USB
へのすべての参照を一覧表示します。 (ユニバーサルシリアルバス)
カーネルメッセージ内のデバイス:dmesg | grep -i usb
そして、以下はdmesgにすべてのシリアルポート(
文字列ttyで表される)を表示するように指示します:dmesg | grep -i tty
dmesgとgrepの組み合わせを使用して、システムで使用可能な
物理メモリ(RAMなど)の量を表示することもできます。dmesg | grep -i memory
次のコマンドは、HDDが
DMA(ダイレクトメモリアクセス)モードで実行されていることを確認します。dmesg | grep -i dma