Di recente ho avuto qualche problema con una scheda wireless e un forum online ha suggerito di cercare dmesg
con grep firmware
. Questo ha aiutato, sono stato in grado di trovare immediatamente il problema! Tuttavia, l'ora precedente è stata spesa a guardare dmesg
e non sono riuscito a identificare nulla di rilevante a causa dell'enorme quantità di informazioni!
Come fa a sapere per cosa grep in dmesg?
Certo, questo era un problema hardware, ma io stesso non avrei mai pensato di cercare la stringa "firmware". Per qualcuno non molto familiare con l'output di dmesg
, come potrei fare delle ipotesi plausibili su cosa grep per?
Risposta accettata:
Sarebbe utile qualcosa del genere:
dmesg | grep -iC 3 "what you are looking for"
Ad esempio, se cerchi la tua scheda video, potresti provare:
dmesg | grep -iC 3 "video"
Oppure:
dmesg | grep -iC 3 "graphics"
Il C 3
flag stamperà 3 righe prima e dopo la stringa abbinata, solo per darti un contesto su quali sono i risultati. Ma come ha detto @tohecz, ci sono migliaia di possibilità.
Tutto dipende da cosa stai cercando... audio, wifi, usb, seriale, lettore... .
Se ti aspetti che una chiavetta USB appaia lì dentro, puoi provare a grepping per /dev/sd
.
Ho appena trovato questa pagina, che contiene buoni consigli su come grep roba lì dentro:
A causa della lunghezza dell'output di dmesg
, può essere conveniente
reindirizzare il suo output a grep, un filtro che cerca tutte le righe che
contengono la stringa (cioè la sequenza di caratteri) che la segue. Il -i
L'opzione può essere usata per dire a grep di ignorare le maiuscole (cioè minuscole
o maiuscole) delle lettere nella stringa. Ad esempio, il comando
seguente elenca tutti i riferimenti a USB
(bus seriale universale)
dispositivi nei messaggi del kernel:
dmesg | grep -i usb
E quanto segue dice a dmesg di mostrare tutte le porte seriali (che sono
rappresentate dalla stringa tty):
dmesg | grep -i tty
La combinazione dmesg e grep può essere utilizzata anche per mostrare quanta
memoria fisica (cioè RAM) è disponibile sul sistema:
dmesg | grep -i memory
Il comando seguente verifica che gli HDD siano in esecuzione in modalità
DMA (accesso diretto alla memoria):
dmesg | grep -i dma