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

    Posté par (site web personnel, Mastodon) . En réponse au message Problème pour charger le firmware Realtek rtw88. É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-.&checktime(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-.&checktime(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-.&checktime(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...