|
|
原料: CDMA手机 数据线 装Linux的电脑。如果还没有购买数据线的建议买串口数据线,因为这会省很多麻烦的。如果你的笔记本电脑没有串口可以买一个USB转串口的线,注意要买那种带转换芯片的线,大概30元,有那种不带芯片的转接线线根本不能用。怎么识别带不带芯片呢?最简单的方法是将线连到电脑上,注意串口端不要接任何东西,看电脑能不能发现未知usb设备,如果发现了就证明是带芯片的。为什么推荐买串口的线呢?因为买到的USB口的线其实本身就是一个“USB-串口-手机”线。前面说了,usb-串口是要芯片转换的,而一般串口转手机口基本就是按厂家定义的线序直连。linux只支持串口的猫,所以要能用USB接口的手机上网linux必须能驱动usb转串口的芯片,鬼知道你买的数据线是什么芯片的,linux是不是支持。如果你用串口的数据线就省了这些麻烦。
首先要自己搞定在windows下上网,证明你的手机、数据线都没问题。
不幸的是我的手机LG6260的数据线就是USB口的,郁闷。要想上网必须先过USB-串口这一关,让linux认出你的串口:
先插好数据线,用dmesg看一下最后几行信息:
- usb 3-1: new full speed USB device using uhci_hcd and address 4
- pl2303 3-1:1.0: PL-2303 converter detected
- usb 3-1: PL-2303 converter now attached to ttyUSB0
复制代码
其中第一行说:唉呀,有个不知道什么的东西连到俺的USB口上了。
第二行的意思:************!我认识你,小样!不就是叫PL-2303 converter的东东么!
第三行:既然是USB转串口的东西,就在/dev 给你分套房吧,享受串口同样的待遇,房号是ttyUSB0。
如果连第一行都没有,说明你的UsB驱动有问题,不光是手机,啥uSB设备你也用不了,自己解决了再往下看。
如果只出现第一行,说明内核没认出usb-串口芯片,就要重新编译内核了。
如果你不会编译内核请自行学习。
我用的是2.6.10的内核。
#make menuconfig
进入 Device Drivers ---> USB support --->
将以下项选中:
<*> EHCI HCD (USB 2.0) support
<*> OHCI HCD support
<*> UHCI HCD (most Intel and VIA) support
然后进入 USB Serial Converter support --->
这里面就是内核支持的usb转串口的芯片驱动,除非你知道哪个能驱动你的手机,否则全选上。
重新编译后应该可以认出你的usb-串口的芯片了(就是上面说的分到房了)。什么?还没认出来,换手机吧,或者等到linux支持你的手机。
然后安装wvdial
#apt-get install wvdial
编辑 /etc/wvdial.conf
- [Modem0]
- Modem=/dev/ttyUSB0
- Baud=115200
- SetVolume=0
- Dial Command = ATDT
- init1=ATZ
- FlowControl= Hardware (CRTSCTS)
- [Dialer cdma]
- Username=CARD
- Password=CARD
- Phone=#777
- Stupid Mode= 1
- Inherits = Modem0
复制代码
其中只要改一个地方,就是
Modem=/dev/ttyUSB0这一行。
如果是usb口的线,可以用dmesg看,有房号的。
如果是串口的线,可以在windows下看。有个对应关系好像是/dev/tty0----com1 /dev/tty1-----com2以此类推。
配置好后就可以爽了!
运行:
#wvdial cdma
- liyue:/usr/src/linux# wvdial cdma
- --> WvDial: Internet dialer version 1.54.0
- --> Cannot get information for serial port.
- --> Initializing modem.
- --> Sending: ATZ
- ATZ
- OK
- --> Modem initialized.
- --> Sending: ATDT#777
- --> Waiting for carrier.
- ATDT#777
- CONNECT
- --> Carrier detected. Starting PPP immediately.
- --> Starting pppd at Fri Apr 15 14:10:05 2005
- --> pid of pppd: 5104
- --> Using interface ppp0
- --> local IP address 220.207.86.178
- --> remote IP address 220.192.0.9
- --> primary DNS address 220.192.0.130
- --> secondary DNS address 220.192.8.58
复制代码
ifconfig 看一下,如果多了一个ppp0什么的表示成功了。 |
|