我們這段時間作了乙個基於arm開發板和開源linux的3g模組,給大家作個參考。3g選用的是華為的ec1261,usb介面,現在市面上的基本都是usb口,據說可以直接去掉在usb modem的usb轉串列埠等模組,直接通過gpio口來控制3g模組,但是由於我們這資源有限,實現不了那麼複雜的工作,所以就直接用了華為的產品了,而沒有去找更加基礎的晶元。
usb網絡卡內部結構比較複雜,它們大部分都包括modem,usb轉串列埠模組,儲存模組,讀卡器模組,所以linux核心需要新增的東西也比較多。usb主機控制器有3種規格:ohci(open host controller inte***ce)、uhci(universal host controller inte***ce)和ehci(enhanced host controller inte***ce),ohci驅動程式用來為非pc系統上以及帶有sis和ali晶元組的pc主機板上的usb晶元提供支援。uhci驅動程式多用來為大多數其他pc主機板(包括intel和via)上的usb晶元提供支援。ehci由usb 2.0規範所提出,它相容ohci和uhci。uhci的硬體線路比ohci簡單,所以成本較低,但需要較複雜的驅動程式,cpu負荷稍重。我們這裡使用的是ohci。
言歸正傳,我們來介紹第一步。重新編譯linux核心,我們需要在核心裡新增如下模組:
device drivers=>
usb support=>
[*] suppon for host-side usb
[*] usb device filesystem
[*] usb device class-devices
[*] ohci hcdsupport
[*] usb mass storage support
usb serial convelter suppor -->
[*] usb driver for gsm and cdma modems
scsi device support=>
[*]scsi device support
[*] scsi disk support
[*] probe all luns on each scsi device
hdi devices=>
[*] usb human inte***ce devices support
[*] /dev/hiddev raw hid device support
network device support=>
<*> ppp(point—to—point protoco1)support
<*> ppp support for async serial ports
<*> ppp suppo rt for sync tty ports
<*> ppp deflate compression
<*> ppp bsd —compress compression
<*> ppp mppe compress compression(encryp—tion)
<*> ppp over ethernet
<*> ppp over 12tp
核心配置就這樣了,但是別急,還沒完呢。當你碰到乙個核心並不支援的新裝置後,只需要把該dongle 3g介面的vendor id和product id新增到linux-2.6.x/drivers/usb/serial/optionc中的option_ids陣列即可。順便說下,每個usb裝置都有vendor id和product id,但不一定唯一哦,vendor id是裝置商id,比如華為和中興都有各自的vendor id。product id是他們旗下產品的id,這個就不一定唯一了。
mount -t usbfs usbfs /proc/bus/usb/
然後執行命令cat /proc/bus/usb/devices 可以獲得裝置資訊。如果沒有devices檔案的話說明你的配置有問題。呵呵。另外在dev下應該出現sr0檔案。
下面是第二步,把3g網絡卡由儲存模式轉為 modem模式
部分網絡卡可以直接通過eject命令彈出,轉換成modem模式,但是大部分都不行。 大家不用擔心,有乙個叫usb-modeswitch的軟體可以幫我們解決這個問題。
大家直接看吧,我就不再重複了。
不知大家第二步進行的怎麼樣,下面就是第三步了,也就是最後一步 ppp撥號
下面這一步比較難,也就是配置檔案問題。不詳述了,直接引用。
配置檔案相當齊全準確。
我要補充的一點是最好在
/etc/resolv.conf 裡直接加上一句 nameserver 8.8.8.8
如果要用的話最好嚴格按照我說的作哦。
**:
龍尚3G模組在arm板上的應用
最近專案需要在arm板上裝一塊3g的無線模組,於是查了很多資料,弄了很久才發現是資料中出了些問題,故將整個除錯過程寫成部落格,以後方便查閱。一 3g模組現在手上的這塊模組是龍尚u7309系列 o o,沒有打廣告 的,上這個系列好像都沒得買了。以前沒接觸過這類東西,於是各種查詢資料 二 移植步驟 簡單...
Linux下3G的應用
弄了幾天的3g和簡訊,簡單記錄一下。用的3g模組是華為的e1750 wcdma無線資料終端。在linux下,插入3g模組,系統會自動識別為ttyusb0,ttyusb1,ttyusb2,其中ttyusb1不知道有什麼用處,不可讀寫,而其他兩個介面都是可讀寫的,ttyusb0用作3g無線上網的介面,在...
sqlite3 在arm板上的編譯
對於乙個 使用了資料庫的程式,編譯會與普通程式不同,首先編譯會用到sqlite3 解壓編譯之後的buid資料夾下的 檔案庫。編譯 arm linux gnueabif gcc o test test.c test.h i home milan dufan test mx6 build include...