内核版本:6.1
文件系统:ubuntu22.04
驱动:usb驱动
1、确认usb是否正常识别到模块
usb正常能识别到设备的。 无论是否在option.c添加对应pid和vid
查看内核打印信息会发现并没有生成对应/dev/ttyUSB*节点信息
2、option驱动添加模块pid&vid
查看上面lsusb截图可以确认EG800Z pid ,vid 为0x2C7C, 0x0903
vim drivers/usb/serial/option.c
在option_ids下添加:
{ USB_DEVICE(0x2C7C, 0x0903) },
具体可以参考移远指南Linux_USB_Driver_用户指导手册
添加完成后编译烧写固件,启动后可以看到usb内核打印信息
dmesg | grep usb
添加到驱动是永久生效的 ,下面为临时测试方法 ,使用echo方法
echo -n "2c7c 0903" > /sys/bus/usb-serial/drivers/option1/new_id
执行完成后 再查看usb内核打印信息 dmesg | grep usb
3、测试联网是否功能
使用到AT相关指令
microcom -p /dev/ttyUSB1
//确认模式是否为ECM
at+qcfg="usbnet"
//SIM卡是否正常
at+cpin?
//拨号上网
AT+qnetdevctl=1,1,1
//up节点
ifconfig usb0 up
//获取ip地址
udhcpc -i usb0
//确认路由优先级
route -n
//ping百度测试
ping www.baidu.com -I usb0
其他AT指令,发送ATI查看模块信息
暂时只需要网络功能,只验证了网络功能是正常的。