真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

嵌入式Linux下3G無線上網(wǎng)卡的驅(qū)動(dòng)

內(nèi)核:需要有以下模塊:option usbserial usbstorage

創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)與策劃設(shè)計(jì),海興網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:海興等地區(qū)。海興做網(wǎng)站價(jià)格咨詢:028-86922220

主要是要在編譯內(nèi)核的時(shí)候選中

[*] Network device support  --->

       <*>   PPP (point-to-point protocol) support

       <*>     PPP BSD-Compress compression

        <*>     PPP Deflate compression

       [*]     PPP filtering

       <*>     PPP MPPE compression (encryption)

       [*]     PPP multilink support

       <*>     PPP over Ethernet

       <*>     PPP support for async serial ports

       <*>     PPP support for sync tty ports

[*] USB support  --->

       <*>     USB Modem (CDC ACM) support

[*] USB support  --->

    <*>   USB Serial Converter support  --->

              <*>   USB driver for GSM and CDMA modems

修改linux-2.6.21.x/drivers/usb/serial/option.c

#define HUAWEI_WENDIR_ID 0x12d1

#define HUAWEI_PRODUCT_ECxx 0x14ef

{USB_DEVICE(HUAWEI_WENDIR_ID,HUAWEI_PRODUCT_ECxx)} /*HUAWEI  xxx*/

#make modules                       //編譯外掛模塊

#make modules_install            //安裝模塊

#usbserial.ko,option.ko

模塊編譯完后應(yīng)將其復(fù)制到開發(fā)板上,并執(zhí)行以下命令,否則會(huì)報(bào)找不到modules.dep

#depmod –a                    //創(chuàng)建模塊的鏈接

#modprobe usbserial.ko

# modprobe option.ko

軟件4個(gè):libusb、usb_modeswitch、pppd、usb-modeswitch-data(交叉編譯)

#lsusb、usb_modeswitch、(lib文件夾)、chat、pppd等移植到開發(fā)板。

這個(gè)數(shù)據(jù)包包含了usb_modeswitch所有支持的3G上網(wǎng)卡的配置文件。

1.在開發(fā)板上USB口插入3G上網(wǎng)卡。

2.在開發(fā)板上輸入lsusb會(huì)出現(xiàn)以下結(jié)果,說明開發(fā)板與3G上網(wǎng)卡硬件物理上連接成功,記下12d1:14ef這個(gè)數(shù)字,后邊用。

# lsusb

Bus 004 Device 002: ID 12d1:14ef HUAWEI XXXX(省略若干)

這里若無lsusb命令,可以查看/proc/bus/usb/devices下的響應(yīng)設(shè)備信息。其中:

#cat /proc/bus/usb/devices

Vendor=12d1 ProdID=14ef

3.編輯usb_modeswitch目錄下的usb_modeswitch.conf文件

# T-Mobile NL (Huawei xxx)

#

# Contributor: Alex Hermann

DefaultVendor= 0x12d1

DefaultProduct=0x14ef

TargetVendor= 0x12d1

TargetProduct= 0x1506

MessageContent="55534243123456780000000000000011062000000100000000000000000000"

CheckSuccess=5

4.執(zhí)行usb_modeswitch將3G上網(wǎng)卡U盤模式轉(zhuǎn)換為modem模式

#./usb_modeswitch -c /etc/usb_modeswitch/usb_modeswitch.conf

Looking for target devices ...

 No devices in target mode or class found

Looking for default devices ...

   found matching product ID

   adding device

 Found device in default mode, class or configuration (1)

Accessing device 003 on bus 001 ...

Getting the current device configuration ...

 OK, got current device configuration (1)

Using first interface: 0x00

Using endpoints 0x08 (out) and 0x87 (in)

Inquiring device details; driver will be detached ...

Looking for active driver ...

 OK, driver found ("usb-storage")

 OK, driver "usb-storage" detached

SCSI inquiry data (for identification)

-------------------------

  Vendor String: HUAWEI  

  Model String: Mass Storage    

  Revision String: 2.31

-------------------------

USB description data (for identification)

-------------------------

  Manufacturer: HUAEI TECHNOLOGIES

  Product: HUAWEI Mobile

  Serial No.: not provided

-------------------------

Setting up communication with interface 0

Using endpoint 0x08 for message sending ...

Trying to send message 1 to endpoint 0x08 ...

 OK, message successfully sent

Resetting response endpoint 0x87

 Could not reset endpoint (probably harmless): -145

Resetting message endpoint 0x08

 Could not reset endpoint (probably harmless): -19

 Device is gone, skipping any further commands

Checking for mode switch (max. 20 times, once per second) ...

 Searching for target devices ...

Found target device, now opening

 Found correct target device

Mode switch succeeded. Bye.

屏幕會(huì)顯示一堆模式轉(zhuǎn)換信息,之后會(huì)顯示成功

檢查是否轉(zhuǎn)換成功,執(zhí)行l(wèi)susb,發(fā)現(xiàn)14ef變?yōu)?506,表示轉(zhuǎn)換成功。

5.查看/dev下是否有一下設(shè)備節(jié)點(diǎn)

#ls /dev/ttyUSB*

#/dev/ttyUSB0 /dev/ttyUSB1 /dev/ttyUSB2 /dev/ttyUSB3 /dev/ttyUSB4

這里根據(jù)切換后的提醒,建立相應(yīng)的設(shè)備節(jié)點(diǎn)。

6.硬件問題都解決了,開始撥號吧:(電信的撥號腳本,聯(lián)通、移動(dòng)的應(yīng)該會(huì)變化,請google)

第一個(gè)文件:wcdma (路徑/etc/ppp/peer/)

/dev/ttyUSB0  

115200  

nodetach  

user "card"  

password "card"  

crtscts  

show-password  

usepeerDNS  

noauth  

noipdefault  

novj  

novjccomp  

noccp  

defaultroute  

ipcp-accept-local  

ipcp-accept-remote  

connect 'chat -s -v -f /etc_ro/ppp/chat/wcdma-connect-chat'

disconnect 'chat -s -v -f /etc_ro/ppp/chat/disconnect-chat'

第二個(gè)文件:wcdma-connect-chat (路徑/etc/ppp/chat/)

ABORT 'NO CARRIER'

ABORT 'ERROR'

ABORT 'NO DIALTONE'

ABORT 'BUSY'

ABORT 'NO ANSWER'

'' \rAT

OK \rATZ

OK \rAT+CGDCONT=1,"IP","cmnet",,0,0

OK-AT-OK ATDT*99***1#

CONNECT \d\c

電信腳本

TIMEOUT 5
ABORT "DELAYED"
ABORT "BUSY"
ABORT "ERROR"
ABORT "NO DIALTONE"
ABORT "NO CARRIER"
""   AT
"OK-+++\c-OK" ATH0
TIMEOUT 40
""   AT
OK  ATDT#777
CONNECT ""

第三個(gè)文件:disconnect-chat

ABORT "BUSY"  

ABORT "ERROR"  

ABORT "NO DIALTONE"  

SAY "/nSending break to the modem/n"  

'' "/K"  

'' "+++ATH"  

SAY "/nGoodbye/n"

執(zhí)行腳本撥號測試

#pppd call   gprs

abort on (NO CARRIER)

abort on (ERROR)

abort on (NO DIALTONE)

abort on (BUSY)

abort on (NO ANSWER)

send (^MAT^M)

expect (OK)

^MT^M^M

OK

 -- got it

send (^MATZ^M)

expect (OK)

^M

^MATZ^M^M

OK

 -- got it

send (^MAT+CGDCONT=1,"IP","cmnet",,0,0^M)

expect (OK)

^M

^MAT+CGDCONT=1,"IP","cmnet",,0,0^M^M

OK

 -- got it

send (ATDT*99***1#^M)

expect (CONNECT)

^M

ATDT*99***1#^M^M

CONNECT

 -- got it

send (\d)

Serial connection established.

Using interface ppp0

Connect: ppp0 <--> /dev/ttyUSB0

CHAP authentication succeeded: Welcome!!

CHAP authentication succeeded

Could not determine remote IP address: defaulting to 10.64.64.64

local  IP address 10.109.28.39

remote IP address 10.64.64.64

primary   DNS address 211.137.130.18

secondary DNS address 211.137.130.20

這時(shí)代表已經(jīng)撥號成功,通過ifconfig命令可以看到有個(gè)ppp0,說明大功告成了

嘗試ping www.baidu.com,應(yīng)該就通了。

7.PPPD腳本分享

1. CHAT腳本
一個(gè)簡單的chat腳本有下面的結(jié)構(gòu):
"" AT
OK ATDT dialnumber
CONNECT ""
一個(gè)chat腳本都是由字符串對來組成的。前面的字符串都是期望獲取的串,緊跟的是發(fā)送的字符串。這個(gè)腳本每一項(xiàng)的具體含義是這樣的:
1)   MODEM期望空字符串。這句話的意思直接理解就是MODEM不管收到什么字符串,先發(fā)出字符串AT;
2)   期望收到“OK”字符串,然后發(fā)送字符串“ATDT dialnumber”
3)   如果收到“CONNECT”,就不再發(fā)送,認(rèn)為數(shù)據(jù)鏈路已建立連接。
這樣的chat腳本是最簡單的,如果需要進(jìn)行超時(shí)控制,就可以加入如下字段:
TIMEOUT 10
如果要增加對特殊情況的處理,就加入下面字段:
ABORT BUSY   
ABORT NO ANSWER
ABORT RINGING
這三行語句的意思是:如果收到字符串“BUSY”、“NO ANSWER”、“RINGING”就退出執(zhí)行。
所以在考慮到各種特殊情況下,配置一個(gè)PPP連接的CHAT腳本就可以像下面這樣:
TIMEOUT 30
ABORT BUSY   
ABORT NO ANSWER
ABORT RINGING
"" AT
OK ATDT dialnumber
CONNECT ""


2.OPTIONS腳本
OPTIONS腳本的內(nèi)容,為PPP連接指定了連接使用的設(shè)備、使用的控制字符傳輸速率、指定了硬件加速、溢出控制等。
例如下面的options腳本:
ttyS0 ---- 指定連接使用的設(shè)備,例如:ttyS0、ttyS1等
57600 ---- 設(shè)置連接使用的控制字符傳輸速率,可以設(shè)置為57600、115200等
debug ---- 如果需要加入調(diào)試信息,就加入?yún)?shù)debug
logfile /var/ ppplog ---- 將連接過程中的信息輸入到某個(gè)文件中
mtu 1500
-detach
noipdefault ---- 不使用默認(rèn)IP就可以加入?yún)?shù)noipdefault
defaultroute
usepeerdns ---- 使用服務(wù)器端協(xié)商的DNS就可以設(shè)置參數(shù)usepeerdns
lcp-echo-failure 4 ---- 當(dāng)連續(xù)4次沒有收到發(fā)出的LCP回聲請求時(shí),就認(rèn)為服務(wù)器端已不再響應(yīng),就退出執(zhí)行。這里的失敗次數(shù)可以靈活來決定。
-ccp ---- 不使用壓縮控制協(xié)議
-vj ---- 關(guān)掉式IP頭壓縮
-chap ---- 不使用chap鑒權(quán)
-mschap-v2 ---- 不使用mschap鑒權(quán)
user
hide-password
connect "/usr/bin/chat -v -t6 -f /var/ chat" ---- 制定了要使用的chat腳本的位置。加上參數(shù)-v 告訴 chat命令將其所有的輸出/入拷貝到系統(tǒng)記錄里(通常是 /var/log/messages)。-t 6 指定了執(zhí)行chat該命令的時(shí)間為6s。chat腳本的位置可以位于/etc/目錄下,也可以位于/var下,這個(gè)可以更加需要靈活設(shè)置。

persist --- 永久鏈接(自動(dòng)重?fù)?

crtscts --- 告訴ppp使用modem的硬件流量控制

modem --- 使ppp使用DCD信號來判斷連接是否正常,有無掉線現(xiàn)象

deflate --- 使pppd使用defalte壓縮方式

idle --- 設(shè)置了一個(gè)時(shí)間限制,當(dāng)在300秒的時(shí)間內(nèi)沒有數(shù)據(jù)傳送,就斷開連接

lock --- 則創(chuàng)建一個(gè)鎖定文件,其他程序在發(fā)現(xiàn)存在這個(gè)文件后,就能得知相應(yīng)的串口已經(jīng)被使用。

demond --- 參數(shù)告訴pppd停留在后臺,監(jiān)視網(wǎng)絡(luò)數(shù)據(jù),一旦有要求就立即進(jìn)行連網(wǎng),超時(shí)后就斷開連接,但pppd仍然停留在后臺等待下次數(shù)據(jù)傳送


標(biāo)題名稱:嵌入式Linux下3G無線上網(wǎng)卡的驅(qū)動(dòng)
網(wǎng)頁鏈接:http://weahome.cn/article/ipoesj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部