一、驱动
1、USB枚举成功,但没有注册到 ttyUSB 或者 ttyACM 设备,此时应检查你的内核:
内核有没有开启 usbserial 功能。
Device Drivers --->
[*] USB support --->
<*> USB Serial Converter support
[*] USB Generic Serail Driver
[*] USB Driver for GSM and CMDA modems
2、内核代码中的 usbserial 相应驱动中有没有添加该设备的 VID/PID:
修改kernel/drivers/usb/serial/option.c,在数组 staticstruct usb_device_id option_ids[]
的末尾添加上新设备的 VID/PID。
USB_DEVICE(0x05c6, 0x9215);
3、
Device Drivers --->
[*] USB support --->
<*> USB Modem (CDC ACM) suppor
4、PPP Configure
Device Drivers --->
[*] Network device support --->
<*> PPP (point-to-point protocol) support
<*> PPP support for async serial ports
<*> PPP support for sync tty ports
<*> PPP Deflate compression
二、RIL安卓层
1、编译时将 so 库拷贝到上面指定目录 /system/lib64/libreference-ril.so
a、设置 BOARD_HAVE_DONGLE 变量:
diff --git a/device/rockchip/rk3399/rk3399_all.mk b/device/rockchip/rk3399/rk3399_all.mk
#for 3G/4G modem dongle support
-BOARD_HAVE_DONGLE := false
+BOARD_HAVE_DONGLE := true
BOARD_GRAVITY_SENSOR_SUPPORT := true
b、编译时将 so 库拷贝到上面指定目录 /system/lib64/libreference-ril.so
diff --git a/vendor/rockchip/common/phone/phone.mk b/vendor/rockchip/common/phone/phone.mk
PRODUCT_COPY_FILES += \
$(CUR_PATH)/phone/etc/ppp/ip-down:system/etc/ppp/ip-down \
$(CUR_PATH)/phone/etc/ppp/ip-up:system/etc/ppp/ip-up \
$(CUR_PATH)/phone/etc/ppp/call-pppd:system/etc/ppp/call-pppd \
- $(CUR_PATH)/phone/etc/operator_table:system/etc/operator_table
+ $(CUR_PATH)/phone/etc/operator_table:system/etc/operator_table \
+ $(CUR_PATH)/phone/lib/libreference-ril.so:system/lib64/libreference-ril.so
ifeq ($(strip $(PRODUCT_MODEM)), DTS4108C)
PRODUCT_COPY_FILES += \
2、修改 rild.libpath
a、 diff --git a/device/rockchip/common/device.mk b/device/rockchip/common/device.mk
ifeq ($(strip $(BOARD_HAVE_DONGLE)),true)
ifeq ($(strip $(TARGET_ARCH)), arm64)
PRODUCT_PROPERTY_OVERRIDES += \
- rild.libpath=/system/lib64/libril-rk29-dataonly.so
+ rild.libpath=/system/lib64/libreference-ril.so
b、指定ttyUSB0是AT口///一般不需要
rild.libargs=-d /dev/ttyUSB0
c、添加PHONE进程
PRODUCT_PACKAGES += com.android.phone.common
3、修改/dev/ttyUSB*权限
system/core/rootdir/ueventd.rc
+/dev/ttyUSB* 0666 radio radio
三、调试指令查看log指令:
getprop | grep ril
logcat -b radio -v time //查看log
getprop init.svc.ril-daemon //检查ril守护进程Runing
cat init.rc | grep ril-daemon//检查ril-daemon服务是否生效
getenforce //检查SELinux是否开启,<setenforce 0>命令关闭
getprop gsm.version.ril-impl //检查ril版本,如未出现ril库没有添加上,或者检查phone进程
四、查看网口指令
ifconfig -a