這兩天在wince6.0上除錯了下3g模組,華為的em730,它支援gprs和wcdma。雖然沒有涉及到驅動的移植(沒有源**),但除錯過程還是幾經周折,記下來以便後用。
em730是mini pci介面的,也支援usb。於是先請硬體工程師幫忙飛了一堆線,在pc上測試了一下,工作完全正常,證明模組本身沒有問題。
在wince6.0上,安裝了hw提供的乙個驅動,並將模組插入,驅動似乎也是正常工作了,沒有提示需要再安裝驅動。開啟串列埠除錯助手,竟然發現多了三個可用的串列埠,確定驅動是工作起來了。用串列埠除錯助手開啟這三個串列埠逐一傳送at命令,也有正確返回。到這裡,我以為離成功就不遠了,但最終是行百里者半九十,恰恰在這裡停頓了很久,費了很多時間。因為hw沒有提供更多的有關模組在ce上的使用說明,只有乙個cab檔案。根據先前除錯gprs的經驗,試了n次,始終無法完成撥號。甚至由深圳那邊的王工遠端除錯,也沒什麼進展。最後得出結論,可能是hw提供的驅動有一些問題。為了證明這一點,我和王工幾乎花了一天的時間,很冤枉。後來,王工盡力幫忙找hw要了最新的驅動和撥號後台程式,在我們的裝置上測試了一下,可以撥號,瀏覽網頁。但事情還沒有完,用它的撥號後台程式可以連線,但自己手動建立的撥號連線卻不可以。難道是撥號後台程式對模組做了初始化的工作,傳送了一些特殊的指令。為了證實這個問題,又動了番腦筋,想著以前曾用過的串列埠分離軟體,想借助該軟體捕獲後台撥號程式到底傳送了哪些初始化的指令。不過這個方法最終沒有成功。在除錯的過程中逐一排查,最後基本確定應該是登錄檔配置的問題,撥號後台程式並沒有傳送特殊的初始化指令,它只是通過其中乙個串列埠獲取模組的狀態而已。利用驅動除錯助手的登錄檔監視和匯出功能,找出區別並修改後,就可以在控制面板中直接用新建的撥號連線撥號了。
以下是除錯過程中一些關鍵的地方。在除錯的過程中有乙個中間狀態,撥號很快完成,快得很假,顯示已經連線,但實際上這是個虛假的狀態。截圖如下,
可以看到此處顯示裝置已連線,但實際上是虛假的,這種狀態維持不了一會兒,便會自動斷開。
下面是撥號連線真正成功時的截圖,
可以看到連線上以後,在網路連線中多了乙個「com1:」的連線。此時開啟ie就可以瀏覽網頁了,也可以用ipconfig工具檢視網路連線的狀態,截圖如下,
從能虛假連線上到實際撥號成功,主要修改了登錄檔中的apn設定,安裝驅動時預設用的是cmwap,而用wcdma模組時需設定成3gnet。另外,該模組是usb模擬成串列埠的,串口號因平台不同而不同,需要確定用於撥號連線的是哪乙個串列埠,然後在撥號屬性中設定一下。雖然是模擬成串列埠,但波特率等屬性是無需關心的,不必做任何修改。
WinCE下3G模組的除錯
這兩天在wince6.0上除錯了下3g模組,華為的em730,它支援gprs和wcdma。雖然沒有涉及到驅動的移植 沒有源 但除錯過程還是幾經周折,記下來以便後用。em730是mini pci介面的,也支援usb。於是先請硬體工程師幫忙飛了一堆線,在pc上測試了一下,工作完全正常,證明模組本身沒有問...
Android2 1下除錯3G模組(一)
曾幾何時在android2.1下除錯3g模組,曾幾何時模組廠商提供的庫不能用,曾幾何時只能用自己的庫痛苦地除錯.這一切的一切都已成往事,昔日的成功在毫無保留下成為浮雲,該忘了忘記了,該記得也跟著忘記了。現如今再次調3g模組,卻不知道以前如何除錯,看來還是要記下來。我採用的是華為em770w模組,支援...
Android2 1下除錯3G模組(二
前面講到了如何讓修改kernel驅動和ril層 接下來還需要增加ppp撥號以及裝置檔案和服務屬性。1.修改init.gprs pppd屬性 對應檔案 system core include private android filesystem config.h 在static struct fs p...