[以太网/USB/其他总线] 如何在 Linux 上读取以太网桥的 OTP 或 EEPROM 的内容?

[复制链接]
2298|13
 楼主| elearn123 发表于 2024-10-25 15:28 | 显示全部楼层 |阅读模式
本帖最后由 elearn123 于 2024-10-25 15:30 编辑

对于 OTP EEPROM,需要通过ifconfig找到设备名称。

EEPROM:
要验证是否正在读取EEPROM,运行sudo ethtool show-priv-flags<DEVNAME>,其中<DEVNAME> 是从ifconfig 确定的设备名称。
验证是否看到OTP_ACCESSoff
要读取EEPROM,运行sudo ethtool -e <DEVNAME>
如果要将内容保存到文件中,可以运行sudo ethtool -e <DEVNAME> > <FILENAME>

OTP
为了访问 OTP,需要打开OTP_ACCESS。通过sudo ethtool set-priv-flags<DEVNAME> OTP_ACCESS on 来完成,其中<DEVNAME> 是从ifconfig 确定的设备名称。
通过运行sudo ethtool show-priv-flags<DEVNAME> 来验证它是否成功
通过运行sudo ethtool -e <DEVNAME> 来访问OTP


dongnanxibei 发表于 2024-10-28 21:04 | 显示全部楼层
原来会了竟然如此简单。
teaccch 发表于 2024-11-15 23:02 | 显示全部楼层
在Linux上读取以太网桥的OTP(One-Time Programmable)或EEPROM(Electrically Erasable Programmable Read-Only Memory)内容通常需要使用特定的工具和驱动程序。

twinkhahale 发表于 2024-11-16 06:18 | 显示全部楼层
使用 ethtool 工具,ethtool 是一个常用的工具,用于查询和控制网络接口的参数。它可以用来读取和显示网卡的EEPROM内容。

suiziq 发表于 2024-11-16 07:16 | 显示全部楼层
首先,确保你已经安装了 ethtool。读取EEPROM内容其中 <interface> 是你的网络接口名称,例如 eth0 或 enp0s3。这将显示接口的EEPROM内容,通常以十六进制格式输出。

canfeil 发表于 2024-11-16 08:44 | 显示全部楼层
使用 mii-tool 或 mii-diag,mii-tool 和 mii-diag 是用于管理MII(Media Independent Interface)的工具,它们可以用来读取和配置网络接口的MII寄存器。

wamed 发表于 2024-11-16 11:55 | 显示全部楼层
使用 i2c-tools,如果你的网卡使用I2C接口连接EEPROM,你可以使用 i2c-tools 来读取EEPROM内容。

一切D都好 发表于 2024-11-16 13:51 | 显示全部楼层
一般可以使用 devmem,devmem 是一个用于直接读取和写入内存地址的工具。如果你的网卡驱动程序允许直接访问EEPROM寄存器,你可以使用 devmem 来读取EEPROM内容。

星星点点didi 发表于 2024-11-16 15:47 | 显示全部楼层
通常情况下,ethtool 是最常用的工具,因为它广泛支持各种网卡。

清芯芯清 发表于 2024-11-16 17:22 | 显示全部楼层
可以用I2C工具读取,比较直观

pe66ak 发表于 2024-11-16 21:01 | 显示全部楼层
我觉得可以使用ETHTOOL来读取确实没啥问题

yuliangren 发表于 2024-11-16 23:12 | 显示全部楼层
OTP的好像是不能用I2C工具进行读取吧
玫瑰凋零日记 发表于 2025-9-20 15:50 | 显示全部楼层
在 Linux 上读取以太网桥的 OTP 或 EEPROM,可先确定网卡型号,用ethtool -i ethX查驱动。若支持,通过ethtool -e ethX读取 EEPROM 内容;部分需用dd访问对应设备文件(如/sys/class/net/ethX/device/eeprom),或专用工具如mii-tool配合驱动接口
灰色与青 发表于 2025-9-22 17:12 | 显示全部楼层
在 Linux 上读取以太网桥的 OTP 或 EEPROM,可通过 sysfs 接口:先确定网卡名(如 eth0),访问 /sys/class/net/eth0/device/ 下的 eeprom 或 otp 文件,用 hexdump 或 cat 读取,如 hexdump /sys/class/net/eth0/device/eeprom。需 root 权限,具体路径依硬件驱动而定。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

29

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部