Installer firmware offline

Bonsoir,

J’ai un asrock A300, installé sous Buster qui semble avoir perdu le firmware de sa carte ethernet lors de son passage à Bullseye.

Je ne m’en suis pas rendu compte parce que je n’avais pas reboot jusqu’à présent, mais ce soir j’ai ajouté un ssd. J’ai donc du l’éteindre.
Au reboot, je n’ai plus de réseau (Missing firmware r8169)

Je cherche donc à connaître le moyen le plus Debian’ style d’installer realtek-firmware sans avoir de connexion.
J’ai tenté un boot sous netinstall et l’installeur détecte et charge correctement la carte, mais j’aimerais bien éviter la réinstallation…

« Semble avoir perdu » ? C’est pas clair, ton histoire. Des informations concrètes seraient bienvenues (messages, retours de commandes…)
Si tu veux installer un paquet sans réseau, tu le télécharges depuis packages.debian.org et tu l’installes avec dpkg -i. Mais je soupçonne un problème XY et que ça n’aidera pas.

Bonjour et bienvenue sur le forum,

Attends, je ne comprends pas non plus, tu as mis à jour de Buster vers Bullseye et tu n’as pas redémarré juste après ?

Si tu as un téléphone sous Android, tu peux toujours essayer d’utiliser le partage de la connexion. Les téléphones sous Android permettent de partager une connexion en Wifi.
Mais si tu n’as pas ça, tu peux faire comme précisé ci-dessus.

Merci pour ta réponse,

À l’allumage, la carte s’allume, grub affiche le menu puis boot linux, et là, la carte s’éteint.

Un fois logué sur mon compte, ip addr show affiche 4 interfaces (lo, enp3s0, docker0, et br-ddf55416b7fe), enp3s0 n’a ni inet ni inet6, je tente alors un

sudo ip link set enp3s0 up

qui me renvoie

[ 3849.051070] r8169 0000:03:00.0: firmware: failed to load rt1_nic/rt18168h-2.fw (-2)
[3849.051131] firmware_class:Seehttps://wiki.debian.org/Firmware for information about missing firmware

Je me demande bien pourquoi le firmware a sauté. Dans mon esprit, seule la mise à jour bullseye a pu entrainer ça, ou plutôt le nettoyage des sources.list, peut-être ai-je viré les dépots non free, ce qui aurait pu avoir pour conséquence de ne pas trouver le paquet, et donc de ne pas l’installer lors d’une mise à jour de kernel, mais ça n’est que supposition. en tout cas, il semble manquer le firmware pour r8169.

Et si c’était un soucis de lien, peut-être que le firmware est toujours en place, mais que le kernel ne l’a pas embed ? Je tente

$ sudo update-initramfs -u
update-initramfs:Generating/boot/initrd.img-5.10.0-9-amd64
W: Possible missing firmware/lib/firmware/rtl_nic/rt18125b-2.fw for module r8169
W: Possible missing firmware/lib/firmware/rt1nic/rt18125a-3.fw for module r8169
W: Possible missing firmware/1ib/firmware/rtl_nic/rt18107e-2.fw for module r8169
W: Possible missing firmware/lib/firmware/rt1nic/rt18107e-1.fw for module r8169
W: Possible missing firmware/1ib/firmware/rtl_nic/rt18168fp-3.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rt18168h-2.fw for module r8169
N: Possible missing firmware /lib/firmware/rtl_nic/rt18168h-1.fw for module r8169
W: Possible missing firmware/lib/firmware/rt1nic/rt18168g-3.fw for module r8169
H: Possible missing firmware/lib/firmware/rt1nic/rt18168g-2.fw for module r8169
H: Possible missing firmware /lib/firmware/rtl_nic/rt18106e-2.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rt18106e-1.fw for module r8169
W: Possible missing firmware /11b/firmware/rtlnic/rt18411-2.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rt18411-1.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rt18402-1.fw for module r8169
W: Possible missing firmware/lib/firmware/rt1nic/rt18168f-2.fw for module r8169
H: Possible missing firmware /lib/firmware/rtlnic/rt18168f-1.fw for module r8169
H: Possible missing firmware /lib/firmware/rtl_nic/rt18105e-1.fu for module r8169
H: Possible missing firmware/1ib/firmware/rtl_nic/rt18168e-3.fw for module r8169
H: Possible missing firmware/lib/firmware/rt1nic/rt18168e-2.fw for module r8169
H: Possible missing firmware/lib/firmware/rt1_nic/rt18168e-1.fw for module r8169
H: Possible missing firmware/11b/firmware/rtlnic/rt18168d-2.fw for module r8169
H: Possible missing firmware/11b/firmware/rt1_nic/rt18168d-1.fw for module r8169

Je cherche un peu et tout l’internet semble confirmer qu’il suffit d’installer le paquet firmware-realtek.

Depuis mes débuts, apt-get a laissé sa place à apt, init.d sa place à systemd, eth0 sa place à enp3s0 etc… alors je viens poser la question pour connaitre la bonne pratique du moment, mais tu me confirmes que dpkg n’a pas lâché l’affaire.

Ce matin, j’ai donc download le paquet, l’ai installé depuis une clé usb.

sudo modprobe r8169
sudo ip link set enp3s0 up

J’ai update-initramfs -u qui ne me pète plus d’erreur, et ip addr show m’affiche de l’inet et de l’inet6. Mon serveur répond, je suis refait.

Je reboot, et de nouveau le réseau est down. Je le reup à la main sans soucis cette fois.
Je vais voir /etc/network/interfaces qui semble vouloir monter enp2s0, plutôt que enp3s0.
Je modifie et reboot, tout est alors opérationnel.

Ce soucis de d’interface par défaut aurait pu être le problème XY dont tu parles, mais l’erreur de firmware au ip link set enp3s0 up me fait quand même douter un peu.

Reste à savoir quelle est l’origine de mon problème, et ça je n’en sais rien. L’expérience me fait néanmoins croire que j’y suis pour quelque chose :smiley:

Bonjour et merci pour l’accueil

À vrai dire je n’ai plus trouvé mon vieux compte des années 2000, alors j’ai créé un compte tout neuf :stuck_out_tongue:

Oui, je confirme, j’ai upgrade, dist-upgrade afin d’avoir des paquets à jour sur cette machine qui me sert de serveur de dev, et j’ai alors pu continuer ce que j’étais en train de faire, je n’ai pas redémarré.
J’ai tendance à la faire lors d’une upgrade de noyau, mais si il y en a eu une lors de ce bump de version, il a été noyé dans la mise à jour globale et ça ne m’a pas alerté.

En effet. Ceux sous iOS également, mais je n’ai pas d’interface wan sur cette machine, sinon je me serais directement connecté au wifi. Elle me sert de serveur local, en headless et est uniquement connectée en ethernet et se contente de servir des containers docker. J’étais “coincé dehors”

Je ne vois pas 50 possibilités.

  • Soit firmware-realtek n’était pas installé car il n’était pas nécessaire avec le module r8169 du noyau de buster et l’est devenu avec celui de bullseye. Cela me semble peu probable.

  • Soit firmware realtek était installé avec buster et a été désinstallé lors de la mise à niveau vers bullseye. Cela me semble peu probable aussi car ce paquet n’a pas de dépendance contraignante de type Conflicts ou avec une version précise d’un autre paquet. Même si tu avais supprimé la section non-free, cela n’aurait pas désinstallé les paquets provenant de celle-ci. Il seraient simplement devenus des paquets locaux/obsolètes. Ou bien tu l’as désinstallé toi-même par erreur. Tu peux rechercher dans l’historique d’apt /var/log/apt/history.log.*.

  • Soit le firmware manquant était une fausse piste (certains firmwares sont facultatifs) et c’est le changement de nom dans /etc/network/interfaces qui est en cause. Tu pourrais regarder dans les anciens logs du noyau /var/log/kern.* quels étaient les messages relatifs à l’interface ethernet enp* et au module r8169 avant la mise à niveau.

Non, les téléphone sous iOS activent le partage de connexion sur toutes les interfaces (USB, Bluetooth et Wifi) sans granularité, tu ne peux donc pas partager une connexion Wifi car l’interface Wifi est occupée à partager la connexion avec un point d’accès.
En plus, l’accès au partage de connexion par USB sur les iPhones nécessite l’installation de paquets spécifiques (usbmuxd, libimobiledevice-utils et ipheth-utils) pour être utilisable, tu avais besoin d’une connexion justement pour installer un paquet…