rk3588 android13调试移远EC20模块

本文以rk3588 android13平台调试移远EC20模块所遇到的问题做出记录。
Soc: rk3588
Os: android13

1.sdk支持4g modem功能

打开device/rockchip/common下BoardConfig.mk
BOARD_HAS_RK_4G_MODEM ?=true

2.修改ro.boot.noril为false

因为vendor/rockchip/common/phone/phone.mk和device/rockchip/common/modules/4g_modem.mk都有定义
将ro.boot.noril属性修改为false

3.修改dhcpcd和rk所支持的librk-ril.so

device/rockchip/common/4g_modem路径下存放4g模块相关的ril库
但是拿到sdk中device/rockchip/common/modules/4g_modem.mk定义了dhcpcd和librk-ril.so的拷贝
因为我们拿到的是EC20模块所以将rk提供的ril库注释掉,改动如下所示:
--- a/modules/4g_modem.mk
+++ b/modules/4g_modem.mk
@@ -17,15 +17,29 @@
PRODUCT_PACKAGES += \
     CarrierDefaultApp \
     CarrierConfig \
+    TelephonyProvider \
+    TeleService \
+    Telecom \
     rild \
-    librk-ril \
     dhcpcd

ifeq ($(strip $(TARGET_ARCH)), arm64)
-PRODUCT_PROPERTY_OVERRIDES += \
+#PRODUCT_PROPERTY_OVERRIDES += \
     vendor.rild.libpath=/vendor/lib64/librk-ril.so
PRODUCT_COPY_FILES += \
-    $(LOCAL_PATH)/4g_modem/bin64/dhcpcd:$(TARGET_COPY_OUT_VENDOR)/bin/dhcpcd \
-    $(LOCAL_PATH)/4g_modem/lib64/librk-ril.so:$(TARGET_COPY_OUT_VENDOR)/lib64/librk-ril.so
+    $(LOCAL_PATH)/../4g_modem/bin64/dhcpcd:$(TARGET_COPY_OUT_VENDOR)/bin/dhcpcd \
+    #$(LOCAL_PATH)/../4g_modem/lib64/libril.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libril.so
else
-PRODUCT_PROPERTY_OVERRIDES += \
+#PRODUCT_PROPERTY_OVERRIDES += \
     vendor.rild.libpath=/vendor/lib/librk-ril.so
PRODUCT_COPY_FILES += \
-    $(LOCAL_PATH)/4g_modem/bin32/dhcpcd:$(TARGET_COPY_OUT_VENDOR)/bin/dhcpcd \
-    $(LOCAL_PATH)/4g_modem/lib32/librk-ril.so:$(TARGET_COPY_OUT_VENDOR)/lib/librk-ril.so
+    $(LOCAL_PATH)/../4g_modem/bin32/dhcpcd:$(TARGET_COPY_OUT_VENDOR)/bin/dhcpcd \
+    #$(LOCAL_PATH)/../4g_modem/lib32/libril.so:$(TARGET_COPY_OUT_VENDOR)/lib/libril.so

4.增加EC20模块lib库并编译进系统

我们拿到移远所提供的ril库等文件之后,可以在device/rockchip/rk3588/rk3588_box下面的.mk文件做以下修改:
如rk3588_box.mk
+BOARD_HAVE_VENDOR_RIL := true
+#$(warning zhuhua BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES : $(BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES))
+PRODUCT_COPY_FILES += \
+  
当涉及到RK3588 Linux平台上调试EC20模块的问题时,通常我们关注的是如何通过Linux系统有效地管理和控制这个4G模块EC20)。这包括设置串口通信、配置网络连接等操作。 ### EC20初始化及基本AT指令测试 首先确认您的硬件连线正确无误,并且已经成功将驱动程序加载到内核中。对于大部分基于Linux的操作系统来说,默认情况下可能会自动识别USB转UART芯片并创建对应的设备节点如`/dev/ttyUSB*`或类似路径下的文件代表物理串行端口。 #### 使用minicom或其他终端仿真工具访问EC20 为了发送简单的AT命令给EC20以验证其工作状态,请先安装像`minicom`这样的软件包: ```bash sudo apt-get install minicom -y # 如果您使用Ubuntu或其他Debian衍生发行版的话 ``` 然后启动它并与指定的TTY设备建立连接: ```bash minicom -D /dev/ttyUSB0 # 或者其他实际可用作与EC20通讯通道的tty名称 ``` 此时应该能够直接输入一些基础查询类别的AT命令例如 `AT`, `ATE0`(关闭回显), 等来看是否能得到预期回复(+OK)。 #### 检查PPP支持以及拨号上网准备 如果您希望进一步完成互联网接入,则需要确保系统中有适当的pppd守护进程及其依赖项存在: ```bash sudo apt-get update && sudo apt-get install ppp -y ``` 接下来可以编写一个PPPD选项脚本用于配置APN和其他必要参数,假设保存为 `/etc/ppp/peers/ec20-connect` : ```plaintext /dev/ttyUSB3 9600 # 替换为正确的波特率和端口号 lock connect "/usr/sbin/chat -v -f /etc/chatscripts/ec20-chat" defaultroute usepeerdns persist debug novj noccp noauth user "" password "" crtscts ``` 同时还需要有一个聊天脚本来指导pppd按照运营商的要求登录网络;这里给出一个非常简化的例子存储于 `/etc/chatscripts/ec20-chat` 文件里头: ```shell ABORT 'BUSY' ABORT 'NO CARRIER' TIMEOUT 15 '' ATZ OK AT+CGDCONT=1,"IP","your-apn-name" OK ATDT*99***1# CONNECT '' ``` 最后就可以尝试启动PPP会话了: ```bash sudo pon ec20-connect dmesg | tail –f ## 查看日志输出监控连接过程 ``` 如果一切顺利,在一段时间之后你应该能看到PPP接口出现在ifconfig结果当中并且获取到了IPv4地址信息。 --- 上述步骤提供了一个大致框架来帮助你在RK3588板上运行Linux OS的情况下对EC20模组进行初步设定和故障排查。具体情况还取决于具体的项目需求和技术文档指引。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值