识别模块
主设备支持 lsusb 命令,则使用 lsusb 命令查看 USB 设备信息,确认主设备已经识别到 N58 模
块:出现 ID:2949:7401
端口映射关系
添加VID 和 PID
使用 RNDIS 拨号,需要过滤 RNDIS 端口。
在 kernel/drivers/usb/serial/option.c 文件中,option_ids 数组里面,添加 VID:0x2949 PID:0x7401。
需要用到 N58 模块的网卡拨号,则应过滤网卡端口, 对过滤端口”进行修改。使用 RNDIS 拨号,需要过滤RNDIS 端口;
File:[KERNEL]/drivers/usb/serial/option.c
(Linux 内核版本在 3.8 以上)
static const struct option_blacklist_info neoway_2949_7401_blacklist = {
.reserved = BIT(1) , //过滤 1 端口
};
static const struct usb_device_id option_ids[] = {
{ USB_DEVICE(0x2949, 0x7401),
.driver_info = (kernel_ulong_t)&neoway_2949_7401_blacklist },
······
}
添加RNDIS驱动
进入 kernel 目录,执行 make menuconfig;
Device Drivers --->
[*] USB support --->
<*> USB Serial Converter support --->
<*> USB driver for GSM and CDMA modems (CONFIG_USB_SERIAL_OPTION=y)
Device Drivers --->
-- Network device support --->{M} USB Network Adapters --->{} Multi-purpose USB Networking Framework (CONFIG_USB_NET=m)
{M} Host for RNDIS and ActiveSync devices
(CONFIG_USB_NET_RNDIS_HOST=m)
配置 kernel,选择 RNDIS 选项,保存配置并退出;
在 kernel 文件目录中重新编译内核,然后烧录文件到机器;
验证 RNDIS 驱动是否添加成功
重启开机后,通过命令 lsusb -t 命令来查看 RNDIS 驱动是否正常识别;
用命令 ifconfig 查询,出现新的网卡设备,则表示 RNDIS 驱动加载成功。
确认端口对应顺序
USB 加载节点,使用指令 ls /dev/tty*
配置串口工具 minicom
$ minicom -s #minicom配置
选择 “Serial port setup” 选择回车
在设置界面,键入A~G进行对应参数配置
一般只需要指定Serial Device 即可,其他保持默认;
键入字母A ,修改为 /dev/ttyUSB2 回车
选择 Save setup as dfl 将但钱配置选择为默认配置,下次就可以之际金额运行命令minicom ,无需再进行配置;
选择 Exit 推出配置界面
发送AT指令进行交互
echo 命令测试AT指令
modem 端口和 AT 端口都能通 AT 指令,建议使用 AT 端口,发送 AT 指令给 N58 模块。如果使用
modem 端口发送 AT 指令,则 modem 端口被占用,无法使用 PPP 拨号。