本文作为工作中的测试相关调试记录用。
之前公司有款处理器为imx6的产品,前置网口是usb通过smsc95xx外扩出来的,测试网络洪水攻击时网口会有概率挂掉,现在用型号亚信AX88772B的USB网卡外接设备的usb hub进行了网络洪水攻击测试。
设备系统是debian8,内核是4.9版本的,AX88772B的驱动内核里已经自带了,可以勾选CONFIG_USB_NET_AX8817X支持。网络洪水攻击测试时发现串口不停打印内核日志,不久后系统重启。分析可能是内核自带的驱动在imx6上不稳定,适配不大好,于是去亚信官网下载了AX88772B的驱动,驱动官网地址https://www.asix.com.tw/cn/product/USBEthernet/High-Speed_USB_Ethernet/AX88772B,目前linux最新版本为4.24.0。
编译驱动步骤
1.在内核源码kernel/drivers/net/usb目录下创建一个ax88772b目录,将下载解压的驱动中除了Makefile、readme外的四个文件放到该目录。
2.在该目录下新建一个Makefile文件,内容如下
代码语言:javascript复制#This driver has been verified on Linux kernel 2.6.14 and later.
obj-$(CONFIG_USB_NET_AX88772B) = asix.o
3.继续在该目录下新建一个Kconfig文件,内容如下
代码语言:javascript复制config USB_NET_AX88772B
tristate "ASIX AX88772B Based USB 2.0 Ethernet Adapters"
depends on USB_USBNET
select CRC32
select PHYLIB
help
This option adds support for ASIX AX88xxx based USB 2.0
10/100 Ethernet adapters.
4.返回上级kernel/drivers/net/usb目录下,修改Makefile文件
代码语言:javascript复制#注释掉以下两行
#obj-$(CONFIG_USB_NET_AX8817X) = asix.o
#asix-y := asix_devices.o asix_common.o ax88172a.o
#添加AX88772B编译
obj-$(CONFIG_USB_NET_AX88772B) = ax88772b/
5.继续修改该目录下的Kconfig文件
代码语言:javascript复制#注释掉下面内容
#config USB_NET_AX8817X
# tristate "ASIX AX88xxx Based USB 2.0 Ethernet Adapters"
# depends on USB_USBNET
# select CRC32
# select PHYLIB
# default y
# help
# This option adds support for ASIX AX88xxx based USB 2.0
# 10/100 Ethernet adapters.
#
# This driver should work with at least the following devices:
# * Aten UC210T
# * ASIX AX88172
# * Billionton Systems, USB2AR
# * Billionton Systems, GUSB2AM-1G-B
# * Buffalo LUA-U2-KTX
# * Corega FEther USB2-TX
# * D-Link DUB-E100
# * Hawking UF200
# * Linksys USB200M
# * Netgear FA120
# * Sitecom LN-029
# * Sitecom LN-028
# * Intellinet USB 2.0 Ethernet
# * ST Lab USB 2.0 Ethernet
# * TrendNet TU2-ET100
#
# This driver creates an interface named "ethX", where X depends on
# what other networking devices you have in use.
添加下面内容
source "drivers/net/usb/ax88772b/Kconfig"
6.进入到内核配置项,勾选 CONFIG_USB_NET_AX88772B,编译进内核里
7.重新编译内核更新设备内核文件
测试结果
AX88772B用了亚信官网的驱动后,进行网络洪水攻击时网口能稳定运行,系统没有再出现重启现象,攻击停止后,ping的延时能恢复正常。
版权属于:咖啡走糖
本文链接:https://cloud.tencent.com/developer/article/2152392
若无注明,本文皆咖啡走糖原创,转载时必须注明出处及本声明!