日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

zte me3xxx 4g调试

發布時間:2024/3/26 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 zte me3xxx 4g调试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
第一部分 RIL適配
請按照本節的內容對Android系統進行修改,否則RIL將無法正常運行。


1. 在內核中添加USB串口驅動和USB網卡驅動,可以選擇將其直接編入內核,或者編譯為模塊待內核啟動時加載,總之,要確保Linux內核啟動完成后,這兩個驅動是運行在內核當中的。
通常,配置內核是通過指令make menuconfig,執行該指令后:
? 添加USB串口驅動:
device drivers-->
? usb support-->
usb serial converter support-->
? USB driver for GSM and CDMA modems


? 添加USB網卡驅動
devices drivers-->
? Network device support-->
usb Network Adapters-->
? Mulil-purpose USB Networking Framework


* 注:如果您的內核結構與上面不一致,可能需要在其它的路徑下面選擇,總之,只要確保源文件中的 option.c 及其相關的部分(USB串口驅動),cdc_ether.c 及其相關部分(USB網卡驅動)參與編譯即可


2. 在內核中添加PPP組件
通常,配置內核是通過指令make menuconfig,執行該指令后:
devices drivers-->
Network device support-->
? ppp support-->
? ? ppp filtering?
ppp support for async serial ports?
ppp support for sync tty ports?
ppp deflate compression?
ppp BSD-compress compression


3. 在內核驅動源文件中添加ZTE模塊相關的信息:USB網卡驅動可以自動識別到ZTE模塊,因此,其對應的cdc_ether.c文件中不需要添加任何內容。但是USB串口驅動不能自動識別,必須要添加ZTE模塊的設備信息到源文件 option.c 中。
文件路徑:/kernel/drivers/usb/serial/option.c


? 添加USB端口的VID和PID信息,見下面藍色部分。這里0x0199為ME3860模塊和ME3760_V2模塊的PID,0x1476為ME3620模塊的PID,如果您使用的是其它模塊,將其中的PID值更換為相應的值即可。
static const struct usb_device_id option_ids[] = {
{ USB_DEVICE(0x19d2, 0x0199) },
{ USB_DEVICE(0x19d2, 0x1476) },
……
}


? 添加黑名單信息,上面添加模塊信息是只添加了設備的VID和PID,沒有附加任何額外的端口信息,這樣會導致設備的網卡也被加載成為USB串口,下面提供的是一種類似于黑名單的方式,在option_probe函數中,將網卡對應的端口加入黑名單,防止USB網卡被加載成為USB串口。
對于ME3860和ME3760_V2,其網卡對應的端口為0和1,對于ME3620,其網卡對應的端口為3和4。請將以下代碼添加到option_probe函數中


printk("idVendor=%x, idProduct=%x, bInterfaceNumber =%d\r\n",?
serial->dev->descriptor.idVendor,?
serial->dev->descriptor.idProduct,
serial->interface->cur_altsetting->desc. bInterfaceNumber);


? ?if (serial->dev->descriptor.idVendor == 0x19d2 &&
? ? ? ? ? ?serial->dev->descriptor.idProduct == 0x1476 &&
? ? ? ? ? ?serial->interface->cur_altsetting->desc. bInterfaceNumber == 3)
? ? ? ? ? ?return -ENODEV;
if (serial->dev->descriptor.idVendor == 0x19d2 &&
? ? ? ? ? ? ? ? serial->dev->descriptor.idProduct == 0x1476 &&
? ? ? ? ? ? ? ? serial->interface->cur_altsetting->desc. bInterfaceNumber == 4)
? ? ? ? ? ? ? ? return -ENODEV;
if (serial->dev->descriptor.idVendor == 0x19d2 &&
? ? ? ? ? ? ? ? serial->dev->descriptor.idProduct == 0x0199 &&
? ? ? ? ? ? ? ? serial->interface->cur_altsetting->desc. bInterfaceNumber == 0)
? ? ? ? ? ? ? ? return -ENODEV;
if (serial->dev->descriptor.idVendor == 0x19d2 &&
? ? ? ? ? ? ? ? serial->dev->descriptor.idProduct == 0x0199 &&
? ? ? ? ? ? ? ? serial->interface->cur_altsetting->desc. bInterfaceNumber == 1)
? ? ? ? ? ? ? ? return -ENODEV;


* 注:第一行的printk是為了方便調試而打印的,雖無實際效果,最好能帶上。下面的幾個if語句分別判斷了需要加入黑名單的端口號,如果您使用的是除ME3860,ME3760_V2和ME3620之外的模塊,上面if語句中的判斷條件也要做相應修改。


4. 在Android系統的init.rc中添加服務
? ril-daemon 服務 (添加前注釋掉原來的ril-daemon服務)
service ril-daemon /system/bin/rild -l /system/lib/libreference-ril.so?
socket rild stream 660 root radio?
socket rild-debug stream 660 radio system?
user root
group radio cache inet misc audio log
? dhcpcd_ecm服務
service dhcpcd_ecm /system/etc/init.dhcpcd_ecm
user root
group radio cache inet misc log
disabled
oneshot
? ecm_down服務
service ecm_down /system/etc/init.ecm_down
user root
group radio cache inet misc log
disabled
oneshot
? pppd_gprs服務
service pppd_gprs /system/etc/init.gprs_pppd
user root
group radio cache inet misc log
disabled
oneshot


5. 在Android系統中設置服務的權限等信息(Android5.0/5.1以上跳過此步)
文件路徑:/system/core/init/property_service.c,藍色部分為新加的內容
property_perms[] =
{
{“net.ppp0”, AID_RADIO, 0},
……
}




control_perms[] =?
{
{“dhcpcd_ecm”, AID_RADIO, AID_LOG},
{“ecm_down”, AID_RADIO, AID_LOG },
{“pppd_gprs”, AID_RADIO, AID_LOG },
……
}


6. 打包相關文件到系統中
將下表中的幾個文件打包到系統中,確保系統編譯完成后,文件出現在對應的目錄中。


文件名 打包后在Android系統中的目錄
libreference-ril.so /system/lib
init.dhcpcd_ecm /system/etc
init.ecm_down /system/etc
init.gprs_pppd /system/etc
ip-up-ppp0 /system/etc/ppp
ip-down-ppp0 /system/etc/ppp


如果您使用的是Android5.0以上的系統,則我們提供的ip-up-ppp0和ip-down-ppp0兩個文件不能直接使用,需要使用我們提供的源代碼文件ip-up-ppp0.c和 ip-down-ppp0.c 編譯出可執行文件。Android.mk中的內容如下:
include $(CLEAR_VARS)?
LOCAL_SRC_FILES := ip-up-ppp0.c?
LOCAL_SHARED_LIBRARIES := libcutils?
LOCAL_MODULE := ip-up-ppp0?
LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/ppp?
LOCAL_MODULE_TAGS := optional?
include $(BUILD_EXECUTABLE)?
?
include $(CLEAR_VARS)?
LOCAL_SRC_FILES := ip-down-ppp0.c?
LOCAL_SHARED_LIBRARIES := libcutils?
LOCAL_MODULE := ip-down-ppp0?
LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/ppp?
LOCAL_MODULE_TAGS := optional?
include $(BUILD_EXECUTABLE)




7. 修改腳本文件的權限
文件路徑:system/core/include/private/android_filesystem_config.h,藍色部分為新加內容


static struct fs_path_config android_files[] = {
? ? ……
? ? { 00777, AID_ROOT, AID_SHELL, "system/etc/init.gprs_pppd" },
? ? { 00777, AID_ROOT, AID_SHELL, "system/etc/ init.dhcpcd_ecm" },
? ? { 00777, AID_ROOT, AID_SHELL, "system/etc/ init.ecm_down" },
? ? { 00777, AID_ROOT, AID_SHELL, "system/etc/ ppp/ip-up-ppp0" },
{ 00777, AID_ROOT, AID_SHELL, "system/etc/ ppp/ip-down-ppp0" },
……
};


8. 修改設備文件權限
文件路徑:system/core/rootdir/ueventd.rc,在其中添加如下幾行:
/dev/ttyUSB0 0660 radio radio?
/dev/ttyUSB1 0660 radio radio?
/dev/ttyUSB2 0660 radio radio?
/dev/ttyUSB3 0660 radio radio?
/dev/ttyUSB4 0660 radio radio


注意:如果在系統中設備的序號是其它值,則應按照上述格式修改其權限。例如,如果模塊的某個端口在系統中為/dev/ttyUSB10,則應添加如下行:
/dev/ttyUSB10 0660 radio radio




第二部分 可選配置
本節介紹了幾種可以選擇的配置,用戶可以通過這些配置來控制或者獲取RIL的行為。一般情況下,按照第一節的內容修改Android系統之后,RIL已經可以正常運行,因此本節內容主要用于調試,如果沒有特殊需要可以忽略。
1. 通過系統屬性設置RIL連接網絡時的撥號方式(ECM撥號或者PPP撥號)
屬性名:ril.dial.mode
說明:該屬性值為0代表使用PPP撥號,為其它值則使用ECM撥號
默認值:1
2. 通過系統屬性設置PPP撥號失敗時的最大重連次數
屬性名:ril.ppp.retry.times
說明:該屬性值為一個整數,必須在1-5之間,超出范圍會被強制設置為1
默認值:1
3. 通過系統屬性設置RIL是否主動給系統上報信號強度
屬性名:ril.unsol.signal
說明:該值為0代表RIL不主動上報信號強度,為其它值代表則主動上報信號強度
默認值:1


4. 通過系統屬性設置心跳指令的發送周期
屬性名:ril.keepalive.circle
說明:RIL每隔一定時間會給模塊發送心跳指令確保模塊可用,如果周期為0則不發送
默認值:9(單位為秒)


5. 通過系統屬性設置RIL檢查網絡連接狀態的周期
屬性名:ril.check.network.circle
說明:數據業務打開時,RIL每隔一定時間會檢查網絡狀態,如果周期為0則不檢查
默認值:60(單位為秒)


第三部分 運行日志的抓取
RIL調試過程中不可避免地會遇到很多問題,分析問題需要抓取相應的日志,下面是幾種常用的日志的抓取方法
1. 抓取Radio log
adb logcat -b radio -v time


2. 抓取Android系統日志
adb logcat


3. 抓取內核日志
adb shell dmesg
或者
adb shell cat /proc/kmsg


4. 抓取連網過程中pppd或者dhcpcd程序的日志
adb logcat -s pppd
adb logcat -s dhcpcd


* 這個是分析連網問題時使用的,如果使用的是ECM撥號,則抓取dhcpcd日志,如果使用的是PPP撥號,則抓取pppd日志,系統默認使用ECM撥號,可以通過系統屬性ril.dial.mode修改,參見“可選配置”章節。


5. 抓取模塊內部的運行日志
需要使用我們提供的工具才能抓取,詳見所附壓縮包 “Android_log_adb.zip”


6. 通過AT指令直接查詢模塊內部的運行狀態
指令執行過程如下:
adb shell ? ? ? ? ?//進入Linux 環境
stop ril-daemon ? ?//停止RIL
./AT ? ? ? ? ? ? ?//運行發送AT指令的工具,該工具由我們提供


第四部分 radio log中簡單問題的處理
本節介紹radio log中經常會出現的一些問題,內容正在完善中,僅供參考
1. 判斷RIL庫是否已經加載并運行
******** Enter RIL_Init() ********
RIL庫開始運行時會打印上述日志,從Android系統開機起抓取radio log,如果不存在上述字樣,則說明RIL庫沒有正確加載。需要檢查ril-daemon服務是否添加并正確運行。


2. 判斷無線通信模塊端口是否正常
[init]Runtime 3G can't find supported modem ?//未找到設備
[init]Runtime 3G port found matched device with xxxxxxx ?//找到設備


如果radio log不停地打印前者,說明RIL無法在系統中找到無線通信模塊,需要檢查模塊是否正常上電,并且正常加載驅動。模塊端口正常后,會打印后者。


3. 判斷模塊是否已經注冊到運營商的網絡
在radio log中搜索如下幾個AT指令的返回結果:
AT+CPIN? ? ?//SIM卡狀態
AT+CSQ ? ? ?//信號強度
AT+ZPAS? ? ?//注冊狀態


關于指令結果的含義可以參考模塊的AT指令集,下面僅給出例子。
AT+CPIN?
+CPIN: READY
OK
* 如果指令的返回結果中有ERROR字樣,則說明SIM卡有問題


AT+CSQ
+CSQ: 31,0
OK
* 如果指令的返回結果中有ERROR字樣,說明模塊狀態有問題
* 如果第一個數字為個位數或者為99,則說明信號非常差




AT+ZPAS?
+ZPAS: "LTE","CS_PS"
OK
* 如果指令的返回結果中有ERROR字樣,說明模塊狀態有問題
* 如果指令返回結果中有no service或者limit service,則說明模塊未注冊上


4. 無法連接網絡時的問題
如果在Android系統界面上沒有顯示網絡連接成功的圖標,首先確認:
(1) SIM卡是否欠費
(2) 是否已經注冊上運營商的網絡(參加本節第3條)
(3) Android系統中是否有對應的網絡接入點(APN)


在上述幾項沒有問題的情況下,抓取日志分析:
(1) radio log中搜索“SETUP_DATA_CALL ********”字樣,這里會啟動連接網絡的流程,可以看到后續流程中出現了何種錯誤
(2) 抓取pppd或者dhcpcd日志(參見“運行日志抓取”章節中的第4條),其中可以看到撥號過程中發生了何種錯誤。如果其中內容只有幾條,則說明pppd或者dhcpcd沒有運行起來。

總結

以上是生活随笔為你收集整理的zte me3xxx 4g调试的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 天天爱天天插 | 欧美毛片在线 | 日本一区二区不卡在线观看 | 中文字幕无码日韩专区免费 | 成人免费视频国产在线观看 | 国产乱码av | 亚洲交性网 | 久久精品伊人 | 97人妻人人澡人人爽人人精品 | 激情小说欧美色图 | 办公室大战高跟丝袜秘书经理ol | 中国少妇色 | 欧美性猛交ⅹxxx乱大交3 | 美女网站免费视频 | 少妇被躁爽到高潮无码人狍大战 | 99热在线看 | 亚洲AV无码成人精品区麻豆 | 九九热视频精品在线观看 | 无码人妻aⅴ一区二区三区玉蒲团 | 91麻豆精品国产午夜天堂 | 亚洲色图偷拍 | 久热超碰 | 樱花电影最新免费观看国语版 | 久久爱资源网 | 精品视频在线观看一区二区 | 婷婷伊人网 | 欧美亚洲在线观看 | 精品无码一级毛片免费 | 亚洲熟妇av一区二区三区 | 成人看片在线观看 | av久草| 日本午夜精品理论片a级app发布 | 黄色小视频国产 | 欧美少妇激情 | 九九热精彩视频 | 亚洲aa在线观看 | 日本系列第一页 | 日韩成人在线免费视频 | 人人射av | 亚洲av激情无码专区在线播放 | 秋霞av鲁丝片一区二区 | 亚洲天堂婷婷 | 麻豆精品视频免费观看 | 欧美精品第一页 | 韩国国产在线 | 欧美成人一区二区三区 | 免费在线观看成人av | 欧美在线高清 | 午夜国产一区二区 | 免费在线观看小视频 | 青青草原成人 | 国产精品久久久久久久9999 | 91激情视频在线观看 | 在线观看免费视频黄 | 黄瓜污视频 | 日韩欧美三区 | 嫩草影院中文字幕 | 2024av视频| 国产秋霞 | av一区免费 | 亚洲一区日韩精品 | 特级一级片 | 黄色日本网站 | 毛片在线免费视频 | 中文字幕第一页在线视频 | 亚洲av无码国产精品永久一区 | 激情婷婷在线 | 都市激情麻豆 | 91色拍| 人妻换人妻a片爽麻豆 | 特级黄毛片 | 人人妻人人澡人人爽欧美一区双 | 99re9| 日本在线一本 | 菠萝菠萝蜜网站 | 欧美久久一区二区 | 水果视频污 | av中出| 人人澡人人澡人人 | 无码人妻丰满熟妇精品区 | 少妇精品高潮欲妇又嫩中文字幕 | 香蕉久久国产 | 欧美视频在线一区二区三区 | 欧美日本在线播放 | 一区二区三区波多野结衣 | 欧美激情aaa | 性久久久久 | 国产综合99| 91国产精品一区 | 干爹你真棒插曲免费 | 欧美s码亚洲码精品m码 | 国产精品麻豆一区二区三区 | 国产三级网站 | 99久久婷婷国产综合精品草原 | 久久久久成人精品无码 | 亚洲欧洲视频在线观看 | 成年人免费看 | 欧美色图第一页 | 在线观看你懂得 |