我有一些Linux内核和SFP / I2C驱动程序问题。
我正在为嵌入式板使用buildroot linux内核。
我需要能够读取SFP i2c设备的eeprom文件。
1。工作案例:
当从头开始(在内核加载之前)将SFP模块插入我的开发单元板上时,然后完成启动后,我可以在以下路径中查看和读取eeprom文件:/ sys / class / i2c-adapter / i2c- 1 / 1-0050 / eeprom
2。无效的情况:
如果启动时没有插入SFP模块,并且内核完成了启动过程,那么当我将SFP模块插入其中时,请观察路径:
/ sys / class / i2c-adapter / i2c-1 / 1-0050 / 不包含eeprom文件。
我的猜测是,SFP驱动程序负责一旦插入SFP模块就应该发生的触发,并且应该触发eeprom文件的创建。
想问你我想念什么吗? 来自sfp驱动程序的一些绑定代码以触发i2c扫描还是其他?
有什么建议吗?
谢谢。
答案 0 :(得分:0)
找到了解决此问题的方法。
使用 ethtool -m 界面。
从ethtool手册页:
-m --dump-module-eeprom 从SFP +,QSFP
插件模块中检索EEPROM,并在可能的情况下对其进行解码