Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1940765
  • 博文数量: 1000
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 7921
  • 用 户 组: 普通用户
  • 注册时间: 2013-08-20 09:23
个人简介

storage R&D guy.

文章分类

全部博文(1000)

文章存档

2019年(5)

2017年(47)

2016年(38)

2015年(539)

2014年(193)

2013年(178)

分类: 服务器与存储

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图标选择网卡就可以上网了。

阅读(1897) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~