I210 链路速度修改不生效问题定位

本文档描述了一个关于Broadwell-DE I210网卡在尝试修改速度时遇到的问题。无论是在BIOS设置还是使用lanconf工具,都无法成功将速度从自协商模式改为固定速度。问题根源在于MANC寄存器的KEEP_PHY_LINK_UP位被设置,导致修改无效。解决方案可能涉及使用SMBUS命令或NCSI命令,但因硬件连接到BMC的复杂性而未进一步探究。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:Broadwell-DE I210 <-------> Switch (Auto Negotiation -- ON, Max support speed – 100Mbps)

问题描述:无论在BIOS Setup下以及使用Lanconf工具修改I210的速度,最终都是自协商模式,修改不成功。

1.在BIOS Setup下修改,不生效


2.使用lanconf工具修改,不生效

LANCONF tool-->Intel (R) I210 Gigabit Network Connection 8086-1533 -->Transmit and Receive-->Setup Menu-->Link Settings-->Change "Link Mode" to "Force Speed" and select the specific speed -->Save Changes/Reset Link

3.使用ethtool在OS下进行修改

root@sonic:~# ethtool -s eth0 autoneg off speed 10 duplex half

[ 1107.370967] igb 0000:0a:00.0: Cannot change link characteristics when SoL/IDER is active.

Cannot set new settings: Invalid argument

  not setting speed

  not setting duplex

  not setting autoneg

root@sonic:~#

原因分析:根据第3点,使用ethtool工具内核打印的信息进行定位。

总结

应该是MANC寄存器中的KEEP_PHY_LINK_UP 位被置1了(I210 datasheet #333016),导致链路速度修改不了。文档中提到的修改方法是通过SMBUS 命令或者是NCSI 命令去修改,由于我们硬件上使用的I210通过NCSI连到了BMC,询问BMC工程师说实现好像有点复杂,就没继续追踪了。

### Docker容器端口映射未生效问题的排查与修复 当遇到Docker容器端口映射未生效的情况时,可以从以下几个方面进行排查并解决问题: #### 1. **确认容器状态** 确保目标容器已正确停止后再进行操作。可以通过以下命令检查容器的状态: ```bash docker ps -a ``` 如果容器正在运行,则需要先将其停止: ```bash docker stop 容器ID ``` #### 2. **检查端口冲突** 使用`lsof`或`netstat`工具来验证宿主机上是否存在其他程序占用相同端口: ```bash lsof -i:外部端口 ``` 或者: ```bash netstat -nltp | grep 外部端口 ``` 如果有其他进程占用了指定的端口,则需要释放该端口或将Docker映射到另一个可用端口[^2]。 #### 3. **验证防火墙设置** 检查宿主机上的防火墙是否阻止了对应的端口访问。对于Linux系统的`firewalld`服务,可以执行如下命令查看开放的端口列表: ```bash firewall-cmd --list-ports ``` 如果没有发现所需的端口,需手动添加: ```bash firewall-cmd --add-port=外部端口/tcp --permanent firewall-cmd --reload ``` 此外,还需注意云服务商的安全组策略可能也会限制流量进入特定端口。例如,在腾讯云或其他公有云环境中,应检查实例的安全组规则以确保其允许相应的入站连接。 #### 4. **修改容器配置文件** 若希望永久保存新的端口映射关系而无需每次都重建容器,可编辑位于`/var/lib/docker/containers/<容器ID>/hostconfig.json`中的内容。具体步骤如下: - 找到目标容器的实际路径; - 编辑`hostconfig.json`文件内的`PortBindings`字段,增加期望的新映射条目,形如 `"50070/tcp": [{"HostIp": "", "HostPort": "10000"}]`[^1]。 完成上述调整之后记得重启整个Docker服务以及关联的目标容器以便使改动生效: ```bash systemctl restart docker docker start 容器ID ``` #### 5. **测试连通性** 最后一步是要检验从客户端能否顺利抵达所设定的服务端点。尝试利用简单的HTTP请求工具像curl去探测web应用响应状况;而对于数据库类别的场景则考虑采用专门管理界面登录方式来进行功能验证[^3]。 --- ### 总结 综上所述,针对Docker容器端口映射失效的现象,主要围绕着几个核心环节展开分析——即核查当前工作流程下的各组件间交互逻辑链路完整性(包括但不限于基础环境搭建、资源分配合理性评估等方面),从而定位根本原因所在,并采取针对性措施加以修正优化直至恢复正常运作水平为止。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值