高新興GM510模塊調試


Platform:rk3399

Os:android7.1

Kernel:4.4

 

1.1 在內核中添加USB串口驅動和USB網卡驅動

通過指令make ARCH=arm64 menuconfig,配置內核:

添加 USB 串口驅動:

device drivers-->

 usb support-->

usb serial converter support-->

 USB driver for GSM and CDMA modems

 

添加 USB 網卡驅動

device drivers-->

 Network device support-->

usb Network Adapters-->

 Mulil-purpose USB Networking Framework

 

總之,要確保源文件中的 option.c 及其相關的部分(USB 串口驅動),cdc_ether.c 及其相關部分

USB 網卡驅動)參與編譯即可。

1.2 在內核中添加PPP組件

device drivers-->

Network device support-->

 ppp support-->

 ppp filtering

ppp support for async serial ports

ppp support for sync tty ports

ppp deflate compression

ppp BSD-compress compression

 

1.3 在內核驅動源文件中添加模組相關的信息:

在內核驅動源文件中添加模組相關的信息:USB 網卡驅動可以自動識別到 GOSUNCN

模組,因此,其對應的 cdc_ether.c 文件中不需要添加任何內容。但是 USB 串口驅動不能

自動識別,必須要添加 GOSUNCN 模組的設備信息到源文件 option.c 中。

文件路徑:/kernel/drivers/usb/serial/option.c

GM510 的 VID 和 PID 分別是 0x305a 和 0x1415, 添加如下:

static const struct usb_device_id option_ids[] = {

。。。。

{ USB_DEVICE(ZTE_GM510_VENDOR_ID, ZTE_PRODUCT_GM510_X) },//wmc add by ZTE GM510

。。。。

}

 

添加黑名單信息,上面添加模組信息時只添加了設備的 VID 和 PID,沒有附加任何額外的端口信息,這樣會導致設備的網卡也被加載成為 USB 串口。以下提供一種類似於黑名單的方式,在 option_probe 函數中,將網卡對應的端口加入黑名單,防止 USB 網卡被加載成為 USB 串口。

ECM 端口模式下,GM510 網卡對應的端口為 0、1,請將以下代碼添加到option_probe 函數中。

 

1.4在Android系統的init.rc中添加服務

在以下路徑\system\core\rootdir\init.rc中修改:

ril-daemon 服務(添加前注釋掉原來的 ril-daemon 服務)

 

pppd_gprs 服務

 

 

 

1.5修改分配ip地址是掛接到usb0:

沒修改之前,ip地址是掛接到eth0上,都沒有接網線,這樣肯定不對。

kernel\drivers\net\usb\usbnet.c中:

 

 

 

eth改為usb。用ifconfig查看ip地址:

 

1.6打包相關文件到系統中

 

以上文件是模組廠提供的,只需要預置到系統對應的文件下就可以了。

1.7 apn配置

一般是修改apns-conf.xml文件,一般常用的卡比如移動、聯通、電信都是有已經配置好在里面了。特殊的卡才需要自己再繼續添加。

 

 

1.8 buil.prop里面設置網絡的優先等級

ro.telephony.default_network=22

這個對應frameworks\base\telephony\java\com\android\internal\telephony\RILConstants.java

 

 

2、調試

此時,我們的基本適配工作就做完了。編譯系統並燒寫。首先可以來檢查我們的4G模塊是否被正確識別到。可以查看內核打印來檢查。

 

 

通常kernel啟動時候打印以上信息,說明驅動沒問題了。

 

抓取Radio log的方法adb logcat -b radio -v time,如果上不了網,可以通過這個打印信息來分析問題。

幾條調試可能用到的AT指令:

AT+CPIN? //SIM 卡狀態

AT+CSQ //信號強度

AT+ZPAS? //注冊狀態

 

echo -e "AT+ZSNT?" > /dev/ttyUSB1//查看模塊是什么模式

echo -e "AT+ZSNT=0,0,0" > dev/ttyUSB1//這個是自動模式

注意:模塊要設置成自動模式才可以用。

 

總結:按照以上的步驟來調試,sim卡裝上移動卡和聯通卡發現都可以上網,但是裝上電信物聯卡就不行,經了解原來電信物聯卡具有綁定設備的功能,也就是此卡已經綁定之前在用的ec20模塊,要在其他設備上使用的話,需要解鎖才可以。果然,解鎖了之后,插上馬上就有信號出來了。

 

參考:https://www.cnblogs.com/chorm590/p/rk3128_me3630-w.html

官方文檔:高新興物聯模組Android系統RIL適配參考_V1.6-20190315


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM