OpenWrt操作系統移植SIM7600CE驅動及調試

1、開發環境
操作系統:OpenWrt
客戶機:MT7688
撥號方式:NDIS------>wwan0

2、配置文件及參數
(1)USB Serial 的內核配置支持
在 linux 內核配置中,請確保
CONFIG_USB_SERIAL=y
CONFIG_USB_SERIAL_WWAN=y
CONFIG_USB_SERIAL_OPTION=y
CONFIG_USBNET=y
(2) 修改驅動代碼增加 SIM7500_SIM7600 的 VID/PID 並且跳過 Interface 5
找到內核源碼文件 option.c(一般情況下,路徑在 drivers/usb/serial/option.c)Smart Machine Smart Decision
 如果是較新的內核版本(V3.2 以上)
#define SIMCOM_SIM7600_VID 0x1E0E
#define SIMCOM_SIM7600_PID 0x9001
//for SIM7600 modem for NDIS
static const struct option_blacklist_info simcom_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
},
… …
 如果是較低的內核版本,
#define SIMCOM_SIM7600_VID 0x1E0E
#define SIMCOM_SIM7600_PID 0x9001
在 option_ids 列表中增加
{ USB_DEVICE(SIMCOM_SIM7600_VID, SIMCOM_SIM7600_PID)}, /*SIM7600 /
並且在 option_probe 裏過濾掉 interface 5
/
sim7600 */
if (serial->dev->descriptor.idVendor == SIMCOM_SIM7600_VID &&
serial->dev->descriptor.idProduct == SIMCOM_SIM7600_PID &&
serial->interface->cur_altsetting->desc.bInterfaceNumber == 5 )
return -ENODEV;
(3)內核調試信息打印
如果驅動正確編譯到內核,內核開機找到模塊後,會打印如下信息
usb 1-1: new high speed USB device using rt3xxx-ehci and address 2
option 1-1:1.0: GSM modem (1-port) converter detected
usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0
option 1-1:1.1: GSM modem (1-port) converter detectedSmart Machine Smart Decision
usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1
option 1-1:1.2: GSM modem (1-port) converter detected
usb 1-1: GSM modem (1-port) converter now attached to ttyUSB2
option 1-1:1.3: GSM modem (1-port) converter detected
usb 1-1: GSM modem (1-port) converter now attached to ttyUSB3
option 1-1:1.4: GSM modem (1-port) converter detected
usb 1-1: GSM modem (1-port) converter now attached to ttyUSB4
dev/ttyUSB0~4 就會生成,上層應用就可以通過這些設備和模塊交互了(發送
AT 命令等)

將sim7500_sim7600_wwan.c 放在 drivers/net/usb 目錄下,並且修改 Makefile
obj-$(CONFIG_USB_USBNET) += usbnet.o sim7500_sim7600_wwan.o
驅動正確編譯到內核,內核開機後連到模塊會打印如下信息
sim7500_sim7600_wwan 1-1:1.5 wwan0: register ’ sim7500_sim7600_wwan’ at
usb-0000:02:03.0-1, SIMCOM wwan/QMI device, 8a🇩🇪f6:67:ce:1b

使用 ifconfig 查看網卡信息,默認處於 down 狀態。
wwan0 Link encap:Ethernet HWaddr D6:D8:6C:10:B0:0E
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

編譯,將固件燒錄到客戶機上;

3、撥號上網
客戶機開機
輸入

minicom -D /dev/ttyUSB2

根據下表初始化SIM7600配置
在這裏插入圖片描述

最後輸入

AT$QCRMCALL=1,1

撥號成功
按下Ctrl+A,然後X退出minicom

輸入

udhcpc –i wwan0

獲取到IP
wwan0 Link encap:Ethernet HWaddr D6:D8:6C:10:B0:0E
inetaddr:10.47.77.207 Bcast:10.47.77.223 Mask:255.255.255.224
inet6 addr: fe80::d4d8:6cff:fe10:b00e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2 errors:0 dropped:0 overruns:0 frame:0
TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:612 (612.0 B) TX bytes:1642 (1.6 KiB)

最後ping www.baidu.com
如果ping通了 ,說明成功了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章