Buster: problèmes disques: messages kernel permanents (link down/link up), I/O errors

Sous Debian Buster (10.1, à jour)

  • Noyau 4.19.0-6-amd64

  • Machine: tour PC

  • i7 4790

  • 20 GB RAM

  • carte-mère gigabyte z87 (je peux retrouver le modèle exact si nécessaire)

  • Disques durs: SSD Samsung 256GB ou 1TB, full disk encryption

Tout le matériel date de 2013-2014 (le CPU est peut-être plus récent), bon état, utilisation relativement modérée (jamais plus de quelques heures à la suite, la plupart du temps la machine est éteinte).

Description
Depuis quelques temps, j’ai des soucis permanents sur cette machine avec les disques (SDD). Les symptômes sont les suivants:

Peu après le démarrage (parfois tout de suite, parfois après une dizaine de minutes), le noyau commence à me bombarder de ce genre de messages:

[ 7711.979563] ata6: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 7711.981020] ata6.00: ACPI cmd ef/10:06:00:00:00:00 (SET FEATURES) succeeded
[ 7711.981026] ata6.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
[ 7711.981030] ata6.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION OVERLAY) filtered out
[ 7711.981767] ata6.00: supports DRM functions and may not be fully accessible
[ 7711.986602] ata6.00: ACPI cmd ef/10:06:00:00:00:00 (SET FEATURES) succeeded
[ 7711.986608] ata6.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
[ 7711.986612] ata6.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION OVERLAY) filtered out
[ 7711.987342] ata6.00: supports DRM functions and may not be fully accessible
[ 7711.990623] ata6.00: configured for UDMA/133
[ 7711.990641] ata6: EH complete
[ 7907.323583] ata6: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 7907.325089] ata6.00: ACPI cmd ef/10:06:00:00:00:00 (SET FEATURES) succeeded
[ 7907.325093] ata6.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
[ 7907.325096] ata6.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION OVERLAY) filtered out
[ 7907.325836] ata6.00: supports DRM functions and may not be fully accessible
[ 7907.330632] ata6.00: ACPI cmd ef/10:06:00:00:00:00 (SET FEATURES) succeeded
[ 7907.330636] ata6.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
[ 7907.330638] ata6.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION OVERLAY) filtered out
[ 7907.331378] ata6.00: supports DRM functions and may not be fully accessible
[ 7907.334570] ata6.00: configured for UDMA/133
[ 8022.811615] ata6: SATA link up 6.0 Gbps (SStatus 133 SControl 300)

D’après ce que je comprends, le disque est en permanence réinitialisé?

Ca ne s’arrange jamais, et de temps en temps j’ai ceci:

[ 7711.263559] ata6.00: exception Emask 0x50 SAct 0xc0000000 SErr 0x4090800 action 0xe frozen
[ 7711.263563] ata6.00: irq_stat 0x00400040, connection status changed
[ 7711.263567] ata6: SError: { HostInt PHYRdyChg 10B8B DevExch }
[ 7711.263571] ata6.00: failed command: WRITE FPDMA QUEUED
[ 7711.263578] ata6.00: cmd 61/18:f0:18:19:55/00:00:0d:00:00/40 tag 30 ncq dma 12288 out
                        res 40/00:fc:30:19:55/00:00:0d:00:00/40 Emask 0x50 (ATA bus error)
[ 7711.263581] ata6.00: status: { DRDY }
[ 7711.263583] ata6.00: failed command: WRITE FPDMA QUEUED
[ 7711.263589] ata6.00: cmd 61/08:f8:30:19:55/00:00:0d:00:00/40 tag 31 ncq dma 4096 out
                        res 40/00:fc:30:19:55/00:00:0d:00:00/40 Emask 0x50 (ATA bus error)
[ 7711.263591] ata6.00: status: { DRDY }
[ 7711.263595] ata6: hard resetting link

Ou encore ceci (link down/link up, là ça freeze le temps que ça revienne en up, j’ai déjà eu des fichiers corrompus à cause de ça):

17820.977874] ata6: SATA link down (SStatus 0 SControl 300)
[17826.332780] ata6: SATA link up 6.0 Gbps (SStatus 133 SControl 300)

Encore une précision: lorsqu’il y a plusieurs disques connectés à cette machine, le système les “réinitialise” tous en même temps (dans l’exemple ici il n’y a qu’un disque, mais s’il y en a plusieurs il y a les mêmes messages pour tous les disques).

Recherches et premiers éléments de réponse

  • Ce n’est pas lié à un disque en particulier: lorsque j’utilise une autre installation buster sur un autre SSD sur cette même machine, j’ai exactement les mêmes problèmes. A l’inverse, lorsque j’utilise le SSD utilisé en général avec cette machine sur une autre machine, je n’ai aucun problème. En conclusion, j’exclue la possibilité d’un disque fautif.

  • Ce n’est pas lié à une version du noyau en particulier: je suis actuellement sur 4.19.0-6, j’avais exactement le même problème sur les versions précédentes et sous stretch (j’ai d’ailleurs mis à jour la machine sous buster en espérant que ça résolve le problème)

  • Ce n’est probablement pas lié au cablâge: j’ai essayé les différents câble SATA et d’alimentation, le problème est toujours le même (à moins qu’ils soient TOUS défectueux, mais c’est quand même très improbable non?)

  • Ce n’est apparemment pas lié à une mauvaise configuration SATA au niveau du BIOS: les périphériques SATA y sont bien configurés en AHCI (j’ai vérifié suite à une suggestion trouvée sur un forum)

Autres recherches et pistes de réflexion

  • Sur Google, les quelques résultats obtenus font tous référence à des causes très différentes. Pour l’instant je n’ai rien trouvé de très fructueux.

  • J’ai pensé peut-être à un problème d’alimentation défectueuse? Comment vérifier cela?

  • Autre possibilité: un problème au niveau du driver SSD Samsung ou quelque chose comme ça (les deux SSD testés sont des Samsung)? -> je dois encore tester avec une installation Buster sur HDD classique, voir si ça change quelque chose. Mais il y a encore quelques mois je n’avais pas ce genre de problèmes, ce qui me fait quand même penser à une erreur matériel…

  • Se pourrait-il que la carte-mère soit défectueuse? Comment vérifier cela?

Voilà où j’en suis pour le moment, toute aide ou suggestion est bienvenue :slight_smile:

Alors pas forcément “défectueuse”, mais juste sous dimensionnée, ça peut jouer, oui.

Il y a des outils pour connaitre les tensions réelles de la CM (ça doit être accessible dans /sys, je crois), mais il faut vraiment s’y connaitre en électronique pour pouvoir dire si ce que ça te dit est normal ou non.

Ca peut être que les deux ne différent pas tant, il faudrait tester des versions plus éloignées.
Note que pour juste tester un noyau, il suffit de downloader le .deb et l’installer avec dpkg -i
Et la remarque vaut même avec des noyaux d’autres distribs: pour tester, pas besoin de plus.

Le controleur SATA, oui.
Comment vérifier, je ne sais pas.
Peut être avec les smartmontools (man smartctl).

Bonjour,
Je suis impressionné par la qualité de votre message, tant du point de vue rédaction que présentation. Chapeau l’artiste !

Avez-vous pensé à l’ouvrir pour un bon nettoyage ? Cela paraît bête, mais avec les ventilateurs pour refroidir un i7 la poussière s’accumule !

tout d’origine ? Faire un test de la mémoire, en démarrant sur un support qui propose memtest.

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة


F. Petitjean
Ingénieur civil du Génie Maritime.

« Ce que l’on conçoit bien s’énonce clairement,
Et les mots pour le dire arrivent aisément. »
Boileau De L’Art poétique (Chant I)

« Avant donc que d’écrire, apprenez à penser »
Boileau De L’Art poétique (Chant I)

Alors c’est pas pour moi :slight_smile: Je suis nul en électronique. Je pourrais essayer en dernier recours avec une autre alimentation, mais ça implique d’éteindre et démonter un serveur en marche…

OK, je vais essayer avec d’autres noyaux, on ne sait jamais.

Merci c’est gentil :slight_smile: Je préfère être le plus exhaustif et le plus clair possible dès le départ, ça évite aux autres contributeurs de perdre du temps, et ça me sert aussi de résumé de référence.

Non, pas faux, ce ne sera jamais de trop.

Non, de mémoire il y a deux barrettes de 16GB “d’origine” (enfin, un kit acheté quand j’ai monté le PC) et 4GB que j’ai ajouté. Se pourrait-il qu’une RAM défectueuse pose un problème au niveau des disques?

En résumé, je vais faire, dans l’ordre:

  1. Je vais enlever la barrette de 4GB, si ça ne change rien, je ferai un memtest
  2. Si ça ne change rien, tester avec un HDD similaire, voir si ce n’est pas lié à un driver SSD (on ne sait jamais, la gestion est quand même différente)
  3. Si pas de résultat, tester avec d’autres noyaux
  4. Si vraiment rien ne change, tester avec une autre alimentation (pffff)
  5. Que ça change quelque chose ou non, un nettoyage poussière ne sera pas de trop!

Je vous tiens au courant des résultats!

Après quelques mois de tests divers et variés, je suis en mesure de faire un petit retour pour les intéressés.

J’ai donc entrepris, dans l’ordre, comme prévu ci-dessus, les actions suivantes:

  1. Je vais enlever la barrette de 4GB, si ça ne change rien, je ferai un memtest
    -> aucun changement
  2. tester avec un HDD similaire, voir si ce n’est pas lié à un driver SSD (on ne sait jamais, la gestion est quand même différente)
    -> aucun changement: même résultats. quels que soient le format et le type de disques utilisés
  3. Si pas de résultat, tester avec d’autres noyaux
    -> toujours rien

Il me restait donc comme seule option de ma liste le test avec une autre alimentation. N’en ayant pas d’autre sous la main, j’ai dû me résoudre à en acheter une nouvelle (toujours moins cher et plus facile à trouver qu’une nouvelle carte mère similaire à ce modèle).

Et là, surprise: avec ce nouveau modèle, mon problème semble cesser. Il semblerait donc bien que ce soit bien lié à un problème d’alimentation!

En revanche, j’ai vécu une mésaventure qui en fera sûrement rire plus d’un, mais qui aurait pu être totalement évitable avec un minimum de connaissances requises. Je me permets donc de la partager ici. Malgré le fait d’avoir monté une demi-douzaine de PC de A à Z dans ma vie, j’ignorais complètement que les câbles reliant l’alimentation au matériel (ex. câbles d’alimentation des périphériques SATA) étaient absolument incompatibles entre différentes marques, et même entre différents modèles d’une même marque! Il n’existe en effet aucun standard d’industrie en ce sens, et chaque fabricant fait à sa guise. Résultat: dans mon ignorance crasse j’ai réutilisé les câbles de l’alimentation précédente et grillé deux disques…

Mais après quelques semaine d’euphorie, le problème est revenu, certes beaucoup moins fréquemment (deux ou trois fois fois pour l’instant), mais quand même… A nouveau exactement les mêmes messages, de link down/link up, I/O errors, malgré une alimentation et des disques neufs…

Serais-je maudit?

“Une RAM défectueuse, ça pose des problèmes de tout. C’est même à ça qu’on les reconnait.”
Citation: Cybermichel Electraudiard.

Ben finalement, tu as fait un memtest ?
Pas besoin d’un truc externe, je crois me souvenir qu’en apt install memtest86+ ça se rajoute dans grub et tu peux direct choisir le memtest au boot.

Sinon, bonne année.

Mais plutôt des erreurs d’exécution diverses (segmentation fault…) que des problèmes de déconnexion des disques.

A condition que l’amorçage soit en mode BIOS/legacy. Pas compatible EFI.

Oui j’ai fait un memtest, j’avais oublié de le préciser.
Je pense qu’après avoir changé les disques, les câbles SATA et l’alimentation avec du neuf, la seule explication possible est un défaut de la carte-mère?

Bonjour mamuvu,

Avec le temps, les condensateurs chimiques ont tendance à gonfler et fuir - suivant leur qualité de fabrication et l’environnement où ils sont après, en fonctionnement ou non.

Avec un excès de chaleur, toute puce peut souffrir et fonctionner ensuite avec des aléas imprédictibles.

As-tu trouvé l’intérieur particulièrement poussiéreux lors du nettoyage ?
Je veux dire pour toute la chaîne, de l’entrée d’air frais à l’extraction de l’air chaud.
Pales, Ventirad CPU et dissipateurs sur puces compris.

J’ai déjà vu le cas d’une vis toucher de peu une piste de micro-circuit électrique et faire un contact au châssis. Normalement, chaque vis de fixation de la carte mère au boitier doit avoir une rondelle isolante.

Le cas que j’évoque se situait dans un boitier d’alimentation ; donnant des coups de jus à celui qui en chaussettes sur le carrelage touchait une partie métallique du châssis du boiter de la tour.
Cela aurait pu être létal pieds nus, dans ce lieu sans terre électrique ni différentiel.

Si le temps ne te manques pas, tu pourrais démonter totalement pour tout vérifier et puis remonter attentivement. Mais oui, il est possible que ta carte mère ait un défaut irréparable.

Ceci dit, j’aimerais vraiment que tu étayes davantage ta mésaventure relative aux câbles reliant l’alimentation au matériel - notamment pour les câbles d’alimentation des périphériques SATA.

Je ne ris pas du tout : je suis tout bonnement interloqué !
https://fr.wikipedia.org/wiki/Serial_ATA#Alimentation

Merci

mon petit script de protection

temp.sh

#!/bin/bash
#set -x
temperature_CPU=$(cat /sys/class/thermal/thermal_zone*/temp)
t_CPU=$((temperature_CPU/1000))
t_MAX=85
while [ $t_MAX -gt $t_CPU ]; 
do
   temperature_CPU=$(cat /sys/class/thermal/thermal_zone*/temp)
   t_CPU=$((temperature_CPU/1000))
   if [ "$t_CPU" -gt 82 ]
	then
          notify-send --icon=/usr/share/pixmaps/debian-logo.png "cpu chauffe $t_CPU degrés"
	fi
   sleep 60
done
date >> /var/tmp/resul_temp.txt
echo ' reboot cpu chaud' >> /var/tmp/resul_temp.txt
ici  mettre votre commande d'arrêt ou de redémarrage préférée

ça protège surtout quand je fais du ffmpeg et que j’oublie de mettre le ventilo additionnelle sur usb :grinning:

cat /var/tmp/resul_temp.txt

mardi 7 janvier 2020, 15:33:21 (UTC+0100)
 reboot cpu chaud
lundi 13 janvier 2020, 15:44:09 (UTC+0100)
 reboot cpu chaud
mercredi 15 janvier 2020, 17:12:49 (UTC+0100)
 reboot cpu chaud
mardi 21 janvier 2020, 20:38:31 (UTC+0100)
 reboot cpu chaud
vendredi 24 janvier 2020, 17:21:23 (UTC+0100)
 reboot cpu chaud
mardi 28 janvier 2020, 15:15:57 (UTC+0100)
 reboot cpu chaud
mardi 28 janvier 2020, 18:36:37 (UTC+0100)
 reboot cpu chaud
jeudi 30 janvier 2020, 11:59:44 (UTC+0100)
 reboot cpu chaud
jeudi 30 janvier 2020, 12:11:51 (UTC+0100)
 reboot cpu chaud

j’ai mis un simple lanceur dans autostart

~/.config/autostart/temp.desktop

Il y a un faisceau d’indices solides et concordants suffisant pour pouvoir juger que oui.
Aprés, ça peut comme suggère @anon44391915 venir du vieillissement.
Si ta carte a de l’age, ce qui semble être le cas:

Même peu sollicitée, il y a des cuissons de certains trucs, de la crasse qui se met dans les contacteurs aussi: effectivement, le vieillissement est une piste.

Oui, ça peut servir à diagnostiquer, mais ce n’est pas forcément le cpu lui même qui chauffe, là, c’est peut être un autre composant de la CM.

[edit:
Mon verdict: elle doit être condamnée à servir de terminal réseau avec les répertoires utilisateurs déportés sur une machine où les écritures disques ne crament pas les fichiers.
]

J’approuve sans réserve mattotop ; la formulation est très bien choisie :wink:
Seul celui qui aime se casser la tête refera tout de Z à A puis de A à Z ; pads thermiques compris.

Merci grandtoubab pour nous avoir donné ton script.
J’ai choisi perso de désactiver le Boost CPU Intel de manière permanente.
La seule solution que j’ai vraiment dans mon environnement, c’est de nettoyer.

Pas toujours, le boîtier métallique est même souvent relié par les vis à la masse (électrique) de la carte mère (grandes surfaces de cuivre sur le circuit imprimé) pour assurer parfois un blindage magnétique. La masse électrique, reliée au boîtier d’alimentation, est elle même reliée à la prise de terre.
Le blindage magnétique limite les rayonnements parasites qui provoqueraient des interférences dans les ondes radio,
et la liaison électrique de la masse du circuit au boîtier métallique et à la prise de terre permet d’assurer une sécurité préventive en déclenchant le différentiel (qui coupera l’alimentation secteur) si une fuite de courant par la masse du boîtier était détectée.

1 J'aime

Ou bien une incompatibilité entre le pilote ahci du noyau et le contrôleur SATA. Voir si le BIOS a une option pour désactiver le mode SATA AHCI (mode IDE - ne pas activer le mode RAID), cela utilisera un autre pilote (mais c’est moins performant).

En effet. Ce n’est pas pour rien que les trous des vis de fixation des cartes mères sont métallisés.

Bonjour! Non, ce n’était pas particulièrement poussiéreux.

Je l’ai déjà fait une fois… je n’ai rien remarqué de spécial mais je n’ai pas inspecté au miscroscope.

Alors en fait je tiens à préciser que je ne parle pas strictement des câbles SATA, mais des câbles modulaires reliant l’alimentation aux différents composants de la carte-mère, des composants PCI-E aux disques durs… Les câbles SATA sont intercompatibles, mais pas les câbles modulaires livrés avec l’alimentation… J’espère que c’est plus clair comme ça?

Effectivement, merci pour le script mais je ne constate pas de surchauffe, juste les disques qui “sautent” en permanence (parfois en freezant, parfois de manière indétectable).

Oui, probablement… Idéalement j’aimerais trouver une carte-mère correspondante, une Intel 1150 pas trop mal pour pouvoir récupérer le reste du matériel (CPU, RAM, refroidisseur…).

J’ai tout essayé à ce niveau-là également. Aucun changement.

Oui. Je te remercie.
Je n’ai jamais utilisé d’alimentation de type modulaire.

Tu as dû l’avoir franchement mauvaise à griller deux disques…

Je pense que tu as maintenant de quoi ne pas regretter de laisser tomber cette gigabyte z87.