2008年11月9日星期日

ubuntu系统里如何用CDMA ExpressCard进行拨号(转载)

原文地址:http://hi.baidu.com/eqychan/blog/item/5753f2d5e79989c150da4bc0.html
原文是针对SUSE系统的,但是经过验证,也完全适合ubuntu系统。近来很多手提电脑系统都提供了ExpressCard接口,于是很多人都使用CDMA ExpressCard进行拨号,进行移动上网。但是,目前大多数厂家都只提供windows版本的拨号软件和驱动,在ubuntu下如何进行移动拨号上网呢?请看这里:




在openSuSE 10.3下驱动 VTION V1890 CDMA ExpressCard

最近改用了openSuSE,确实不错,只是有一点遗憾...
偶有一块VTION V1890的CDMA无线上网卡,是ExpressCard接口的,一直没能在LINUX下用起来,郁闷...
今天有空,坐下来搞搞他,看能不能撞到死老鼠,呵呵...

参照有关资料,先找找有没有modem
结果发现 /dev/modem 没有这个文件

看来有些麻烦了,找找有没被识别吧...
拔出V1890,打开终端,运行 sudo tail -f /var/log/messages
再插上V1890, 终端输出如下:

May 11 15:03:46 daniel-openSUSE kernel: usb 7-1: new full speed USB device using uhci_hcd and address 22
May 11 15:03:47 daniel-openSUSE kernel: usb 7-1: device descriptor read/64, error -71
May 11 15:03:47 daniel-openSUSE kernel: usb 7-1: device descriptor read/64, error -71
May 11 15:03:47 daniel-openSUSE kernel: usb 7-1: new full speed USB device using uhci_hcd and address 23
May 11 15:03:47 daniel-openSUSE kernel: usb 7-1: device descriptor read/64, error -71
May 11 15:03:47 daniel-openSUSE kernel: usb 7-1: device descriptor read/64, error -71
May 11 15:03:48 daniel-openSUSE kernel: usb 7-1: new full speed USB device using uhci_hcd and address 24
May 11 15:03:48 daniel-openSUSE kernel: usb 7-1: device not accepting address 24, error -71
May 11 15:03:48 daniel-openSUSE kernel: usb 7-1: new full speed USB device using uhci_hcd and address 26
May 11 15:03:49 daniel-openSUSE kernel: usb 7-1: new device found, idVendor=05c6, idProduct=3197
May 11 15:03:49 daniel-openSUSE kernel: usb 7-1: new device strings: Mfr=1, Product=2, SerialNumber=0
May 11 15:03:49 daniel-openSUSE kernel: usb 7-1: Product: Vtion V1890
May 11 15:03:49 daniel-openSUSE kernel: usb 7-1: Manufacturer: Vtion , Express Card
May 11 15:03:49 daniel-openSUSE kernel: usb 7-1: configuration #1 chosen from 1 choice

看来是识别了,而且型号也是对的,可是怎么识别成USB设备了??
这时候想起来,前两天搞扫描仪的时候(BENQ 5000S USB)无故多出一个扫描仪,会不会就是他??
打开终端,输入sane-find-scanner
显示:
# sane-find-scanner will now attempt to detect your scanner. If the
# result is different from what you expected, first make sure your
# scanner is powered up and properly connected to your computer.

# No SCSI scanners found. If you expected something different, make sure that
# you have loaded a kernel SCSI driver for your SCSI adapter.

found USB scanner (vendor=0x05c6, product=0x3197) at libusb:007:036
# Your USB scanner was (probably) detected. It may or may not be supported by
# SANE. Try scanimage -L and read the backend's manpage.

# Not checking for parallel port scanners.

# Most Scanners connected to the parallel port or other proprietary ports
# can't be detected by this program.

# You may want to run this program as root to find all devices. Once you
# found the scanner devices, be sure to adjust access permissions as
# necessary.

输入 lsusb
输出:
Bus 005 Device 001: ID 0000:0000
Bus 006 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000
Bus 007 Device 002: ID 05c6:3197 Qualcomm, Inc. CDMA Wireless Modem/Phone
Bus 007 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000

果然如此,原来我的V1890被识别成USB Modem 了......

管他去,就当USB Modem驱动试试...

在终端中输入:
modprobe usbserial vendor=0x05c6 product=0x3197
没有输出,也没有出错
是不是成功了呢
看有没多出tty设备来吧
dmesg | grep tty
输出:
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
usb 7-1: generic converter now attached to ttyUSB0
usb 7-1: generic converter now attached to ttyUSB1

居然映射成功了?。。。

赶紧编辑 /etc/wvdial.conf,建立拨号配置文件
在该文件中增加下面的一段

[Dialer cdma]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem = /dev/ttyUSB0
Phone = #777
Idle Seconds = 300
Password = CARD
Modem Type = Analog Modem
Stupid Mode = 1
Compuserve = 0
Baud = 230400
Auto DNS = 1
Dial Command = ATDT
Ask Password = 0
ISDN = 0
Username = CARD
完成后保存,退出编辑器。

运行wvdial cdma......
输出:
--> WvDial: Internet dialer version 1.56 (abuild@balli)
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Modem initialized.
--> Idle Seconds = 300, disabling automatic reconnect.
--> Sending: ATDT#777
--> Waiting for carrier.
ATDT#777
CONNECT
--> Carrier detected. Starting PPP immediately.
--> Starting pppd at Mon May 12 01:06:30 2008
--> Pid of pppd: 8246
--> Using interface ppp0
--> local IP address 220.207.103.187
--> remote IP address 172.25.1.4
--> primary DNS address 220.192.8.58
--> secondary DNS address 220.192.32.103
--> Script /etc/ppp/ip-up run successful
--> Default route Ok.
--> Nameserver (DNS) Ok.
--> Connected... Press Ctrl-C to disconnect

成功了?打开FireFox ,随便输入一个网址,回车
经过短暂的等待,居然打开了网页

哈哈 成功了!

以后每次启动只要输入两行命令就可以上网了呵呵
sudo /sbin/modprobe usbserial vendor=0x05c6 product=0x3197 (是你运行 lsusb 输出的结果,不能照抄)
sudo wvdial cdma

:)

写出来,一是保存一下,以备后用,另外为抛砖引玉,希望高手们多多指点。
在此感谢各位前辈提供了许多资料,也是我们这些菜鸟学习的榜样!