#151 Le 09/08/2018, à 23:05
- NicoApi73
Re : entraide pour erreurs pcieport en masse
J'ai fait un dernier test avant d'aller me coucher : j'ai toujours aspm=off et j'ai réactivé l'aer. Ben, pas de spam...
Il y a bien un lien avec l'aspm également
Bonne soirée
Hors ligne
#152 Le 10/08/2018, à 07:25
- NicoApi73
Re : entraide pour erreurs pcieport en masse
Naziel a écrit :CAP_EX serait donc le registre pour l'AER.
Oui, mais c'est le seul lien que je n'arrive pas à faire
Bonjour,
Ca s'est vraiment la question qu'il me reste (en tout cas pour l'instant)
Bon, je progresse ...
Dans setpci, il y a :
· If the register is a part of a PCI capability, you can specify the name of the
capability to get the address of its first register. See the names starting with
`CAP_' or `ECAP_' in the --dumpregs output
Le registre auquel on fait appel, fait partie de la capability CAP_EX, et ce doit être le 8ième registre.
Et voila pourquoi le .w dans la commande
setpci -v -d 8086:a114 CAP_EXP+0x8.w=0xe
· Finally, you should append a width specifier .B, .W, or .L to choose how many bytes
(1, 2, or 4) should be transferred. The width can be omitted if you are referring
to a register by its name and the width of the register is well known.
On transfert 2 octets (word)
Mais je ne sais toujours pas ce qu'il y a dans CAP_EX
Ca y est, j'ai compris, c'est défini dans /usr/include/linux/pci_regs.h, le registre en question avec un offset de 8!
Ce qui nous intéresse fait partie des capabilités
/* PCI Express capability registers */
CAP_EX
Il y a peut être à faire quelque chose sur l'ASPM :
Dans la même capability, il y a :
#define PCI_EXP_LNKCTL 16 /* Link Control */
#define PCI_EXP_LNKCTL_ASPMC 0x0003 /* ASPM Control */
#define PCI_EXP_LNKCTL_ASPM_L0S 0x0001 /* L0s Enable */
#define PCI_EXP_LNKCTL_ASPM_L1 0x0002 /* L1 Enable */
#define PCI_EXP_LNKCTL_RCB 0x0008 /* Read Completion Boundary */
#define PCI_EXP_LNKCTL_LD 0x0010 /* Link Disable */
#define PCI_EXP_LNKCTL_RL 0x0020 /* Retrain Link */
#define PCI_EXP_LNKCTL_CCC 0x0040 /* Common Clock Configuration */
#define PCI_EXP_LNKCTL_ES 0x0080 /* Extended Synch */
#define PCI_EXP_LNKCTL_CLKREQ_EN 0x0100 /* Enable clkreq */
#define PCI_EXP_LNKCTL_HAWD 0x0200 /* Hardware Autonomous Width Disable */
#define PCI_EXP_LNKCTL_LBMIE 0x0400 /* Link Bandwidth Management Interrupt Enable */
#define PCI_EXP_LNKCTL_LABIE 0x0800 /* Link Autonomous Bandwidth Interrupt Enable */
A voir si c'est le bon registre. Le shift est de 16 pour accéder à ce registre. Il faut voir la configuration possible sur ce registre (il est également sur 2 octets)
Ou encore
/* ASPM L1 PM Substates */
si c'est L1 qui ne va pas
Je n'ai pas le temps de m'en occuper pour l'instant.
Dernière modification par NicoApi73 (Le 10/08/2018, à 08:46)
Hors ligne
#153 Le 10/08/2018, à 21:46
- NicoApi73
Re : entraide pour erreurs pcieport en masse
@Naziel :
J'ai continué sur l'aspm :
J'ai ça :
sudo setpci -v -d 8086:9d15 CAP_EXP+0xc.l
0000:00:1c.5 (cap 10 @40) @4c = 06724c13
sudo setpci -v -d 8086:9d15 CAP_EXP+0x10.w
0000:00:1c.5 (cap 10 @40) @50 = 0043
C'est la configuration ASPM de ma machine (bon, j'ai aussi le paramètre ASPM=off
Pourrais tu me donner le retour, sur ta machine de :
sudo setpci -v -d 8086:9c1a CAP_EXP+0xc.l
sudo setpci -v -d 8086:9c1a CAP_EXP+0x10.w
STP
Je cherche à voir s'il y a des différences de configuration. J'essaierai aussi sur la mienne sans le paramètre ASPM=off
Merci
Hors ligne
#154 Le 10/08/2018, à 21:50
- Nuliel
Re : entraide pour erreurs pcieport en masse
~$ sudo setpci -v -d 8086:9c1a CAP_EXP+0xc.l
0000:00:1c.5 (cap 10 @40) @4c = 06323c12
~$ sudo setpci -v -d 8086:9c1a CAP_EXP+0x10.w
0000:00:1c.5 (cap 10 @40) @50 = 0043
et que dalle avec dmesg
Hors ligne
#155 Le 10/08/2018, à 22:01
- NicoApi73
Re : entraide pour erreurs pcieport en masse
et que dalle avec dmesg
On ne fait que lire des registres ça ne risque pas de changer quoique ce soit.
Je pense que tu n'as pas d'erreur avec dmesg parce que tu n'es pas sur la même architecture, et donc ton pci bridge n'est pas le même. Pour moi, tu n'auras jamais d'erreur pcieport, sauf problème.
Arabi a bien des messages sur son ordi. Il est en kaby lake pour le processeur (qui est proche de sky lake) et un reliquat de sky lake. Son module WIFI est un RTL8821AE.
Tous les autres que j'ai aidés sont en sky lake + rtl8723be
Dernière modification par NicoApi73 (Le 10/08/2018, à 22:02)
Hors ligne
#156 Le 10/08/2018, à 22:10
- Nuliel
Re : entraide pour erreurs pcieport en masse
On ne fait que lire des registres wink
Ah oui, pas de égal devant, c'est vrai
Hors ligne
#157 Le 10/08/2018, à 22:20
- NicoApi73
Re : entraide pour erreurs pcieport en masse
Je ne me rappelle plus, tu es en xenial?
Hors ligne
#158 Le 10/08/2018, à 22:20
- Nuliel
Re : entraide pour erreurs pcieport en masse
Oui, 16.04.1 (noyaux 4.4, j'ai mis de côté les 4.15 et 4.14 qui me posent problème pour docker ou la carte wifi)
Dernière modification par Nuliel (Le 10/08/2018, à 22:23)
Hors ligne
#159 Le 10/08/2018, à 22:24
- NicoApi73
Re : entraide pour erreurs pcieport en masse
ok, je regarderai demain quand j'aurai le temps le premier retour que tu m'as donné : Il y a de la conversion en binaire à faire un peu trop pour ce soir
Le deuxième est plus simple, en plus similaire au mien : ASPM L0 et L1 enable et Common Clock Configuration
Bonne soirée
Dernière modification par NicoApi73 (Le 10/08/2018, à 22:26)
Hors ligne
#160 Le 10/08/2018, à 22:27
- Nuliel
Re : entraide pour erreurs pcieport en masse
Je passerai bientôt en 18.04.1 (j'aimerais avoir un système qui ressemble pas à un champ de bataille pour la rentrée)
Bonne soirée
Dernière modification par Nuliel (Le 10/08/2018, à 22:27)
Hors ligne
#161 Le 11/08/2018, à 10:39
- NicoApi73
Re : entraide pour erreurs pcieport en masse
Salut,
Il y a (pour l'instant) une incohérence chez moi :
sudo setpci -v -d 8086:9d15 CAP_EXP+0xc.l
0000:00:1c.5 (cap 10 @40) @4c = 06724c13
Par rapport à ce qui est défini dans pci_regs.h, il n'y a pas de raison que ce soit 06724c13, mais 06324c13 (ce qui est le cas chez toi). Sur ce quartet, seuls 2 bits sont utilisés, donc les valeurs possibles vont de 0 à 3. Si le masque est bien fait dans le code, ça ne devrait pas avoir de conséquence.
EDIT : je viens de faire l'essai en passant la valeur du registre à 06324c13. La commande d'écriture passe, sans erreur et dès que je le relis, il est à nouveau à 06724c13.
Soit il y a un problème sur le registre (spécifiquement sur ce bit là!), soit il y a quelque chose qui passe derrière et remet ce bit à 1.
Après, c'est peut être une fausse piste...
@Naziel : peux tu essayer l'inverse (sauve ton travail en cours, à cas où ça freeze) :
sudo setpci -v -d 8086:9c1a CAP_EXP+0xc.l=06723c12
dmesg -lerr
sudo setpci -v -d 8086:9c1a CAP_EXP+0xc.l
La dernière commande, c'est pour voir si le bit est repassé à 0 ou s'il reste à 1 (si la valeur hexa reste à 7, ou si elle repasse à 3). Entre temps, ça aura peut être généré des erreurs pcieport
FIN EDIT
Dernière modification par NicoApi73 (Le 11/08/2018, à 11:10)
Hors ligne
#162 Le 11/08/2018, à 16:58
- NicoApi73
Re : entraide pour erreurs pcieport en masse
Il y a aussi ECAP_AER dans la liste de mes registres
Salut,
Je vais regarder ce point là également.
Cependant :
#define PCI_EXP_DEVCTL 8 /* Device Control */
Device control -> je suppose que ça fait référence au device qui est connecté sur ce port
#define PCI_EXT_CAP_ID_ERR 0x01 /* Advanced Error Reporting */
et
#define PCI_ERR_COR_STATUS 16 /* Correctable Error Status */
Je pense que ça fait référence au bridge...
Hors ligne
#163 Le 11/08/2018, à 17:00
- Nuliel
Re : entraide pour erreurs pcieport en masse
@HP-desktop:~$ sudo setpci -v -d 8086:9c1a CAP_EXP+0xc.l=06723c12
[sudo] Mot de passe de :
0000:00:1c.5 (cap 10 @40) @4c 06723c12
@HP-desktop:~$ dmesg -lerr
[ 1.198902] acpi PNP0C0B:00: Setting initial power state
[ 1.727597] [drm:intel_dp_link_training_channel_equalization [i915]] *ERROR* failed to train DP, aborting
[ 1.737565] radeon 0000:0d:00.0: VCE init error (-22).
[ 1.777431] [drm:intel_dp_link_training_channel_equalization [i915]] *ERROR* failed to train DP, aborting
[ 17.376832] radeon 0000:0d:00.0: VCE init error (-22).
[ 32.054532] radeon 0000:0d:00.0: VCE init error (-22).
[ 43.371640] radeon 0000:0d:00.0: VCE init error (-22).
[ 60.182555] radeon 0000:0d:00.0: VCE init error (-22).
[ 95.162194] rtlwifi: IEEE80211_AMPDU_ERR for action 1330838840!!!!:
[ 98.148948] rtlwifi: IEEE80211_AMPDU_ERR for action 1330838840!!!!:
[ 98.179745] rtlwifi: IEEE80211_AMPDU_ERR for action 1330838840!!!!:
[ 98.212252] rtlwifi: IEEE80211_AMPDU_ERR for action 1330838840!!!!:
[ 99.149431] rtlwifi: IEEE80211_AMPDU_ERR for action 1330838840!!!!:
[ 119.495962] rtlwifi: IEEE80211_AMPDU_ERR for action 1438334336!!!!:
[ 119.510821] rtlwifi: IEEE80211_AMPDU_ERR for action 1438334264!!!!:
[ 119.514762] rtlwifi: IEEE80211_AMPDU_ERR for action 1438334264!!!!:
[ 119.551599] rtlwifi: IEEE80211_AMPDU_ERR for action 1438334264!!!!:
[ 128.941291] rtlwifi: IEEE80211_AMPDU_ERR for action 1438334264!!!!:
[ 128.944909] rtlwifi: IEEE80211_AMPDU_ERR for action 1438334264!!!!:
[ 128.972814] rtlwifi: IEEE80211_AMPDU_ERR for action 1438334264!!!!:
@HP-desktop:~$ sudo setpci -v -d 8086:9c1a CAP_EXP+0xc.l
0000:00:1c.5 (cap 10 @40) @4c = 06323c12
Les erreurs sont pas graves, je les ai habituellement
Dernière modification par Nuliel (Le 11/08/2018, à 17:01)
Hors ligne
#164 Le 11/08/2018, à 17:10
- xubu1957
Re : entraide pour erreurs pcieport en masse
Salut,
Vous aviez relevé ce cas > [Résolu]Une erreur wifi génère une très (trop) grande quantité de logs ?
Dernière modification par xubu1957 (Le 12/08/2018, à 06:57)
Conseils pour les nouveaux demandeurs et pas qu'eux
Important : Pensez à passer vos sujets en [Réso|u] lorsque ceux-ci le sont, au début du titre en cliquant sur Modifier sous le premier message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci. Membre de Linux-Azur
Hors ligne
#165 Le 11/08/2018, à 18:05
- NicoApi73
Re : entraide pour erreurs pcieport en masse
@Naziel :
@HP-desktop:~$ sudo setpci -v -d 8086:9c1a CAP_EXP+0xc.l
0000:00:1c.5 (cap 10 @40) @4c = 06323c12
Il te l'a remis à 3 ! Bon, pas sur que ce soit la meilleur piste, mais je ne sais pas l'expliquer.
@xubu : je regarde ça un peu plus tard
J'ai (encore progressé)
Je suis allé voir la capability ECAP_AER
J'y retrouve mes informations : le masque retporté dans l'erreur
Aug 1 23:01:22 nicolas-X541UJ kernel: [ 32.695167] pcieport 0000:00:1c.5: device [8086:9d15] error status/mask=00000001/00002000
nicolas@nicolas-X541UJ:~$ sudo setpci -v -d 8086:9d15 ECAP_AER+0x10.l
0000:00:1c.5 (ecap 0001 @100) @110 = 00000001
nicolas@nicolas-X541UJ:~$ sudo setpci -v -d 8086:9d15 ECAP_AER+0x14.l
0000:00:1c.5 (ecap 0001 @100) @114 = 00002000
et l'ID :
Aug 1 23:01:22 nicolas-X541UJ kernel: [ 32.695159] pcieport 0000:00:1c.5: AER: Corrected error received: id=00e5
nicolas@nicolas-X541UJ:~$ sudo setpci -v -d 8086:9d15 ECAP_AER+0x34.l
0000:00:1c.5 (ecap 0001 @100) @134 = 000000e5
Le masque des erreurs AER autorise toutes les erreurs. Dans ce cas, j'ai mes erreurs qui apparaissent :
nicolas@nicolas-X541UJ:~$ sudo setpci -v -d 8086:9d15 ECAP_AER+0x2c.l
0000:00:1c.5 (ecap 0001 @100) @12c = 00000007
Des que je masque les erreurs Correctable, le flot s'arrête :
nicolas@nicolas-X541UJ:~$ sudo setpci -v -d 8086:9d15 ECAP_AER+0x2c.l=0x06
0000:00:1c.5 (ecap 0001 @100) @12c 00000006
Donc c'est bien à cet endroit qu'il faut masquer l'erreur pour être au plus prêt de la source (qu'on ne connaît toujours pas)
Par conséquent, tu avais raison, Naziel, sur le fait qu'il fallait aussi regarder cette capability (c'est un ensemble de registres)
Dernière modification par NicoApi73 (Le 11/08/2018, à 18:18)
Hors ligne
#166 Le 11/08/2018, à 18:24
- NicoApi73
Re : entraide pour erreurs pcieport en masse
@xubu : j'ai regardé ton lien, c'est une autre erreur :
rtlwifi:rtl_op_ampdu_action():<0-0> IEEE80211_AMPDU_ERR!!!!:
Celle-ci a l'air d'être remontée par le driver du rtl8723be et non pas par le bridge pcie.
Est elle lié à pcieport..., je ne sais pas te le dire
Dernière modification par NicoApi73 (Le 11/08/2018, à 18:47)
Hors ligne
#167 Le 11/08/2018, à 18:27
- xubu1957
Re : entraide pour erreurs pcieport en masse
@NicoApi73
C'est trop technique pour moi, je préfère signaler, tu fais le tri.
Conseils pour les nouveaux demandeurs et pas qu'eux
Important : Pensez à passer vos sujets en [Réso|u] lorsque ceux-ci le sont, au début du titre en cliquant sur Modifier sous le premier message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci. Membre de Linux-Azur
Hors ligne
#168 Le 11/08/2018, à 18:32
- NicoApi73
Re : entraide pour erreurs pcieport en masse
@NicoApi73
C'est trop technique pour moi, je préfère signaler, tu fais le tri.
Ma remarque n'était pas négative, C'était juste pour te dire que je l'ai regardé avec intérêt, que l'intérêt persiste, mais pour l'instant, je ne sais pas si c'est lié aux erreurs que j'ai. Par contre, Naziel a cette erreur sur sa machine
Hors ligne
#169 Le 11/08/2018, à 18:37
- NicoApi73
Re : entraide pour erreurs pcieport en masse
En fait, les opérations que l'on fait actuellement sont faites à très bas niveau, entre le SW et le HW. Dans les composants il y a des registres pour le paramétrage et pour lire/écrire des informations. Là, on est sur les registres de paramètrage (et de reporting). Désolé, pour l'instant je ne sais pas trouver une analogie pour te l'expliquer plus simplement.
Quand tu fais changer des paramètres sur le WIFI par exemple, au final, il y a probablement des registres du module WIFI qui sont modifiés. Par contre tu travailles à un certain niveau d'abstraction qui masque tout ça.
Pour ce qui nous concerne, en passant un paramètre au noyau (en tout cas pour les paramètres qu'on utilise), plusieurs modules sont impactés. Donc, il faut descendre à un niveau plus bas pour mieux cibler ce qu'on veut faire. Ici, en l’occurrence c'est d'arrêter le flot d'erreurs au plus proche de la source (qui reste toujours inconnue)
Dernière modification par NicoApi73 (Le 11/08/2018, à 18:51)
Hors ligne
#170 Le 11/08/2018, à 19:48
- NicoApi73
Re : entraide pour erreurs pcieport en masse
@Naziel :
Pourrais tu me donner le résultat que tu as pour ces 2 commandes STP
sudo setpci -v -d 8086:9c1a ECAP_AER+0x10.l
sudo setpci -v -d 8086:9c1a ECAP_AER+0x14.l
Pour la première, je m'attends à voir 00000000
Pour la seconde, probablement 00002000
Hors ligne
#171 Le 11/08/2018, à 20:36
- Nuliel
Re : entraide pour erreurs pcieport en masse
Eh bien non, ça me retourne deux fois la même chose:
setpci: 0000:00:1c.5: Extended capability 0001 not found
(mais y a t'il de l'aer sur ma machine?)
Dernière modification par Nuliel (Le 11/08/2018, à 20:37)
Hors ligne
#172 Le 11/08/2018, à 20:43
- NicoApi73
Re : entraide pour erreurs pcieport en masse
Je te trouverai le registre demain pour savoir si tu as ça : je ne suis plus à ça près
Hors ligne
#173 Le 11/08/2018, à 20:50
- Nuliel
Re : entraide pour erreurs pcieport en masse
J'avoue que je n'arrive pas à comprendre grand chose, ça reste du chinois pour moi
Hors ligne
#174 Le 11/08/2018, à 23:18
- NicoApi73
Re : entraide pour erreurs pcieport en masse
Précise ce que tu ne comprends pas (pas dans les détails), j'essaierai de te l'expliquer. Je travaille beaucoup avec le header pci_regs.h et la liste des registres et capabilities données par sudo setpci --dumpregs. Le jeu consiste à faire le lien entre les noms de l'un et les noms de l'autre. Il doit y avoir de la doc, probablement sur le kernel, qui permet de faire ce lien, mais les noms donnés sont jusqu'à présent suffisamment explicites
Hors ligne
#175 Le 12/08/2018, à 08:16
- NicoApi73
Re : entraide pour erreurs pcieport en masse
Salut,
Je n'ai pas trouvé (pour l'instant) de registre listant ce que le port sait faire. Vu le retour que tu as, à priori, je dirai que tu n'as pas d'AER sur ce port et c'est pour ça que tu n'as pas l'erreur pcieport...
Hors ligne