英創(chuàng)公司提供的眾多無(wú)線通訊方案(包括基于GPRS網(wǎng)絡(luò)的TCP/UDP通訊、SMS、基于GPRS的支持?jǐn)帱c(diǎn)繼傳的FTP文件傳輸?shù)龋┍晃覀兊暮芏嗫蛻舫晒Φ倪\(yùn)用到了自己的項(xiàng)目中。隨著3G(3rd-generation,第三代移動(dòng)通訊技術(shù))運(yùn)用的普及,英創(chuàng)公司的工控主板同樣對(duì)3G無(wú)線通訊做了完備的支持。本文就以目前很常用的華為3G網(wǎng)卡770W和E261為例,介紹英創(chuàng)嵌入式Linux工控主板EM335x登錄中國(guó)聯(lián)通WCDMA網(wǎng)絡(luò)的具體方法。
華為770W和E261網(wǎng)卡通過(guò)USB接口和主板連接,英創(chuàng)公司主板的Linux內(nèi)核中已經(jīng)添加了3G模塊的驅(qū)動(dòng)(USB轉(zhuǎn)串口的驅(qū)動(dòng))和ppp協(xié)議的支持。內(nèi)核中的3G模塊的驅(qū)動(dòng)是以模塊(usbserial.ko)的形式提供,usbserial.ko是一個(gè)通用的驅(qū)動(dòng),已經(jīng)集成了一部分常用網(wǎng)卡的驅(qū)動(dòng),比如華為770W的網(wǎng)卡驅(qū)動(dòng)。還有一部分網(wǎng)卡,內(nèi)核模塊中并沒(méi)有集成它的驅(qū)動(dòng),需要借助輔助工具來(lái)進(jìn)行驅(qū)動(dòng)加載,比如華為E261。在內(nèi)核中已經(jīng)集成驅(qū)動(dòng)的網(wǎng)卡只需要加載驅(qū)動(dòng)模塊,然后撥號(hào),即可連接上網(wǎng),撥號(hào)使用的文件在/etc/ppp/peers/目錄下,英創(chuàng)公司已經(jīng)編寫好了GPRS網(wǎng)絡(luò),WCDMA網(wǎng)絡(luò),CDMA網(wǎng)絡(luò)的撥號(hào)文件,GPRS撥號(hào)在英創(chuàng)的GPRS模塊中已經(jīng)被很多客戶使用,使用3G網(wǎng)絡(luò)時(shí)客戶只需要選用對(duì)應(yīng)的撥號(hào)文件即可,本文使用的是聯(lián)通WCDMA網(wǎng)絡(luò),所以使用/etc/ppp/peers/目錄下的wcdma-connect-script文件。若客戶有其他特殊的要求,可以根據(jù)英創(chuàng)公司提供的這三個(gè)撥號(hào)文件進(jìn)行修改,滿足自己的需要。
華為770W網(wǎng)卡使用步驟如下:
1、上電啟動(dòng)英創(chuàng)公司的Linux主板,插入3G網(wǎng)卡。在沒(méi)有加載驅(qū)動(dòng)的時(shí)候,會(huì)被識(shí)別成CDROM或者USB移動(dòng)存儲(chǔ)設(shè)備。
2、加載驅(qū)動(dòng)模塊:
insmod /lib/modules/3.12.0/usbserial.ko vendor=0x12d1 product=0x1404
vendor和product是網(wǎng)卡工作在Modem模式時(shí)的ID。這里輸入的是華為770W網(wǎng)卡的ID,vendor=0x12d1代表華為公司,product=0x1404代表產(chǎn)品。加載成功后,終端會(huì)打印出轉(zhuǎn)換信息,網(wǎng)卡變轉(zhuǎn)化為Modem模式,在/dev下顯示節(jié)點(diǎn)ttyUSB0、ttyUSB1、ttyUSB2、ttyUSB3、ttyUSB4。
3、撥號(hào):
pppd call wcdma-connect-script
使用WCDMA網(wǎng)絡(luò)的撥號(hào)文件wcdma-connect-script進(jìn)行撥號(hào),完成以后,可以使用ifconfig命令查詢,如果成功聯(lián)網(wǎng),會(huì)有ppp0的網(wǎng)絡(luò)信息。如圖所示:
但是還有一部分比較新的網(wǎng)卡的驅(qū)動(dòng)沒(méi)有集成在usbserial.ko中,這是只是加載了usbserial.ko模塊還不能夠識(shí)別這個(gè)網(wǎng)卡,需要使用另一款輔助工具:usb_modeswitch,英創(chuàng)公司已經(jīng)將這個(gè)工具移植到嵌入式環(huán)境中,華為E261網(wǎng)卡的使用就需要使用到usb_modeswitch,因?yàn)閡sberial.ko中并沒(méi)有它的驅(qū)動(dòng),使用步驟如下:
1、上電啟動(dòng)英創(chuàng)公司的Linux主板,插入3G網(wǎng)卡。在沒(méi)有加載驅(qū)動(dòng)的時(shí)候,同樣會(huì)被識(shí)別成CDROM或者USB移動(dòng)存儲(chǔ)設(shè)備。
2、加載驅(qū)動(dòng)模塊:
insmod /lib/modules/3.12.0/usbserial.ko vendor=0x12d1 product=0x1436
這里輸入的是華為E261網(wǎng)卡的ID,同樣vendor=0x12d1代表華為公司,product=0x1436代表產(chǎn)品。加載驅(qū)動(dòng)后,系統(tǒng)并沒(méi)有識(shí)別出網(wǎng)卡。
3、使用usb_modeswitch工具:
在nandflash中創(chuàng)建一個(gè)3g目錄,將英創(chuàng)公司移植的usb_modeswitch工具和配置文件12d1_1446復(fù)制到3g目錄下,執(zhí)行命令:
cd /mnt/nandflash/3g
./usb_modeswitch -c 12d1_1446
12d1_1446是usb_modeswitch的配置文件,編輯如下:
# Huawei, newer modems
DefaultVendor=0x12d1
DefaultProduct= 0x1446
TargetVendor=0x12d1
TargetProductList='1001,1406,140b,140c,1412,141b,1432,1433,1436,14ac,1506,150c,1511'
MessageContent='55534243123456780000000000000011062000000101000100000000000000'
配置文件中DefaultVendor和DefaultProduc是沒(méi)有加載驅(qū)動(dòng)前,系統(tǒng)將網(wǎng)卡識(shí)別成CDROM或者USB移動(dòng)存儲(chǔ)設(shè)備時(shí)顯示的ID,0x12d1是指華為公司,0x1446指的是USB移動(dòng)存儲(chǔ)設(shè)備,因?yàn)闆](méi)有加載驅(qū)動(dòng)時(shí),系統(tǒng)將網(wǎng)卡識(shí)別為移動(dòng)存儲(chǔ)設(shè)備,所以DefaultProduc寫上移動(dòng)存儲(chǔ)設(shè)備的ID。TargetVendor和TargetProductList是上網(wǎng)卡工作在Modem模式時(shí)的ID,同樣0x12d1是指華為公司,0x1446指的是E261這款網(wǎng)卡。若客戶需要使用不同公司,不同型號(hào)的3G網(wǎng)卡,需要將這個(gè)配置文件中的內(nèi)容修改為對(duì)應(yīng)3G網(wǎng)卡的配置。
通過(guò)使用usb_modeswitch工具,系統(tǒng)成功的將網(wǎng)卡轉(zhuǎn)換為Modem模式,查看/dev目錄下,會(huì)顯示節(jié)點(diǎn)ttyUSB0、ttyUSB1、ttyUSB2、ttyUSB3、ttyUSB4。
4、撥號(hào):
執(zhí)行命令:pppd call wcdma-connect-script
使用WCDMA網(wǎng)絡(luò)的撥號(hào)文件wcdma-connect-script進(jìn)行撥號(hào),完成以后,可以使用ifconfig命令查詢,如果成功聯(lián)網(wǎng),會(huì)有ppp0的網(wǎng)絡(luò)信息。如圖所示:
至此,華為770W和E261網(wǎng)卡通過(guò)EM335x已經(jīng)成功登錄聯(lián)通3G網(wǎng)絡(luò),可以通過(guò)ping外網(wǎng)網(wǎng)址來(lái)測(cè)試是否正確連接網(wǎng)絡(luò)。
-
Linux
+關(guān)注
關(guān)注
87文章
11304瀏覽量
209518 -
嵌入式主板
+關(guān)注
關(guān)注
7文章
6085瀏覽量
35341
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論