Question

Il y a quelques mois je devais écrire un petit outil pour programmer l'eeprom d'une rtl8139-carte. Il est essentiellement rtl8139-diag outil Bx_boom lecture / écriture du eeprom.

Cet outil doit être étendre à pouvoir programmer l'eeprom de rtl8101 cartes maintenant. Ce ne fut pas un problème, car l'interface est l'eeprom similaire à celui des rtl8139. En fait, la seule différence est le contenu du fichier eeprom.

Ce que je veux mettre en œuvre est une auto-détection qui vérifie, si la carte au port adresse donnée est un rtl8139 ou rtl8101 et sélectionne le eeprom-décharge de montage. Je ne peux pas déterminer la différence de ces puces en lisant le eeprom comme les cartes à programmer sont « vierges » et l'Eeprom-contenu est essentiellement 0xffff.

J'ai remarqué, que Linux charge toujours le pilote approprié pour ces cartes, quel que soit le contenu du eeprom. Donc, je pense, que je viens de lire la puce-ID de la carte.

Comment puis-je faire?

Était-ce utile?

La solution

Je pense que vous pouvez trouver lspci ou lspci -vv vous aidera. (Vous devrez peut-être root.)

Autrement dit, si l'ID PCI est défini dans la carte, et non déterminée à partir du eeprom, vous devriez être en mesure d'utiliser lspci pour obtenir l'identifiant PCI de la carte et déterminer quelle carte vous travaillez avec.

L'option -n vous donnera les chiffres bruts, ce qui sera probablement plus utile si vous scripting cela.

Vous pouvez lire / sys / devices / pci * / * / appareil et fournisseur pour trouver ces valeurs.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top