01、ril daemon配置相關問題
02、IRadio配置相關問題
03、主控wifi only版本問題
04、qmi驅動問題
05、安卓支持熱插拔相關問題
06、APN相關問題
07、注網(wǎng)與掉網(wǎng)相關問題
08、電話、短信相關問題
01
ril daemon配置相關問題
1、ril daemon配置中沒有指定ril庫路徑導致庫無法啟動
可以看到下面這個例子是在rild.rc中沒有指定需要鏈接的動態(tài)庫文件,那這可能導致系統(tǒng)無法找到我們所需啟動的ril庫
?
原因:系統(tǒng)是先加載ril daemon中-l的指定路徑,如無-l后參數(shù),那么才會嘗試從系統(tǒng)屬性中獲取ril庫的路徑。
在屬性vendor.rild.libpath中指定對應路徑ril庫路徑,需要注意以下幾點:
1)確保在vendor.rild.libpath屬性中指定的ril庫絕對路徑是正確的,路徑以及文件名是否有誤。
2)檢查rild.c看是否正確使用了property_get()函數(shù)獲取vendor.rild.libpath屬性。
所以還是建議客戶在ril daemon中將指定路徑加上,這樣會少掉很多關于rild的啟動
2、配置兩個ril daemon情況
這種情況會導致相互搶AT口,導致無法上網(wǎng)或上網(wǎng)一段時間掉網(wǎng)現(xiàn)象可以在log中過濾到如下情況
02
IRadio配置相關問題
安卓11以上的IRadio一般配置在 /vendor/etc/vintf/manifest.xml 目錄下,根據(jù)客戶使用的不同版本IRadio,配置會有一點差異。
不同的安卓版本支持的最高IRadio版本也不同,配置不能超過當前安卓版本支持版本。移遠實現(xiàn)的libril目前支持到1.5接口,使用移遠RIL庫時候manifest.xml最高不能配置超過1.5。
安卓8.x ---最高支持IRadio 1.1
安卓9.x ---最高支持IRadio 1.2
安卓10.x ---最高支持IRadio 1.4
安卓11.x ---最高支持IRadio 1.5
安卓12.x ---最高支持IRadio 1.6
安卓11&12 2&3&4G模塊使用1.1接口即可正常上報信息
安卓11&12 如適配的5G模塊,在新歸檔的RIL版本中,針對5G信號上報做了調整,需要將IRadio接口切至1.5
IRadio服務未注冊,會導致RIL庫與上層通信失敗。
此時就需要檢查使用的IRadio版本和對應的manifest.xml的配置,如果使用了1.2以上的IRadio版本還需要確認是否有對應移遠的libril.so。(原生libril.so僅支持IRadio1.1)
一般在radio log上過濾RILJ,只有一行打?。?/span>
RILJ ( 934): RIL: init preferredNetworkType=9 cdmaSubscription=0)[PHONEnull]
且不會上報:
RILJ ( 934): [UNSL]< UNSOL_RIL_CONNECTED [PHONE
03
主控wifi only版本問題
客戶安卓主控是wifi only版本,需要打開config_mobile_data_capable配置??梢宰尶蛻粼创a根目錄搜索一下config_mobile_data_capable,涉及到的位置都改成true。
還需把屬性ro.radio.noril=false,如果是true會不運行phone 模塊
04
qmi驅動問題
需要替換成移遠的qmi_wwan_q驅動即可
經(jīng)常有客戶移植了qmi_wwan_q卻加載的還是qmi_wwan,其實是沒滿足以下兩步要求:
05
安卓支持熱插拔相關問題
在客戶設置熱插拔時,只在初始化AT中加入AT+QSIMDET=1,1的情況,
那這樣會出現(xiàn)以下問題:
只設置初始化AT(AT+QSIMDET=1,1)的情況下,在ril初始化AT流程中,發(fā)送此消息后不會立即生效(不會觸發(fā)AT+CFUN=1,1操作),需重啟后熱插拔功能才會真正生效。
因模塊出廠是AT+QSIMDET=0,0狀態(tài),若卡座是高電平識別,此時設備第一次開機都是識別不到卡的狀態(tài),如客戶是在產(chǎn)線才發(fā)現(xiàn)這個問題,就會瘋狂催原廠了。
06
APN相關問題
D/DCT ( 602): trySetupData: X No APN found retValue=false
出現(xiàn)原因主要是客戶apns-conf.xml中沒有對應SIM卡的apn信息。解決方法有兩種:
(1)設置APN界面:Settings->WIRELESS & NETWORKS -> More…->Mobile Networks-> Access Point Names。在APN界面點擊右上角,可以彈出菜單,選擇新建 APN
(2)把文件apns-conf.xml push到客戶板子的/system/etc/ 目錄下,然后恢復出廠設置。
07
注網(wǎng)與掉網(wǎng)相關問題
可開2個adb shell窗口
1、窗口1: logcat –b radio –v time | grep ATC””, 通過ril log看AT
2、 窗口2: echo –en “ati\r” > /dev/ttyUSB2, 發(fā)AT
注意千萬不要直接cat /dev/ttyUSB2. 因為我們RIL是通過/dev/ttyUSB2收發(fā)AT的,如果AT response被你cat走了。會導致RIL認為模塊出問題,而導致RIL異常。
若是網(wǎng)絡連接(異常掉網(wǎng))等問題需同步抓取ril log及模塊log(建議先將固件版本更新至最近歸檔版本)
08
電話、短信相關問題
遇到比較多的是EC20系列 R06基線僅支持移動volte,客戶在使用電信、聯(lián)通卡做電話測試時周圍沒有2&3G信號導致電話打不通的問題。(R08基線支持三大運營商volte)
也可能是上層的相關服務加載異常,導致電話功能異常。
這點是比較容易混淆的,可能是上層至ril的問題,也可能是模塊固件的問題。
那如何判斷是模塊的問題還是上層調用的問題呢,可用以下調試方法:
上層撥打電話時,可在后臺調試,看有無調用到模塊的ATD指令,同理也可開adb shell窗口: logcat –b radio –v time | grep ATC””, 通過ril log看AT指令中有沒有ATD相關指令。
如沒有ATD相關請求,那么可能是上層與RIL之間的問題,需要具體抓取ril log分析。
如有但對方未收到電話,則可能是當前固件版本不支持volte,且周圍2&3G信號過差導致,這點可抓模塊log分析。
如指令報錯則可判斷模塊固件版本不支持電話功能,短信同理