Forum Linux.embarqué Problème pour charger le firmware Realtek rtw88

Posté par  (site web personnel, Mastodon) . Licence CC By‑SA.
Étiquettes :
2
13
jan.
2024

Bonjour,

Je n'arrive pas à charger correctement le firmware Realtek rtw88 pour la carte M.2 AzureWave RTL8822CE sur mon Nanopi R5C.

Voici la sortie de lspci -k :

root@nanopi:~# lspci -k
0000:00:00.0 PCI bridge: Rockchip Electronics Co., Ltd RK3568 Remote Signal Processor (rev 01)
Kernel driver in use: pcieport
0000:01:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8822CE 802.11ac PCIe Wireless Network Adapter
Subsystem: AzureWave RTL8822CE 802.11ac PCIe Wireless Network Adapter
Kernel modules: rtw88_8822ce
0001:00:00.0 PCI bridge: Rockchip Electronics Co., Ltd RK3568 Remote Signal Processor (rev 01)
Kernel driver in use: pcieport
0001:01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
Subsystem: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller
Kernel driver in use: r8169
Kernel modules: r8169, r8125
0002:00:00.0 PCI bridge: Rockchip Electronics Co., Ltd RK3568 Remote Signal Processor (rev 01)
Kernel driver in use: pcieport
0002:01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
Subsystem: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller
Kernel driver in use: r8169
Kernel modules: r8169, r8125

On voit que pour le bus PCI 0000:01:00.0, le module rtw88_88ce a bien été identifié, mais n'est pas utilisé (il manque la ligne "Kernel driver in use" comme les deux ports ethernet).

La sortie de journalctl donne :

kernel: pcieport 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
kernel: pci 0000:01:00.0: [10ec:c822] type 00 class 0x028000
kernel: pci 0000:01:00.0: reg 0x10: [io 0x1000-0x10ff]
kernel: pci 0000:01:00.0: reg 0x18: [mem 0xf4300000-0xf430ffff 64bit]
kernel: pci 0000:01:00.0: supports D1 D2
kernel: pci 0000:01:00.0: PME# supported from D0 D1 D2 D3hot D3cold
kernel: pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
kernel: pcieport 0000:00:00.0: BAR 14: assigned [mem 0xf4300000-0xf43fffff]
kernel: pcieport 0000:00:00.0: BAR 13: assigned [io 0x1000-0x1fff]
kernel: pci 0000:01:00.0: BAR 0: assigned [io 0x1000-0x10ff]
kernel: rtw_8822ce 0000:01:00.0: enabling device (0000 -> 0003)
kernel: rtw_8822ce 0000:01:00.0: firmware: direct-loading firmware rtw88/rtw8822c_wow_fw.bin
kernel: rtw_8822ce 0000:01:00.0: WOW Firmware version 9.9.4, H2C version 15
kernel: rtw_8822ce 0000:01:00.0: firmware: direct-loading firmware rtw88/rtw8822c_fw.bin
kernel: rtw_8822ce 0000:01:00.0: Firmware version 9.9.15, H2C version 15
kernel: rtw_8822ce 0000:01:00.0: error beacon valid
kernel: rtw_8822ce 0000:01:00.0: failed to download rsvd page
kernel: rtw_8822ce 0000:01:00.0: failed to download firmware
kernel: rtw_8822ce 0000:01:00.0: failed to setup chip efuse info
kernel: rtw_8822ce 0000:01:00.0: failed to setup chip information
kernel: rtw_8822ce: probe of 0000:01:00.0 failed with error -16

J’ai une erreur : « error beacon valid », mais impossible de trouver de l’information là dessus.

Pouvez-vous m'aider à comprendre pourquoi ce firmware ne se charge pas correctement ?

Je ne sais pas comment avoir plus d'informations lors de la génération des logs. Peut-être est-il possible d'avoir un mode "debug" ?

  • # plutôt le firmware

    Posté par  (site web personnel) . Évalué à 4.

    kernel: rtw_8822ce 0000:01:00.0: failed to download firmware

    c'est plutôt cette ligne qui est problématique

    les commandes de déchargement / chargement du module1, avec une fenêtre terminal en parallèle avec un journalctl -f te permettront de voir les résultats en direct.

    te reste à trouver à quel endroit placer le firmware^W micrologiciel pour qu'il soit chargé.

    ce qui est bizarre c'est que juste au-dessus, tu as les 3 lignes

    kernel: rtw_8822ce 0000:01:00.0: firmware: direct-loading firmware rtw88/rtw8822c_wow_fw.bin
    kernel: rtw_8822ce 0000:01:00.0: WOW Firmware version 9.9.4, H2C version 15
    kernel: rtw_8822ce 0000:01:00.0: firmware: direct-loading firmware rtw88/rtw8822c_fw.bin

    peut-être y-a-t'il une version plus récente du module/micro-logiciel ? tu l'as installé comment ? un modinfo rtw_8822ce te donnera peut-être plus d'infos ? (et il manque un uname -a pour avérer la version du noyau que tu utilises.


    1. c'est modprobe -r rtw_8822ce pour l'enlever avec lsmod |grep -iE "rtw|mac|80211" pour le vérifier et modprobe -i rtw_8822ce pour le remettre 

    • [^] # Re: plutôt le firmware

      Posté par  (site web personnel, Mastodon) . Évalué à 1.

      Merci @Baud pour ton retour.

      Voici la sortie de la commande uname -a :

      root@nanopi:~# uname -a
      Linux nanopi 6.1.0-17-arm64 #1 SMP Debian 6.1.69-1 (2023-12-30) aarch64 GNU/Linux

      Voici la sortie de la commande journalctl -f suite à l'activation de la commande modprobe -r rtw88_8822ce :

      systemd[1]: Starting systemd-rfkill.service - Load/Save RF Kill Switch Status…
      systemd[1]: Started systemd-rfkill.service - Load/Save RF Kill Switch Status.
      systemd[1]: systemd-rfkill.service: Deactivated successfully.

      La commande modprobe -r rtw88_8822ce n'a pas retournée de message d'erreur.

      Voici la sortie de la commande lsmod |grep -iE "rtw|mac|80211" :

      root@nanopi:~# lsmod |grep -iE "rtw|mac|80211"
      rtw88_core 151552 0
      mac80211 851968 1 rtw88_core
      libarc4 16384 1 mac80211
      cfg80211 782336 2 rtw88_core,mac80211
      rfkill 36864 3 bluetooth,cfg80211

      Je recharge ensuite le module avec la commande modprobe -i rtw88_8822ce qui ne renvoie pas de message d'erreur et voici la sortie de la commande journalctl -f :

      kernel: rtw_8822ce 0000:01:00.0: firmware: direct-loading firmware rtw88/rtw8822c_fw.bin
      kernel: rtw_8822ce 0000:01:00.0: Firmware version 9.9.15, H2C version 15
      kernel: rtw_8822ce 0000:01:00.0: firmware: direct-loading firmware rtw88/rtw8822c_wow_fw.bin
      kernel: rtw_8822ce 0000:01:00.0: Firmware version 9.9.4, H2C version 15
      kernel: rtw_8822ce 0000:01:00.0 wlp1s0: renamed from wlan0
      systemd[1]: Starting systemd-rfkill.service - Load/Save RF Kill Switch Status…
      systemd-networkd[270]: wlan0: Interface name change detected, renamed to wlp1s0.
      systemd[1]: Started systemd-rfkill.service - Load/Save RF Kill Switch Status.
      systemd[1]: systemd-rfkill.service: Deactivated successfully.

      Merde ! Ça a fonctionné !!!
      Mais pourquoi, ça n'a pas marché du premier coup ???

      Voici la commande lspci -k -s 0000:01:00.0 qui montre que le firmware a bien été chargé et est utilisé par le kernel :

      root@nanopi:~# lspci -k -s 0000:01:00.0
      0000:01:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8822CE 802.11ac PCIe Wireless Network Adapter
      Subsystem: AzureWave RTL8822CE 802.11ac PCIe Wireless Network Adapter
      Kernel driver in use: rtw_8822ce
      Kernel modules: rtw88_8822ce

      Et pour aller jusqu'au bout, voici la sortie de la commande modinfo rtw88_8822ce :

      root@nanopi:~# modinfo rtw88_8822ce
      filename: /lib/modules/6.1.0-17-arm64/kernel/drivers/net/wireless/realtek/rtw88/rtw88_8822ce.ko
      license: Dual BSD/GPL
      description: Realtek 802.11ac wireless 8822ce driver
      author: Realtek Corporation
      alias: pci:v000010ECd0000C82Fsv*sd*bc*sc*i*
      alias: pci:v000010ECd0000C822sv*sd*bc*sc*i*
      depends: rtw88_pci,rtw88_8822c
      intree: Y
      name: rtw88_8822ce
      vermagic: 6.1.0-17-arm64 SMP mod_unload modversions aarch64
      sig_id: PKCS#7
      signer: Debian Secure Boot CA
      sig_key: 32:A0:28:7F:84:1A:03:6F:A3:93:C1:E0:65:C4:3A:E6:B2:42:26:43
      sig_hashalgo: sha256
      signature: 08:CC:AD:CD:1B:CB:B3:4A:A4:9B:82:F0:BB:EC:7A:A7:2C:39:63:A6:
      42:C5:23:FA:ED:11:E2:E7:E3:B2:A5:8E:0C:68:C2:84:15:D5:6D:78:
      AF:7E:0B:C7:8F:71:6A:C9:88:DC:C1:86:39:8C:87:D3:F7:24:09:77:
      1E:11:CB:A2:55:57:80:E6:37:F4:9F:3E:53:41:DD:C1:2C:F2:80:E2:
      9F:6B:2E:0C:6F:88:0B:90:58:74:AA:8F:EA:27:A9:E8:5B:D9:78:07:
      78:C5:64:55:F5:83:D0:67:BB:25:98:54:F2:7B:59:80:A1:3C:2D:F7:
      D2:C5:54:2D:C4:E4:B4:2A:5C:5D:1C:CA:F0:3C:B7:73:C1:82:1C:AC:
      2A:0B:B8:EE:FB:DB:22:F7:D3:C6:A0:3F:86:90:75:E5:1F:84:D8:81:
      D4:12:3E:B6:3F:62:4E:C4:15:0D:9D:F9:05:66:C8:63:75:B2:BE:2C:
      40:A3:72:89:00:1C:D8:01:59:49:5B:7F:B2:AD:A2:2B:1C:0F:59:5F:
      BB:6C:31:73:07:F2:30:59:70:81:CD:49:13:AF:58:E1:B4:5C:FB:CE:
      F3:22:F7:C5:03:35:CA:61:DB:40:5A:D0:AB:B2:AC:F6:BC:CC:2D:A6:
      C2:5D:38:13:14:FC:CB:40:C6:84:59:2B:A6:62:C0:BE

      La question maintenant est de savoir pourquoi ça ne fonctionne pas du premier coup ???
      Cela peut-il être dû à une mauvaise configuration de l'initramfs ?

      • [^] # Re: plutôt le firmware

        Posté par  (site web personnel, Mastodon) . Évalué à 1.

        ARG ! Au secours !

        J'ai redémarré le Nanopi R5C et recommencé la procédure, mais ça ne fonctionne plus !

        Lorsque je supprime le module par la commande modprobe -r rtw88_8822ce, je n'ai plus les logs indiquant la désactivation de RFKILL.

        C'est peut-être là le problème… RFKILL ne se charge peut-être pas correctement et empêche l'activation du driver rtw_8822ce ???

        Lorsque je recharge le module par la commande modprobe -i rtw88_8822ce, j'ai de nouveau les messages d'erreurs de chargement du module :

        kernel: rtw_8822ce 0000:01:00.0: firmware: direct-loading firmware rtw88/rtw8822c_fw.bin
        kernel: rtw_8822ce 0000:01:00.0: Firmware version 9.9.15, H2C version 15
        kernel: rtw_8822ce 0000:01:00.0: error beacon valid
        kernel: rtw_8822ce 0000:01:00.0: failed to download rsvd page
        kernel: rtw_8822ce 0000:01:00.0: failed to download firmware
        kernel: rtw_8822ce 0000:01:00.0: failed to setup chip efuse info
        kernel: rtw_8822ce 0000:01:00.0: failed to setup chip information
        kernel: rtw_8822ce 0000:01:00.0: firmware: direct-loading firmware rtw88/rtw8822c_wow_fw.bin
        kernel: rtw_8822ce 0000:01:00.0: Firmware version 9.9.4, H2C version 15
        kernel: rtw_8822ce: probe of 0000:01:00.0 failed with error -16

        et depuis impossible de recharger correctement le firmware…

        • [^] # Re: plutôt le firmware

          Posté par  (site web personnel) . Évalué à 2.

          tu as un module rtw88_core qui n'aurait pas dû rester après avoir enlevé le module wifi.

          le module rfkill est là pour activer / désactiver le wifi selon l'état d'un éventuel bouton pour gérer physiquement le wifi… la commande rfkill list t'affiche sa stratégie

          Mais pourquoi, ça n'a pas marché du premier coup ???

          le chargement des modules ne se fait peut-être pas dans l'ordre ou le rfkill désactive inopinément le wifi :/

          tu peux essayer modprobe -r rtw_8822ce rtw88_core mac80211 cfg80211 pour repartir d'une conf' sans prise en compte du wifi, puis modprobe -i rtw_8822ce avec le lsmod idoine lancé avant et après chaque action pour voir ce qui est chargé et dans quel ordre (ça devrait aussi apparaître dans le journalctl -f au fur et à mesure).

          note : tu avais écrit dans ton post rtw88_8822ce et non rtw_8822ce, pb de copier/coller ? c'est quoi la différence entre les deux ?

          cf. les lignes du lspci :

          Kernel driver in use: rtw_8822ce
          Kernel modules: rtw88_8822ce

          Si ça a fonctionné au moins une fois, c'est que le firmware est bon a priori (et ton installation), mais pas forcément chargé au moment opportun et je ne vois pas trop pourquoi il charge 2 versions différentes (entre le 9.9.4 et le 9.9.15, tu noteras que ça fonctionne mieux quand il charge en premier le 15 puis le 4 o_O). Il faudra peut-être blacklister un module ou l'autre.

          Ça devient de plus en plus compliqué à diagnostiquer les pb de modules noyaux entre systemd et les différentes dépendances entre modules :/

          • [^] # Re: plutôt le firmware

            Posté par  (site web personnel) . Évalué à 2. Dernière modification le 14 janvier 2024 à 19:07.

            et la commande lspci -knn sera plus précise concernant ton matériel : cela indique vid:pid (vendor_id et product_id) qui servent pour identifier le module à blacklister…

            note : c'est un modinfo rtw_8822ce que j'avais demandé, ce n'est pas forcément le même que rtw88_8822ce :-)
            donc, bon, ça ressemble à 2 modules qui se battent pour prendre le contrôle du matériel, forcément ça se marche dessus :p

            • [^] # Re: plutôt le firmware

              Posté par  (site web personnel, Mastodon) . Évalué à 1.

              Je vais essayer de prendre dans l'ordre…

              La sortie de la commande lspci -k -nn :

              root@nanopi:~# lspci -k -nn
              0000:00:00.0 PCI bridge [0604]: Rockchip Electronics Co., Ltd RK3568 Remote Signal Processor 1d87:3566
              Kernel driver in use: pcieport
              0000:01:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. RTL8822CE 802.11ac PCIe Wireless Network Adapter [10ec:c822]
              Subsystem: AzureWave RTL8822CE 802.11ac PCIe Wireless Network Adapter [1a3b:3751]
              Kernel modules: rtw88_8822ce
              0001:00:00.0 PCI bridge [0604]: Rockchip Electronics Co., Ltd RK3568 Remote Signal Processor 1d87:3566
              Kernel driver in use: pcieport
              0001:01:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller 10ec:8125
              Subsystem: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller [10ec:8125]
              Kernel driver in use: r8169
              Kernel modules: r8169
              0002:00:00.0 PCI bridge [0604]: Rockchip Electronics Co., Ltd RK3568 Remote Signal Processor 1d87:3566
              Kernel driver in use: pcieport
              0002:01:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller 10ec:8125
              Subsystem: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller [10ec:8125]
              Kernel driver in use: r8169
              Kernel modules: r8169

              La sortie de la commande rfkill list :

              root@nanopi:~# rfkill list
              0: hci0: Bluetooth
              Soft blocked: no
              Hard blocked: no

              La sortie de la commande modinfo rtw_8822ce renvoie un message d'erreur :

              root@nanopi:~# modinfo rtw_8822ce
              modinfo: ERROR: Module rtw_8822ce not found.

              Je te donne le résultat d'une recherche générale sur le motif "rtw" :

              root@nanopi:~# find / -iname "rtw"
              /sys/kernel/btf/rtw88_pci
              /sys/kernel/btf/rtw88_8822c
              /sys/kernel/btf/rtw88_core
              /sys/kernel/btf/rtw88_8822ce
              /sys/bus/pci/drivers/rtw_8822ce
              /sys/module/rtw88_pci
              /sys/module/rtw88_pci/holders/rtw88_8822ce
              /sys/module/rtw88_8822c
              /sys/module/rtw88_8822c/holders/rtw88_8822ce
              /sys/module/rtw88_core
              /sys/module/rtw88_core/holders/rtw88_pci
              /sys/module/rtw88_core/holders/rtw88_8822c
              /sys/module/rtw88_8822ce
              /sys/module/rtw88_8822ce/drivers/pci:rtw_8822ce
              /sys/module/mac80211/holders/rtw88_pci
              /sys/module/mac80211/holders/rtw88_core
              /sys/module/cfg80211/holders/rtw88_core
              /usr/lib/modules/6.1.0-17-arm64/kernel/drivers/net/wireless/realtek/rtw88
              /usr/lib/modules/6.1.0-17-arm64/kernel/drivers/net/wireless/realtek/rtw88/rtw88_pci.ko
              /usr/lib/modules/6.1.0-17-arm64/kernel/drivers/net/wireless/realtek/rtw88/rtw88_8723de.ko
              /usr/lib/modules/6.1.0-17-arm64/kernel/drivers/net/wireless/realtek/rtw88/rtw88_8822b.ko
              /usr/lib/modules/6.1.0-17-arm64/kernel/drivers/net/wireless/realtek/rtw88/rtw88_8723d.ko
              /usr/lib/modules/6.1.0-17-arm64/kernel/drivers/net/wireless/realtek/rtw88/rtw88_8822be.ko
              /usr/lib/modules/6.1.0-17-arm64/kernel/drivers/net/wireless/realtek/rtw88/rtw88_core.ko
              /usr/lib/modules/6.1.0-17-arm64/kernel/drivers/net/wireless/realtek/rtw88/rtw88_8821c.ko
              /usr/lib/modules/6.1.0-17-arm64/kernel/drivers/net/wireless/realtek/rtw88/rtw88_8821ce.ko
              /usr/lib/modules/6.1.0-17-arm64/kernel/drivers/net/wireless/realtek/rtw88/rtw88_8822ce.ko
              /usr/lib/modules/6.1.0-17-arm64/kernel/drivers/net/wireless/realtek/rtw88/rtw88_8822c.ko
              /usr/lib/modules/6.1.0-17-arm64/kernel/drivers/net/wireless/realtek/rtw89
              /usr/lib/modules/6.1.0-17-arm64/kernel/drivers/net/wireless/realtek/rtw89/rtw89_core.ko
              /usr/lib/modules/6.1.0-17-arm64/kernel/drivers/net/wireless/realtek/rtw89/rtw89_8852a.ko
              /usr/lib/modules/6.1.0-17-arm64/kernel/drivers/net/wireless/realtek/rtw89/rtw89_8852ae.ko
              /usr/lib/modules/6.1.0-17-arm64/kernel/drivers/net/wireless/realtek/rtw89/rtw89_pci.ko
              /usr/lib/firmware/rtw88
              /usr/lib/firmware/rtw88/rtw8822c_wow_fw.bin
              /usr/lib/firmware/rtw88/rtw8723d_fw.bin
              /usr/lib/firmware/rtw88/rtw8822c_fw.bin
              /usr/lib/firmware/rtw88/rtw8821c_fw.bin
              /usr/lib/firmware/rtw88/rtw8822b_fw.bin

              rtw_8822ce est le nom d'un driver qui pour moi provient de /usr/lib/firmware/rtw88/rtw8822c_fw.bin

          • [^] # Re: plutôt le firmware

            Posté par  (site web personnel, Mastodon) . Évalué à 1. Dernière modification le 14 janvier 2024 à 22:08.

            Voici la sortie de la commande lsmod avant la désinstallation des modules :

            root@nanopi:~# lsmod | sort
            aes_ce_blk 32768 0
            aes_ce_cipher 16384 1 aes_ce_blk
            aes_neon_blk 28672 1 aes_neon_bs
            aes_neon_bs 24576 0
            analogix_dp 49152 1 rockchipdrm
            ansi_cprng 16384 0
            autofs4 45056 2
            binfmt_misc 24576 1
            bluetooth 753664 6 btrtl,btmtk,btintel,btbcm,btusb
            btbcm 24576 1 btusb
            btintel 40960 1 btusb
            btmtk 16384 1 btusb
            btrtl 28672 1 btusb
            btusb 65536 0
            cec 45056 2 dw_hdmi_cec,dw_hdmi
            cfg80211 782336 2 rtw88_core,mac80211
            configfs 49152 1
            cpufreq_dt 20480 0
            crc16 16384 2 bluetooth,ext4
            crc32c_generic 16384 4
            crct10dif_ce 16384 0
            crct10dif_common 16384 1 crct10dif_ce
            dax 32768 1 dm_mod
            display_connector 20480 0
            dm_mod 139264 0
            drbg 40960 1
            drm 442368 12 gpu_sched,drm_kms_helper,dw_mipi_dsi,drm_dma_helper,display_connector,drm_shmem_helper,drm_display_helper,rockchipdrm,dw_hdmi,panfrost,analogix_dp
            drm_display_helper 118784 3 rockchipdrm,dw_hdmi,analogix_dp
            drm_dma_helper 16384 1 rockchipdrm
            drm_kms_helper 139264 8 dw_mipi_dsi,drm_dma_helper,display_connector,drm_display_helper,rockchipdrm,dw_hdmi,analogix_dp
            drm_shmem_helper 20480 1 panfrost
            dwc3 163840 0
            dw_hdmi 49152 2 dw_hdmi_i2s_audio,rockchipdrm
            dw_hdmi_cec 16384 0
            dw_hdmi_i2s_audio 16384 0
            dw_mipi_dsi 20480 1 rockchipdrm
            dw_mmc 45056 2 dw_mmc_pltfm,dw_mmc_rockchip
            dw_mmc_pltfm 16384 1 dw_mmc_rockchip
            dw_mmc_rockchip 20480 0
            dw_wdt 16384 0
            ecc 32768 1 ecdh_generic
            ecdh_generic 16384 1 bluetooth
            efi_pstore 16384 0
            ehci_hcd 90112 1 ehci_platform
            ehci_platform 20480 0
            evdev 28672 3
            ext4 765952 2
            fan53555 16384 1
            fixed 20480 29
            fixed_phy 16384 1 of_mdio
            fuse 135168 1
            fwnode_mdio 20480 1 of_mdio
            gf128mul 16384 2 polyval_generic,ghash_ce
            ghash_ce 20480 0
            governor_simpleondemand 16384 0
            gpio_keys 24576 0
            gpu_sched 36864 1 panfrost
            hantro_vpu 139264 0
            i2c_rk3x 24576 0
            industrialio 77824 3 industrialio_triggered_buffer,kfifo_buf,rockchip_saradc
            industrialio_triggered_buffer 16384 1 rockchip_saradc
            io_domain 24576 0
            ip_tables 32768 0
            jbd2 139264 1 ext4
            jitterentropy_rng 20480 1
            kfifo_buf 16384 1 industrialio_triggered_buffer
            leds_gpio 16384 0
            libarc4 16384 1 mac80211
            libphy 98304 6 r8169,mdio_devres,fwnode_mdio,of_mdio,realtek,fixed_phy
            loop 36864 0
            mac80211 851968 2 rtw88_pci,rtw88_core
            mbcache 20480 1 ext4
            mc 57344 5 videodev,videobuf2_v4l2,hantro_vpu,videobuf2_common,v4l2_mem2mem
            mdio_devres 16384 1 r8169
            Module Size Used by
            of_mdio 20480 1 mdio_devres
            ohci_hcd 53248 1 ohci_platform
            ohci_platform 16384 0
            panfrost 69632 0
            phy_rockchip_inno_usb2 45056 8
            phy_rockchip_naneng_combphy 20480 5
            phy_rockchip_snps_pcie3 20480 2
            pl330 36864 1
            polyval_ce 16384 0
            polyval_generic 16384 1 polyval_ce
            r8169 90112 0
            rc_core 53248 2 cec
            realtek 32768 2
            rfkill 36864 3 bluetooth,cfg80211
            rk805_pwrkey 16384 0
            rk808_regulator 40960 14
            rk817_charger 24576 0
            rockchipdrm 147456 0
            rockchip_saradc 24576 0
            rockchip_thermal 28672 0
            roles 16384 1 dwc3
            rtc_hym8563 20480 1
            rtw88_8822c 462848 1 rtw88_8822ce
            rtw88_8822ce 16384 0
            rtw88_core 151552 2 rtw88_pci,rtw88_8822c
            rtw88_pci 32768 1 rtw88_8822ce
            sdhci 69632 2 sdhci_pltfm,sdhci_of_dwcmshc
            sdhci_of_dwcmshc 20480 0
            sdhci_pltfm 16384 1 sdhci_of_dwcmshc
            sha1_ce 16384 0
            sha256_arm64 24576 1 sha2_ce
            sha2_ce 16384 0
            sha512_arm64 20480 1
            sha512_generic 16384 0
            snd 98304 4 snd_soc_hdmi_codec,snd_timer,snd_soc_core,snd_pcm
            snd_pcm 118784 4 snd_soc_hdmi_codec,snd_soc_simple_card_utils,snd_soc_core,snd_pcm_dmaengine
            snd_pcm_dmaengine 16384 1 snd_soc_core
            snd_soc_core 212992 5 snd_soc_rockchip_i2s_tdm,snd_soc_hdmi_codec,snd_soc_rk817,snd_soc_simple_card_utils,snd_soc_simple_card
            snd_soc_hdmi_codec 24576 1
            snd_soc_rk817 45056 0
            snd_soc_rockchip_i2s_tdm 32768 2
            snd_soc_simple_card 24576 0
            snd_soc_simple_card_utils 24576 1 snd_soc_simple_card
            snd_timer 40960 1 snd_pcm
            soundcore 16384 1 snd
            udc_core 57344 1 dwc3
            ulpi 20480 1 dwc3
            usb_common 16384 10 ohci_platform,xhci_hcd,ohci_hcd,ehci_platform,phy_rockchip_inno_usb2,usbcore,ehci_hcd,xhci_plat_hcd,dwc3,udc_core
            usbcore 266240 7 ohci_platform,xhci_hcd,ohci_hcd,ehci_platform,ehci_hcd,btusb,xhci_plat_hcd
            v4l2_h264 20480 1 hantro_vpu
            v4l2_mem2mem 36864 1 hantro_vpu
            v4l2_vp9 24576 1 hantro_vpu
            videobuf2_common 53248 5 videobuf2_dma_contig,videobuf2_v4l2,hantro_vpu,v4l2_mem2mem,videobuf2_memops
            videobuf2_dma_contig 24576 1 hantro_vpu
            videobuf2_memops 20480 1 videobuf2_dma_contig
            videobuf2_v4l2 24576 2 hantro_vpu,v4l2_mem2mem
            videodev 225280 4 videobuf2_v4l2,hantro_vpu,videobuf2_common,v4l2_mem2mem
            xhci_hcd 258048 1 xhci_plat_hcd
            xhci_plat_hcd 24576 0
            x_tables 36864 1 ip_tables

            Je désinstalle les modules :

            root@nanopi:~# modprobe -r rtw_8822ce rtw88_core mac80211 cfg80211
            modprobe: FATAL: Module rtw_8822ce not found.

            Je réadapte la commande :

            root@nanopi:~# modprobe -r rtw88_8822ce rtw88_core mac80211 cfg80211

            qui ne génère pas d'erreur.

            journalctl -f ne renvoie rien non plus.

            Je refais un lsmod :

            root@nanopi:~# lsmod | sort
            aes_ce_blk 32768 0
            aes_ce_cipher 16384 1 aes_ce_blk
            aes_neon_blk 28672 1 aes_neon_bs
            aes_neon_bs 24576 0
            analogix_dp 49152 1 rockchipdrm
            ansi_cprng 16384 0
            autofs4 45056 2
            binfmt_misc 24576 1
            bluetooth 753664 6 btrtl,btmtk,btintel,btbcm,btusb
            btbcm 24576 1 btusb
            btintel 40960 1 btusb
            btmtk 16384 1 btusb
            btrtl 28672 1 btusb
            btusb 65536 0
            cec 45056 2 dw_hdmi_cec,dw_hdmi
            configfs 49152 1
            cpufreq_dt 20480 0
            crc16 16384 2 bluetooth,ext4
            crc32c_generic 16384 4
            crct10dif_ce 16384 0
            crct10dif_common 16384 1 crct10dif_ce
            dax 32768 1 dm_mod
            display_connector 20480 0
            dm_mod 139264 0
            drbg 40960 1
            drm 442368 12 gpu_sched,drm_kms_helper,dw_mipi_dsi,drm_dma_helper,display_connector,drm_shmem_helper,drm_display_helper,rockchipdrm,dw_hdmi,panfrost,analogix_dp
            drm_display_helper 118784 3 rockchipdrm,dw_hdmi,analogix_dp
            drm_dma_helper 16384 1 rockchipdrm
            drm_kms_helper 139264 8 dw_mipi_dsi,drm_dma_helper,display_connector,drm_display_helper,rockchipdrm,dw_hdmi,analogix_dp
            drm_shmem_helper 20480 1 panfrost
            dwc3 163840 0
            dw_hdmi 49152 2 dw_hdmi_i2s_audio,rockchipdrm
            dw_hdmi_cec 16384 0
            dw_hdmi_i2s_audio 16384 0
            dw_mipi_dsi 20480 1 rockchipdrm
            dw_mmc 45056 2 dw_mmc_pltfm,dw_mmc_rockchip
            dw_mmc_pltfm 16384 1 dw_mmc_rockchip
            dw_mmc_rockchip 20480 0
            dw_wdt 16384 0
            ecc 32768 1 ecdh_generic
            ecdh_generic 16384 1 bluetooth
            efi_pstore 16384 0
            ehci_hcd 90112 1 ehci_platform
            ehci_platform 20480 0
            evdev 28672 3
            ext4 765952 2
            fan53555 16384 1
            fixed 20480 29
            fixed_phy 16384 1 of_mdio
            fuse 135168 1
            fwnode_mdio 20480 1 of_mdio
            gf128mul 16384 2 polyval_generic,ghash_ce
            ghash_ce 20480 0
            governor_simpleondemand 16384 0
            gpio_keys 24576 0
            gpu_sched 36864 1 panfrost
            hantro_vpu 139264 0
            i2c_rk3x 24576 0
            industrialio 77824 3 industrialio_triggered_buffer,kfifo_buf,rockchip_saradc
            industrialio_triggered_buffer 16384 1 rockchip_saradc
            io_domain 24576 0
            ip_tables 32768 0
            jbd2 139264 1 ext4
            jitterentropy_rng 20480 1
            kfifo_buf 16384 1 industrialio_triggered_buffer
            leds_gpio 16384 0
            libarc4 16384 0
            libphy 98304 6 r8169,mdio_devres,fwnode_mdio,of_mdio,realtek,fixed_phy
            loop 36864 0
            mbcache 20480 1 ext4
            mc 57344 5 videodev,videobuf2_v4l2,hantro_vpu,videobuf2_common,v4l2_mem2mem
            mdio_devres 16384 1 r8169
            Module Size Used by
            of_mdio 20480 1 mdio_devres
            ohci_hcd 53248 1 ohci_platform
            ohci_platform 16384 0
            panfrost 69632 0
            phy_rockchip_inno_usb2 45056 8
            phy_rockchip_naneng_combphy 20480 5
            phy_rockchip_snps_pcie3 20480 2
            pl330 36864 1
            polyval_ce 16384 0
            polyval_generic 16384 1 polyval_ce
            r8169 90112 0
            rc_core 53248 2 cec
            realtek 32768 2
            rfkill 36864 2 bluetooth
            rk805_pwrkey 16384 0
            rk808_regulator 40960 14
            rk817_charger 24576 0
            rockchipdrm 147456 0
            rockchip_saradc 24576 0
            rockchip_thermal 28672 0
            roles 16384 1 dwc3
            rtc_hym8563 20480 1
            sdhci 69632 2 sdhci_pltfm,sdhci_of_dwcmshc
            sdhci_of_dwcmshc 20480 0
            sdhci_pltfm 16384 1 sdhci_of_dwcmshc
            sha1_ce 16384 0
            sha256_arm64 24576 1 sha2_ce
            sha2_ce 16384 0
            sha512_arm64 20480 1
            sha512_generic 16384 0
            snd 98304 4 snd_soc_hdmi_codec,snd_timer,snd_soc_core,snd_pcm
            snd_pcm 118784 4 snd_soc_hdmi_codec,snd_soc_simple_card_utils,snd_soc_core,snd_pcm_dmaengine
            snd_pcm_dmaengine 16384 1 snd_soc_core
            snd_soc_core 212992 5 snd_soc_rockchip_i2s_tdm,snd_soc_hdmi_codec,snd_soc_rk817,snd_soc_simple_card_utils,snd_soc_simple_card
            snd_soc_hdmi_codec 24576 1
            snd_soc_rk817 45056 0
            snd_soc_rockchip_i2s_tdm 32768 2
            snd_soc_simple_card 24576 0
            snd_soc_simple_card_utils 24576 1 snd_soc_simple_card
            snd_timer 40960 1 snd_pcm
            soundcore 16384 1 snd
            udc_core 57344 1 dwc3
            ulpi 20480 1 dwc3
            usb_common 16384 10 ohci_platform,xhci_hcd,ohci_hcd,ehci_platform,phy_rockchip_inno_usb2,usbcore,ehci_hcd,xhci_plat_hcd,dwc3,udc_core
            usbcore 266240 7 ohci_platform,xhci_hcd,ohci_hcd,ehci_platform,ehci_hcd,btusb,xhci_plat_hcd
            v4l2_h264 20480 1 hantro_vpu
            v4l2_mem2mem 36864 1 hantro_vpu
            v4l2_vp9 24576 1 hantro_vpu
            videobuf2_common 53248 5 videobuf2_dma_contig,videobuf2_v4l2,hantro_vpu,v4l2_mem2mem,videobuf2_memops
            videobuf2_dma_contig 24576 1 hantro_vpu
            videobuf2_memops 20480 1 videobuf2_dma_contig
            videobuf2_v4l2 24576 2 hantro_vpu,v4l2_mem2mem
            videodev 225280 4 videobuf2_v4l2,hantro_vpu,videobuf2_common,v4l2_mem2mem
            xhci_hcd 258048 1 xhci_plat_hcd
            xhci_plat_hcd 24576 0
            x_tables 36864 1 ip_tables

            Je recharge le module :

            root@nanopi:~# modprobe -i rtw_8822ce
            modprobe: FATAL: Module rtw_8822ce not found in directory /lib/modules/6.1.0-17-arm64

            Je réadapte la commande :

            root@nanopi:~# modprobe -i rtw88_8822ce

            qui ne génère pas d'erreur.

            La sortie de journalctl -f donne :

            kernel: cfg80211: Loading compiled-in X.509 certificates for regulatory database
            kernel: cfg80211: Loaded X.509 cert 'benh@debian.org: 577e021cb980e0e820821ba7b54b4961b8b4fadf'
            kernel: cfg80211: Loaded X.509 cert 'romain.perier@gmail.com: 3abbc6ec146e09d1b6016ab9d6cf71dd233f0328'
            kernel: cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
            kernel: platform regulatory.0: firmware: direct-loading firmware regulatory.db
            kernel: platform regulatory.0: firmware: direct-loading firmware regulatory.db.p7s
            kernel: rtw_8822ce 0000:01:00.0: firmware: direct-loading firmware rtw88/rtw8822c_fw.bin
            kernel: rtw_8822ce 0000:01:00.0: Firmware version 9.9.15, H2C version 15
            kernel: rtw_8822ce 0000:01:00.0: firmware: direct-loading firmware rtw88/rtw8822c_wow_fw.bin
            kernel: rtw_8822ce 0000:01:00.0: Firmware version 9.9.4, H2C version 15
            kernel: rtw_8822ce 0000:01:00.0: error beacon valid
            kernel: rtw_8822ce 0000:01:00.0: failed to download rsvd page
            kernel: rtw_8822ce 0000:01:00.0: failed to download firmware
            kernel: rtw_8822ce 0000:01:00.0: failed to setup chip efuse info
            kernel: rtw_8822ce 0000:01:00.0: failed to setup chip information
            kernel: rtw_8822ce: probe of 0000:01:00.0 failed with error -16

            Le firmware refuse encore une fois de se charger.

            Je redonne la sortie de la commande lsmod :

            root@nanopi:~# lsmod | sort

            aes_ce_blk 32768 0
            aes_ce_cipher 16384 1 aes_ce_blk
            aes_neon_blk 28672 1 aes_neon_bs
            aes_neon_bs 24576 0
            analogix_dp 49152 1 rockchipdrm
            ansi_cprng 16384 0
            autofs4 45056 2
            binfmt_misc 24576 1
            bluetooth 753664 6 btrtl,btmtk,btintel,btbcm,btusb
            btbcm 24576 1 btusb
            btintel 40960 1 btusb
            btmtk 16384 1 btusb
            btrtl 28672 1 btusb
            btusb 65536 0
            cec 45056 2 dw_hdmi_cec,dw_hdmi
            cfg80211 782336 2 rtw88_core,mac80211
            configfs 49152 1
            cpufreq_dt 20480 0
            crc16 16384 2 bluetooth,ext4
            crc32c_generic 16384 4
            crct10dif_ce 16384 0
            crct10dif_common 16384 1 crct10dif_ce
            dax 32768 1 dm_mod
            display_connector 20480 0
            dm_mod 139264 0
            drbg 40960 1
            drm 442368 12 gpu_sched,drm_kms_helper,dw_mipi_dsi,drm_dma_helper,display_connector,drm_shmem_helper,drm_display_helper,rockchipdrm,dw_hdmi,panfrost,analogix_dp
            drm_display_helper 118784 3 rockchipdrm,dw_hdmi,analogix_dp
            drm_dma_helper 16384 1 rockchipdrm
            drm_kms_helper 139264 8 dw_mipi_dsi,drm_dma_helper,display_connector,drm_display_helper,rockchipdrm,dw_hdmi,analogix_dp
            drm_shmem_helper 20480 1 panfrost
            dwc3 163840 0
            dw_hdmi 49152 2 dw_hdmi_i2s_audio,rockchipdrm
            dw_hdmi_cec 16384 0
            dw_hdmi_i2s_audio 16384 0
            dw_mipi_dsi 20480 1 rockchipdrm
            dw_mmc 45056 2 dw_mmc_pltfm,dw_mmc_rockchip
            dw_mmc_pltfm 16384 1 dw_mmc_rockchip
            dw_mmc_rockchip 20480 0
            dw_wdt 16384 0
            ecc 32768 1 ecdh_generic
            ecdh_generic 16384 1 bluetooth
            efi_pstore 16384 0
            ehci_hcd 90112 1 ehci_platform
            ehci_platform 20480 0
            evdev 28672 3
            ext4 765952 2
            fan53555 16384 1
            fixed 20480 29
            fixed_phy 16384 1 of_mdio
            fuse 135168 1
            fwnode_mdio 20480 1 of_mdio
            gf128mul 16384 2 polyval_generic,ghash_ce
            ghash_ce 20480 0
            governor_simpleondemand 16384 0
            gpio_keys 24576 0
            gpu_sched 36864 1 panfrost
            hantro_vpu 139264 0
            i2c_rk3x 24576 0
            industrialio 77824 3 industrialio_triggered_buffer,kfifo_buf,rockchip_saradc
            industrialio_triggered_buffer 16384 1 rockchip_saradc
            io_domain 24576 0
            ip_tables 32768 0
            jbd2 139264 1 ext4
            jitterentropy_rng 20480 1
            kfifo_buf 16384 1 industrialio_triggered_buffer
            leds_gpio 16384 0
            libarc4 16384 1 mac80211
            libphy 98304 6 r8169,mdio_devres,fwnode_mdio,of_mdio,realtek,fixed_phy
            loop 36864 0
            mac80211 851968 2 rtw88_pci,rtw88_core
            mbcache 20480 1 ext4
            mc 57344 5 videodev,videobuf2_v4l2,hantro_vpu,videobuf2_common,v4l2_mem2mem
            mdio_devres 16384 1 r8169
            Module Size Used by
            of_mdio 20480 1 mdio_devres
            ohci_hcd 53248 1 ohci_platform
            ohci_platform 16384 0
            panfrost 69632 0
            phy_rockchip_inno_usb2 45056 8
            phy_rockchip_naneng_combphy 20480 5
            phy_rockchip_snps_pcie3 20480 2
            pl330 36864 1
            polyval_ce 16384 0
            polyval_generic 16384 1 polyval_ce
            r8169 90112 0
            rc_core 53248 2 cec
            realtek 32768 2
            rfkill 36864 3 bluetooth,cfg80211
            rk805_pwrkey 16384 0
            rk808_regulator 40960 14
            rk817_charger 24576 0
            rockchipdrm 147456 0
            rockchip_saradc 24576 0
            rockchip_thermal 28672 0
            roles 16384 1 dwc3
            rtc_hym8563 20480 1
            rtw88_8822c 462848 1 rtw88_8822ce
            rtw88_8822ce 16384 0
            rtw88_core 151552 2 rtw88_pci,rtw88_8822c
            rtw88_pci 32768 1 rtw88_8822ce
            sdhci 69632 2 sdhci_pltfm,sdhci_of_dwcmshc
            sdhci_of_dwcmshc 20480 0
            sdhci_pltfm 16384 1 sdhci_of_dwcmshc
            sha1_ce 16384 0
            sha256_arm64 24576 1 sha2_ce
            sha2_ce 16384 0
            sha512_arm64 20480 1
            sha512_generic 16384 0
            snd 98304 4 snd_soc_hdmi_codec,snd_timer,snd_soc_core,snd_pcm
            snd_pcm 118784 4 snd_soc_hdmi_codec,snd_soc_simple_card_utils,snd_soc_core,snd_pcm_dmaengine
            snd_pcm_dmaengine 16384 1 snd_soc_core
            snd_soc_core 212992 5 snd_soc_rockchip_i2s_tdm,snd_soc_hdmi_codec,snd_soc_rk817,snd_soc_simple_card_utils,snd_soc_simple_card
            snd_soc_hdmi_codec 24576 1
            snd_soc_rk817 45056 0
            snd_soc_rockchip_i2s_tdm 32768 2
            snd_soc_simple_card 24576 0
            snd_soc_simple_card_utils 24576 1 snd_soc_simple_card
            snd_timer 40960 1 snd_pcm
            soundcore 16384 1 snd
            udc_core 57344 1 dwc3
            ulpi 20480 1 dwc3
            usb_common 16384 10 ohci_platform,xhci_hcd,ohci_hcd,ehci_platform,phy_rockchip_inno_usb2,usbcore,ehci_hcd,xhci_plat_hcd,dwc3,udc_core
            usbcore 266240 7 ohci_platform,xhci_hcd,ohci_hcd,ehci_platform,ehci_hcd,btusb,xhci_plat_hcd
            v4l2_h264 20480 1 hantro_vpu
            v4l2_mem2mem 36864 1 hantro_vpu
            v4l2_vp9 24576 1 hantro_vpu
            videobuf2_common 53248 5 videobuf2_dma_contig,videobuf2_v4l2,hantro_vpu,v4l2_mem2mem,videobuf2_memops
            videobuf2_dma_contig 24576 1 hantro_vpu
            videobuf2_memops 20480 1 videobuf2_dma_contig
            videobuf2_v4l2 24576 2 hantro_vpu,v4l2_mem2mem
            videodev 225280 4 videobuf2_v4l2,hantro_vpu,videobuf2_common,v4l2_mem2mem
            xhci_hcd 258048 1 xhci_plat_hcd
            xhci_plat_hcd 24576 0
            x_tables 36864 1 ip_tables

  • # lspci ne détecte pas la carte Wifi sans forcer un rescan

    Posté par  (site web personnel, Mastodon) . Évalué à 1.

    Fait certainement non anodin, lspci ne détecte pas la carte Wifi sans forcer un rescan du bus.

    Après un reboot, voici ce que donne la commande lspci -knn :

    root@nanopi:~# lspci -k -nn
    0000:00:00.0 PCI bridge [0604]: Rockchip Electronics Co., Ltd RK3568 Remote Signal Processor 1d87:3566
    Kernel driver in use: pcieport
    0001:00:00.0 PCI bridge [0604]: Rockchip Electronics Co., Ltd RK3568 Remote Signal Processor 1d87:3566
    Kernel driver in use: pcieport
    0001:01:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller 10ec:8125
    Subsystem: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller [10ec:8125]
    Kernel driver in use: r8169
    Kernel modules: r8169
    0002:00:00.0 PCI bridge [0604]: Rockchip Electronics Co., Ltd RK3568 Remote Signal Processor 1d87:3566
    Kernel driver in use: pcieport
    0002:01:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller 10ec:8125
    Subsystem: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller [10ec:8125]
    Kernel driver in use: r8169
    Kernel modules: r8169

    Il faut alors entrer la commande suivante pour forcer un nouveau scan du bus PCI :

    root@nanopi:~# echo 1 > /sys/bus/pci/rescan

    La sortie de journalctl -f affiche le message d'erreur :

    kernel: rtw_8822ce 0000:01:00.0: firmware: direct-loading firmware rtw88/rtw8822c_fw.bin
    kernel: rtw_8822ce 0000:01:00.0: Firmware version 9.9.15, H2C version 15
    kernel: rtw_8822ce 0000:01:00.0: error beacon valid
    kernel: rtw_8822ce 0000:01:00.0: failed to download rsvd page
    kernel: rtw_8822ce 0000:01:00.0: failed to download firmware
    kernel: rtw_8822ce 0000:01:00.0: failed to setup chip efuse info
    kernel: rtw_8822ce 0000:01:00.0: failed to setup chip information
    kernel: rtw_8822ce 0000:01:00.0: firmware: direct-loading firmware rtw88/rtw8822c_wow_fw.bin
    kernel: rtw_8822ce 0000:01:00.0: Firmware version 9.9.4, H2C version 15
    kernel: rtw_8822ce: probe of 0000:01:00.0 failed with error -16

    Mais la commande lspci -knn donne maintenant :

    root@nanopi:~# lspci -k -nn

    0000:00:00.0 PCI bridge [0604]: Rockchip Electronics Co., Ltd RK3568 Remote Signal Processor 1d87:3566
    Kernel driver in use: pcieport
    0000:01:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. RTL8822CE 802.11ac PCIe Wireless Network Adapter [10ec:c822]
    Subsystem: AzureWave RTL8822CE 802.11ac PCIe Wireless Network Adapter [1a3b:3751]
    Kernel modules: rtw88_8822ce
    0001:00:00.0 PCI bridge [0604]: Rockchip Electronics Co., Ltd RK3568 Remote Signal Processor 1d87:3566
    Kernel driver in use: pcieport
    0001:01:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller 10ec:8125
    Subsystem: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller [10ec:8125]
    Kernel driver in use: r8169
    Kernel modules: r8169
    0002:00:00.0 PCI bridge [0604]: Rockchip Electronics Co., Ltd RK3568 Remote Signal Processor 1d87:3566
    Kernel driver in use: pcieport
    0002:01:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller 10ec:8125
    Subsystem: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller [10ec:8125]
    Kernel driver in use: r8169
    Kernel modules: r8169

    et on voit apparaître le carte Wifi, mais le driver n'est pas en cours d'utilisation par le noyau (il manque le ligne "Kernel driver in use" pour la carte AzureWave).

    • [^] # Re: lspci ne détecte pas la carte Wifi sans forcer un rescan

      Posté par  (site web personnel) . Évalué à 2.

      Fait certainement non anodin, lspci ne détecte pas la carte Wifi sans forcer un rescan du bus.

      la commande dmesg | grep -iE "wire|wifi|rtw|azure|rtl|net|c822|1a3b devrait te donner des infos sur ce qui se passe au boot concernant ta carte wifi (globalement, essaie de filtrer tes sorties avec grep avant de les copier/coller sur le forum, c'est plus lisible, même s'il peut y avoir des infos autour :p).

      garde bien le journalctl -f dans une fenêtre terminal à côté : cela te permettra de mieux comprendre l'ordre des événements.

      • [^] # Re: lspci ne détecte pas la carte Wifi sans forcer un rescan

        Posté par  (site web personnel, Mastodon) . Évalué à 1.

        @BAud, voici la sortie de la commande demandée :

        root@nanopi:~# dmesg | grep -iE "wire|wifi|rtw|azure|rtl|net|c822|1a3b"
        [ 0.126817] NET: Registered PF_NETLINK/PF_ROUTE protocol family
        [ 0.129972] audit: initializing netlink subsys (disabled)
        [ 0.206546] NetLabel: Initializing
        [ 0.206579] NetLabel: domain hash size = 128
        [ 0.206593] NetLabel: protocols = UNLABELED CIPSOv4 CALIPSO
        [ 0.206692] NetLabel: unlabeled traffic allowed by default
        [ 0.226153] NET: Registered PF_INET protocol family
        [ 0.234887] NET: Registered PF_UNIX/PF_LOCAL protocol family
        [ 0.234957] NET: Registered PF_XDP protocol family
        [ 2.801381] NET: Registered PF_INET6 protocol family
        [ 2.840688] NET: Registered PF_PACKET protocol family
        [ 6.276411] r8169 0001:01:00.0 eth0: RTL8125B, 66:46:ca:d8:4c:29, XID 641, IRQ 43
        [ 6.488277] r8169 0002:01:00.0 eth0: RTL8125B, 2a:4e:cb:1d:48:87, XID 641, IRQ 45
        [ 9.938147] systemd[1]: Listening on systemd-networkd.socket - Network Service Netlink Socket.
        [ 10.285061] systemd[1]: Starting systemd-network-generator.service - Generate network units from Kernel command line…
        [ 10.607173] systemd[1]: Finished systemd-network-generator.service - Generate network units from Kernel command line.
        [ 10.645112] systemd[1]: Reached target network-pre.target - Preparation for Network.
        [ 12.927604] r8169 0002:01:00.0: firmware: direct-loading firmware rtl_nic/rtl8125b-2.fw
        [ 12.956010] RTL8226B_RTL8221B 2.5Gbps PHY r8169-2-100:00: attached PHY driver (mii_bus:phy_addr=r8169-2-100:00, irq=MAC)
        [ 13.179919] RTL8226B_RTL8221B 2.5Gbps PHY r8169-1-100:00: attached PHY driver (mii_bus:phy_addr=r8169-1-100:00, irq=MAC)
        [ 13.688738] audit: type=1400 audit(1705349771.352:7): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/lib/NetworkManager/nm-dhcp-client.action" pid=343 comm="apparmor_parser"
        [ 13.690371] audit: type=1400 audit(1705349771.352:8): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/lib/NetworkManager/nm-dhcp-helper" pid=343 comm="apparmor_parser"
        [ 14.239294] NET: Registered PF_BLUETOOTH protocol family
        [ 14.322057] Bluetooth: hci0: RTL: examining hci_ver=0a hci_rev=000c lmp_ver=0a lmp_subver=8822
        [ 14.325038] Bluetooth: hci0: RTL: rom_version status=0 version=3
        [ 14.325603] Bluetooth: hci0: RTL: loading rtl_bt/rtl8822cu_fw.bin
        [ 14.339386] bluetooth hci0: firmware: direct-loading firmware rtl_bt/rtl8822cu_fw.bin
        [ 14.340269] Bluetooth: hci0: RTL: loading rtl_bt/rtl8822cu_config.bin
        [ 14.345289] bluetooth hci0: firmware: direct-loading firmware rtl_bt/rtl8822cu_config.bin
        [ 14.346125] Bluetooth: hci0: RTL: cfg_sz 6, total sz 35990
        [ 14.663963] Bluetooth: hci0: RTL: fw version 0x0cc6d2e3
        [ 16.186213] IPv6: ADDRCONF(NETDEV_CHANGE): enP2p1s0: link becomes ready

        et après entré manuellement echo 1 > /sys/bus/pci/rescan :

        [ 110.141825] pci 0000:01:00.0: [10ec:c822] type 00 class 0x028000
        [ 110.399437] rtw_8822ce 0000:01:00.0: enabling device (0000 -> 0003)
        [ 110.418755] rtw_8822ce 0000:01:00.0: firmware: direct-loading firmware rtw88/rtw8822c_wow_fw.bin
        [ 110.419578] rtw_8822ce 0000:01:00.0: Firmware version 9.9.4, H2C version 15
        [ 110.427681] rtw_8822ce 0000:01:00.0: firmware: direct-loading firmware rtw88/rtw8822c_fw.bin
        [ 110.428462] rtw_8822ce 0000:01:00.0: Firmware version 9.9.15, H2C version 15
        [ 110.441167] rtw_8822ce 0000:01:00.0: error beacon valid
        [ 110.441676] rtw_8822ce 0000:01:00.0: failed to download rsvd page
        [ 110.442235] rtw_8822ce 0000:01:00.0: failed to download firmware
        [ 110.442910] rtw_8822ce 0000:01:00.0: failed to setup chip efuse info
        [ 110.443476] rtw_8822ce 0000:01:00.0: failed to setup chip information
        [ 110.467472] rtw_8822ce: probe of 0000:01:00.0 failed with error -16

        Avant le forçage du rescan du bus PCI, je ne vois rien qui puisse concerner la carte Wifi…

        Par contre, je vois qu'il y a du NetworkManager, et ça ce n'est pas normal car je ne l'ai pas volontairement installé et mes paramètres réseaux sont configurés avec Systemd-networkd.

        • [^] # Re: lspci ne détecte pas la carte Wifi sans forcer un rescan

          Posté par  (site web personnel, Mastodon) . Évalué à 1.

          Après vérification, NetworkManager n'est pas installé :
          aptitude search '~i network' ne renvoie rien.

          /usr/lib/NetworkManager/ n'existe pas :

          root@nanopi:~# ls -la /usr/lib/NetworkManager/
          ls: impossible d'accéder à '/usr/lib/NetworkManager/': Aucun fichier ou dossier de ce type

          Le fichier de configuration en question est /etc/apparmor.d/sbin.dhclient qui vient du paquet isc-dhcp-client.

          -> Fausse alerte…

          • [^] # Re: lspci ne détecte pas la carte Wifi sans forcer un rescan

            Posté par  (site web personnel, Mastodon) . Évalué à 1.

            [on a le droit aux grossièretés sur ce forum, car là ça me démange grâve !
            Bon, je vais rester poli…]

            "Oh miracle !"

            Comme j'utilise le service DHCP client fourni par Systemd, j'ai désinstallé le paquet isc-dhcp-client

            Je reboote et là : "Oh miracle !"
            La carte Wifi est directement reconnue sans avoir à forcer un rescan du bus PCI et le firmware rtw_8822ce est correctement chargé !!!

            root@nanopi:~# lspci -knn
            0000:00:00.0 PCI bridge [0604]: Rockchip Electronics Co., Ltd RK3568 Remote Signal Processor 1d87:3566
            Kernel driver in use: pcieport
            0000:01:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. RTL8822CE 802.11ac PCIe Wireless Network Adapter [10ec:c822]
            Subsystem: AzureWave RTL8822CE 802.11ac PCIe Wireless Network Adapter [1a3b:3751]
            Kernel driver in use: rtw_8822ce
            Kernel modules: rtw88_8822ce
            0001:00:00.0 PCI bridge [0604]: Rockchip Electronics Co., Ltd RK3568 Remote Signal Processor 1d87:3566
            Kernel driver in use: pcieport
            0001:01:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller 10ec:8125
            Subsystem: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller [10ec:8125]
            Kernel driver in use: r8169
            Kernel modules: r8169
            0002:00:00.0 PCI bridge [0604]: Rockchip Electronics Co., Ltd RK3568 Remote Signal Processor 1d87:3566
            Kernel driver in use: pcieport
            0002:01:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller 10ec:8125
            Subsystem: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller [10ec:8125]
            Kernel driver in use: r8169
            Kernel modules: r8169

            C'était le service isc-dhcp-client qui posait problème !!!

            • [^] # Re: lspci ne détecte pas la carte Wifi sans forcer un rescan

              Posté par  (site web personnel, Mastodon) . Évalué à 1.

              Je me fais des fausses joies.

              En fait, la détection de la carte Wifi est totalement aléatoire et n'est pas assurée à chaque redémarrage du serveur NanoPi R5C.

              • [^] # Re: lspci ne détecte pas la carte Wifi sans forcer un rescan

                Posté par  (site web personnel, Mastodon) . Évalué à 1.

                La suppression du paquet isc-dhcp-client a pour une raison inconnue chahuté la nomination des interfaces réseaux.

                J'ai réglé ça en forçant le nommage des interfaces par des fichiers .link dans /etc/systemd/network/.

                Le système est maintenant stable et je confirme que c'était bien le paquet isc-dhcp-client qui posait problème.

                Dans mon cas, ce dernier est automatiquement installé par debootstrap.
                Lors de la création du debootstrap, il faut passer l'option "--exclude isc-dhcp-client".

                • [^] # Re: lspci ne détecte pas la carte Wifi sans forcer un rescan

                  Posté par  (site web personnel) . Évalué à 2.

                  pour une raison inconnue chahuté la nomination des interfaces réseaux.

                  bah systemd, dbus et les dépendances, c'est une échelle posée sur un escabeau pour aller plus haut (ya un site d'images whatcouldgowrong là-dessus :p)

                  J'ai réglé ça en forçant le nommage des interfaces par des fichiers .link dans /etc/systemd/network/.

                  tu peux détailler ?

                  Le système est maintenant stable et je confirme que c'était bien le paquet isc-dhcp-client qui posait problème.

                  moui le chargement des modules à la volée et de leur firmware complique le diagnostic de ce qui se passe…

                  ce serait bien d'avoir un schéma du déroulement de quand ça va bien et quand ça ne va pas bien pour fiabiliser définitivement quitte à mettre le nez dans le code :D

                  bah, t'es bon pour faire un nourjal sur ce que tu vas faire avec ta nanopi maintenant :p

                  • [^] # Re: lspci ne détecte pas la carte Wifi sans forcer un rescan

                    Posté par  (site web personnel, Mastodon) . Évalué à 1.

                    Bonjour @BAud,

                    bah systemd, dbus et les dépendances, c'est une échelle posée sur un escabeau pour aller plus haut

                    C'est vrai que c'est très hasardeux et j'ai du mal à comprendre les interactions entre ces différents éléments.

                    J'ai réglé ça en forçant le nommage des interfaces par des fichiers .link dans /etc/systemd/network/.
                    

                    tu peux détailler ?

                    Oui, voilà les différents fichiers pour les deux ports Ethernet et le wifi :

                    Liste des fichiers dans /etc/systemd/network/ :
                    10-ethernet_WAN.link
                    11-ethernet_LAN.link
                    13-WIFI.link
                    20-ethernet_WAN.network
                    21-ethernet_LAN.network
                    23-WIFI.network

                    Dans les fichiers .link, les balises Path correspondent ici au matériel du Nanopi R5C.
                    Le Nanopi R5C sert de routeur en deuxième front de ma box internet avec une délégation d'adresse IPv6 de ::/56.

                    Contenu du fichier /etc/systemd/network/10-ethernet_WAN.link :

                    [Match]
                    # Match path as exposed by the udev property ID_PATH (command: "udevadm info /sys/class/net/...")
                    Path=platform-3c0800000.pcie-pci-0002:01:00.0
                    
                    [Link]
                    Name=wan0
                    MACAddress=B6:DC:0B:7A:BF:8A

                    Contenu du fichier _/etc/systemd/network/11-ethernet_LAN.link :

                    [Match]
                    # Match path as exposed by the udev property ID_PATH (command: "udevadm info /sys/class/net/...")
                    Path=platform-3c0400000.pcie-pci-0001:01:00.0
                    
                    [Link]
                    Name=lan0
                    MACAddress=CA:FE:00:BA:BE:00

                    Contenu du fichier _/etc/systemd/network/13-WIFI.link :

                    [Match]
                    # Match path as exposed by the udev property ID_PATH (command: "udevadm info /sys/class/net/...")
                    Path=platform-3c0000000.pcie-pci-0000:01:00.0
                    
                    [Link]
                    Name=wifi0
                    MACAddress=B0:B0:00:CA:FA:CE

                    Contenu du fichier _/etc/systemd/network/20-ethernet_WAN.network :

                    [Match]
                    Name=wan0
                    
                    [Network]
                    DHCP=yes
                    
                    [DHCP]
                    UseDomains=yes
                    RouteMetric=10
                    
                    [DHCPv6]
                    PrefixDelegationHint=::/56

                    Contenu du fichier _/etc/systemd/network/21-ethernet_LAN.network :

                    [Match]
                    Name=lan0
                    
                    [Network]
                    Address=10.0.0.254/8
                    Address=2a01:e0a:cafe:1234:a::/64

                    Contenu du fichier _/etc/systemd/network/23-WIFI.network :

                    [Match]
                    Name=wifi0
                    
                    [Network]
                    Address=10.0.1.254/8
                    Address=2a01:e0a:cafe:1234:b::/64

                    Cela est complété par démon d'annonce de routeurs (radvd), un serveur DHCP4 et DHCP6 (la suite kea) et un serveur de nom (named) qui sert de proxy vers le serveur DNS de la box internet.

                    Voici ce que donne la sortie de la commande ip a :

                    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
                        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
                        inet 127.0.0.1/8 scope host lo
                           valid_lft forever preferred_lft forever
                        inet6 ::1/128 scope host noprefixroute 
                           valid_lft forever preferred_lft forever
                    2: lan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
                        link/ether ca:fe:00:ba:be:00 brd ff:ff:ff:ff:ff:ff
                    3: wan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
                        link/ether b6:dc:0b:7a:bf:8a brd ff:ff:ff:ff:ff:ff
                        inet 192.168.0.40/24 metric 10 brd 192.168.0.255 scope global dynamic wan0
                           valid_lft 24430sec preferred_lft 24430sec
                        inet6 2a01:e0a:cafe:1234::efd1:9489/128 scope global dynamic noprefixroute 
                           valid_lft 76094sec preferred_lft 76094sec
                        inet6 fe80::b4dc:bff:fe7a:bf8a/64 scope link 
                           valid_lft forever preferred_lft forever
                    4: wifi0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
                        link/ether b0:b0:00:ca:fa:ce brd ff:ff:ff:ff:ff:ff permaddr ec:2e:98:48:65:31
                        inet 10.0.1.254/8 brd 10.255.255.255 scope global wifi0
                           valid_lft forever preferred_lft forever
                        inet6 2a01:e0a:cafe:1234:b::/64 scope global 
                           valid_lft forever preferred_lft forever
                        inet6 fe80::b2b0:ff:feca:face/64 scope link 
                           valid_lft forever preferred_lft forever
                    

                    Pour le moment, je n'ai rien branché côté LAN, d'où une interface pas complètement configurée.
                    Mais on voit bien les noms des différentes interfaces qui sont bien wan0, lan0 et wifi0.

                    ce serait bien d'avoir un schéma du déroulement de quand ça va bien et quand ça ne va pas bien pour fiabiliser définitivement quitte à mettre le nez dans le code :D

                    Ce serait avec plaisir, mais je ne sais pas comment faire.
                    En tout cas, ça me permettrait de mieux comprendre le phénomène…

  • # ERRATUM : Complément à la solution

    Posté par  (site web personnel, Mastodon) . Évalué à 1.

    ERRATUM : Complément à la solution

    En refaisant des tests, je me suis aperçu que j'ai omis de préciser une étape capitale pour que la carte Wifi soit correctement reconnue.

    En plus de supprimer le paquet isc-dhcp-client, il faut également supprimer le paquet isc-dhcp-common qui lui aussi est installé automatiquement par debootstrap !

    Et plus important encore, il faut préciser à Systemd de continuer l'amorçage du système sans attendre que toutes les interfaces soient configurée !

    Pour cela, il faut créer le fichier /etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf

    On commence par créer le répertoire ad-hoc :

    mkdir -p /etc/systemd/system/systemd-networkd-wait-online.service.d

    et on crée dedans le fichier wait-for-only-one-interface.conf :

    [Service]
    ExecStart=
    ExecStart=/usr/lib/systemd/systemd-networkd-wait-online --any
    

    Le paramètre important ici est "--any" !

    Et on redémarre le système !

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.