Chaque fois que je suspends ou reprends mon ordinateur portable (Dell Latitude E6520, acheté cette année), je reçois 2 messages du formulaire affiché sur la console juste avant la mise hors tension/démarrage:
[ 407.107610] ehci_hcd 0000:00:1d.0: dma_pool_free buffer-128, f6f18000/36f18000 (bad dma)
À l'occasion, je reçois un message de la forme:
[ 3753.979066] do_IRQ: 0.177 No irq handler for vector (irq -1)
À l'occasion, ma machine se bloque avec le bouton de verrouillage majuscule clignotant lors de la suspension, après quoi je dois procéder à un arrêt brutal. Cela n'est jamais arrivé avant que les messages ne commencent à apparaître (il y a quelque temps), et je pense que cela ne se produit jamais sans qu'un message do_IRQ n'apparaisse (bien que je ne sois pas sûr de cela). [Il n'y a rien dans le manuel du propriétaire sur un bouton de verrouillage majuscule clignotant; apparemment, le noyau peut être pris de panique si le verrou de défilement clignote également, mais l'ordinateur portable ne possède pas de voyant de verrouillage de défilement et il n'y a pas de message sur la console disant "panique du noyau".]
Ces messages DMA/IRQ incorrects sont-ils sérieux, et que puis-je faire pour les étudier/résoudre les problèmes et le gel?
Edit: J'ai également reçu plusieurs fois les messages d'erreur suivants:
[246943.023908] JBD: I/O error detected when updating journal superblock for sdb1.
[246943.023958] Buffer I/O error on device sdb1, logical block 0
[246943.023996] EXT3-fs (sdb1): I/O error while writing superblock
Edit: Sortie de dmesg à http://Pastebin.com/ra7MTQEj ; contenu de /var/log/kern.log sur http://Pastebin.com/i6jf0Md9
Edit: la sortie de certaines instructions smartctl (-a, -x, --log = erreur, --log = xerror) est disponible à l'adresse http://paste.ubuntu.com/1088488/ .
Edit (31/8/2012): Sortie de dmesg|grep -i ehci
disponible sur http://paste.ubuntu.com/1177246/ .
Edit: (3/9/2012): La sortie de lshw est à http://paste.ubuntu.com/1183032
Commençons par les erreurs "bad dma", car ce sont les seules erreurs cohérentes reflétées dans vos journaux.
Remarquez cette séquence témoin, qui se répète chaque fois que des erreurs "bad dma" se produisent:
[171783.085166] usb 2-1.6: Déconnexion USB, numéro de périphérique 10 [171783.086623] ehci_hcd 0000: 00:1d.0: dma_pool_free buffer-128, eafaa000/2afaa000 (mauvais dma) [171783.087046] cdc_ncm 2-1.6: 1.6: usb0: annuler l'inscription 'cdc_ncm' usb-0000: 00:1d.0-1.6, CDC NCM [171783.092382] done. [171783.129959] ehci_hcd 0000: 00: 1d.0: dma_pool_free buffer-128, eb1aa000/2b1aa000 (mauvais dma)
cdc_ncm
est impliqué; il s’agit d’un interface USB de bas niveau avec des modems cellulaires haut débitIl est plus difficile de déboguer ces avertissements isolés sans contexte (ce qui peut être la clé, comme indiqué ci-dessus). Nous devrons donc simplement faire une estimation jusqu'à ce que vous puissiez fournir un kern.log
contenant l'une ou l'autre de ces erreurs.
Étant donné que vos journaux SMART semblent corrects, les erreurs "sdb1" proviennent probablement d’autres problèmes de communication USB avec le lecteur externe.
Encore une fois, je vous conseillerais d'essayer l'un des noyaux Quantal 3.5 et des visualisations si les choses changent, en particulier pour le "do_IRQ".
À installer:
Sudo apt-add-repository ppa: auanswers/lts-backported-kernels-prerelease Sudo apt-get update Sudo apt-get inst tous les linux-generic-lts-quantal
Redémarrez et vous devriez démarrer dans le nouveau noyau (vérifiez avec uname -a
). Les cartes graphiques Nvidia/AMD et les cartes sans fil Broadcom peuvent poser problème. Vous pouvez toujours sélectionner votre ancien noyau de la série 3.2 en maintenant enfoncée la touche Maj au démarrage jusqu'à ce que le menu Grub apparaisse, puis en accédant à la section "Versions Linux précédentes".
Pour les noyaux encore plus saignants, vous pouvez essayer l’une des versions principales. S'il vous plaît voir cette question et réponse pour plus d'informations:
Les erreurs que vous avez ajoutées dans Edit semblent faire référence à un secteur de disque cassé.
Avez-vous essayé de lancer fsck ou badblocks?
Je vous suggère de tout exécuter à partir d'un environnement Live CD comme suit
Rechercher des disques et des partitions avec fdisk
Sudo fdisk -l
Une fois que vous avez identifié l'étiquette de disque correcte (par exemple, /dev/sda1
), essayez d'exécuter ces deux commandes. Le paramètre -c
de la commande fsck
tente d'identifier et d'isoler les blocs défectueux.
Sudo e2fsck -cv /dev/sda1
Sudo badblocks -sv /dev/sda
Pour le problème "no irq for vector", essayez d'ajouter "pci = nomsi" aux options de démarrage du noyau.