3

数か月前、rtl8139 カードの eeprom をプログラムするための小さなツールを作成する必要がありました。基本的には、rtl8139-diagツールを削除して eeprom の読み取り/書き込みを行います。

rtl8101 カードの eeprom をプログラムできるようにするには、このツールを拡張する必要があります。eeprom へのインターフェイスは rtl8139 のものと似ているため、これは問題ではありませんでした。実際には、唯一の違いは eeprom ファイルの内容です。

私が実装したいのは、指定されたポートアドレスのカードが rtl8139 または rtl8101 であるかどうかをチェックし、適切な eeprom ダンプを選択する自動検出です。プログラムされるカードは「処女」であり、EEPROM の内容は基本的に0xffff.

eeprom の内容に関係なく、Linux は常にこれらのカードに適したドライバーをロードすることに気付きました。だから、カードのチップIDを読むだけでいいと思います。

それ、どうやったら出来るの?

4

1 に答える 1

2

私はあなたがあなたを見つけるかもしれない、lspciまたはあなたlspci -vvを助けると思う. (root になる必要があるかもしれません。)

つまり、PCI ID がカードに設定されていて、eeprom から決定されない場合、 を使用lspciしてカードの PCI ID を取得し、使用しているカードを決定できるはずです。

この-nオプションは生の数値を提供します。これは、これをスクリプト化している場合におそらくより役立つでしょう。

または、/sys/devices/pci*/*/device および vendor から読み取って、それらの値を見つけることもできます。

于 2009-08-18T21:25:41.297 に答える