linux 3g 程序,ARM板和Linux上的3G配置详解
我們這段時間作了一個基于arm開發板和開源linux的3G模塊,給大家作個參考。3G選用的是華為的EC1261,USB接口,現在市面上的基本都是USB口,據說可以直接去掉在USB modem的USB轉串口等模塊,直接通過GPIO口來控制3G模塊,但是由于我們這資源有限,實現不了那么復雜的工作,所以就直接用了華為的產品了,而沒有去找更加基礎的芯片。
USB網卡內部結構比較復雜,它們大部分都包括modem,USB轉串口模塊,存儲模塊,讀卡器模塊,所以linux內核需要添加的東西也比較多。USB主機控制器有3種規格:OHCI(Open Host Controller Interface)、UHCI(Universal Host Controller Interface)和EHCI(Enhanced Host Controller Interface),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 Interface 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,這個就不一定唯一了。
然后開始編譯內核,編譯好了之后把內核下載進去,插上USB網卡,還要進行如下操作:
mount -t usbfs usbfs /proc/bus/usb/
然后運行命令cat /proc/bus/usb/devices 可以獲得設備信息。如果沒有devices文件的話說明你的配置有問題。呵呵。另外在dev下應該出現sr0文件。
下面是第二步,把3G網卡由存儲模式轉為 modem模式
部分網卡可以直接通過eject命令彈出,轉換成modem模式,但是大部分都不行。 大家不用擔心,有一個叫usb-modeswitch的軟件可以幫我們解決這個問題。
不知大家第二步進行的怎么樣,下面就是第三步了,也就是最后一步 PPP撥號
下載PPP套件。本文選用其版本PPP-2.4.1。在終端中執行#tar zxvf PPP-2.4.4.tar.gz命令,將PPP-2.4.4.tar3gz解壓至/opt目錄,進入此目錄后執行./configure命令,再執make CC=arm-linux-gcc命令編譯char、PPpd、pppdump、pppstats,將生成的可執行文件拷貝到開發板的/bin目錄下。
下面這一步比較難,也就是配置文件問題。不詳述了,直接引用。
我要補充的一點是最好在
/etc/resolv.conf 里直接加上一句 nameserver 8.8.8.8
如果要用的話最好嚴格按照我說的作哦。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的linux 3g 程序,ARM板和Linux上的3G配置详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在Spring Boot + Mybat
- 下一篇: adb可以连接linux设备吗,Linu