Linux下通过usb 3G无线网卡上网

准备工作

Linux系统:RHEL 6.0

三个文件:usb-modeswitch-1.2.0.tar.bz2、usb-modeswitch-data-20111023.tar.bz2和devices.txt。

USB无线网卡一个:ZTE MU351

  1. 插上usb无线网卡
     

通过lsusb查看

[root@localhost ~]# lsusb

Bus 002 Device 003: ID 19d2:0003 ONDA Communication S.p.A.

Bus 002 Device 001: ID 0000:0000

Bus 002 Device 002: ID 0e0f:0002 VMware, Inc. Virtual USB Hub

Bus 001 Device 001: ID 0000:0000

 

  1. 安装usb-modeswitch
     

tar jxvf usb-modeswitch-1.2.0.tar.bz2

cd usb-modeswitch-1.2.0

安装gcc环境 yum install –y gcc*

安装libusb-devel包 yum install –y libusb*

编译安装 make install (可以参考README文件)

tar jxvf usb-modeswitch-data-20111023.tar.bz2

cd usb-modeswitch-data-20111023

make install

cp usb_modeswitch.d/19d2\:0003 /etc/usb_modeswitch.d/(这里注意和lsusb的结果一样)

usb_modeswitch -W -c /etc/usb_modeswitch.d/19d2\:0003 加载配置文件中的内容到系统

 

3.测试无线网卡驱动是否成功

dmesg|grep tty 如果出现ttyUSB、ttyACM等,说明成功

 

4. 通过wvdial拨号上网

yum install –y wvdial

编译wvdial的配置文件

vi /etc/wvdial.conf

删除原内容,添加如下内容:

[Dialer Defaults]

Modem = /dev/ttyUSB2

Init1 = ATZ

Init3 = ATE0V1

Init5 = ATS0=0

Init6 = AT+CGDCONT=1,”IP”,”cmnet”

Init7 = AT+CFUN=1

Modem Type = USB Modem

Baud = 460800

New PPPD = yes

ISDN = 0

Phone = 99**1#

Password = any

Username = any

Stupid Mode = 1

 

添加完后,通过wvdial拨号上网。

另一个控制台,用 route -n 看拔号后的情况,得到新的路由了。可以上网了。

关闭只需crtl + c来关闭wvdial。

 

5. 用udev自动识别:

/etc/udev/rules.d/50-zte-mu351.rules

添加如下内容:

ACTION==”add”, SUBSYSTEM==”usb”, DRIVERS==”usb”, ATTR{idVendor}==”19d2”, ATTR{idProduct}==”0003”, RUN+=”/usr/sbin/usb_modeswitch -v %s{idVendor} -p %s{idProduct} -M 5553424312345678000000000000061b000000020000000000000000000000 -R 1”

[注意确认usb_modeswitch所在的路径名]

 

拔掉3G上网卡后要稍微等一下再插上,此时可以识别为tty设备。

 

6. 写成脚本

#!/bin/sh

usb_modeswitch –W -c /etc/usb_modeswitch.d/19d2\:0003

sleep 5

wvdial