在Linux上实现3G拔号上网

发布时间:2019-09-18 07:22:34编辑:auto阅读(1553)


    新浪微博: @wandering


    我的3G上网卡是华为 E1750,操作系统是openSUSE 11.2,之前只能在虚拟机运行的Windows里上3G,感觉这样实在不方便,于是想到了直接在Linux里连接3G网络。

    主要参考了2篇文档,尤其向第一篇作者yel617致谢,分别是:

    <<华为E1750在DM6446上的移植>>
    <<USB_ModeSwitch - Activating Switchable USB Devices on Linux>>



    闲话少说,直接写方法。



    1. software
    ================

    http://www.draisberghof.de/usb_modeswitch/

    usb-modeswitch
    usb-modeswitch-data
    libusb




    2. install
    ==============

    安装软件

    root# tar jxvf usb-modeswitch-1.1.3.tar.bz2
    root# cd usb-modeswitch-1.1.3/
    root# make install

    root# tar jxvf usb-modeswitch-data-20100707.tar.bz2
    root# cd usb-modeswitch-data-20100707/
    root# make install

    then upgrade libusb to the lastest version.

    root# cp /usr/share/doc/packages/ppp/scripts/pon /usr/local/sbin
    root# cp /usr/share/doc/packages/ppp/scripts/poff /usr/local/sbin
    root# chmod ug+x /usr/local/sbin/pon /usr/local/sbin/poff


    接下来,接上3G上网卡,可以看到 lsusb 输出的结果多了"USB Modem"字样。

    root# lsusb
    ...
    Bus 002 Device 010: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem
    ...




    3. configure
    ================

    建立3个PPP配置文件。

    root# cat /etc/ppp/peers/wcdma
    nodetach
    lock
    /dev/gsmmodem
    115200
    user "card"
    password "card"
    crtscts
    show-password
    usepeerdns
    noauth
    noipdefault
    novj
    novjccomp
    noccp
    defaultroute
    ipcp-accept-local
    ipcp-accept-remote
    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'


    root# cat /etc/ppp/peers/wcdma-chat-connect
    ABORT 'NO CARRIER'
    ABORT 'ERROR'
    ABORT 'NO DIALTONE'
    ABORT 'BUSY'
    ABORT 'NO ANSWER'
    '' \rAT
    OK \rATZ
    OK \rAT+CGDCONT=1,"IP","3gnet",,0,0
    OK-AT-OK ATDT*99#
    CONNECT \d\c


    root# cat /etc/ppp/peers/wcdma-chat-disconnect
    ABORT "ERROR"
    ABORT "NO DIALTONE"
    SAY "\nSending break to the modem\n"
    '' "\K"
    '' "+++ATH"
    SAY "\nGoodbay\n"




    4. connect
    ==============

    拔号连接

    root# pppd call wcdma &
    ......
    Serial connection established.
    Using interface ppp0
    Connect: ppp0 <--> /dev/gsmmodem
    CHAP authentication succeeded
    CHAP authentication succeeded
    Could not determine remote IP address: defaulting to 10.64.64.64
    not replacing default route to eth0 [10.217.15.1]
    local  IP address 172.27.25.133
    remote IP address 10.64.64.64
    primary   DNS address 202.106.195.68
    secondary DNS address 202.106.46.151
    Script /etc/ppp/ip-up finished (pid 10543), status = 0x0


    手工添加DNS

    root# echo "nameserver 202.106.46.151" >> /etc/resolv.conf


    手工指定默认网关

    root# route add default gw 172.27.25.133


    测试网络是否可用

    root# ping -c 5 www.sina.com.cn
    PING libra.sina.com.cn (202.108.33.80) 56(84) bytes of data.
    64 bytes from 202.108.33.80: icmp_seq=1 ttl=56 time=39.6 ms
    64 bytes from 202.108.33.80: icmp_seq=2 ttl=56 time=48.3 ms
    64 bytes from 202.108.33.80: icmp_seq=3 ttl=56 time=46.8 ms
    64 bytes from 202.108.33.80: icmp_seq=4 ttl=56 time=44.6 ms
    64 bytes from 202.108.33.80: icmp_seq=5 ttl=56 time=44.1 ms

    --- libra.sina.com.cn ping statistics ---
    5 packets transmitted, 5 received, 0% packet loss, time 4006ms
    rtt min/avg/max/mdev = 39.670/44.739/48.330/2.957 ms




    5. disconnect
    ==================

    root# poff






关键字

上一篇: python版蛇形填数

下一篇: nagios 3.X pnp-0.4.3