|
|
搞定gentoo linux下cdma 1x无线上网!
by: emerge{at}linuxsir.cn, emerge[at]kyxk.net,
花了几天时间在网上查询,搞定了北京地区gentoo linux下面的cdma1x RTT无限网卡上网。别的地区和linux版本不敢保证我的方法完全生效,不过应该大同小异吧!
先提供几篇参考文献,愿意看英文资料的话,还是看看,这些都是很好的指导!有其它好文章,请大家补充!
[1] 来自gentoo论坛,这篇比较全,而且讲得比较清楚,用gentoo的同志可以在gentoo论坛上找到几乎所有问题的答案,这话确实没错!
http://forums.gentoo.org/viewtop ... v620+broadband.html
[2] 这是著名的Phil Karn针对采用高通公司MSM5500的Airprime网卡写得一篇文章,非常经典,但是可能有的地方不是很全!Phil Karn的主页http://www.ka9q.net/
http://www.ka9q.net/5220.html
[3] 这应该是新西兰的一哥们,文章里面说了hotplug自动加载模块,拨号。不错
http://debiana.net/aircard580.html
[4] 这你linuxsir上面一篇说到wvdial的文章,我觉得ppp拨号自己配置太麻烦,用这个wvdial挺好的!
http://www.linuxsir.cn/forum.php ... &highlight=CDMA
各种成熟的商业硬件大都会有牛人写好内核驱动,我这样水平低的所要做的应该就只是合理配置好所需的各个部分。无限网卡这种从国外引进的业务,linux当然早就可以支持了!不过cdma1x RTT这种网络国外还有没有是个疑问!因为我找到的文章都是两年前写cdma 1xEV-DO网络的,这种网络据说有500KByte/s以上的带宽,在去年南京十运会上联通临时搭建给记者们用,据说可以在线看现场直播的比赛!埃!罗嗦两句。
1)首先要把内核和各种软件装好!再去中关村找一家商家拿着网卡试。
kernel:我下了一个2.6.15的内核重新编译了,不过相信2.4以上的就可以了。下面几项一定要加上:
usb ohci
ppp (这个一定好要加上serial tty的支持,别忘了)
pcmcia and cardbus support
Usb Modem (USB_ACM) 这个也许没用,但还是加上保险,有的网卡是这种。免得到村里白跑一趟。
USB Serial Converter support (USB_SERIAL) 这个要编译成模块,后面再加载!
USB Generic Serial Driver (USB_SERIAL_GENERIC) 这两项不知道是不是都要,总之一定要有usbserial的支持。
以上各项在内核里面的具体位置就不罗嗦了,关于编译内核方法网上的参考文章很多。
software: 还要装下面这些包。括号里面是gentoo里面包的位置。
ppp (net-dialup/ppp)
pcmcia-cs (sys-apps/pcmcia-cs)
wvdial (net-dialup/wvdial)
2)先说一下,我这次只试了两种usb接口的网卡,因为我还需要用台式机上网。但是pcmcia接口的网卡都是被模拟成serial usb接口。所以pcmcia网卡的关键也是usbserial模块要加载成功。
到了村里,我找到一家先试了一种杂牌usb网卡,就是很多商家说插到苹果机上,不用装驱动就可以直接用的那一种。试了一下就可以上网了,这种网卡只是把设备认成/dev/ttyACM0,其它配置都和我下面试的华为EC325一样。只是,我觉得质量不太好,发热大,卖400,如果卖100多,我就要了。
后来我考虑到保修,质量,散热等原因选择了华为ec325,但是这种贵,而且绝对不是只有这种可用,其它很多网卡应该都可以。所以大家各取所需。
我把ec325插入usb口。然后在终端输入:
$cat /proc/bus/usb/devices
输出中有:
...
T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 3 Spd=12 MxCh= 0
D: Ver= 1.01 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=16 #Cfgs= 1
P: Vendor=12d1 ProdID=1001 Rev= 0.00
S: Manufacturer=Huawei Technologies
S: Product=Huawei Mobile
S: SerialNumber=HUAWEI EC3X1
C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=usbserial_generic
E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=128ms
E: Ad=8a(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=0b(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=usbserial_generic
E: Ad=83(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=06(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
...
3)找到“P: Vendor=12d1 ProdID=1001 Rev= 0.00”这一行。
找出vendor和product这两项,进入root下,然后在终端输入:
#modprobe usbserial vendor=0x12d1 product=0x1001
如果出错一定是前面的usbserial模块没有选全。
4)上一步如果没有错,在终端输入:
$dmesg
输出的最后有:
...
usbserial_generic 1-2:1.0: generic converter detected
usb 1-2: generic converter now attached to ttyUSB0
usbserial_generic 1-2:1.1: generic converter detected
usb 1-2: generic converter now attached to ttyUSB1
我第一次试的那网卡是认出的/dev/ttyACM0,只需要在最后拨号的时候把设备写/dev/ttyACM0就行
如果没有认出这个/ttyUSB0,不要急。root下输入:
#mknod /dev/ttyUSB0 c 188 0
#mknod /dev/ttyUSB1 c 188 1
再看dmesg就可以,
设备对应节点号见/usr/src/linux/Documentation/devices.txt.
ACM设备是166
5)接下来的拨号,在参考文献中大家都是写pppd配置文件,网上有前辈用wvdial,写了一个cdma拨号配置文件,很好用。我直接copy用了,一下就连上了,见参考文章4。
在gentoo linux下是创建/etc/wvdial.conf文件,如下:
[Modem0]
Modem = /dev/modem
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
拨号器Dialer名叫cdma,或者自己喜欢的名字。
具体配置可以man wvdial.conf,自己看看。
6)在root下,执行
#wvdial cdma
输出:
--> WvDial: Internet dialer version 1.54.0
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Modem initialized.
--> Sending: ATDT#777
--> Waiting for carrier.
ATDT#777
CONNECT 115200
--> Carrier detected. Starting PPP immediately.
--> Starting pppd at Sun Apr 2 21:09:48 2006
--> pid of pppd: 5620
--> Using interface ppp0
--> local IP address 220.207.2.37
--> remote IP address 220.192.0.9
--> primary DNS address 220.192.0.130
--> secondary DNS address 220.192.8.58
打开firefox就可以上网了。
这里如果前面编译内核里ppp的时候没有加上serial tty。还是会不成功,请注意!
7)关于hotplug自动加载模块,拨号的方法见参考文章3,我还没有搞这个。我现在就是在普通用户下用
$sudo wvdial cdma
随便说一句,我的资费选的是6个月包月上网,中关村一般现在都是卖500吧!不过注意开卡时间,不要买到上个月开通的, |
|