storage R&D guy.
全部博文(1000)
分类: 服务器与存储
2015-03-29 11:24:03
在usb 3G上网卡中,有许多都是使用的称为zeroCD的一种模式。就是在初始时,将3G上网卡,识别为一个CD设备。然后自动安装驱动,安装完成后。自动卸载。将3G网卡转换成串口模式。
要想在linux和安卓上使用3g网卡,一个很重要的东西就是网卡的参数,最好先在windows上运行,获取那些参数再到linux上配置。
我买的创景SEV959电信3g网卡,终端上输入lsusb,得到
Bus 006 Device 005: ID 05c6:1000 Qualcomm
这是存储设备模式,05c6代表高通(idvendor),1000代表存储设备(idproduct),我们需要知道转换成modem模式后的idvendor和idproduct,从windows上知道转换后变成05c6:6000。
在linux上,我们转换3g网卡的模式使用usb_modeswitch程序,ubuntu12.04中带有此软件,没有的可自行安装。
修改/etc/usb_modeswitch.conf文件内容,添加
DefaultVendor=0x05c6
DefaultProduct=0x1000
TargetVendor=0x05c6
TargetProduct=0x6000
CheckSuccess=2
MessageContent="555342430850e782c000000080000671010000000000000000000000000000"
难点在于MessageContent,MessageContent内容错误将无法转换成功,可参照http://www.draisberghof.de/usb_modeswitch/device_reference.txt文件,查找对应品牌的3g网卡,同品牌的默认MessageContent应该是有效的,实在不行只能自己分析usb协议(可用sniffUSB或usblyzer),查看MessageContent。
然后sudo usb_modeswitch -W -I -c /etc/usb_modeswitch.conf,如果配置没错,mode将转换成功,再输入lsusb,就可看到
Bus 006 Device 005: ID 05c6:6000 Qualcomm, Inc. Siemens SG75
当然,每次插入网卡都运行一次命令太折腾了,所以我们可以将它加入到udev规则中,在/lib/udev/rules.d/50-udev-default.rules(也可能再etc目录中)后面添加
ACTION=="add", SUBSYSTEM=="usb",SYSFS{idVendor}=="05c6", SYSFS{idProduct}=="1000",
RUN+="/usr/sbin/usb_modeswitch -c /etc/usb_modeswitch.conf"
sudo service udev restart
把网卡拔下再插上之后就会发现自动转换了。
接下来是拨号,在/etc/ppp/peers目录下创建新文件evdo,内容如下
/dev/ttyUSB0
115200
nodetach
lock
user "ctnet@mycdma.cn"
password "vnet.mobi"
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/evdo-connect-chat'
再创建evdo-connect-chat
TIMEOUT 2
ABORT 'NO CARRIER'
ABORT 'ERROR'
ABORT 'NO DIALTONE'
ABORT 'BUSY'
ABORT 'NO ANSWER'
"" ATE1
"" "AT+CFUN=1"
OK-AT-OK ATD#777
CONNECT ''
输入命令pppd call evdo&就可以上网了,断开网络就输入poff。
在安卓上用3g网卡要先安装ppp widget,usb_modeswitch的作者写的,如果你的网卡在他的支持列表中,你就可以直接上网了,
电信用户配置为APN 空(切记) user "ctnet@mycdma.cn" password "vnet.mobi" dialing string "#777"
如果不在支持列表中,就不选自动检测设备,将之前的usb_modesiwtch.conf拷贝到pppwideget目录下,打开root explorer,在安卓根目录下创建ppp.sh,内容为
/data/data/de.draisberghof.pppwidget/app_bin/usb_modeswitch -c /sdcard/pppwidget/cfg/usb_modeswitch.conf,修改权限,添加执行权限(切记),再长按选择creat shortcut,这样以后插入3g网卡,执行ppp.sh,点击pppwideget图标选择网卡就可以上网了。