Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#226 Le 30/11/2018, à 00:10

NicoApi73

Re : entraide pour erreurs pcieport en masse

@moko : vu. J'ai commencé à regarder, sans trop d'idée pour l'instant. Mais il y a de quoi faire.

Hors ligne

#227 Le 30/11/2018, à 20:55

Nuliel

Re : entraide pour erreurs pcieport en masse

De même, je sais pas trop quoi proposer pour l'instant

Hors ligne

#228 Le 30/11/2018, à 22:03

moko138

Re : entraide pour erreurs pcieport en masse

Naziel a écrit :

Mais pas assez pour expliquer ce que font les médaillés Fields smile

Ils se font poser dans le corps un anneau gastrique pour éviter ces indigestions rabelaisiennes de médailles dont l'empilement forme classiquement des colonnes toriques.
  Ils ne consomment, par conséquent, que des liquides nutritifs contenus dans des bouteilles de Klein.

Les prétendants à la médaille Fields ne prennent au distributeur que de l'alcool, jusqu'à se voir complètement schwartz.


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#229 Le 30/11/2018, à 22:07

LeoMajor

Re : entraide pour erreurs pcieport en masse

bonjour,
à tester (source)

pcieport 0000:00:1c.5: AER: Corrected error received: id=00e5
pcieport 0000:00:1c.5: PCIe Bus Error: severity=Corrected,
type=Physical Layer, id=00e5(Receiver ID)
pcieport 0000:00:1c.5: device [8086:9d15] error status/mask=00000001/00002000
pcieport 0000:00:1c.5: [ 0] Receiver Error (First)
pcieport 0000:00:1c.5: AER: Corrected error received: id=00e5
pcieport 0000:00:1c.5: PCIe Bus Error: severity=Corrected,
type=Physical Layer, id=00e5(Receiver ID)
pcieport 0000:00:1c.5: device [8086:9d15] error status/mask=00000001/00002000
pcieport 0000:00:1c.5: [ 0] Receiver Error (First)
pcieport 0000:00:1c.5: AER: Corrected error received: id=00e5
pcieport 0000:00:1c.5: can't find device of ID00e5

à ajouter dans les paramètres kernel du grub ( /etc/default/grub)

pci=nomsi
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pci=nomsi"

+ sudo update-grub

Hors ligne

#230 Le 30/11/2018, à 22:16

moko138

Re : entraide pour erreurs pcieport en masse

Merci LeoMajor !   Mais déjà tenté en vain.  sad


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#231 Le 30/11/2018, à 22:29

Nuliel

Re : entraide pour erreurs pcieport en masse

moko138 a écrit :

Ils se font poser dans le corps un anneau gastrique pour éviter ces indigestions rabelaisiennes de médailles dont l'empilement forme classiquement des colonnes toriques.
  Ils ne consomment, par conséquent, que des liquides nutritifs contenus dans des bouteilles de Klein.

Les prétendants à la médaille Fields ne prennent au distributeur que de l'alcool, jusqu'à se voir complètement schwartz.

smile

Hors ligne

#232 Le 01/12/2018, à 00:19

NicoApi73

Re : entraide pour erreurs pcieport en masse

@LeoMajor :
Avec pci=noaer

nicolas@nicolas-M32CD4-K:~$ sudo setpci -v -d 8086:a115 CAP_EXP+0x8.w
[sudo] Mot de passe de nicolas : 
0000:00:1c.5 (cap 10 @40) @48 = 0020
nicolas@nicolas-M32CD4-K:~$

Avec pci=nomsi

nicolas@nicolas-M32CD4-K:~$ sudo setpci -v -d 8086:a115 CAP_EXP+0x8.w
[sudo] Mot de passe de nicolas : 
0000:00:1c.5 (cap 10 @40) @48 = 0020
nicolas@nicolas-M32CD4-K:~$

Avec pcie_aspm=off

nicolas@nicolas-M32CD4-K:~$ sudo setpci -v -d 8086:a115 CAP_EXP+0x8.w
[sudo] Mot de passe de nicolas : 
0000:00:1c.5 (cap 10 @40) @48 = 0020
nicolas@nicolas-M32CD4-K:~$

Sans rien :

nicolas@nicolas-M32CD4-K:~$ sudo setpci -v -d 8086:a115 CAP_EXP+0x8.w
[sudo] Mot de passe de nicolas : 
0000:00:1c.5 (cap 10 @40) @48 = 002f
nicolas@nicolas-M32CD4-K:~$

Il n'y a que dans le dernier cas que j'ai des erreurs pcieport

8086:a115 est l'adresse du port pcie sur lequel est mon module WIFI (sur ma machine c'est un ath10k), j'ai quelques erreurs pcieport comparé à un rtl8723be

En résumé, nomsi, aspm=off et noaer désactivent tous le reporting d'erreurs. nomsi et aspm=off désactivent également les fonctions auxquels ils sont rattachés. Le plus simple et le moins intrusif reste pci=noaer. Le plus ciblé est de désactiver l'aer en passant par setpci sur le port concerné en créant un service systemctl activé juste après le paramétrage des I/O. (mais avec ça, il y a quand quelques erreurs pcieport qui sont remontées).

Hors ligne

#233 Le 01/12/2018, à 00:30

Nuliel

Re : entraide pour erreurs pcieport en masse

D'après https://www.kernel.org/doc/html/v4.14/a … eters.html

pcie_aspm=      [PCIE] Forcibly enable or disable PCIe Active State Power
                        Management.
                off     Disable ASPM.
                force   Enable ASPM even on devices that claim not to support it.
                        WARNING: Forcing ASPM on may cause system lockups.

nomsi           [MSI] If the PCI_MSI kernel config parameter is
                                enabled, this kernel boot option can be used to
                                disable the use of MSI interrupts system-wide.

noaer           [PCIE] If the PCIEAER kernel config parameter is
                                enabled, this kernel boot option can be used to
                                disable the use of PCIE advanced error reporting.

(si ça peut aider à comprendre la différence)

Hors ligne

#234 Le 01/12/2018, à 00:36

Nuliel

Re : entraide pour erreurs pcieport en masse

Et sinon c'est le 3eme fil pour des problèmes de ports usb qui marchent pas
fil 1
fil 2
fil 3

Dernière modification par Nuliel (Le 01/12/2018, à 00:37)

Hors ligne

#235 Le 01/12/2018, à 16:47

LeoMajor

Re : entraide pour erreurs pcieport en masse

la seule chose que j'ai trouvée dans le kernel via ( sudo make menuconfig),  dans linux-source-4.10, par exemple, en rapport avec ton contrôleur de type 0604 , est

.config - Linux/x86 4.10.17 Kernel Configuration
 > Search (sunrise) ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  ┌──────────────────────────────────────────────────────────────────────────────────────── Search Results ────────────────────────────────────────────────────────────────────────────────────────┐
  │ Symbol: PINCTRL_SUNRISEPOINT [=m]                                                                                                                                                              │  
  │ Type  : tristate                                                                                                                                                                               │  
  │ Prompt: Intel Sunrisepoint pinctrl and GPIO driver                                                                                                                                             │  
  │   Location:                                                                                                                                                                                    │  
  │     -> Device Drivers                                                                                                                                                                          │  
  │ (1)   -> Pin controllers                                                                                                                                                                       │  
  │   Defined at drivers/pinctrl/intel/Kconfig:67                                                                                                                                                  │  
  │   Depends on: PINCTRL [=y] && ACPI [=y]                                                                                                                                                        │  
  │   Selects: PINCTRL_INTEL [=m]                    

modinfo pinctrl-intel et modinfo pinctrl-sunrisepoint, ne renvoient pas de paramètres optionnels.

~$ modprobe -c | egrep 'pinctrl_(sunrisepoint|intel)'
alias acpi*:INT344B:* pinctrl_sunrisepoint
alias acpi*:INT345D:* pinctrl_sunrisepoint
alias symbol:intel_pinctrl_probe pinctrl_intel
alias symbol:intel_pinctrl_remove pinctrl_intel
alias symbol:intel_pinctrl_resume pinctrl_intel
alias symbol:intel_pinctrl_suspend pinctrl_intel

à vérifier l'existence avec ( lsmod | grep pinctrl )

~$ modprobe -R pinctrl-intel
pinctrl_intel
~$ modprobe -R pinctrl-sunrisepoint
pinctrl_sunrisepoint

sinon si nécessaire, à tester, à ajouter dans /etc/initramfs-tools/modules

pinctrl_intel
pinctrl_sunrisepoint

+ sudo update-initramfs -u -k $(uname -r)
ou le kernel sur lequel on veut démarrer.

Hors ligne

#236 Le 01/12/2018, à 19:16

NicoApi73

Re : entraide pour erreurs pcieport en masse

Salut, j'ai un accès très restreint aujourd'hui et demain. Je regarde ça avec attention dès que possible. Merci pour les infos, n'hésite pas à mettre plus de détails. J'aurais fort probablement des questions à te poser. A+

Hors ligne

#237 Le 02/12/2018, à 22:34

NicoApi73

Re : entraide pour erreurs pcieport en masse

@LeoMajor :
Je ne sais pas si tu t'es fait les 236 posts big_smile Pour résumer le cheminement :
En cours d'investigation, je suis tombé sur un github qui expliquait comment aller jouer avec les registres des ports pci, en utilisant setpci. J'ai donc investigué en utilisant cette commande et en essayant de configurer le port pci qui m'intéressait, en particulier en désactivant l'AER (plus précisément les erreurs corrigeables) sur le port concerné. J'ai fini par trouver un moyen d'y arriver (post #183, script que j'ai trouvé), cependant, dans le processus d'initialisation fait que le port est d'abord configuré avec l'AER actif, puis je viens arrêter la remontée d'erreur qui pose problème et entre temps, il y en a qui passe au travers.
En utilisant un paramètre passé au noyau, l'AER n'est jamais activée et donc il n'y a jamais de remontée d'erreur.

Je n'ai pas pensé à investiguer en partant du driver du port pci (pcieport) et donc je n'ai pas cherché s'il y avait des paramètres de configuration. Je ne suis pas allé non plus dans les sources du noyau, ne sachant pas par où commencer smile

Question : comment fait on pour connaître le type de contrôleur? J'ai trouvé la réponse à cette question. Le chipset dépend de la carte mère, 0604 fait référence au fait que ce soit un bridge pci-pci (à priori c'est la valeur d'un registre de configuration)
Dans lshw, il est remonté que le port pcie est piloté par pcieport, hors il n'est pas listé dans les modules qui sont chargés. Sais tu pourquoi? Réponse trouvée : le kernel module est shpchp
A priori, c'est une entrée sur le port pci qui génère l'erreur, qui a probablement un niveau qui n'est pas attendu. Sais tu comment on identifie cette entrée? Certaines personnes pointent l'ASPM : comment sait on si c'est bien ça?

Dernière modification par NicoApi73 (Le 03/12/2018, à 11:08)

Hors ligne

#238 Le 03/12/2018, à 07:55

moko138

Re : entraide pour erreurs pcieport en masse

D'après je ne sais plus quelle lecture récente, ce serait une entrée qui attribue indûment l'irq "255", normalement dévolue à autre chose.


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#239 Le 03/12/2018, à 10:42

NicoApi73

Re : entraide pour erreurs pcieport en masse

Bonjour,

Merci moko. En faisant des recherches avec ce que tu as écrit ci-dessus, j'ai trouvé quelques réponses à des questions.

Je suis entre autre tombé là-dessus, qui reparle de l'ASPM : https://devtalk.nvidia.com/default/topi … tx2-r28-1/ et https://bbs.archlinux.org/viewtopic.php?id=235768

Et à priori, le kernel module des portpcie est shpchp, ce que je n'avais pas noté jusqu'à présent. Je regarderai ce soir quels sont les paramètres possibles sur ce module.

Hors ligne

#240 Le 04/12/2018, à 17:57

LeoMajor

Re : entraide pour erreurs pcieport en masse

When AER is enabled, a PCI Express device will automatically send an
error message to the PCIe root port above it when the device captures
an error. The Root Port, upon receiving an error reporting message,
internally processes and logs the error message in its PCI Express
capability structure. Error information being logged includes storing
the error reporting agent's requestor ID into the Error Source
Identification Registers and setting the error bits of the Root Error
Status Register accordingly. If AER error reporting is enabled in Root
Error Command Register, the Root Port generates an interrupt if an
error is detected.

(source)
cela semble normal d'après la doc que les erreurs d'un pcie enfant (wifi) remontent au pcie root.

Plus simplement que l'aspm au niveau du pcie root, autant faire un test sur l'aspm du rtl8723be.  L'aspm est activé par défaut (parm:  aspm:Set to 1 to enable ASPM (default 1))
As-tu essayé de désactiver l'aspm du rtl8723be ?

 modinfo  rtl8723be
filename:       /lib/modules/4.15.0-39-generic/kernel/drivers/net/wireless/realtek/rtlwifi/rtl8723be/rtl8723be.ko
firmware:       rtlwifi/rtl8723befw_36.bin
firmware:       rtlwifi/rtl8723befw.bin
description:    Realtek 8723BE 802.11n PCI wireless
license:        GPL
author:         Realtek WlanFAE	<wlanfae@realtek.com>
author:         PageHe	<page_he@realsil.com.cn>
srcversion:     4460AA5584590927164B1F2
alias:          pci:v000010ECd0000B723sv*sd*bc*sc*i*
depends:        rtlwifi,rtl8723-common,rtl_pci,btcoexist,mac80211
retpoline:      Y
intree:         Y
name:           rtl8723be
vermagic:       4.15.0-39-generic SMP mod_unload 
parm:           swenc:Set to 1 for software crypto (default 0)
 (bool)
parm:           ips:Set to 0 to not use link power save (default 1)
 (bool)
parm:           swlps:Set to 1 to use SW control power save (default 0)
 (bool)
parm:           fwlps:Set to 1 to use FW control power save (default 1)
 (bool)
parm:           msi:Set to 1 to use MSI interrupts mode (default 0)
 (bool)
parm:           aspm:Set to 1 to enable ASPM (default 1)
 (int)
parm:           debug_level:Set debug level (0-5) (default 0) (int)
parm:           debug_mask:Set debug mask (default 0) (ullong)
parm:           disable_watchdog:Set to 1 to disable the watchdog (default 0)
 (bool)
parm:           ant_sel:Set to 1 or 2 to force antenna number (default 0)
 (int)

juste pour info
aer (advanced error reporting)

.config - Linux/x86 4.10.17 Kernel Configuration
 > Search (aer) ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  ┌────────────────────────────────────────────────────────────────────────────────────────────── Search Results ──────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Symbol: ACPI_APEI_PCIEAER [=y]                                                                                                                                                                             │  
  │ Type  : boolean                                                                                                                                                                                            │  
  │ Prompt: APEI PCIe AER logging/recovering support                                                                                                                                                           │  
  │   Location:                                                                                                                                                                                                │  
  │     -> Power management and ACPI options                                                                                                                                                                   │  
  │       -> ACPI (Advanced Configuration and Power Interface) Support (ACPI [=y])                                                                                                                             │  
  │ (1)     -> ACPI Platform Error Interface (APEI) (ACPI_APEI [=y])                                                                                                                                           │  
  │   Defined at drivers/acpi/apei/Kconfig:35                                                                                                                                                                  │  
  │   Depends on: ACPI [=y] && ACPI_APEI [=y] && PCIEAER [=y]                                                                                                                                                  │  
  │                                                                                                                                                                                                            │  
  │                                                                                                                                                                                                            │  
  │ Symbol: PCIEAER [=y]                                                                                                                                                                                       │  
  │ Type  : boolean                                                                                                                                                                                            │  
  │ Prompt: Root Port Advanced Error Reporting support                                                                                                                                                         │  
  │   Location:                                                                                                                                                                                                │  
  │     -> Bus options (PCI etc.)                                                                                                                                                                              │  
  │       -> PCI support (PCI [=y])                                                                                                                                                                            │  
  │ (2)     -> PCI Express Port Bus support (PCIEPORTBUS [=y])                                                                                                                                                 │  
  │   Defined at drivers/pci/pcie/aer/Kconfig:5                                                                                                                                                                │  
  │   Depends on: PCIEPORTBUS [=y]                                                                                                                                                                             │  
  │   Selects: RAS [=y]                                                                                                                                                                                        │  
  │                                                                                                                                                                                                            │  
  │                                                                                                                                                                                                            │  
  │ Symbol: PCIEAER_INJECT [=n]                                                                                                                                                                                │  
  │ Type  : tristate                                                                                                                                                                                           │  
  │ Prompt: PCIe AER error injector support                                                                                                                                                                    │  
  │   Location:                                                                                                                                                                                                │  
  │     -> Bus options (PCI etc.)                                                                                                                                                                              │  
  │       -> PCI support (PCI [=y])                                                                                                                                                                            │  
  │         -> PCI Express Port Bus support (PCIEPORTBUS [=y])                                                                                                                                                 │  
  │ (3)       -> Root Port Advanced Error Reporting support (PCIEAER [=y])                                                                                                                                     │  
  │   Defined at drivers/pci/pcie/aer/Kconfig.debug:5                                                                                                                                                          │  
  │   Depends on: PCIEAER [=y]  

aspm (gestion énergie Active State Power Management)

       Symbol: PCIEASPM [=y]                                                                                                                                                                                      │  
  │ Type  : boolean                                                                                                                                                                                            │  
  │ Prompt: PCI Express ASPM control                                                                                                                                                                           │  
  │   Location:                                                                                                                                                                                                │  
  │     -> Bus options (PCI etc.)                                                                                                                                                                              │  
  │       -> PCI support (PCI [=y])                                                                                                                                                                            │  
  │ (1)     -> PCI Express Port Bus support (PCIEPORTBUS [=y])                                                                                                                                                 │  
  │   Defined at drivers/pci/pcie/Kconfig:30                                                                                                                                                                   │  
  │   Depends on: PCI [=y] && PCIEPORTBUS [=y]                                                                                                                                                                 │  
  │                                                                                                                                                                                                            │  
  │                                                                                                                                                                                                            │  
  │ Symbol: PCIEASPM_DEBUG [=y]                                                                                                                                                                                │  
  │ Type  : boolean                                                                                                                                                                                            │  
  │ Prompt: Debug PCI Express ASPM                                                                                                                                                                             │  
  │   Location:                                                                                                                                                                                                │  
  │     -> Bus options (PCI etc.)                                                                                                                                                                              │  
  │       -> PCI support (PCI [=y])                                                                                                                                                                            │  
  │         -> PCI Express Port Bus support (PCIEPORTBUS [=y])                                                                                                                                                 │  
  │ (2)       -> PCI Express ASPM control (PCIEASPM [=y])                                                                                                                                                      │  
  │   Defined at drivers/pci/pcie/Kconfig:48                                                                                                                                                                   │  
  │   Depends on: PCIEASPM [=y]                                                                                                                                                                                │  
  │                                                                                                                                                                                                            │  
  │                                                                                                                                                                                                            │  
  │ Symbol: PCIEASPM_DEFAULT [=y]                                                                                                                                                                              │  
  │ Type  : boolean                                                                                                                                                                                            │  
  │ Prompt: BIOS default                                                                                                                                                                                       │  
  │   Location:                                                                                                                                                                                                │  
  │     -> Bus options (PCI etc.)                                                                                                                                                                              │  
  │       -> PCI support (PCI [=y])                                                                                                                                                                            │  
  │         -> PCI Express Port Bus support (PCIEPORTBUS [=y])                                                                                                                                                 │  
  │           -> PCI Express ASPM control (PCIEASPM [=y])                                                                                                                                                      │  
  │ (3)         -> Default ASPM policy (<choice> [=y])                                                                                                                                                         │  
  │   Defined at drivers/pci/pcie/Kconfig:61                                                                                                                                                                   │  
  │   Depends on: <choice> && PCIEASPM [=y]                                                                                                                                                                    │  
  │                                                                                                                                                                                                            │  
  │                                                                                                                                                                                                            │  
  │ Symbol: PCIEASPM_PERFORMANCE [=n]                                                                                                                                                                          │  
  │ Type  : boolean                                                                                                                                                                                            │  
  │ Prompt: Performance                                                                                                                                                                                        │  
  │   Location:                                                                                                                                                                                                │  
  │     -> Bus options (PCI etc.)                                                                                                                                                                              │  
  │       -> PCI support (PCI [=y])                                                                                                                                                                            │  
  │         -> PCI Express Port Bus support (PCIEPORTBUS [=y])                                                                                                                                                 │  
  │           -> PCI Express ASPM control (PCIEASPM [=y])                                                                                                                                                      │  
  │ (4)         -> Default ASPM policy (<choice> [=y])                                                                                                                                                         │  
  │   Defined at drivers/pci/pcie/Kconfig:74                                                                                                                                                                   │  
  │   Depends on: <choice> && PCIEASPM [=y]  
      Symbol: PCIEASPM_POWERSAVE [=n]                                                                                                                                                                            │  
  │ Type  : boolean                                                                                                                                                                                            │  
  │ Prompt: Powersave                                                                                                                                                                                          │  
  │   Location:                                                                                                                                                                                                │  
  │     -> Bus options (PCI etc.)                                                                                                                                                                              │  
  │       -> PCI support (PCI [=y])                                                                                                                                                                            │  
  │         -> PCI Express Port Bus support (PCIEPORTBUS [=y])                                                                                                                                                 │  
  │           -> PCI Express ASPM control (PCIEASPM [=y])                                                                                                                                                      │  
  │ (5)         -> Default ASPM policy (<choice> [=y])                                                                                                                                                         │  
  │   Defined at drivers/pci/pcie/Kconfig:67                                                                                                                                                                   │  
  │   Depends on: <choice> && PCIEASPM [=y]              

y  builtin, includes
n  no, excludes
m  driver via module

pour avoir des infos lspci via udevadm

while read item; do echo -e "${item} valeur=$(strings $item 2>/dev/null)"; udevadm info -q all -p "$item" 2>/dev/null ; done  < <(find /sys/devices -regex "/sys/devices/.*01:00\.0\/.*") 

où par exemple lspci -s 01:00.0   (...)

lspci -nn | awk 'BEGIN {FPAT="[[:xdigit:]]{4}"}; {print "Contrôleur Type",$1,":",$0}'

renvoie à la classe pci, sous classe pci

annexe;
Skylake Platform Controller Hub H and LP (SKL PCH H / LP)
https://download.01.org/future-platform … 19-002.pdf

Hors ligne

#241 Le 04/12/2018, à 21:32

NicoApi73

Re : entraide pour erreurs pcieport en masse

LeoMajor a écrit :

Plus simplement que l'aspm au niveau du pcie root, autant faire un test sur l'aspm du rtl8723be.  L'aspm est activé par défaut (parm:  aspm:Set to 1 to enable ASPM (default 1))
As-tu essayé de désactiver l'aspm du rtl8723be ?

Salut,

Je n'y avais pas pensé. Je viens d'essayer, sans succès. Il y a des erreurs en permanence.

Je n'ai pas le temps pour l'instant de regarder les autres informations

Hors ligne

#242 Le 05/12/2018, à 01:20

LeoMajor

Re : entraide pour erreurs pcieport en masse

bizarre aussi cette histoire de pci=nomsi, puisque la valeur par défaut est équivalent à options rtl8723be msi=0
à vérifier aussi le paramètre msi de la carte mère

sudo -s
shopt -s globstar
for item in /sys/module/*/parameters/**; do if [ -f "$item" ]; then echo -e "$(cut -f4 -d"/" <<<"$item") $(basename $item)=$(cat $item 2>/dev/null)"; fi;  done | egrep -i 'pcie|aspm|msi|aer|8723be'
shopt -u globstar

options rtl8723be msi=1     #ou 0

Hors ligne

#243 Le 05/12/2018, à 08:20

NicoApi73

Re : entraide pour erreurs pcieport en masse

Chez moi pci=nomsi fonctionne, pour une raison très simple : ça désactive le report d'erreur smile

Je te donne les résultats ce soir, le rtl8723be est sur la machine de mon épouse, pas accessible maintenant.

EDIT : J'ai eu le temps :

nicolas@nicolas-X541UJ:~$ sudo -s
[sudo] Mot de passe de nicolas : 
root@nicolas-X541UJ:~# shopt -s globstar
root@nicolas-X541UJ:~# for item in /sys/module/*/parameters/**; do if [ -f "$item" ]; then echo -e "$(cut -f4 -d"/" <<<"$item") $(basename $item)=$(cat $item 2>/dev/null)"; fi;  done | egrep -i 'pcie|aspm|msi|aer|8723be'
pcie_aspm policy=[default] performance powersave powersupersave 
pciehp pciehp_debug=N
pciehp pciehp_force=N
pciehp pciehp_poll_mode=N
pciehp pciehp_poll_time=0
rtl8723be ant_sel=0
rtl8723be debug_level=0
rtl8723be debug_mask=0
rtl8723be disable_watchdog=N
rtl8723be fwlps=Y
rtl8723be ips=Y
rtl8723be msi=N
rtl8723be swenc=N
rtl8723be swlps=N
rtsx_pci msi_en=Y
snd_hda_intel enable_msi=-1
root@nicolas-X541UJ:~# shopt -u globstar
root@nicolas-X541UJ:~# exit
exit
nicolas@nicolas-X541UJ:~$ 

Dernière modification par NicoApi73 (Le 05/12/2018, à 08:28)

Hors ligne

#244 Le 05/12/2018, à 09:49

NicoApi73

Re : entraide pour erreurs pcieport en masse

Ci-dessous le lien pour shopt (pas documenté avec man, perso je ne connaissais pas et donc je maitrise encore moins) :
https://www.gnu.org/software/bash/manua … pt-Builtin

Quelques remarques concernant les erreurs AER remontées :
- Elles apparaissent dès que le contrôleur PCI est initialisé, avant même que le module qui est derrière ne le soit
- Le résultat de l'essai ASPM (résultat en #241) me surprend. Je m'attendais à ce qu'il y ait des erreurs remontées entre l'initialisation du bridge PCI et l'initialisation du module 8723be, puis plus d'erreurs. Ce n'est pas le cas. Donc, si rapport avec l'ASPM il y a, ça ne peut être géré qu'au niveau du bridge.
- Ca contredit l'ajout du post #182 : il y a donc un effet non maitrisé.

Dernière modification par NicoApi73 (Le 05/12/2018, à 09:50)

Hors ligne

#245 Le 06/12/2018, à 09:58

NicoApi73

Re : entraide pour erreurs pcieport en masse

Bonjour,

J'ai commencé à regarder plus en détail tes posts #235 et #240. J'ai chargé les sources du 4.15. Peux tu m'indiquer les fichiers dans lesquels tu as pris les définitions des config. J'ai regardé dans les Makefile (celui du noyau et celui de ACPI), sans succès.

J'avais bien compris que c'est le module connecté qui envoie une erreur AER au port et le port relais l'erreur. Ce que j'ai constaté, c'est que dans notre cas le module envoie une erreur AER alors qu'il n'est pas initialisé. Je l'ai constaté par 2 manières différentes :
1) Service systemctl qui désactive l'AER sur le port pci concerné juste après l'initialisation des I/O (avant que le driver du module wifi ne soit chargé). Quelques erreurs AER sont reportées avant la désactivation de l'AER.
2) blacklister dans grub (à la volée), le driver WIFI. Même constat.

Dans ce que tu as mis concernant la config pour la compilation, j'ai l'impression que je vais arriver au même résultat que passer un paramètre au noyau, à savoir désactiver l'AER (ou l'ASPM) pour tous les modules. En regardant le contenu de certains fichiers, j'ai cru comprendre qu'il y avait des fichiers de configuration, mais je n'ai toujours pas trouvé celui qui m'intéresse. L'idée est de faire ce que j'arrive à faire en utilisant setpci (qui ne fait que passer une configuration dans un registre), mais en modifiant le fichier de configuration du port concerné, de manière à ce qu'il soit configuré comme je le souhaite dès le début (et uniquement ce port là). Le fichier que je recherche est celui dans lequel se trouve les paramètres pour le port pci qui m'intéresse. Mais je ne sais pas si ces paramètres sont individuels par port ou pour l'ensemble des ports.

J'ai regardé dans /sys/bus/pci et particulièrement dans ./drivers/pcieport, sans trouver ce que je cherchais. Sachant que /sys est créé pour donner la configuration qui a été fait lors du boot, ça ne peut être qu'informatif. J'ai commencé également à regarder /lib/udev (et les sous-répertoires dont ./rules.d), mais (en tout cas pour l'instant), ça dépasse largement mes compétences et je n'ai pas non plus trouvé ce qui m'intéressait.

EDIT : https://lwn.net/Articles/116311/. Un peu ancien, mais peut aider. Par contre, ça ne dit toujours pas où se trouvent les informations de configuration...

Du lien que tu as donné, il y a aussi :

3.3 helper functions

3.3.1 int pci_enable_pcie_error_reporting(struct pci_dev *dev);
pci_enable_pcie_error_reporting enables the device to send error
messages to root port when an error is detected. Note that devices
don't enable the error reporting by default, so device drivers need
call this function to enable it.

3.3.2 int pci_disable_pcie_error_reporting(struct pci_dev *dev);
pci_disable_pcie_error_reporting disables the device to send error
messages to root port when an error is detected.

3.3.3 int pci_cleanup_aer_uncorrect_error_status(struct pci_dev *dev);
pci_cleanup_aer_uncorrect_error_status cleanups the uncorrectable
error status register.

J'ai regardé dans le source code, en particulier dans pci.h. pci_dev semble être la structure associée au port pci concerné (j'ai un doute avec le module qui est derrière). Pour contre, je n'ai pas trouvé où elle était initialisée

Dernière modification par NicoApi73 (Le 06/12/2018, à 18:15)

Hors ligne

#246 Le 09/12/2018, à 18:51

LeoMajor

Re : entraide pour erreurs pcieport en masse

Peux tu m'indiquer les fichiers dans lesquels tu as pris les définitions des config ... (make menuconfig)

normalement, c'est par rapport au kernel que tu utilises et à ta carte mère.
exemple;

uname -r
4.15.0-39-generic
ls /boot/config-$(uname -r)
/boot/config-4.15.0-39-generic
sudo aptitude search '^linux-source'
...
qui correspond à linux-source-4.15.0 
sudo aptitude install linux-source-4.15.0
..
cd  /usr/src/linux-source-4.15.0
sudo tar xjfv linux-source-4.15.0.tar.bz2
cd /usr/src/linux-source-4.15.0/linux-source-4.15.0
sudo cp /boot/config-4.15.0-39-generic  configtest
sudo make menuconfig
une fois dans le menu interne de menuconfig -> LOAD -> configtest

Si c'est juste pour explorer rapidement, la copie de /boot/config-untel_kernel est facultative
Si c'est pour comparer/compiler avec la carte mère, il vaut mieux utiliser un /boot/config-* utilisé.   
Une fois les modifications faites, si compilation, il faut SAVE -> confignew  (c'est ce fichier qui sert à la compilation du kernel).

Hors ligne

#247 Le 09/12/2018, à 21:32

NicoApi73

Re : entraide pour erreurs pcieport en masse

Bonjour,

Merci LeoMajor pour le temps que tu passes sur le sujet.

J'avais déjà chargé les sources du kernel (en l'occurrence le 4.15.0-39 en ce qui me concerne, je suis toujours en Xubuntu 16.04). Je ne savais pas comment est faite la configuration.

J'ai regardé le fichier /boot/config-4.15.0-39-generic (je l'ai copié dans un répertoire local, comme les sources du kernel, pour l'instant je ne compile pas...). Vu le nombre de paramètres, je n'ai pu encore pu tout voir. Par contre, je n'ai pas vu en première approche de configuration par port. A voir l'AER (comme l'ASPM) est configurée pour tous les ports de manière identique. Si c'est confirmé, ça revient au même que de passer le paramètre pci=noaer à GRUB.

En parallèle, je suis entrain de regarder les logs de dmesg, pour voir et essayer de comprendre comment et quand sont configurés les ports.

Hors ligne

#248 Le 12/12/2018, à 07:46

moko138

Re : entraide pour erreurs pcieport en masse

Salut,
Un cas de multiples "PCIe Bus Error", en live usb (multisystem) là : ./viewtopic.php?id=2034402 sur Asus X456F  X456UB.

Dernière modification par moko138 (Le 13/12/2018, à 07:51)


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#249 Le 13/12/2018, à 07:50

moko138

Re : entraide pour erreurs pcieport en masse

En ./viewtopic.php?pid=22020131#p22020131

NicoApi73 a écrit :

moko, si je puis me permettre, je n'aurai pas l'information que je recherche avec ta commande. Elle liste tout ce qui est sur pci, bridge inclus, mais ne donne pas ce qu'il y a derrière, pour ceux qui ont pour driver pcieport.

Avec lspci, tu peux faire :

lspci -tvnn

qui permet de voir les liens et qui devrait être suffisante pour ce que je recherche. Même sans nn c'est suffisant, dans ce cas (comme sur ma machine d'ailleurs), l'adresse est 1c.5

Je suis très étonné, parce que chez moi, c'est presque le contraire :

avec -tvnn, j'obtiens 20 lignes tous azimuts et sans mention de pcie ni de driver !:

moko@debian:~$ lspci -tvnn | grep -Ei "pcie|driver|module" ; lspci -tvnn | wc -l
20
moko@debian:~$ 

(Je dois préciser que je n'ai aucun périphérique sur mon unique port pcie).

Alors qu'avec

sudo lspci -nnkv | grep -iB13 pcieport

ou

lspci -nnkv | grep -iB8 pcieport

j'obtiens juste 3 groupes de lignes en pcie :

moko@debian:~$ sudo lspci -nnkv | grep -iB13 pcieport

00:09.0 PCI bridge [0604]: NVIDIA Corporation MCP61 PCI Express bridge [10de:03e8] (rev a2) (prog-if 00 [Normal decode])
    Flags: bus master, fast devsel, latency 0
    Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
    I/O behind bridge: 0000a000-0000afff
    Memory behind bridge: fde00000-fdefffff
    Prefetchable memory behind bridge: 00000000fdd00000-00000000fddfffff
    Capabilities: [40] Subsystem: NVIDIA Corporation Device [10de:0000]
    Capabilities: [48] Power Management version 2
    Capabilities: [50] MSI: Enable+ Count=1/2 Maskable- 64bit+
    Capabilities: [60] HyperTransport: MSI Mapping Enable- Fixed-
    Capabilities: [80] Express Root Port (Slot+), MSI 00
    Capabilities: [100] Virtual Channel
    Kernel driver in use: pcieport

00:0b.0 PCI bridge [0604]: NVIDIA Corporation MCP61 PCI Express bridge [10de:03e9] (rev a2) (prog-if 00 [Normal decode])
    Flags: bus master, fast devsel, latency 0
    Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
    I/O behind bridge: 00009000-00009fff
    Memory behind bridge: fdc00000-fdcfffff
    Prefetchable memory behind bridge: 00000000fdb00000-00000000fdbfffff
    Capabilities: [40] Subsystem: NVIDIA Corporation Device [10de:0000]
    Capabilities: [48] Power Management version 2
    Capabilities: [50] MSI: Enable+ Count=1/2 Maskable- 64bit+
    Capabilities: [60] HyperTransport: MSI Mapping Enable- Fixed-
    Capabilities: [80] Express Root Port (Slot+), MSI 00
    Capabilities: [100] Virtual Channel
    Kernel driver in use: pcieport

00:0c.0 PCI bridge [0604]: NVIDIA Corporation MCP61 PCI Express bridge [10de:03e9] (rev a2) (prog-if 00 [Normal decode])
    Flags: bus master, fast devsel, latency 0
    Bus: primary=00, secondary=04, subordinate=04, sec-latency=0
    I/O behind bridge: 00008000-00008fff
    Memory behind bridge: fda00000-fdafffff
    Prefetchable memory behind bridge: 00000000fd900000-00000000fd9fffff
    Capabilities: [40] Subsystem: NVIDIA Corporation Device [10de:0000]
    Capabilities: [48] Power Management version 2
    Capabilities: [50] MSI: Enable+ Count=1/2 Maskable- 64bit+
    Capabilities: [60] HyperTransport: MSI Mapping Enable- Fixed-
    Capabilities: [80] Express Root Port (Slot+), MSI 00
    Capabilities: [100] Virtual Channel
    Kernel driver in use: pcieport
moko@debian:~$

Donc j'ai besoin d'avoir repéré 09.0, 0b.0 et 0c.0 grâce à -nnkv,
pour pouvoir remarquer, dans le retour de lspci -tvnn, ces 3 lignes presque vides :

           +-09.0-[02]--
           +-0b.0-[03]--
           +-0c.0-[04]--

%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#250 Le 13/12/2018, à 08:14

NicoApi73

Re : entraide pour erreurs pcieport en masse

Bonjour,

Voici les infos que je recherche avec sudo lshw (c'est une extraction de l'ensemble du retour) :

        *-pci:2
             description: PCI bridge
             produit: Sunrise Point-H PCI Express Root Port #6
             fabriquant: Intel Corporation
             identifiant matériel: 1c.5
             information bus: pci@0000:00:1c.5
             version: f1
             bits: 32 bits
             horloge: 33MHz
             fonctionnalités: pci pciexpress msi pm normal_decode bus_master cap_list
             configuration: driver=pcieport
             ressources: irq:17 mémoire:df200000-df3fffff
           *-network
                description: Interface réseau sans fil
                produit: Qualcomm Atheros
                fabriquant: Qualcomm Atheros
                identifiant matériel: 0
                information bus: pci@0000:03:00.0
                nom logique: wlp3s0
                version: 31
                numéro de série: 40:9f:38:52:bd:3f
                bits: 64 bits
                horloge: 33MHz
                fonctionnalités: pm msi pciexpress bus_master cap_list ethernet physical wireless
                configuration: broadcast=yes driver=ath10k_pci driverversion=4.15.0-39-generic firmware=WLAN.TF.1.0-00267-1 latency=0 link=no multicast=yes wireless=IEEE 802.11
                ressources: irq:125 mémoire:df200000-df3fffff

On y voit que sur le port pci d'identifiant matériel 1c.5 est connecté le module WIFI (ici un atheros ath10k). Par contre effectivement lshw revoit beaucoup d'informations qui ne sont pas nécessairement utiles dans ce cas. Souvent, j'en profite pour vérifier la génération du microprocesseur et la carte graphique.

Avec la commande que tu proposes, voici le retour :

nicolas@nicolas-M32CD4-K:~$ sudo lspci -nnkv | grep -iB13 pcieport
00:01.0 PCI bridge [0604]: Intel Corporation Sky Lake PCIe Controller (x16) [8086:1901] (rev 05) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0, IRQ 16
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
	I/O behind bridge: 0000e000-0000efff
	Memory behind bridge: de000000-df0fffff
	Prefetchable memory behind bridge: 00000000c0000000-00000000d1ffffff
	Capabilities: [88] Subsystem: ASUSTeK Computer Inc. Skylake PCIe Controller (x16) [1043:8694]
	Capabilities: [80] Power Management version 3
	Capabilities: [90] MSI: Enable- Count=1/1 Maskable- 64bit-
	Capabilities: [a0] Express Root Port (Slot+), MSI 00
	Capabilities: [100] Virtual Channel
	Capabilities: [140] Root Complex Link
	Capabilities: [d94] #19
	Kernel driver in use: pcieport
--

00:1c.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #5 [8086:a114] (rev f1) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0, IRQ 16
	Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
	I/O behind bridge: 0000d000-0000dfff
	Memory behind bridge: df400000-df4fffff
	Prefetchable memory behind bridge: 00000000d2100000-00000000d21fffff
	Capabilities: [40] Express Root Port (Slot+), MSI 00
	Capabilities: [80] MSI: Enable- Count=1/1 Maskable- 64bit-
	Capabilities: [90] Subsystem: ASUSTeK Computer Inc. Sunrise Point-H PCI Express Root Port [1043:8694]
	Capabilities: [a0] Power Management version 3
	Capabilities: [100] Advanced Error Reporting
	Capabilities: [140] Access Control Services
	Kernel driver in use: pcieport
	Kernel modules: shpchp

00:1c.5 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #6 [8086:a115] (rev f1) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0, IRQ 17
	Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
	Memory behind bridge: df200000-df3fffff
	Capabilities: [40] Express Root Port (Slot+), MSI 00
	Capabilities: [80] MSI: Enable- Count=1/1 Maskable- 64bit-
	Capabilities: [90] Subsystem: ASUSTeK Computer Inc. Sunrise Point-H PCI Express Root Port [1043:8694]
	Capabilities: [a0] Power Management version 3
	Capabilities: [100] Advanced Error Reporting
	Capabilities: [140] Access Control Services
	Kernel driver in use: pcieport
	Kernel modules: shpchp

00:1d.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #9 [8086:a118] (rev f1) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0, IRQ 16
	Bus: primary=00, secondary=04, subordinate=04, sec-latency=0
	I/O behind bridge: 00002000-00002fff
	Memory behind bridge: 90000000-901fffff
	Prefetchable memory behind bridge: 0000000090200000-00000000903fffff
	Capabilities: [40] Express Root Port (Slot+), MSI 00
	Capabilities: [80] MSI: Enable- Count=1/1 Maskable- 64bit-
	Capabilities: [90] Subsystem: ASUSTeK Computer Inc. Sunrise Point-H PCI Express Root Port [1043:8694]
	Capabilities: [a0] Power Management version 3
	Kernel driver in use: pcieport
nicolas@nicolas-M32CD4-K:~$ 

On y retrouve bien le port 1c.5, pour lequel on a l'information supplémentaire [8086:a115] (que l'on peut avoir avec l'option -numeric de sudo lshw). Par contre, sauf erreur de ma part, on ne sait pas ce qui est connecté sur le port en lui-même.

nicolas@nicolas-M32CD4-K:~$ lspci -tvnn
-[0000:00]-+-00.0  Intel Corporation Device [8086:591f]
           +-01.0-[01]--+-00.0  NVIDIA Corporation Device [10de:1d01]
           |            \-00.1  NVIDIA Corporation Device [10de:0fb8]
           +-08.0  Intel Corporation Sky Lake Gaussian Mixture Model [8086:1911]
           +-14.0  Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller [8086:a12f]
           +-14.2  Intel Corporation Sunrise Point-H Thermal subsystem [8086:a131]
           +-15.0  Intel Corporation Sunrise Point-H LPSS I2C Controller #0 [8086:a160]
           +-15.1  Intel Corporation Sunrise Point-H LPSS I2C Controller #1 [8086:a161]
           +-16.0  Intel Corporation Sunrise Point-H CSME HECI #1 [8086:a13a]
           +-17.0  Intel Corporation Sunrise Point-H SATA controller [AHCI mode] [8086:a102]
           +-1c.0-[02]----00.0  Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168]
           +-1c.5-[03]----00.0  Qualcomm Atheros Device [168c:0042]
           +-1d.0-[04]--
           +-1f.0  Intel Corporation Sunrise Point-H LPC Controller [8086:a143]
           +-1f.2  Intel Corporation Sunrise Point-H PMC [8086:a121]
           +-1f.3  Intel Corporation Sunrise Point-H HD Audio [8086:a170]
           \-1f.4  Intel Corporation Sunrise Point-H SMBus [8086:a123]
nicolas@nicolas-M32CD4-K:~$ 

Avec cette commande, je vois que sur le 1c.5 est connecté l'atheros. Il faut refaire une recherche avec sa référence pour savoir en détail ce que c'est.

nicolas@nicolas-M32CD4-K:~$ uname -a
Linux nicolas-M32CD4-K 4.15.0-39-generic #42~16.04.1-Ubuntu SMP Wed Oct 24 17:09:54 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
nicolas@nicolas-M32CD4-K:~$ 

Je suis sous xubuntu 16.04

Dernière modification par NicoApi73 (Le 13/12/2018, à 08:18)

Hors ligne