上周末买了一块华为移动3g上网卡,在window和ubuntu910上分别驱动起来。
在window上比较简单,插上上网卡,直接模拟出一个光盘,自动运行安装程序。安装完毕双击”3ge行“自动链接即可上网。
在ubuntu上稍微费了点周折,主要是这几天在邮政测试,无法上网,只能在window上找到方法、下载相应的包在ubuntu上安装。
参考linux-ren和网上其他资料,基本两个步骤:1、安装usb模式转换程序usb_modeswitch;2、安装拨号程序wvdial。
首先从下载最新版本usb-modeswitch-1.1.1.tar.bz2,编译安装。安装过程并没有网上说的低版本那样顺利,首先安装时提示找不到/etc/usb_modeswitch.setup。这我倒不能说新版本makefile有问题,也有可能是和ubuntu910不太兼容,不过我可以人工解决。解决方法就是将解压后目录里面的usb_modeswitch.setup拷贝到/etc目录,再次安装,成功。
root@fan3838:~# lsusb
bus 004 device 001: id 1d6b:0001 linux foundation 1.1 root hub
bus 002 device 001: id 1d6b:0002 linux foundation 2.0 root hub
bus 008 device 001: id 1d6b:0001 linux foundation 1.1 root hub
bus 001 device 001: id 1d6b:0002 linux foundation 2.0 root hub
bus 005 device 001: id 1d6b:0001 linux foundation 1.1 root hub
bus 007 device 001: id 1d6b:0001 linux foundation 1.1 root hub
bus 006 device 008: id 12d1:1d09 huawei technologies co., ltd.
bus 006 device 005: id 04d9:0499 holtek semiconductor, inc.
bus 006 device 001: id 1d6b:0001 linux foundation 1.1 root hub
bus 003 device 001: id 1d6b:0001 linux foundation 1.1 root hub
|
系统中lsusb已经看到华为et128的卡信息了,id也和网上说的12d1:1d09一样,按照网上说法修改/etc/usb_modeswitch.conf,添加相应部分,然后执行usb_modeswitch -w提示没有找到设备。我自己一看这个命令执行的过程才发现,根本不是从/etc/usb_modeswitch.conf中读取的配置信息,而是从/etc/usb_modeswitch.setup读取的:
root@fan3838:etc# usb_modeswitch -w
reading config file: /etc/usb_modeswitch.setup
* usb-modeswitch: handle usb devices with multiple modes
* version 1.1.1 (c) josua dietze 2010
* based on libusb0 (0.1.12 and above)
! please report new configurations !
defaultvendor= 0x0000
defaultproduct= 0x0000
|
既然如此,删除/etc/usb_modeswitch.setup发现usb_modeswitch -w无法执行了,看来必须有usb_modeswitch.setup才行。那么修改usb_modeswitch.setup,在其中找到huawei的部分,修改相应部分(网上有说明)。
然后执行usb_modeswitch -w,一切正常。已经成功创建ttyacm0/ttyacm1/ttyacm2设备。
从网上下载wvdial,本来下载源码想编辑呢,结果还需要其他依赖,只好去下载安装包。下载完毕,在ubuntu上安装还需要三个依赖,又回到window下载之后安装,安装一切正常。
执行wvdialconf扫描硬件并生成配置文件,然后编辑/etc/wvdial.conf,在最后添加拨号配置信息:
phone = *99***1#
password = any
username = any
stupid mode = 1
|
执行wvdial拨号,成功上网。顺便写了一个脚本:
root@fan3838:~# cat /bin/cl
#!/bin/sh -x
ps -ef|grep wvdial |grep -v grep
if [ $? = 0 ]
then
echo "please kill the process of wvdial"
exit 2
fi
ls /dev/ttyacm0
if [ $? != 0 ]
then
/usr/sbin/usb_modeswitch -w
/bin/rm -f /etc/usb_modeswitch.setup
/bin/cp -f /etc/usb_modeswitch.conf /etc/usb_modeswitch.setup
/usr/sbin/usb_modeswitch -w
sleep 5
/usr/bin/wvdial
else
/usr/bin/wvdial
fi
root@fan3838:~#
|
root@fan3838:/etc# cat /etc/usb_modeswitch.conf # configuration for the usb-modeswitch package, a mode switching tool for # usb devices providing multiple states or modes # # this file is evaluated by the wrapper script "usb_modeswitch" in /lib/udev # to enable an option, set it to "1", "yes" or "true" (case doesn't matter) # everything else counts as "disable"
# disable automatic mode switching globally (e.g. to access the original # install storage) defaultvendor= 0x12d1 defaultproduct= 0x1da1
#targetvendor= 0x12d1 注释掉 #targetproduct= 0x1da1
huaweimode=1 detachstorageonly=0
disableswitching=0
# enable logging (results in a extensive report file in /var/log, named # "usb_modeswitch_"
enablelogging=0
|
阅读(3679) | 评论(2) | 转发(0) |