几个月前,我不得不编写一个小工具来对 rtl8139 卡的 eeprom 进行编程。它基本上是剥离rtl8139-diag工具以读取/写入 eeprom。
现在必须扩展此工具才能对 rtl8101 卡的 eeprom 进行编程。这不是问题,因为 eeprom 的接口类似于 rtl8139 的接口。实际上,唯一的区别是 eeprom 文件的内容。
我想要实现的是一个自动检测,它检查给定端口地址的卡是否是 rtl8139 或 rtl8101 并选择合适的 eeprom-dump。我无法通过读出 eeprom 来确定这些芯片的区别,因为要编程的卡是“处女”并且 eeprom 内容基本上是0xffff
.
我注意到,无论 eeprom 的内容如何,Linux 总是为这些卡加载合适的驱动程序。所以我认为,我只需要读取卡的芯片 ID。
我怎么做?