Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment recharger un module noyau planté ?

12 réponses
Avatar
Daniel Caillibaud
Bonjour,

J'ai toujours mes pbs de plantage kernel Í  cause du module wifi (ath10k_pci), même si ça c'est
arrangé (ça plante 1 Í  2 fois par semaine, mais seulement le réseau, avant tout était figé,
donc je peux sauvegarder ce que je fais, c'est juste pénible avec des consoles ouvertes ou un
truc en cours dans un navigateur).

Est-ce que dans un tel cas on peut recharger le module noyau sans reboot hard ?
(le reboot soft fonctionne pas, le PC veut pas s'arrêter)

J'ai essayé
rmmod ath10k_pci
(en pensant passer ensuite Í  insmod ou modprob)

mais ça ne fait rien, ça ne rend pas la main et ne dit rien (pas pensé Í  ajouter -v, je le
ferai la prochaine fois)

J'étais sur un noyau 5.12.9 compilé maison (avec intel-microcode 3.20210608.2 de bullseye), je
vais essayer linux-image-5.16.0-0.bpo.3-amd64-unsigned et intel-microcode=3.20220207.1~bpo11+1
pour voir si ça s'arrange, mais la réponse m'intéresse quand même.



Le détail :

1) modinfo ath10k_pci

filename: /lib/modules/5.12.9/kernel/drivers/net/wireless/ath/ath10k/ath10k_pci.ko

description: Driver support for Qualcomm Atheros 802.11ac WLAN PCIe/AHB devices
author: Qualcomm Atheros

depends: ath10k_core
retpoline: Y
intree: Y
name: ath10k_pci
vermagic: 5.12.9 SMP mod_unload modversions
parm: irq_mode:0: auto, 1: legacy, 2: msi (default: 0) (uint)
parm: reset_mode:0: auto, 1: warm only (default: 0) (uint)


2) Les messages de kern.log au plantage du module :

Mar 10 09:36:13 dell kernel: [144708.337905] IPv6: ADDRCONF(NETDEV_CHANGE): wlp2s0: link becomes ready
Mar 10 09:36:13 dell kernel: [144708.337965] wlp2s0: Limiting TX power to 23 (26 - 3) dBm as advertised by 68:a3:78:b8:7e:94
Mar 10 10:14:13 dell kernel: [146989.982839] ath10k_pci 0000:02:00.0: failed to wake target for write32 of 0x00000579 at 0x0003543c: -110
[plein de failed to wake target]
Mar 10 10:17:23 dell kernel: [147179.685280] ath10k_pci 0000:02:00.0: failed to wake target for read32 at 0x0003a028: -110
Mar 10 10:17:26 dell kernel: [147182.767232] ath10k_pci 0000:02:00.0: failed to read device register, device is gone
Mar 10 10:17:26 dell kernel: [147182.768293] ieee80211 phy0: Hardware restart was requested
Mar 10 10:17:26 dell kernel: [147182.768303] ------------[ cut here ]------------
Mar 10 10:17:26 dell kernel: [147182.768304] ieee80211_restart_work called with hardware scan in progress
Mar 10 10:17:26 dell kernel: [147182.768350] WARNING: CPU: 1 PID: 186880 at net/mac80211/main.c:261 ieee80211_restart_work+0xf3/0x100 [mac80211]
Mar 10 10:17:26 dell kernel: [147182.768375] Modules linked in: loop(E) rfcomm(E) ctr(E) ccm(E) cmac(E) algif_hash(E) algif_skcipher(E) af_alg(E) bnep(E) binfmt_misc(E) intel_rapl_msr(E) dell_smm_hwmon(E) snd_hda_codec_hdmi(E) x86_pkg_temp_thermal(E) intel_powerclamp(E) coretemp(E) snd_sof_pci_intel_icl(E) snd_sof_intel_hda_common(E) soundwire_intel(E) kvm_intel(E) soundwire_generic_allocation(E) soundwire_cadence(E) snd_sof_intel_hda(E) snd_sof_pci(E) snd_sof(E) kvm(E) snd_sof_xtensa_dsp(E) snd_soc_hdac_hda(E) snd_hda_ext_core(E) snd_soc_acpi_intel_match(E) snd_soc_acpi(E) irqbypass(E) rapl(E) snd_soc_core(E) intel_cstate(E) snd_hda_codec_realtek(E) snd_compress(E) nls_ascii(E) soundwire_bus(E) snd_hda_codec_generic(E) intel_uncore(E) ledtrig_audio(E) nls_cp437(E) btusb(E) btrtl(E) snd_hda_intel(E) ath10k_pci(E) btbcm(E) btintel(E) snd_intel_dspcfg(E) snd_intel_sdw_acpi(E) ath10k_core(E) vfat(E) pcspkr(E) fat(E) ath(E) bluetooth(E) serio_raw(E) snd_hda_codec(E) efi_pstore(E) wmi_bmof(E) intel_wmi_thunderbolt(E)
Mar 10 10:17:26 dell kernel: [147182.768403] snd_hda_core(E) snd_hwdep(E) mac80211(E) snd_pcm(E) iTCO_wdt(E) uvcvideo(E) intel_pmc_bxt(E) snd_timer(E) iTCO_vendor_support(E) watchdog(E) snd(E) ee1004(E) videobuf2_vmalloc(E) jitterentropy_rng(E) soundcore(E) videobuf2_memops(E) videobuf2_v4l2(E) cfg80211(E) drbg(E) videobuf2_common(E) ansi_cprng(E) processor_thermal_device(E) videodev(E) processor_thermal_rfim(E) libarc4(E) processor_thermal_mbox(E) mc(E) joydev(E) mei_me(E) ecdh_generic(E) processor_thermal_rapl(E) rfkill(E) intel_rapl_common(E) ecc(E) sg(E) mei(E) intel_soc_dts_iosf(E) int3403_thermal(E) int340x_thermal_zone(E) tpm_crb(E) tpm_tis(E) tpm_tis_core(E) tpm(E) evdev(E) int3400_thermal(E) rng_core(E) acpi_thermal_rel(E) acpi_tad(E) intel_pmc_core(E) ac(E) intel_hid(E) sparse_keymap(E) acpi_pad(E) msr(E) parport_pc(E) ppdev(E) lp(E) parport(E) fuse(E) configfs(E) sunrpc(E) efivarfs(E) ip_tables(E) x_tables(E) autofs4(E) ext4(E) crc32c_generic(E) crc16(E) mbcache(E) jbd2(E) dm_crypt(E) dm_mod(E) sr_mod(E)
Mar 10 10:17:26 dell kernel: [147182.768439] sd_mod(E) cdrom(E) hid_generic(E) usbhid(E) hid(E) crc32_pclmul(E) crc32c_intel(E) ghash_clmulni_intel(E) aesni_intel(E) libaes(E) crypto_simd(E) cryptd(E) i915(E) nvme(E) psmouse(E) nvme_core(E) t10_pi(E) ahci(E) crc_t10dif(E) i2c_algo_bit(E) crct10dif_generic(E) libahci(E) r8169(E) drm_kms_helper(E) realtek(E) mdio_devres(E) cec(E) xhci_pci(E) crct10dif_pclmul(E) i2c_i801(E) libata(E) xhci_hcd(E) i2c_smbus(E) crct10dif_common(E) libphy(E) drm(E) scsi_mod(E) intel_lpss_pci(E) usbcore(E) intel_lpss(E) idma64(E) fan(E) wmi(E) battery(E) video(E) button(E)
Mar 10 10:17:26 dell kernel: [147182.768460] CPU: 1 PID: 186880 Comm: kworker/1:1 Tainted: G U E 5.12.9 #2
Mar 10 10:17:26 dell kernel: [147182.768462] Hardware name: Dell Inc. Inspiron 3793/0C1PF2, BIOS 1.5.0 12/17/2019
Mar 10 10:17:26 dell kernel: [147182.768463] Workqueue: events_freezable ieee80211_restart_work [mac80211]
Mar 10 10:17:26 dell kernel: [147182.768479] RIP: 0010:ieee80211_restart_work+0xf3/0x100 [mac80211]

et ça continue comme ça en boucle (il essaie de redémarrer je suppose)

Pas de message particulier au moment de la tentative de halt qui n'aboutit pas sinon ceux-lÍ .

--
Daniel

Les arbres sont responsables de plus de pollution aérienne que les usines.
Ronald Reagan

2 réponses

1 2
Avatar
Daniel Caillibaud
Le 14/03/22 Í  18:21, Hugues Larrive a écrit :
Bonjour,
Au vu du kern.log, j'ai l'impression que c'est la carte wifi qui plante et non le module :
Mar 10 10:14:13 dell kernel: [146989.982839] ath10k_pci 0000:02:00.0: failed to wake target
for write32 of 0x00000579 at 0x0003543c: -110 [plein de failed to wake target]
Mar 10 10:17:23 dell kernel: [147179.685280] ath10k_pci 0000:02:00.0: failed to wake target
for read32 at 0x0003a028: -110 Mar 10 10:17:26 dell kernel: [147182.767232] ath10k_pci
0000:02:00.0: failed to read device register, device is gone Mar 10 10:17:26 dell kernel:
[147182.768293] ieee80211 phy0: Hardware restart was requested
Je tenterais une réinitialisation au niveau du bus PCI (remove et rescan) :
echo 1 > /sys/bus/pci/devices/0000:02:00.0/remove
echo 1 > /sys/bus/pci/rescan

Merci pour cette piste très intéressante !
Je teste ça au prochain plantage et je vous donnerai le résultat.
--
Daniel
Un beau livre, c'est celui qui sème Í  foison les points d'interrogation.
Jean Cocteau
Avatar
Daniel Caillibaud
Le 31/03/22 Í  15:55, Daniel Caillibaud a écrit :
Bonjour,
Ça faisait longtemps que mon module wifi n'avait pas planté, donc pas eu l'occasion d'essayer
les remèdes.
Le 14/03/22 Í  18:21, Hugues Larrive a écrit :
Je tenterais une réinitialisation au niveau du bus PCI (remove et rescan) :
echo 1 > /sys/bus/pci/devices/0000:02:00.0/remove

Cette commande a été assez longue a rendre la main, elle a sorti qqchose dans kern.log, mais
je n'ai pas cette trace car
echo 1 > /sys/bus/pci/rescan

a complètement planté le système, et après le reboot hard qui a suivi y'avait plus les traces
précédentes.

J'ai eu d'autres plantages, et cette commande a bien fonctionné, ça m'a évité un reboot
(j'avais fermé au préalable tout ce qui pouvait consommer du réseau, je sais pas si y'a un
rapport).
Donc merci Hugues, tu avais raison, c'est bien la carte (ou son firmware) qui se vautre et pas
le module noyau.
--
Daniel
Vaut-il mieux parler bêtement de choses intelligentes
ou parler intelligemment de choses bêtes.
Philippe Geluck, Le chat
1 2