gpt4 book ai didi

c - 用户空间中缺少 I2c eeprom 文件 - SFP 模块

转载 作者:行者123 更新时间:2023-11-30 16:25:07 25 4
gpt4 key购买 nike

我有一些 Linux 内核和 SFP/I2C 驱动程序问题。

我正在为嵌入式板使用 buildroot Linux 内核。

我需要能够读取 SFP i2c 设备的 eeprom 文件。

<强>1。工作案例:

当 SFP 模块从一开始(在内核加载之前)插入我的开发单元板时,当启动完成时,我可以看到并读取路径中的 eeprom 文件:/sys/class/i2c-adapter/i2c- 1/1-0050/eeprom

eeprom file exists

  • 内核在启动时打印 i2c 设备扫描结果:

enter image description here

<强>2。不工作的情况:

如果启动时没有插入 SFP 模块,并且内核完成启动过程,那么当我插入 SFP 模块时,我会观察到路径:

/sys/class/i2c-adapter/i2c-1/1-0050/不包含 eeprom 文件。

eeprom file missing

  • sfp-eeprom 代码的设备树部分:

enter image description here

我的猜测是,SFP 驱动程序负责在插入 SFP 模块后触发该事件,并触发 eeprom 文件的创建。

想问你我错过了什么?sfp 驱动程序中的一些绑定(bind)代码来触发 i2c 扫描之类的?

有什么建议吗?

提前致谢。

最佳答案

已找到此问题的可能解决方法。

使用ethtool -m接口(interface)。

来自 ethtool 手册页:

-m --dump-module-eeprom从插件模块(例如 SFP+、QSFP)检索并解码 EEPROM(如果可能)

关于c - 用户空间中缺少 I2c eeprom 文件 - SFP 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53515362/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com