麒麟OS上为工控设备或国产化服务器增加USB网卡需三步:先用lsusb和modinfo确认芯片兼容性与驱动加载,再通过modprobe或new_id手动绑定生成网络接口,最后用nmcli配置静态IP并启用NetworkManager接管。

在麒麟OS上为工控设备或国产化服务器增加第二个网络接口,常需依赖USB网卡实现物理层扩展,尤其当主板仅提供单网口且PCIe插槽不可用时。这种场景下,USB网卡不是即插即用的“备用网线”,而是必须通过内核模块加载、udev规则识别、网络服务接管三重校验才能纳入系统网络栈的受控设备。
确认USB网卡芯片型号与内核兼容性
插入USB网卡后,立即执行 lsusb -v | grep -A 5 "idVendor\|idProduct",提取厂商ID(idVendor)和产品ID(idProduct)十六进制值,例如 【0bda:8153】 表示Realtek RTL8153千兆方案;若输出为空或显示“unable to get device descriptor”,说明USB供电不足或物理连接异常,需更换USB 3.0端口或加装带源供电的集线器。
对照麒麟V10 SP1内核版本(默认5.10.0-106.fc34.ky10),检查该ID是否已内置驱动:运行 modinfo usbnet | grep -i "0bda\|8153",若返回驱动作者、参数及alias行,说明无需额外编译;若提示“Module usbnet not found”,则需先安装 kernel-modules-extra 包并重启。
手动绑定驱动并验证网络接口生成
方法一:强制加载驱动模块链
执行 sudo modprobe usbnet && sudo modprobe r8152(r8152为RTL8153专用驱动);若提示“FATAL: Module r8152 not found”,说明驱动未随内核发布,须从麒麟软件仓库安装 kmod-r8152 包,再重新加载。
方法二:绕过udev自动绑定(适用于驱动已加载但接口未生成)
执行 echo "0bda 8153" | sudo tee /sys/bus/usb/drivers/r8152/new_id,该命令将VendorID/ProductID对直接注入驱动匹配表;随后运行 ip link show,观察是否出现名为 【enx+MAC后六位】 或 【usb0】 的新接口;若仍无,检查 dmesg | tail -20 是否含“r8152: register usbnet usb-...”成功日志。
配置静态IP并启用NetworkManager接管
第一步:创建NM连接配置文件
运行 nmcli connection add type ethernet con-name "USB-NIC-2" ifname enx001122334455,其中 【enx001122334455】 必须替换为上一步查到的真实接口名;若接口名为usb0,则此处写usb0,不能省略。
第二步:设置IPv4参数
执行 nmcli connection modify "USB-NIC-2" ipv4.method manual ipv4.addresses "192.168.100.10/24" ipv4.gateway "192.168.100.1" ipv4.dns "223.5.5.5",注意地址段必须与主网口所在子网隔离,避免路由冲突。
第三步:激活连接
运行 nmcli connection up "USB-NIC-2";此时执行 ip addr show enx001122334455 应显示已分配IP,且 ping -I enx001122334455 192.168.100.1 可通。











