1. 程式人生 > >GPRS模組在Linux平臺上ppp撥號上網總結與心得

GPRS模組在Linux平臺上ppp撥號上網總結與心得

由於一個嵌入式平臺上專案開發的需要,在arm平臺上實施ppp撥號上網。說起這個linux平臺的ppp撥號上網,也許很多人覺很簡單,網上

    的成功的例子很多!不錯,你說的對,但是我還要給點我的看法,就是這個簡單的ppp撥號折騰了我的時間之長,我都不好意思講。但是,現在看來這個過程學到

    了好多的東西,得到很多分析能力的鍛鍊。現在成功移植到arm開發板上。特寫日誌於此,分享我的這段時間以來的總結:

     linux平臺的ppp撥號上網,(註明:這裡只談命令列撥號,用linux就要習慣和熟練使用命令列)

    在網上常見的有三種方式:

    1.使用智慧的ppp撥號軟體wvdial:

    參考案例:本部落格的《使用wvdial啟動ppp協議撥號上網》

    2.使用3個指令碼的方式:即ppp-on,ppp-on-dialer,ppp-off

參考文件:linux-ppp-howto (

     )、howto hook up ppp (

    ) 以及網上很多成功的案例

    注:以上兩種方式各有自己的優缺點,第一種方式智慧穩定,他不需要chat程式,使用整合的wvdial工具包直接連線ISP,安全穩定,可以斷線自動重

    撥。第二方式,使用chat程式,但是很多的引數需要自己去配置,雖然比較靈活,但是如果遇到了撥號錯誤以後,你若不清ppp協議撥號實現的具體機制和每

    個引數的含義,你就會很吃力,也許運氣好的時候,你執行的環境正好和本地的移動isp配置吻合,恭喜你能上網了,但是你遺憾的是沒有學到東西,想了解

    ppp機制的朋友,可以試試第2種方式,在瞭解大體瞭解ppp協議的前提下,觀察思考/var/log/messages中的資訊。

    3.使用命令pppd call somescript的方式:

    參考案例:

    我使用就是該方式,下面列出ppp撥號相關配置檔案並作適當的解釋;

    注

    意:我使用的gprs模組是HUAWEI

    GTM900A/B兩種,不同的模組的內部設定有差異,所以配置檔案中的某些引數配置有差異,另外還有自身的pc機或者arm開發板的環境以及所處的地點

    的訊號,移動ISP都有關,在出現問題的時候要考慮這些潛在的可能因素。錯誤排查的過程是個枯燥難受的過程,但是反過來去看,這個過程之後會收穫很多。

    默

    認情況在/etc/ppp/目錄下建立檔案gprs-connect-chat,內容如下(每個引數解釋在ppp-howto中有詳細解釋。它是在ppp

    底層會話的時候給chat程序的引數每行是一個“期望/傳送”的組合序列。當出現一些經典的錯誤如: "LCP: timeout sending

    Config-Requests" ,"serial line is not 8 bit clean...",“serial line is

    looped

    back”等,去參看方式2提到的兩個文件,或者google。注意,為什麼不能確切地給出解決的方式,原因是打印出來的同一個錯誤資訊,我稱之為現象,

    同一現象可能是由很多種原因造成的,需要自己實地排查。)

    #/etc/ppp/gprs-connect-chat

    TIMEOUT 15

    ABORT '\nBUSY\r'

    ABORT '\nNO ANSWER\r'

    ABORT '\nRINGING\r\n\r\nRINGING\r'

    #'' AT

    #'OK-+++\c-OK' ATH0

    TIMEOUT 40

    '' \rAT

    OK ATS0=0 #這些都是標準的at命令,建議檢視隨模組的at命令手冊

    OK ATE0V1

    OK AT+CGDCONT=1,"IP","CMNET" #設定isp接入閘道器為中國移動的cmnet,如果你想 獲得更多訪問資源的話

    OK ATDT*99***1# #中國移動gprs的接入號嗎

    CONNECT ''

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    建立檔案/etc/ppp/peers/gprs,它的作用是給pppd程序提供配置引數(詳見man 8 pppd的輸出內容,如果出現問題這個將是非常重要的參考頁),內容如下:

    #/etc/ppp/peers/gprs

    # Usage: root>pppd call gprs

    /dev/s3c2410_serial1 #改成自己的埠名

    115200 #改成自己串列埠波特率

    nocrtscts

    #可能你的串列埠是需要crtscts,硬體流控的,這是由你的串列埠決定的,一般嵌入式系統的串列埠沒有帶硬體流控,也不需要就加nocrtscts

    modem #這個引數使得pppd程序將等待模組發回的CD (Carrier Detect)訊號,與local真好相反

    #noauth

    debug #把除錯資訊輸出到/var/log/messages,在除錯成功後去掉它,以減少垃圾的產生。

    nodetach

    #hide-password

    usepeerdns #以下的3個引數一般不可少

    noipdefault

    defaultroute

    user smsong #設定接入的使用者名稱,在chap-secrets或者pap-secets中使用

    0.0.0.0:0.0.0.0 #本地和遠端的ip都設為0使得接入的isp分配本地的ip地址

    ipcp-accept-local #要求peer也就是isp給自己非配動態的IP地址

    #ipcp-accept-remote

    #lcp-echo-failure 12

    #lcp-echo-interval 3

    noccp #不需要壓縮控制協議,有可能對端不需要,根據自己的isp的情況

    #novj

    #novjccomp

    persist #保證在連線斷開的情況下不退出,並嘗試重新開啟連線

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

     #pppd呼叫chat會話程序接入對端isp,啟動對端的pppd,然後本地pppd與對端的pppd一起進行協

     #商網路引數和chap/pap認證,成功後,再進行ncp層的ip的分配。

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    #/etc/ppp/chap-secets

    # Secrets for authentication using CHAP

    # client server secret IP addresses

    ####### redhat-config-network will overwrite this part!!! (begin) ##########

    ####### redhat-config-network will overwrite this part!!! (end) ############

    smsong * 123456 *

    有點地區的GPRS可能使用pap方式認證接入使用者,所以在同一級目錄下,建立pap-secets檔案,內容與chap-secets類似有4項的內容第2和第4項一般不限制就用*(星號)代表。反正要你在/etc/ppp/下放著這兩個檔案就好。

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    在建立了ppp0連線以後可以使用ctrl+c或者下面的指令碼程式ppp-off斷開ppp連線

    #/etc/ppp/ppp-off

    #!/bin/sh

    ######################################################################

    #

    # Determine the device to be terminated.

    #

    if [ "$1" = "" ]; then

     DEVICE=ppp0

    else

     DEVICE=$1

    fi

    ######################################################################

    #

    # If the ppp0 pid file is present then the program is running. Stop it.

    if [ -r /var/run/$DEVICE.pid ]; then

     kill -INT `cat /var/run/$DEVICE.pid`

    #

    # If the kill did not work then there is no process running for this

    # pid. It may also mean that the lock file will be left. You may wish

    # to delete the lock file at the same time.

     if [ ! "$?" = "0" ]; then

     rm -f /var/run/$DEVICE.pid

     echo "ERROR: Removed stale pid file"

     exit 1

     fi

    #

    # Success. Let pppd clean up its own junk.

     echo "PPP link to $DEVICE terminated."

     exit 0

    fi

    #

    # The ppp process is not running for ppp0

    echo "ERROR: PPP link is not active on $DEVICE"

    exit 1

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    做好上面的配置以後,輸入pppd call gprs命令,注意如果你的gprs這個檔案不在/etc/ppp/peers/目錄下,在給出標註路徑給pppd

    [[email protected] ppp_scripts]# pppd call gprs

    timeout set to 15 seconds

    abort on (\nBUSY\r)

    abort on (\nNO ANSWER\r)

    abort on (\nRINGING\r\n\r\nRINGING\r)

    timeout set to 40 seconds

    send (^MAT^M^M)

    expect (OK)

    ^M^M

    OK

     -- got it

    send (ATS0=0^M^M)

    expect (OK)

    ^M

    AT^M

    OK

     -- got it

    send (ATE0V1^M^M)

    expect (OK)

    ^M

    ^M^M

    OK

     -- got it

    send (AT+CGDCONT=1,"IP","CMNET"^M^M)

    expect (OK)

    ^M

    ATS0=0^M^M

    OK

     -- got it

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

    expect (CONNECT)

    ^M

    ^M^M

    OK^M

    ATE0V1^M^M

    OK^M

    ^M

    OK^M

    ^M

    OK^M

    ^M

    OK^M

    ^M

    CONNECT

     -- got it

    send (^M)

    Serial connection established.

    using channel 20

    Using interface ppp0

    Connect: ppp0 /dev/ttyS0

    Warning - secret file /etc/ppp/pap-secrets has world and/or group access

    sent [LCP ConfReq id=0x1 ]

    rcvd [LCP ConfRej id=0x1 ]

    sent [LCP ConfReq id=0x2 ]

    rcvd [LCP ConfAck id=0x2 ]

    rcvd [LCP ConfReq id=0x1 ]

    sent [LCP ConfAck id=0x1 ]

    rcvd [CHAP Challenge id=0x1 , name = ""]

    Warning - secret file /etc/ppp/chap-secrets has world and/or group access

    sent [CHAP Response id=0x1 , name = "smsong"]

    rcvd [CHAP Success id=0x1 ""]

    CHAP authentication succeeded

    CHAP authentication succeeded

    sent [CCP ConfReq id=0x1 ]

    sent [IPCP ConfReq id=0x1 ]

    rcvd [LCP ProtRej id=0x1 80 fd 01 01 00 0c 1a 04 78 00 18 04 78 00]

    Protocol-Reject for 'Compression Control Protocol' (0x80fd) received

    rcvd [IPCP ConfReq id=0x1]

    sent [IPCP ConfNak id=0x1 ]

    rcvd [IPCP ConfRej id=0x1 ]

    sent [IPCP ConfReq id=0x2 ]

    rcvd [IPCP ConfReq id=0x2]

    sent [IPCP ConfAck id=0x2]

    rcvd [IPCP ConfNak id=0x2 ]

    sent [IPCP ConfReq id=0x3 ]

    rcvd [IPCP ConfAck id=0x3 ]

    Could not determine remote IP address: defaulting to 10.64.64.64

    local IP address 10.144.202.159

    remote IP address 10.64.64.64

    primary DNS address 211.138.200.69

    secondary DNS address 211.103.13.101

    Script /etc/ppp/ip-up started (pid 4578)

    Script /etc/ppp/ip-up finished (pid 4578), status = 0x0

    使用ctrl+c可以斷開連線,這樣一般不太好測試是不是連線上了(遇有開發不上的控制檯只有一個的原因),可以去掉/etc/ppp

    /peers/gprs檔案中的nodetach引數,要用ping,你需要將eth0即網口給禁用掉,這樣ping才會通過ppp0埠尋找路由連線外

    網。

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    可以用命令tail -f /var/log/messages看到日誌:

    Mar 20 20:55:55 localhost pppd[4557]: pppd 2.4.4 started by root, uid 0

    Mar 20 20:55:56 localhost chat[4558]: timeout set to 15 seconds

    Mar 20 20:55:56 localhost chat[4558]: abort on (\nBUSY\r)

    Mar 20 20:55:56 localhost chat[4558]: abort on (\nNO ANSWER\r)

    Mar 20 20:55:56 localhost chat[4558]: abort on (\nRINGING\r\n\r\nRINGING\r)

    Mar 20 20:55:56 localhost chat[4558]: timeout set to 40 seconds

    Mar 20 20:55:56 localhost chat[4558]: send (^MAT^M^M)

    Mar 20 20:55:56 localhost chat[4558]: expect (OK)

    Mar 20 20:55:56 localhost chat[4558]: ^M^M

    Mar 20 20:55:56 localhost chat[4558]: OK

    Mar 20 20:55:56 localhost chat[4558]: -- got it

    Mar 20 20:55:56 localhost chat[4558]: send (ATS0=0^M^M)

    Mar 20 20:55:56 localhost chat[4558]: expect (OK)

    Mar 20 20:55:56 localhost chat[4558]: ^M

    Mar 20 20:55:56 localhost chat[4558]: AT^M

    Mar 20 20:55:56 localhost chat[4558]: OK

    Mar 20 20:55:56 localhost chat[4558]: -- got it

    Mar 20 20:55:56 localhost chat[4558]: send (ATE0V1^M^M)

    Mar 20 20:55:56 localhost chat[4558]: expect (OK)

    Mar 20 20:55:56 localhost chat[4558]: ^M

    Mar 20 20:55:56 localhost chat[4558]: ^M^M

    Mar 20 20:55:56 localhost chat[4558]: OK

    Mar 20 20:55:56 localhost chat[4558]: -- got it

    Mar 20 20:55:56 localhost chat[4558]: send (AT+CGDCONT=1,"IP","CMNET"^M^M)

    Mar 20 20:55:57 localhost chat[4558]: expect (OK)

    Mar 20 20:55:57 localhost chat[4558]: ^M

    Mar 20 20:55:57 localhost chat[4558]: ATS0=0^M^M

    Mar 20 20:55:57 localhost chat[4558]: OK

    Mar 20 20:55:57 localhost chat[4558]: -- got it

    Mar 20 20:55:57 localhost chat[4558]: send (ATDT*99***1#^M^M)

    Mar 20 20:55:57 localhost chat[4558]: expect (CONNECT)

    Mar 20 20:55:57 localhost chat[4558]: ^M

    Mar 20 20:55:57 localhost chat[4558]: ^M^M

    Mar 20 20:55:57 localhost chat[4558]: OK^M

    Mar 20 20:55:57 localhost chat[4558]: ATE0V1^M^M

    Mar 20 20:55:57 localhost chat[4558]: OK^M

    Mar 20 20:55:57 localhost chat[4558]: ^M

    Mar 20 20:55:57 localhost chat[4558]: OK^M

    Mar 20 20:55:57 localhost chat[4558]: ^M

    Mar 20 20:55:57 localhost chat[4558]: OK^M

    Mar 20 20:55:57 localhost chat[4558]: ^M

    Mar 20 20:55:57 localhost chat[4558]: OK^M

    Mar 20 20:55:57 localhost chat[4558]: ^M

    Mar 20 20:55:57 localhost chat[4558]: CONNECT

    Mar 20 20:55:57 localhost chat[4558]: -- got it

    Mar 20 20:55:57 localhost chat[4558]: send (^M)

    Mar 20 20:55:57 localhost pppd[4557]: Serial connection established.

    Mar 20 20:55:57 localhost pppd[4557]: Using interface ppp0

    Mar 20 20:55:57 localhost pppd[4557]: Connect: ppp0 /dev/ttyS0

    Mar 20 20:55:58 localhost pppd[4557]: Warning - secret file /etc/ppp/pap-secrets has world and/or group access

    Mar 20 20:56:00 localhost pppd[4557]: Warning - secret file /etc/ppp/chap-secrets has world and/or group access

    Mar 20 20:56:00 localhost pppd[4557]: CHAP authentication succeeded

    Mar 20 20:56:00 localhost pppd[4557]: CHAP authentication succeeded

    Mar 20 20:56:01 localhost kernel: PPP Deflate Compression module registered

    Mar 20 20:56:02 localhost pppd[4557]: Could not determine remote IP address: defaulting to 10.64.64.64

    Mar 20 20:56:02 localhost pppd[4557]: local IP address 10.144.202.159

    Mar 20 20:56:02 localhost pppd[4557]: remote IP address 10.64.64.64

    Mar 20 20:56:02 localhost pppd[4557]: primary DNS address 211.138.200.69

    Mar 20 20:56:02 localhost pppd[4557]: secondary DNS address 211.103.13.101

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    [[email protected] ~]# ifconfig

    eth0 Link encap:Ethernet HWaddr 00:0A:EB:91:3B:C4

     UP BROADCAST MULTICAST MTU:1500 Metric:1

     RX packets:0 errors:0 dropped:0 overruns:0 frame:0

     TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

     collisions:0 txqueuelen:1000

     RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

     Interrupt:209 Base address:0x4000

    lo Link encap:Local Loopback

     inet addr:127.0.0.1 Mask:255.0.0.0

     inet6 addr: ::1/128 Scope:Host

     UP LOOPBACK RUNNING MTU:16436 Metric:1

     RX packets:1240 errors:0 dropped:0 overruns:0 frame:0

     TX packets:1240 errors:0 dropped:0 overruns:0 carrier:0

     collisions:0 txqueuelen:0

     RX bytes:2039094 (1.9 MiB) TX bytes:2039094 (1.9 MiB)

    ppp0 Link encap:Point-to-Point Protocol

     inet addr:10.144.202.159 P-t-P:10.64.64.64 Mask:255.255.255.255

     UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1

     RX packets:5 errors:0 dropped:0 overruns:0 frame:0

     TX packets:6 errors:0 dropped:0 overruns:0 carrier:0

     collisions:0 txqueuelen:3

     RX bytes:62 (62.0 b) TX bytes:98 (98.0 b)

    [[email protected] ~]# ifconfig eth0 down

     禁用乙太網介面eth0,使得不和ppp0介面使用時候的路由衝突

    [[email protected] ~]# ping 211.136.20.203

    PING 211.136.20.203 (211.136.20.203) 56(84) bytes of data.

    64 bytes from 211.136.20.203: icmp_seq=1 ttl=247 time=3379 ms

    64 bytes from 211.136.20.203: icmp_seq=2 ttl=247 time=2388 ms

    64 bytes from 211.136.20.203: icmp_seq=3 ttl=247 time=2892 ms

    64 bytes from 211.136.20.203: icmp_seq=4 ttl=247 time=1952 ms

    64 bytes from 211.136.20.203: icmp_seq=5 ttl=247 time=1692 ms

    64 bytes from 211.136.20.203: icmp_seq=6 ttl=247 time=2112 ms

    64 bytes from 211.136.20.203: icmp_seq=7 ttl=247 time=1492 ms

    64 bytes from 211.136.20.203: icmp_seq=8 ttl=247 time=1472 ms

    --- 211.136.20.203 ping statistics ---

    9 packets transmitted, 8 received, 11% packet loss, time 7999ms

    rtt min/avg/max/mdev = 1472.094/2172.525/3379.568/638.150 ms, pipe 4

    這個時候如果你只能ping純的ip地址,而不能解析域名,這個時候你可能需要將/etc/ppp/resolv.conf(內容被新獲得的

    dns取代)內容拷貝到/etc/resolv.conf中或者做一個到/etc/resolv.conf的連結。這樣就可以ping域名和在瀏覽器中打

    開網頁啦。

    [[email protected] ~]# ping

    PING

     (202.108.22.5) 56(84) bytes of data.

    64 bytes from 202.108.22.5: icmp_seq=1 ttl=50 time=3142 ms

    64 bytes from 202.108.22.5: icmp_seq=2 ttl=50 time=3348 ms

    64 bytes from 202.108.22.5: icmp_seq=3 ttl=50 time=2796 ms

    64 bytes from 202.108.22.5: icmp_seq=4 ttl=50 time=3632 ms

    64 bytes from 202.108.22.5: icmp_seq=5 ttl=50 time=1936 ms

    64 bytes from 202.108.22.5: icmp_seq=7 ttl=50 time=909 ms

    64 bytes from 202.108.22.5: icmp_seq=6 ttl=50 time=1951 ms

    64 bytes from 202.108.22.5: icmp_seq=8 ttl=50 time=2839 ms

    64 bytes from 202.108.22.5: icmp_seq=9 ttl=50 time=1984 ms

    64 bytes from 202.108.22.5: icmp_seq=10 ttl=50 time=2404 ms

    64 bytes from 202.108.22.5: icmp_seq=11 ttl=50 time=1417 ms

    ---

     ping statistics ---

    12 packets transmitted, 11 received, 8% packet loss, time 13806ms

    rtt min/avg/max/mdev = 909.082/2396.720/3632.981/803.194 ms, pipe 4

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    另

    外,如果你希望一開機就可以自動撥號上網,只要在自己的開機啟動指令碼(我的開發板上是/etc/init.d/rcS,在pc上有好幾個如:/etc

    /rc.local檔案,做連結到cd

    /etc/rcN.d,N的選擇看執行的級別)裡面加上如下的語句,注意這個腳本里面的可執行程式給出的必須是據對路徑,因為剛開機嘛,整個機子的環境變

    量還沒有設定好。 還有不要在新加入的命令後面加&使得其變成後臺程序,它會週期性執行,會出錯!

    新增的幾條shell語句如下:

    /etc/ppp/rmlock #簡單的一個判斷並刪除無效的串列埠的lock檔案,保證成功撥號

    /usr/bin/pppd call gprs #自動撥號

    /usr/bin/sleep 20 #給它20s的撥號時間,看你的模組撥通的情況了。

    /bin/qtopia & #這個是原來腳本里面有的,把它的順序安排在這個位置,是為了在看到qt介面啟 #動以後,真好gprs撥號已經建立號,也就可以上網了。

    /sbin/ifconfig eth0 down #順便開機禁用eth0網口

    注:rmlock檔案

    #/etc/ppp/rmlock file

    #!/bin/sh

    if [ -f /var/lock/LCK..s3c2410_serial1 ]; then

    /bin/rm -f /var/lock/LCK..s3c2410_serial1

    fi

    如何解決pppd 執行的段錯誤:

    當你手動中斷ppp連結次數過多後,可能回出現pppd執行的段錯誤,

    The suggestion from debian bug report solves this problem. It is

    pretty straightforward: Simply delete /var/run/pppd.tdb file (in my

    system, it is /var/run/pppd2.tdb).

    總結:根據自己的環境和喜好選用其中一種撥號方式,wvdial的方式移植到arm開發板的時候,交叉編譯的時候出錯很多,可以試試,相對比較

    麻煩,而其它執行需要wvstreams的庫的支援,佔用空間大。第2中方式最常用,但是出錯的可能性比較大,原因使其比較靈活,第3中跟第2中方式類

    似。在出錯的時候可以到google上搜索同樣的錯誤現象,參考並修改自己的引數,再分析嘗試,只要堅持到底,才會真有收穫!當時你要沒有什麼時間了也不

    想學習ppp的內部撥號機制,建議用windows把,那個封裝的很好。穩定可靠!呵呵

    祝:ppp&linux撥號的朋友好運!

相關推薦

GPRS模組Linux臺上ppp撥號上網總結心得

由於一個嵌入式平臺上專案開發的需要,在arm平臺上實施ppp撥號上網。說起這個linux平臺的ppp撥號上網,也許很多人覺很簡單,網上     的成功的例子很多!不錯,你說的對,但是我還要給點我的看法,就是這個簡單的ppp撥號折騰了我的時間之長,我都不好意思講。但是,現

在ARM-linux上實現4G模組PPP撥號上網

轉自 http://blog.sina.com.cn/s/blog_7880d3350102wb92.html 在ARM平臺上實現4G模組的PPP撥號上網,參考網上的資料和自己的理解,從一無所知到開發完成花了一週多。最後看到ARM板ping通www.baidu.com時甚

Linux/Android系統通過PPP撥號上網

 嵌入式系統經常需要具備無線上網的功能,但在有的應用場景中無法使用wifi,這時可以通過GPRS模組上網。GPRS模組是基於AT命令進行控制的。對於微控制器這類沒有複雜作業系統的平臺來說,往往要通過應用程式,直接傳送AT命令給GPRS模組,以使GPRS模組連線到網路並建立

Linux臺上用C++實現多執行緒互斥鎖

     在上篇用C++實現了Win32平臺上的多執行緒互斥鎖,這次寫個Linux平臺上的,同樣參考了開源專案C++ Sockets的程式碼,在此對這些給開源專案做出貢獻的鬥士們表示感謝!     下邊分別是互斥鎖類和測試程式碼,已經在Fedora 13虛擬機器上測試通過。

ppp撥號上網

1:編譯工具:arm-elf-gcc -v gcc version 2.95.3       開發版 : 杭州立宇泰公司的 armsys44b0 2: 編譯核心使支援ppp make menuconfig network device support ppp

Linux臺上的Ftp伺服器上通過命令列下載檔案

本文中,介紹在 Linux shell 中如何使用 ftp 命令。包括如何連線 FTP 伺服器,上傳或下載檔案以及建立資料夾。儘管現在有許多不錯的 FTP 桌面應用,但是在伺服器、SSH、遠端會話中命令列 ftp 命令還是有很多應用的。比如。需要伺服器從 ftp

linux臺上image檔案掛載的方法

在linux平臺上,編譯得到image檔案之後, 可以通過掛載image檔案到指定目錄的方法,對image檔案中的內容進行修改,然後再重新打包生成新的image檔案。 具體方法: 先使用simg2img對image進行格式轉換。 然後將轉換之後的image掛載到指定檔案目錄

嵌入式Linux系統---ppp撥號,4G模組上網

4G模組PPP撥號上網 方法1 所需檔案: xxx-chat-connect,xxx-chat-disconnect ,xxx-ppp 複製以上三個檔案到/etc/ppp/peers目錄下 在 xxx-ppp 檔案 修改你的串

linux GPRS模組撥號上網

使用GPRS模組撥號上網之前需要一直pppd和chat 首先配置核心中的ppp選項, Make menuconfig Device dirver --->Network device    │ │                               ***

ME909S-821 4G-LTE模組Linux系統下撥號上網測試

實驗平臺 中國移動 “and”普通4G USIM卡 Ubuntu Kylin 14.04作業系統 大前提 SIM正常,能撥號/能上網 4G模組正常,通過USB口連線到PC Linux系統能檢測到模組,並且能識別模組的網絡卡

linux下用wvdial實現gprs撥號上網

1. 安裝wvdial   sudo apt-get install wvdial   2. 在/etc/wvdial.conf中寫入wvdial的配置資訊: femacs /etc/wvdial.conf   Init1 = ATZ   Init2 = ATQ0 V1 E

嵌入式linux實現pppoe撥號上網

嵌入式linux實現pppoe撥號上網一.交叉編譯內核make menuconfig -> Device Drivers -> Network device support -> PPP (point-to-point protocol) 中,選中所有ppp選項。退出,保存配置,修改M

Linux Ubuntu系統之PPP撥號經驗分享

近期,工作需要,我負責開發PPP撥號模組。 說起撥號,算算時間,我已經做過2次了, 暴露年齡了,呵呵。 第一次是剛畢業做的PPOE撥號,給電信做撥號軟體,在河北石家莊工作過一段時間,基於windows xp。 第二次是在移動網優,3G手機路測,即著名的TD-SCDMA,基於AT指令控制手機

linux PPPOE撥號上網設定

1. 開啟應用程式選單,依次選擇附件 - 終端。  2.在彈出終端視窗後,輸sudo pppoeconf,輸入完成後回車。  3.然後會提示您輸入當前Ubuntu 管理員使用者的密碼,輸入完成後回車。  詢問你的網路裝置,一般選擇是,進行檢測,然後一直選擇是。  4.之後會

OpenWrt下通過EC20 R2.0 4G模組實現qmi撥號上網

OpenWrt下通過EC20R2.0 4G模組實現qmi撥號上網   1.本文件參考資料為Quectel_WCDMA&LTE_Linux_USB_Driver_User_Guide_V1.6.pdf, 實現QMI撥號,只需要參考下列章節即可

GPRS連線,用AT指令撥號上網

  內容非常簡單.會電腦的一定明白我在說什麼.1:設定撥號號碼為*99***1#,GPRS連線接入點名稱APN按你的GPRS埠可設為cmwap或cmnet.2:modem屬性的高階中額外的初始化命令中填入at+cgdcont=1,"IP","cmwap"3:開啟IE,工具-internet選項-連線-選擇所

QT環境搭建: QT玩轉在linux的x86平臺或者ARM臺上

參考連結: tslib1.4與Qt4.8.6的交叉編譯與移植 Tslib和Qt 4.8.4與在開發板上的移植 目的:使自己在Ubuntu下的qtcreator3.5.0生成的介面,通過qt4.8.6交叉編譯,gcc4.4.3交叉編譯,得到一個可執行qt程式,並將其放到

樹莓派pi3B連線4G模組撥號上網配置(樹莓派接受cc2530資料儲存併發送到OneNet例項)

樹莓派pi3B串列埠配置見: #Time:20180801 #Env:raspi、4G模組、4GSIM(本人用的移動、如用聯通、電信按下文APN,修改接入點名稱) #ZigBee從裝置採集感測器資料 #ZigBee協調器串列埠接受從裝置資料 #樹莓派3B串列

華為3G模組撥號上網

一 開發環境簡介 核心版本 3.19.5、3.15(這2個我都試過) 編譯環境  Ubuntu 12.04 3g模組      華為MU709s SIM卡        聯通 二 主要步驟 向linux核心中新增3G模組驅動(USB轉串列埠的option驅動)和pp

Linux/Ubuntu下的PPPoE撥號上網方法

-------------藍色是終端裡面的連線方式,可以不看--------------------- ADSL上網,Ubuntu下是可以的,雖然以前沒用過撥號上網,不過查了查也不是很麻煩。 開啟終端配置上網: [email protected]:~$ sudo p