资讯动态

eeupdate64e实战:i350/xl710网卡MAC修改与固件烧录避坑

发布时间:2026/10/24 11:15:09 来源:尧图企业网站定制
简介面向具备一定 Linux 基础、从事网络设备维护与开发的技术人员这份文档聚焦 eeupdate64 工具在 x86 平台上的实战应用力求解决网卡 MAC 地址修改与固件烧录这类底层配置难题。内容以 I350 与 XL710 两款网卡为主线先介绍软硬件准备与工具适配包括解压、赋可执行权限、install 安装驱动再分别演示单口与多口 MAC 批量写入、.eep 固件制作与烧录并延伸到没有固件的全新网卡从零开始烧录、device 号由 151F 恢复为 1521 的变化以及配置 IP 后 ping 通服务器的功能验证。包内仅有 1 个 docx 文档压缩包约 1.09MB篇幅紧凑命令与截图对照可直接照着复现。目前已有 1809 人学习下载适合新服务器部署、网络环境变更或需要批量刷写网卡的运维工程师用作操作手册与排错参考。1. eeupdate64e 装在 Linux 上难点从来不在敲命令一台闲置的 x86 主板机器插上一张四口 i350通上电进入系统ip l看不到任何新增网口lspci里能认出 8086:1521可就是没有接口能工作。另一种更常见的局面是卡本身是好的但四个口的 MAC 地址全是出厂默认值或者四个口使用同一个 MAC接进内网后交换机端口保护立刻告警网管电话也会马上打过来。Linux 系统下的网络设备管理真正卡人的往往不是配置 IP而是网卡出厂状态这一层MAC 地址修改和固件更新都得在系统识别网卡之前处理。eeupdate64 就是做这件事的它不经过常规网络协议栈直接读写网卡的 EEPROM 与 Flash。下面按 i210、i350、82575/6、xl710、e810 这串型号的实际操作顺序展开重点落在 i350 和 xl710 两块卡上一张 eeprom 空白的卡也能从“认不出来”一直做到 ping 通内网。2. 软件适配与 install从压缩包到能跑出 NIC 列表拿到工具包的人容易忽略一件事eeupdate64e 不是一个独立的可执行文件它依赖配套驱动才能访问网卡底层的 EEPROM 和 Flash。所以官方流程里解压之后第一件事是执行install而不是直接运行eeupdate64e。这一步如果跳过后面的命令要么报找不到设备要么读出来的信息是空的而且报错信息很含糊特别容易让人误判成网卡坏了。2.1 解压与目录Linux_x64里只有两个关键文件工具包从官方渠道下载下来是一个压缩包导入到目标机器的系统里通常放在/root下。解压之后进入/root/Linux_x64/这个目录里一般只有两个关键文件install和eeupdate64e。这两个文件都得有执行权限否则后面寸步难行。# 进入存放工具包的目录按实际压缩包名替换 cd /root unzip eeupdate64e.zip # 查看解压结果确认 install 与 eeupdate64e 都在 ls -l /root/Linux_x64/ls -l的输出重点看权限位。压缩包在 Linux 下解压时一般不会保留原文件的可执行权限如果前面显示的是-rw-r--r--那就代表这两个文件当前只是普通文本文件直接运行会提示Permission denied。这不是工具损坏也不是下载不完整仅仅缺少执行权限。顺手确认一下系统架构是 x86_64因为工具包里区分了Linux_x64这类目录放错平台目录同样跑不起来。2.2 赋权并执行 install驱动装载这一步别跳过给两个文件加上执行权限然后执行install。注意这个install跟系统包管理器里的 install 完全没关系它不改动任何系统软件包做的是把工具自带的驱动模块装载到当前内核里让eeupdate64e能绕过常规网络栈直接发命令。所以它运行成功之后内核里会多出一个模块什么时候不用了要手动卸载不能指望包管理器来处理。cd /root/Linux_x64 # 两个文件都要加执行权限少一个下一步就会失败 chmod x install chmod x eeupdate64e # 装载工具配套驱动看到安装驱动成功字样再往下走 ./install执行完可以顺手看一眼内核日志确认驱动确实加载# 看最后 20 行内核日志确认没有模块加载失败 dmesg | tail -20常见失败有几种一是权限不够普通用户执行./install会直接失败这类工具基本都要求 root二是内核版本太新工具包自带的驱动编译不过日志里会出现Unknown symbol之类的字样这种情况下只能换一台内核版本更贴近工具发布时间的机器或者直接联系厂商要新版工具三是 Secure Boot 开着未签名的驱动模块被拒绝加载日志里能看到签名相关的报错关掉 Secure Boot 再试一次就能确认。2.3 换到 OEM_Mfg 目录真正的工具在第二个位置install成功之后还有一个容易迷路的地方工具并不在原地等你。安装过程中会在/root/eeupdate/下展开一套目录结构真正用来操作网卡的eeupdate64e在/root/eeupdate/TOOLS/Linux_x64/OEM_Mfg里。很多人装完还站在/root/Linux_x64下反复敲./eeupdate64e看到命令能跑但读不到设备就开始怀疑卡有问题其实只是站错了目录——原地那个文件和最终生效的那个文件职责不一样。# 关闭电源前先确认目标目录存在工具在里面 cd /root/eeupdate/TOOLS/Linux_x64/OEM_Mfg ls -l这个目录下的eeupdate64e才是后续所有操作的入口。确认无误之后按官方流程关机、拔电源线这一步是为了保证插拔网卡全程不带电。带电插卡除了有硬件风险还会让设备枚举结果不稳定一会儿能认、一会儿认不出排查起来非常痛苦。注意有些资料里会把工具名写成eeupdata64e那是笔误跟eeupdate64e是同一个东西。照着输入之前先看一眼目录里文件的实际名称以ls的结果为准。3. i350 四口卡MAC 地址修改与 .eep 固件烧录i350 是这套流程里最典型的卡四个千兆口、device ID 1521、固件只吃.eep格式几个特征凑在一起把网卡维护里最容易踩的坑都覆盖了。整个操作分两条线MAC 地址修改和固件烧录前者改的是网卡的身份后者改的是网卡内部的配置镜像两者互不影响——烧固件不会把 MAC 冲掉这一点可以先放心。3.1 先读一遍 NIC 列表哪一个是主板口不能碰插好卡、上电进系统第一件事不是急着改而是先读一遍列表。不带参数执行工具会把当前能访问到的所有网卡按顺序列出来i350 的四个口会在里面各占一行。cd /root/eeupdate/TOOLS/Linux_x64/OEM_Mfg ./eeupdate64e输出里会看到NIC1、NIC2一直到NIC5这样的编号每个编号对应一个网口。重点在于编号不是按面板丝印排的而是按设备枚举顺序来的主板自带的网卡往往排在前面。所以NIC1大概率是 x86 主板自己的网口动它等于把主机的管理网口改瘫机器一重启就再也连不上了。实际操作中要改的从NIC2开始。改之前把这份列表截图或抄下来对比一下机器上贴的 MAC 标签能省掉后面大量对不上的麻烦。3.2 单个口改 MAC一行命令参数只有两个确认好目标口之后改单个 MAC 很简单两个参数/nic指定编号/mac指定 12 位十六进制地址。# 把 NIC2 这个口改成指定 MAC地址里不需要冒号或短横线 ./eeupdate64e /nic2 /mac00e003509820/nic2是列表里的编号/mac后面必须是 12 位十六进制大小写都行但不要写00:E0:03:50:98:20这种带分隔符的格式工具不认。命令返回成功字样之后MAC 已经写进 EEPROM 了但系统里看到的还是旧的因为驱动缓存了原来的地址。这时候重启一次再用ip l看对应网口的link/ether就会变成新的值。这一步的重启不是可选项跳过它后面所有验证都会得到错误结论。注意改 MAC 之前先确认这个地址不是厂里其它设备的在用地址。批量修改尤其容易出这种事四个口连着写四个地址写完之后才发现跟隔壁机柜撞了只能整组重来一遍。3.3 批量改四个口写一个 dat 文件一次写完四个口逐个改太慢而且容易改错顺序。工具支持从文件读地址分配方案写法是在文件里写一行“起始地址 数量”。# 建一个描述文件文件名随意这里沿用 mac2.dat touch mac2.dat # 写入起始 MAC 与连续数量[4] 表示从起始地址往后连续分配 4 个 vim mac2.dat # 文件内容只有一行 # 00e003509820 [4]保存退出后执行批量写入# /device1521 表示按设备号定位 i350 # /A 表示按文件里的方案批量分配 ./eeupdate64e /device1521 /A mac2.dat/device1521是 i350 的 PCI 设备号用设备号定位比用/nic更稳因为编号会随插槽和枚举顺序变设备号不会。/A是从文件读分配方案的动作文件里那一行[4]就是“往后连续四个”的意思。执行完同样要重启再用ip l核对四个口是不是从00e003509820一直排到00e003509823。这里有个取舍要讲清楚/device1521会把机器上所有 i350 都算进去。如果机器上同时插了两张 i350批量写入会按枚举顺序把地址往所有口上摊结果就不是你想要的。遇到多卡场景老实回到/nic一个个改或者一次只插一张卡操作。3.4 先 dump 一份 .eep这是回滚用的文件固件烧录之前强烈建议先把当前卡里的固件导出来。i350 的导出命令是/dump执行完会在当前目录生成一个以 MAC 命名的.eep文件。# 把 NIC2 口当前的固件导出成 .eep 文件 ./eeupdate64e /nic2 /dump导出文件名通常是00E003509820.eep这种形式方便和别的卡区分。这份文件有两个用途一是作为“回滚文件”万一新固件烧进去之后卡行为异常能用它写回去二是作为“基础文件”后面遇到 eeprom 空白的卡靠的就是从正常卡上 dump 出来的这种.eep。写固件用的是/d参数# 把 dump 出来的 .eep 写回去验证一遍文件本身没问题 ./eeupdate64e /device1521 /d00E003509820.eepi350 在固件这件事上有一条硬限制只认.eep公司内部现存的.bin和.hex不要往它上面试。格式不对的时候工具不会提示“格式不支持”这么直白往往是写到一半报错退出卡还在一个半新半旧的状态比没动过更麻烦。3.5 一块 eeprom 空白的 i350device 变 151f 也能救回来全新或者被擦干净的 i350情况完全不一样。EEPROM 里既没有固件也没有 MAC系统根本不把它当网卡看ip l里什么都没有看起来跟没插一样。但lspci里能看到设备说明硬件是好的。# 对着空白卡执行输出会明确提示 eeprom less ./eeupdate64e这时候要抓的关键信息是 device 号。正常 i350 是1521空白状态下的 device 号会变成151f。这个细节非常反直觉——同一张卡状态不同设备号都不一样不知道这一点的人会以为卡型号不对转头去翻驱动兼容列表方向从一开始就错了。救回来的办法是先把固件写进去# 注意 device 是 151f 而不是 1521写的是从正常卡 dump 出来的 .eep ./eeupdate64e /device151f /d00E003509820.eep烧完重启再执行一次列表命令device 会变回1521这时候它才是一张正常的 i350接下来按 3.2 或 3.3 的流程写 MAC 就行。顺序不能反过来先写 MAC 是写不进去的因为工具压根不认为这是一张可操作的卡。4. xl710 万兆卡1572 上的 .bin 与 .eep 怎么选xl710 是万兆卡device ID 是1572MAC 修改流程和 i350 完全一致/nic和/device两套定位方式都通用所以从 i350 过来的人不会觉得陌生。真正需要多想一步的是固件它同时支持.bin和.eep两种格式但两种格式的代价差得很远。4.1 确认设备在位MAC 修改前先看清编号插卡上电之后先列一遍# 列出当前所有可操作的网卡确认 xl710 的编号 ./eeupdate64exl710 在列表里的编号同样受枚举顺序影响机器上同时有板载网卡和 i350 的时候xl710 可能排在很后面。确认方式比 i350 多一层可以用lspci按设备号过滤把工具列表和lspci结果对一遍避免改错对象。# 按 Intel 厂商号过滤找 1572 这条 lspci -nn | grep -i 8086对上了再动手。xl710 改 MAC 的命令形式完全一样# 单个口 ./eeupdate64e /nic3 /mac00e007102958 # 批量文件格式与 i350 相同 ./eeupdate64e /device1572 /A mac2.dat写完同样要重启才生效。这一步没有捷径工具写的是 EEPROM系统读的是驱动缓存中间隔着一次重启。4.2 .bin 与 .eep 的取舍时间差在擦写范围上两种格式都能烧但用时差得很明显。.bin是完整的 Flash 镜像烧录时要把整个区域擦掉重写一张万兆卡的 Flash 容量不小整个过程可能拖很久.eep只涉及配置区写入量小得多几分钟能完事。所以实际操作里推荐一律用.eep.bin只在拿不到.eep的时候作为备选。# 用 .bin 烧录注意这条会跑很久中间不要断电 ./eeupdate64e /device1572 /d XL710_7p30_SFI_MCTP_CFGID7p2_Quad.bin # 用 .eep 烧录推荐路线 ./eeupdate64e /device1572 /d00E007102958.eep两条命令跑起来之后最怕的就是中途断电或者手贱按了 CtrlC。Flash 擦到一半停下卡就进入一个既不是旧固件也不是新固件的状态表现是设备号还在但功能全丢比 eeprom 空白的 i350 更难救。所以烧录前把机器的电源管理关掉别让它休眠也别在远程会话里操作尽量坐在机器前面等着。4.3 全新 xl710 的使用边界没有初始固件就烧不进去i350 那套“空白 → device 变 151f → 先烧固件救活”的流程在 xl710 上走不通。实操里遇到一块 Flash 里完全没有初始固件的全新 xl710工具会直接报错退出没有151f那种中间状态可以借力。这意味着 xl710 的固件维护有一个前提卡上得先有一份能用的初始固件。拿到.eep的办法是从一张已经正常工作的同型号卡上/dump命令和 i350 一致# 从正常工作的 xl710 上导出固件作为后续烧录的基础文件 ./eeupdate64e /nic3 /dump所以批量维护 xl710 的时候正确的做法是留一张“基线卡”专门用来 dump别把所有卡都烧成空白再想着怎么救。真遇到完全空白的卡只能走厂商渠道拿完整的初始镜像这不是靠工具命令能解决的。5. 避坑与排查五次返工换来的经验下面这几条都是实际做过之后才明白的每条都按“现象 → 原因 → 解决”写遇到对应情况可以直接对照。5.1 识别阶段eeprom less 与 NIC 编号错位坑一以为卡是坏的。现象执行./eeupdate64e返回eeprom lessip l里看不到任何新网口但lspci能认到设备。原因EEPROM 里没有固件系统不会把它注册成网卡工具只能通过151f这个特殊设备号识别到它。解决用/device151f /dxxx.eep先把固件写进去重启之后设备号会变回1521再按正常流程改 MAC。判断一张 i350 是不是空白看设备号比看ip l更准。坑二把主板网口改了。现象改完某个NIC之后机器彻底断网重启也连不上只能接显示器到本地救。原因NIC 编号按枚举顺序排主板板载网卡通常排在最前面NIC1经常就是它。改之前没核对列表直接从这个编号开始动手。解决改之前先把列表和机器上的 MAC 标签对一遍只动NIC2或者干脆统一用/device定位减少编号歧义。已经改坏的本地登录进去用同样的命令把原 MAC 写回去重启恢复。5.2 执行阶段权限、路径与写入格式坑三命令找不到或者没有权限。现象./install提示Permission denied或者./eeupdate64e提示No such file or directory。原因前者是解压时丢了执行位后者多半是站在/root/Linux_x64下敲命令而真正生效的工具在/root/eeupdate/TOOLS/Linux_x64/OEM_Mfg。解决chmod x install eeupdate64e补权限cd到OEM_Mfg目录再执行。养成习惯每次操作前先pwd看一眼当前路径。坑四i350 上烧了 .bin 或 .hex。现象烧录命令执行到一半报错退出之后卡的状态不稳定有时候能认有时候认不出。原因i350 的固件写入只接受.eep.bin和.hex是给 xl710 这类卡用的格式不匹配时工具不会提前拦下来。解决从一张正常的 i350 上/dump出.eep再写回去把卡恢复到干净状态然后严格用.eep操作。手里同时有 i350 和 xl710 的时候文件分目录放别混在一起。5.3 验证阶段MAC 改了却没生效坑五地址改对了但 ping 不通。现象ip l里已经能看到新的 MAC配上 IP 之后还是 ping 不通内网服务器。原因主板板载网口还挂着原来的 IP 和路由流量全从它出去或者目标口上残留了旧的地址配置。解决先把板载口关掉再把目标口的地址清一遍重新配最后再 ping。# 关掉主板自带网口避免路由走错 ifconfig enp0s31f6 down # 目标口先清零再配新地址 ifconfig enp1s0f0 0.0.0.0 ifconfig enp1s0f0 172.16.225.33 # 确认能通 ping -c 4 172.16.225.1网口名要以ip l的实际输出为准不同主板上的命名规则不一样enp1s0f0只是其中一种常见形式。另外别忘了把网线插到刚改过的那个口上四口卡上插错口导致白忙一场的情况比想象中多。6. 装完怎么验证四道自检少走一次返工一套操作做完不要只看最后一句 ping 通没通就收工。中间任何一步出错最后都有可能碰巧 ping 通——比如流量其实走的是板载口。所以验证要分四层来做从工具到系统到链路再到业务一层对不上就往上找。检查层命令期望结果工具视角./eeupdate64eNIC 列表里目标口的 MAC 与写入值一致系统视角ip l对应网口的link/ether是新地址链路视角ethtool enp1s0f0Link detected: yes业务视角ping -c 4 内网地址有回包丢包率为 0# 第一层工具读出来的 MAC 才是 EEPROM 里的真实值 cd /root/eeupdate/TOOLS/Linux_x64/OEM_Mfg ./eeupdate64e | grep -iE NIC|MAC # 第二层系统看到的地址必须和第一层一致 ip l | grep -A2 enp1s0f0 # 第三层确认对端有信号没装 ethtool 就看网口指示灯 ethtool enp1s0f0 | grep -i link detected # 第四层关掉板载口配临时地址发四个包确认 ifconfig enp0s31f6 down ifconfig enp1s0f0 0.0.0.0 ifconfig enp1s0f0 172.16.225.33 ping -c 4 172.16.225.1第一层和第二层对不上说明没重启或者重启没生效回到工具重新确认一遍写入结果第二层对了但第三层显示没有链路问题在光模块、网线或者对端端口跟这次烧录无关前三层都过了但 ping 不通多半是地址、掩码或路由的问题检查一下是不是还有别的网口占着默认路由。这套顺序的价值在于定位出问题时能立刻判断是烧录环节的错还是网络配置的错不用从头再走一遍。从那以后我每次动网卡之前都会先把lspci、工具列表和机器贴纸三样东西对一遍dump 出来的.eep单独存一份改完必定重启再做四层验证。这几步加起来也就十分钟但能把返工率压到很低。希望帮到你。本文还有配套的精品资源点击获取

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑