この記事では、Android 7.1バージョン、Sim7600CEモジュール、A7600C1モジュールドライバーの移行プロセス、およびアプリケーションのテストレコードを記録します。
カーネルバージョン:linux-4.15。
簡単な説明:
このドライバー移行の基本はAndroid 3Gインターネットフレームワークに基づいており、対応するプロセスはすべてAndroid標準です。フレームワークに含まれるモジュールは次のとおりです
。hardware/ ril / ril-rk29-dataonly:AndroidRILワイヤレス通信ライブラリ
external / ppp / chat:pppダイヤルツール
external / ppp / pppd:pppdダイヤルデーモンスレッド
system / vold:
voldAndroidシステムrilサービスcommon / phone / etc / usb_modeswitch.d:オープンソースusb_modeswitchモード切り替えツール。
モジュールの移植:
最初のステップ:Linuxカーネルドライバーはこれら2つのモジュールをサポートします。特定の構成については、Linux移植パート4G / 5Gモジュールドライバーの移植に関する記事を参照してください
。2番目のステップ:vendor / rockchip / common / phone / etc/usb_modeswitch。d /ファイルの下にPID / VID情報を追加して、usb_modeswitchがME909SデバイスをUSBシリアルデバイスに切り替えることができるようにします。ファイル名:12d1_15c1は次のとおりです。
DefaultVendor= 0x12d1
DefaultProduct= 0x15c1
TargetClass= 0xff
MessageContent="55534243123456780000000000000011060000000000000000000000000000"
CheckSuccess=20
ステップ3:device / rockchip / common / BoardConfig.mkファイルで、3Gモジュール機能をサポートするようにAndroidシステムを構成します。
構成内容は以下のとおりです。
#for rk 4g modem
BOARD_HAVE_4G_EC20 := false
BOARD_HAS_RK_4G_MODEM ?= false
#enable 3g dongle 打开 3G dongle
BOARD_HAVE_DONGLE ?= true
手順4:次のように、device / rockchip / rk3288 / device.mkファイルを変更して、ソリューションプロバイダーにコンテンツを追加します。
#BOARD_HAVE_4G_EC20 := true 关闭此选项
ifeq ($(strip $(BOARD_HAVE_DONGLE)), true)
PRODUCT_COPY_FILES += device/rockchip/rk3288/4G/apns-conf.xml:system/etc/apns-conf.xml
ifeq ($(strip $(BOARD_HAVE_4G_EC20)), true)
$(call inherit-product-if-exists, device/rockchip/rk3288/4G/EC20/ec20.mk)
endif
endif
ステップ5device / rockchip / common /system.propの次のコンテンツを変更します
#修改此2条内容如下
rild.libpath=/system/lib/libreference-ril.so
rild.libargs=-d /dev/ttyUSB0
# Default ecclist
ro.ril.ecclist=112,911
ro.opengles.version = 131072
wifi.interface=wlan0
#关闭此2条内容
#rild.libpath=/system/lib/libril-rk29-dataonly.so
#rild.libargs=-d /dev/ttyACM0
persist.tegra.nvmmlite = 1
ro.audio.monitorOrientation=true
6番目のステップは、SELinuxに関連する構成ファイルを変更し、external / sepolicy / file_contextsに次のコードを追加することです。
/dev/ttyUSB[0-9]* u:object_r:tty_device:s0
/system/bin/rild u:object_r:rild_exec:s0
/system/socket/rild u:object_r:rild_socket:s0
/system/socket/rild-debug u:object_r:rild_debug_socket:s0
/system/bin/pppd u:object_r:pppd_exec:s0
/dev/ppp u:object_r:ppp_device:s0
実験試験記録は以下のとおりです。
継続する検証プロセス...