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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

3g模块移植

發布時間:2023/12/16 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 3g模块移植 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.????? 查看3G模塊設備相關信息

1、1將3G卡插入ubuntu系統查看相應的設備信息

#lsusb

對應的設備信息為 廠商設備號(華為12d1) 設備ID(1446) 具體型號為聯通的3G上網卡華為E1750

1、2 添加對應設備ID到內核當中

?

vim linux-2.6.21.x/drivers/usb/serial/option.c

?? #define HUAWEI_PRODUCT_E1750????????????????????? 0x1446

??

在option_ids ?當作新增如下內容

static struct usb_device_id option_ids[] = {

?

{ USB_DEVICE(HUAWEI_VENDOR_ID,HUAWEI_PRODUCT_ E1750) },

?

}

?

2.????? 向linux內核添加3G模塊的驅動(USB轉串口的驅動)和ppp協議的支持,交叉編譯并下載內核到開發板。

3G 模塊驅動加載

由于linux-2.6.21內核支持“USB driver for GSM and CDMA modems”,所以不需要修改代碼,只修改內核配置即可。

在終端輸入:make menuconfig ,出現內核配置界面后選擇:

Device Drivers---→

USBsupport---→

<*>USB SerialConverter support--→

[*]USBGeneric Serial Driver

???? ?????<*>USB driver for GSM and CDMAmodems

PPP協議的支持

下面進行ppp協議支持的添加(下面所示的幾個選項必選)。

Device Drivers--→

Networkdevice support---→

<*>?PPP?(point-to-point?protocol)?support???
???????????? ?[*]???PPP?multilink?support?(EXPERIMENTAL)????

[*] ?PPP filtering
???????????? ?<*>???PPP?support?for?async?serial?ports??????
??????????? ??<*>???PPP?support?for?sync?tty?ports??????????
????????? ???<*>???PPP?Deflate?compression?????????????????
??????????????<*>???PPP?BSD-Compress?compression?

?

?

完成這些步驟之后,可以進行內核的交叉編譯,退出makemenuconfig,編譯生成的內核映像文件位于當前內核源代碼文件,將生成的內核映像文件下載到板子上。

內核啟動后,會在/dev目錄下生成ppp設備節點。如:

ls -l /dev/ppp?

?

內核啟動后,在開發板USB HOST?口插上3G模塊的USB線,會有打印信息輸出:

usb 1-1: new high speed USBdevice using rt3xxx-ehci and address 4

usb 1-1: Product: Qualcomm CDMATechnologies MSM

usb 1-1: Manufacturer: Qualcomm,Incorporated

usb 1-1: SerialNumber:1234567890ABCDEF

usb 1-1: configuration #1 chosenfrom 1 choice

scsi2 : SCSI emulation for USBMass Storage devices

scsi 2:0:0:0: CD-ROM??????????? WCDMA??? MMC Storage????? 2.31 PQ: 0 ANSI: 2

scsi 2:0:0:0: Attached scsigeneric sg0 type 5

?

3.????? 新增3G 模塊支持

#cd RT288x_SDK/source

#make menuconfig

?

Kernel/Library/DefaultsSelection? --->
? [*]Customize Vendor/User Settings
???? Network Applications? --->
????? [*] 3G connection??

?

?

#cd RT288x_SDK/source
#make menuconfig

Kernel/Library/Defaults Selection? --->
? [*] Customize Busybox Settings
???? Linux System Utilities? --->
????? [*] mdev??

??????? [*] Support /etc/mdev.conf

????????? [*] Support subdirs/symlinks

??????????? [*] Support regular expressionssubstitutions when renaming device

?????? ???[*] Support command execution at deviceaddition/removal

?

USB 總線驅動配置

#cd RT288x_SDK/source
#make menuconfig

Kernel/Library/DefaultsSelection? --->
? [*] Customize Kernel Settings
???? Device Drivers? --->
????? [*] USB support? --->

??????? <*> Support for Host-side USB

??????? [*] USB device filesystem

??????? <*> EHCI HCD (USB 2.0) support

??????? [*] Ralink EHCI HCD support

??????? <*> OHCI HCD support

??????? [*] Ralink OHCI HCD support

?

4. 交叉編譯好工作源代碼ppp-2.4.4,得到pppd和chat
????解壓源代碼包,進入目錄,進行交叉編譯,這里所用的板子的交叉編譯器是:
?????#cd?/home/ppp-2.4.4
????? ?#./configure
????? ?#make?CC=?arm-linux-gcc

撥號所用到的程序就是ppp-2.4.4/pppd下的pppd和ppp-2.4.4/chat下的chat可執行程序,將交叉編譯出來的這兩個應用程序拷貝到開發板?/usr/sbin目錄下,更改其屬性為可執行文件。

?

5. 配置撥號的腳文件

撥號上網需要的配置文件有3個:wcdma,wcdma-chat-connect,wcdma-chat-disconnect(存放位置/etc/ppp/peers)。

1)wcdma配置文件內容

#/etc/ppp/peers/cdma

# This is pppd script for Chinaliantong

# Usage:?? root>pppd call cdma

hide-password

noauth

connect '/usr/sbin/chat -s -v -f/etc/ppp/peers/wcdma-chat-connect'

disconnect '/usr/sbin/chat -s -v -f/etc/ppp/peers/wcdma-chat-disconnect'

debug

/dev/ttyUSB0

115200

defaultroute

noipdefault

novj

novjccomp

noccp

ipcp-accept-local

ipcp-accept-remote

local

lock

dump

nodetach

user "card"

password "card"

crtscts

remotename 3gppp

ipparam 3gppp

usepeerdns

?

2)wcdma-chat-connect配置文件內容

ABORT "BUSY"

ABORT "NO CARRIER"

ABORT "NO DIALTONE"

ABORT "ERROR"

ABORT "NO ANSWER"

TIMEOUT 120

"" AT

OK \rATZ

OK\rAT+CGDCONT=1,"IP","3gnet",,0,0

OK-AT-OKATDT*99#

CONNECT \d\c

?

3)wcdma-chat-disconnect配置文件內容

ABORT "ERROR"

ABORT "NO DIALTONE"

SAY "\NSending break to themodem\n"

""\k"

""+++ATH"

SAY "\nGood bay\n"

?

4)配置usb_modeswitch.conf

?

首先必須讓開發板識別上網卡,因此,要修改usb_modeswitch.conf,但usb_modeswitch并沒有帶有E1750的配置文件,不像EC169那么方便

在開發板添加/etc/usb_modeswitch.conf 文件添加如下內容

?

#E1750
DefaultVendor= 0x12d1;
DefaultProduct= 0x1446

TargetVendor= 0x12d1
TargetProduct= 0x1001
MessageContent="55534243000000000000000000000011060000000000000000000000000000"
MessageEndpoint=0x01
CheckSuccess=5

?

插上設備執行如下命令

usb_modeswitch -W

在網絡管理器中建立無線連接,OK

?

查看設備節點ls /dev/ttyUSB*,?會發現USB虛擬成三串口,在文件系統節點如下/dev/ttyUSB0,/dev/ttyUSB1, /dev/ttyUSB2?,這說明3G模塊驅動?已經正確添加到內核當中。

我們?跟?3G?模塊交互?主要用的設備節點是?/dev/ttyUSB0。

?

?

5)應用測試:

(1)連接好硬件設備。

(2)執行pppd call wcdma

(3)通過PC機(XP操作系統)遠程登錄到開發板,執行ifconfig:

?查看到ppp0的IP說明撥號成功

(4)ping外網測試

輸入命令:ping www.baidu.com

總結

以上是生活随笔為你收集整理的3g模块移植的全部內容,希望文章能夠幫你解決所遇到的問題。

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