web-dev-qa-db-fra.com

Erreur lors du déchargement du BIOS de la carte réseau Ethernet ROM - RTL8111 / 8168b

Utilisation de ce didacticiel "Utilisation de l'interface PCI sysfs pour vider la ROM vidéo BIOS" J'ai essayé de répéter les étapes permettant de vider le BIOS ROM de la carte réseau.

Ma carte réseau est:

$ lspci
[snip]
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)

Alors j'ai tapé ceci pour être sûr où se trouve ma rom de carte réseau:

$ find /sys/devices -name "rom"
/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/rom
/sys/devices/pci0000:00/0000:00:1c.3/0000:03:00.0/rom

C'est le deuxième résultat. Maintenant je dois le vider.

Donc, en tapant ce qui doit être tapé, je reçois une erreur:

$ echo 1 | Sudo tee /sys/devices/pci0000:00/0000:00:1c.3/0000:03:00.0/rom
1
$ Sudo cat /sys/devices/pci0000:00/0000:00:1c.3/0000:03:00.0/rom > netbios.rom
cat: /sys/devices/pci0000:00/0000:00:1c.3/0000:03:00.0/rom: Input/output error

Voir? Erreur d’entrée/sortie. Lors de l’utilisation de ethtool, j’ai aussi une erreur:

$ Sudo ethtool -e eth0 > romdump.rom
Cannot get EEPROM data: Operation not supported

Voici plus d'informations:

$ ethtool -i eth0
driver: r8169
version: 2.3LK-NAPI
firmware-version: 
bus-info: 0000:03:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes

Donc, il semblerait que ma carte réseau ne me permette pas de faire des copies de son BIOS en utilisant l’accès eeprom? Mais pour moi, c'est un peu déroutant - je veux dire, il devrait être possible de vider le micrologiciel de n'importe quel matériel, non?

2
polipo

Le fichier sysfs rom vous permet de lire le contenu du PCI ROM, mais apparemment, le périphérique n'expose pas ces informations. Il n'est pas disponible ou n'est pas implémenté par l'appareil.

À propos des raisons pour lesquelles ethtool -e eth0 échoue, le pilote actuel r8169 (jusqu'à 3.19-rc3 inclus) n’implémente pas de méthode de lecture dans la mémoire EEPROM. Si votre périphérique réseau Realtek est doté d’une EEPROM Atmel 93C46 ou 93C56, vous pouvez ajouter cette fonctionnalité r8169 avec ce correctif (pour Linux 3.11) ( le même correctif, modifié pour 3.17, fonctionne pour 3.19). aussi ).

Pour ceux dont le périphérique est "en brique" (symptômes: adresse MAC erronée telle que bb: 6f: ff: ff: ff: ff, fournisseur/ID de périphérique signalé par 10ec: 8129), vous pouvez essayer de suivre les instructions contenues dans ce message. Je l'ai essayé par le passé et je dois le répéter de temps en temps lorsque l'alimentation est complètement coupée de la machine. Malheureusement, les instructions ne sont pas fiables à 100% et chaque fois, je dois essayer beaucoup plus de trucs pour que cela fonctionne. Au moment d'écrire ces lignes, ce RTL8169sb/8110sb est toujours périmé depuis hier.

1
Lekensteyn