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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

3G模块驱动运用开发总结

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

3G模塊驅動運用開發總結

一:開發環境簡述

內容

說明

3G模塊

華為EM770WWCDMA

3GSIM

中國聯通3GWO

嵌入式開發板

友善之臂Mini2440

核心CPU

S3C2440

嵌入式linux版本

Linux-2.6.32.2

主機開發環境

VMWARE下安裝的RedHat5.0


二:主要步驟

1

linux內核中添加3G模塊的驅動(USB轉串口的驅動)和ppp協議的支持,重新編譯下載內核。

2

ppp-2.4.4源代碼進行交叉編譯。

將撥號上網所需的兩個應用程序pppdchat拷貝到開發板/usr/sbin文件夾下,將改好的腳本文件wcdmawcdma-chat-connectwcdma-chat-disconnect存放在/etc/ppp/peers目錄下。將含有域名解析服務器地址的文件resolv.conf拷貝到/etc目錄下。

3

執行“pppdcall wcdma命令進行撥號,進行網絡測試。


三:開發工作主要內容

下面對開發工作進行進一步細化:

1

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

2

交叉編譯比好工作源代碼ppp-2.4.4得到pppdchat

3

配置撥號的腳本文件

4

測試網絡連接情況


四:各項工作集體說明

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

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

編譯前期做如下準備:

1清除臨時文件、中間文件和配置文件

進入內核文件目錄,執行命令:makedistclean

1 執行makedistclean命令


2使用內核/arch/arm/configs目錄下的mini2440-defconfig文件作為配置文件,將其拷貝為內核目錄下的.config文件。

2mini2440-defconfig作為配置文件


3)在終端輸入:makemenuconfig ARCH=arm,出現內核配置界面后選擇:

DeviceDrivers---→

USBsupport---→

<*>USBSerialConverter support--→

[*]USBGeneric Serial Driver

<*>USBdriver for GSM and CDMA modems

具體步驟如下幾幅圖所示:

3 按“Enter進入“DeviceDrivers目錄


4 按“Enter進入“USBsupport目錄



5 按“Enter進入“USBSerialConverter support目錄



6 按“Y將“USBGeneric Serial Driver編譯進內核

7 按“Y將“USBdriver for GSM and CDMA modems編譯進內核


到此3G模塊驅動添加完成,下面進行ppp協議支持的添加(下面所示的幾個選項必選)。

DeviceDrivers--→

Networkdevicesupport---→

<*>?PPP?(point-to-point?protocol)?support???
?????????
?[*]???PPP?multilink?support?(EXPERIMENTAL)????
?????????
?<*>???PPP?support?for?async?serial?ports??????
????????
??<*>???PPP?support?for?sync?tty?ports??????????
????????
?<*>???PPP?Deflate?compression?????????????????
???????
???<*>???PPP?BSD-Compress?compression?


具體步驟如下幾圖所示:

8 按“Enter進入“DeviceDrivers目錄


9 按“Enter進入“Networkdevice support目錄


10 選擇ppp協議支持(之前所提的必選,這里全部選上)編譯進內核


完成這些步驟之后,可以進行內核的交叉編譯,退出makemenuconfig,輸入makezImage ARCH=armCROSS_COMPILE=arm-linux-,編譯生成的內核映像文件位于當前內核源代碼文件的/arch/arm/boot目錄下,將生成的內核映像文件下載到板子上。

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

ls/dev/ppp -l

crw-rw----??1root???root??108?0Jan??1 00:00 /dev/ppp

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

usb1-2: new high speed USB device using atmel-ehci and address 4

usb1-2: configuration #1 chosen from 1 choice

option1-2:1.0: GSM modem (1-port) converter detected

usb1-2: GSM modem (1-port) converter now attached to ttyUSB0

option1-2:1.1: GSM modem (1-port) converter detected

usb1-2: GSM modem (1-port) converter now attached to ttyUSB1

option1-2:1.2: GSM modem (1-port) converter detected

usb1-2: GSM modem (1-port) converter now attached to ttyUSB2

?

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

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


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

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


3.配置撥號的腳文件

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

  • wcdma配置文件內容

  • #/etc/ppp/peers/cdma

    #This is pppd script for China liantong

    #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

    remotename3gppp

    ipparam3gppp

    usepeerdns


  • wcdma-chat-connect配置文件內容

  • ABORT"BUSY"

    ABORT"NO CARRIER"

    ABORT"NO DIALTONE"

    ABORT"ERROR"

    ABORT"NO ANSWER"

    TIMEOUT120

    ""AT

    OK\rATZ

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

    OK-AT-OKATDT*99#

    CONNECT\d\c


  • wcdma-chat-disconnect配置文件內容

  • ABORT"ERROR"

    ABORT"NO DIALTONE"

    SAY"\NSending break to the modem\n"

    ""\k"

    ""+++ATH"

    SAY"\nGood bay\n"


  • 應用測試:

  • 1)連接好硬件設備。

    2)執行pppdcall wcdma,出現:

    11 執行“pppdcall wcdma


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

    12執行ifconfig”

    若出現如上所示的類似信息,說明撥號成功。打開開發板/etc目錄下的resolv.conf文件,將分配得到的兩個DNS服務器地址:10.11.12.1310.11.12.14添加到此文件中。

    vi/etc/resolc.conf,加入內容:

    nameserver10.11.12.13

    nameserver10.11.12.14

    4ping外網測試

    輸入命令:ping–I ppp0 210.32.200.129

    13 ping IP地址



    輸入命令:Ping–I ppp0 www.sina.com

    14 ping網址


    5telnet測試

    輸入命令:telnetbbs.newsmth.net

    15 telnet測試




    注意:

    在做的時候將ARM板子上的網線拔掉!









    總結

    以上是生活随笔為你收集整理的3G模块驱动运用开发总结的全部內容,希望文章能夠幫你解決所遇到的問題。

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