0x01 原因
今天为 Dell R410 服务器更换内核,更换 4.14 内核后网卡直接挂掉无法访问,经检查是该官方内核没有 BCM 网卡的驱动。真是太坑了。
网卡是:
Broadcom Corporation NetXtreme II BCM5716
输出:
root@exp# dpkg -i linux-image-4.10.17-041017-generic_4.10.17-041017.201705201051_amd64.deb Selecting previously unselected package linux-image-4.10.17-041017-generic. (Reading database ... 54683 files and directories currently installed.) Preparing to unpack linux-image-4.10.17-041017-generic_4.10.17-041017.201705201051_amd64.deb ... Done. Unpacking linux-image-4.10.17-041017-generic (4.10.17-041017.201705201051) ... Setting up linux-image-4.10.17-041017-generic (4.10.17-041017.201705201051) ... Running depmod. update-initramfs: deferring update (hook will be called later) Examining /etc/kernel/postinst.d. run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.10.17-041017-generic /boot/vmlinuz-4.10.17-041017-generic run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.10.17-041017-generic /boot/vmlinuz-4.10.17-041017-generic update-initramfs: Generating /boot/initrd.img-4.10.17-041017-generic W: Possible missing firmware /lib/firmware/bnx2/bnx2-mips-09-6.2.1b.fw for module bnx2 W: Possible missing firmware /lib/firmware/bnx2/bnx2-mips-06-6.2.3.fw for module bnx2 run-parts: executing /etc/kernel/postinst.d/zz-update-grub 4.10.17-041017-generic /boot/vmlinuz-4.10.17-041017-generic Generating grub configuration file ... Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported. Found linux image: /boot/vmlinuz-4.10.17-041017-generic Found initrd image: /boot/initrd.img-4.10.17-041017-generic Found linux image: /boot/vmlinuz-4.4.0-104-generic Found initrd image: /boot/initrd.img-4.4.0-104-generic done
如果使用 http://kernel.ubuntu.com/~kernel-ppa/mainline/ 的内核,就会提示 bnx2-mips 固件找不到的警告,重启服务器后,网卡将无法启动。
如果您误装了 kernel.ubuntu.com 的内核,千万不要关机,否则开机网卡就废了。
0x02 解决方法
如果使用 Dell R410 服务器内置的 BCM 网卡,不要使用提供 kernel.ubuntu.com 的内核。而是要使用 HWE 内核。
1. 通过如下命令安装:
apt install linux-image-generic-hwe-16.04 linux-firmware
2. 修改 sysctl.conf,在下面添加如下条目,开启 BBR:
vim /etc/sysctl.conf
net.ipv4.tcp_congestion_control = bbr net.core.default_qdisc = fq
3. 重启服务器即可。网卡不会再挂掉了。
4. 开机后确认没有问题后,卸载旧内核:
apt purge linux-image-4.4.0-*-generic apt purge linux-image-extra-4.4.0-*-generic
评论前必须登录!
立即登录 注册