sim7600ce拨号上网

1使用lsusb命令确认4G模块工作正常,没找到的话就是硬件有问题了。

 

2修改内核配置选项

make meunconfig修改

<*> USB Serial Converter Support --->

[*] USBGeneric Serial Driver

<*> USBdriver for GSM and CDMA modems

 

3、添加usb串口驱动代码

修改驱动代码增加 SIM7500_SIM7600 VID/PID 并且跳过 Interface 5

找到内核源码文件 option.c(一般情况下,路径在 drivers/usb/serial/option.c)

较新的内核版本(V3.2 以上)

 #define SIMCOM_SIM7600_VID 0x1E0E

 #define SIMCOM_SIM7600_PID 0x9001

 //for SIM7600 modem for NDIS

 static const struct option_blacklist_infosimcom_sim7600_blacklist = {

 .reserved = BIT(5),

 };

option_ids 列表中增加

 … …

 //for SIM7600 modem for NDIS

 { USB_DEVICE(SIMCOM_SIM7600_VID, SIMCOM_SIM7600_PID),

 .driver_info = (kernel_ulong_t)&simcom_sim7600_blacklist

 },

 

预期在 /dev/ 下会出现 ttyUSB0~4

4、USB NDIS NET 使用

 

make meunconfig修改

 

Device Drivers --->

[*] network device support --->

USB network Adapter --->

<*> Multi-purpose USB Networking Framework

<*> USB-to-WWAN Driver for Sierra wireless modems

 

将官方提供文件 simcom_wwan.c

 

simcom_wwan.c 放在 drivers/net/usb 目录下,并且修改 Makefile

obj$(CONFIG_USB_USBNET) += usbnet.osimcom_wwan.o

驱动正确编译到内核,内核开机后连到模块会打印如下信息

imcom_wwan 11:1.5 wwan0: register 'simcom_wwan'at usb0000:02:03.01,

SIMCOM wwan/QMI device, 8a:de:f6:67:ce:1b

预期结果:

 

5、拨号上网

 

依次执行:

echo "AT\$QCRMCALL=1,1" > /dev/ttyUSB3  #拨号上网

udhcpc -i wwan0

ping -I wwan0 www.baidu.com

预期如下:

 

 

问题:有时出现 sending discover...

建议:拨号使用 echo "AT\$QCRMCALL=1,1" > /dev/ttyUSB3  ,而不是使用echo "AT\$QCRMCALL=1,1" > /dev/ttyUSB2

发AT命令使用ttyUSB2。不过我在调试的时候是偶尔出现Sending discover,原因是设备准备好了但4G模块还未准备好导致的。如果从来都没有拨号成功过,就是其他情况了。

6、以insmod  *.ko 的方式拨号上网

make menuconfig配置选项

①usb串口部分

Devces drivers-->USB support--> USB Serial Converter support --> < M > USB driver for GSM and CDMA modems & [*]USB Generic Serial Driver

②usb net ndis部分

Device Drivers  --->

[*] network device support --->
USB network Adapter --->

配置完后退出保存,在编译内核的目录下运行make modules,编译成功后在 drive/net/usb  及drivers/usb/serial/找到后面需要用到的.ko文件。

手动插入模块

①插入wwan0部分
    insmod usbnet.ko
    insmod asix.ko
    insmod cdc_ether.ko
    insmod cdc_ncm.ko
    insmod cdc_subset.ko
    insmod net1080.ko
    insmod sierra_net.ko
    insmod simcom_wwan.ko

②插入usbserial相关模块
    insmod usbserial.ko
    insmod usb_wwan.ko
    insmod option.ko
 

然后ifconfig -a 可以看到 wwan0 网卡了。需要注意一定要先插入①中的模块再插入②中的模块,

如果顺序颠倒系统会找不到wwan0 网卡。然后再参照 "步骤5" 就能获取到ip了。

 

7、参照《SIM7500_SIM7600 Linux NDIS 驱动调试_V2.00.pdf》

 

 

参考:

https://blog.csdn.net/coder9999/article/details/23005877

http://bbs.chinaunix.net/thread-4112888-1-1.html