首先,要先获得技术支持
步骤一,先在USB模块上完成4G
步骤二,移植到PCIE座子上
磨刀不费砍材功,请先拿到技术文档支持,我的参考是:Quectel_Android_RIL_Driver_V3.3.62_master_beta(支持EC200A).tgz
主要文件:Quectel_Android_RIL_Driver_V3.3.62_master_beta(支持EC200A)\libquectel-ril\arm64-v8a\libreference-ril.so
主要文档:Quectel_Android_RIL_Driver_User_Guide_V2.0.pdf
//##//##//##//##//##//##//##//##//##//##//##//##//##//##//##//##//##//##//##//##//##
PCIE原理图部分
调通USB转接小板之后,直接接在PCIE座子上就有信号出现了
//设备打印信息
[ 7.643000] usb 1-1.7: new high-speed USB device number 3 using ehci-platform
[ 7.749890] usb 1-1.7: New USB device found, idVendor=2c7c, idProduct=0125, bcdDevice= 3.18
[ 7.749955] usb 1-1.7: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 7.749981] usb 1-1.7: Product: Android
[ 7.750003] usb 1-1.7: Manufacturer: Android
[ 7.752548] option 1-1.7:1.0: GSM modem (1-port) converter detected
[ 7.753213] usb 1-1.7: GSM modem (1-port) converter now attached to ttyUSB0
[ 7.753814] option 1-1.7:1.1: GSM modem (1-port) converter detected
[ 7.754974] usb 1-1.7: GSM modem (1-port) converter now attached to ttyUSB1
[ 7.755636] option 1-1.7:1.2: GSM modem (1-port) converter detected
[ 7.756855] usb 1-1.7: GSM modem (1-port) converter now attached to ttyUSB2
[ 7.757686] option 1-1.7:1.3: GSM modem (1-port) converter detected
[ 7.758823] usb 1-1.7: GSM modem (1-port) converter now attached to ttyUSB3
[ 7.761038] qmi_wwan_q 1-1.7:1.4: cdc-wdm0: USB WDM device
[ 7.761079] qmi_wwan_q 1-1.7:1.4: Quectel EC25&EC21&EG91&EG95&EG06&EP06&EM06&EG12&EP12&EM12&EG16&EG18&BG96&AG35 work on RawIP mode
[ 7.761710] qmi_wwan_q 1-1.7:1.4: rx_urb_size = 1520
[ 7.762558] qmi_wwan_q 1-1.7:1.4 wwan0: register 'qmi_wwan_q' at usb-fd800000.usb-1.7, WWAN/QMI device, da:6a:4f:b4:a4:63
//DTS配置
kernel\arch\arm64\boot\dts\rockchip\rk3568-evb1-ddr4-v10.dtsi
+ rk_modem: rk-modem {
+ compatible="4g-modem-platdata";
+ 4G,power-gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_LOW>; //4G/5G_EN-MODEM_ON-GPIO4_D2
+ 4G,reset-gpio = <&gpio0 RK_PD5 GPIO_ACTIVE_HIGH>;//4G/5G_RST-MODEM_RST-GPIO0_D5
+ status = "okay";
+ };
//用的驱动是kernel\drivers\net\lte\lte_rm310.c;
\kernel\arch\arm64\configs\rockchip_defconfig;
CONFIG_LTE=y
CONFIG_LTE_RM310=y
//##//##//##//##//##//##//##//##//##//##//##//##//##//##//##//##//##//##//##//##//##
调试部分:
1.使用lsusb
console:/ # su
console:/ #
console:/ # lsusb
Bus 005 Device 001: ID 1d6b:0002
Bus 001 Device 004: ID 2c7c:0125
Bus 003 Device 001: ID 1d6b:0001
Bus 002 Device 002: ID 0bda:c820
Bus 001 Device 001: ID 1d6b:0002
Bus 006 Device 001: ID 1d6b:0003
Bus 001 Device 002: ID 1a40:0201
Bus 004 Device 001: ID 1d6b:0001
Bus 002 Device 001: ID 1d6b:0002
Bus 001 Device 003: ID 25a7:fa61
其中,ID 2c7c:0125就是我们的无线网卡EC20,如果没有,请检查硬件电路。
2.使用 ls -l dev/ttyUSB* 查看是否有节点和是否有权限(没有节点查驱动添加)
2|console:/ # ls -l dev/ttyUSB*
crw-rw-rw- 1 radio radio 188, 0 2022-01-25 15:43 dev/ttyUSB0
crw-rw-rw- 1 radio radio 188, 1 2022-01-25 15:43 dev/ttyUSB1
crw-rw-rw- 1 radio radio 188, 2 2022-01-25 17:26 dev/ttyUSB2
crw-rw-rw- 1 radio radio 188, 3 2022-01-25 15:43 dev/ttyUSB3
3.使用ls -l dev/cdc-wdm0 检查节点是否注册(查系统有无添加这一段节点代码)
130|console:/ # ls -l dev/cdc-wdm0
crw-rw---- 1 radio radio 180, 176 2022-01-25 15:43 dev/cdc-wdm0
4.getprop | grep ril 查看加载库是否正确
130|console:/ # getprop | grep ril
[gsm.version.ril-impl]: [Quectel_Android_RIL_Driver_V3.3.62_dirty]
[init.svc.vendor.ril-daemon]: [running]
[init.svc_debug_pid.vendor.ril-daemon]: [391]
[ril.function.dataonly]: [1]
[ro.boot.noril]: [false]
[ro.boottime.vendor.ril-daemon]: [7157814141]
[ro.ril.ecclist]: [112,911]
[vendor.rild.libpath]: [/vendor/lib64/librk-ril.so]
130|console:/ # getprop | grep rild
[vendor.rild.libpath]: [/vendor/lib64/librk-ril.so]
5.logcat -b radio 打印log信息
130|console:/ # logcat -b radio
--------- beginning of radio
01-25 15:43:17.805 248 248 D TelephonyManager: No /proc/cmdline exception=java.io.FileNotFoundException: /proc/cmdline: open failed: EACCES (Permission denied)
01-25 15:43:17.805 248 248 D TelephonyManager: /proc/cmdline=
01-25 15:43:22.633 249 249 D TelephonyManager: No /proc/cmdline exception=java.io.FileNotFoundException: /proc/cmdline: open failed: EACCES (Permission denied)
01-25 15:43:22.633 249 249 D TelephonyManager: /proc/cmdline=
01-25 15:43:24.111 447 447 D TelephonyRegistry: listen oscl: mHasNotifySubscriptionInfoChangedOccurred==false no callback
01-25 15:43:24.232 447 528 D TelephonyRegistry: listen oscl: mHasNotifySubscriptionInfoChangedOccurred==false no callback
01-25 15:43:24.321 447 461 D TelephonyRegistry: listen oscl: mHasNotifySubscriptionInfoChangedOccurred==fal