LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2576|回复: 12

Hot!Hot! 搞定CDMA手机上网 新鲜 原创

[复制链接]
发表于 2005-4-15 14:14:57 | 显示全部楼层 |阅读模式
原料: CDMA手机 数据线 装Linux的电脑。如果还没有购买数据线的建议买串口数据线,因为这会省很多麻烦的。如果你的笔记本电脑没有串口可以买一个USB转串口的线,注意要买那种带转换芯片的线,大概30元,有那种不带芯片的转接线线根本不能用。怎么识别带不带芯片呢?最简单的方法是将线连到电脑上,注意串口端不要接任何东西,看电脑能不能发现未知usb设备,如果发现了就证明是带芯片的。为什么推荐买串口的线呢?因为买到的USB口的线其实本身就是一个“USB-串口-手机”线。前面说了,usb-串口是要芯片转换的,而一般串口转手机口基本就是按厂家定义的线序直连。linux只支持串口的猫,所以要能用USB接口的手机上网linux必须能驱动usb转串口的芯片,鬼知道你买的数据线是什么芯片的,linux是不是支持。如果你用串口的数据线就省了这些麻烦。
  首先要自己搞定在windows下上网,证明你的手机、数据线都没问题。
  不幸的是我的手机LG6260的数据线就是USB口的,郁闷。要想上网必须先过USB-串口这一关,让linux认出你的串口:
  先插好数据线,用dmesg看一下最后几行信息:

  1. usb 3-1: new full speed USB device using uhci_hcd and address 4
  2. pl2303 3-1:1.0: PL-2303 converter detected
  3. 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


  1. [Modem0]
  2. Modem=/dev/ttyUSB0
  3. Baud=115200
  4. SetVolume=0
  5. Dial Command = ATDT
  6. init1=ATZ
  7. FlowControl= Hardware (CRTSCTS)
  8. [Dialer cdma]
  9. Username=CARD
  10. Password=CARD
  11. Phone=#777
  12. Stupid Mode= 1
  13. Inherits = Modem0

复制代码


其中只要改一个地方,就是
Modem=/dev/ttyUSB0这一行。

如果是usb口的线,可以用dmesg看,有房号的。
如果是串口的线,可以在windows下看。有个对应关系好像是/dev/tty0----com1    /dev/tty1-----com2以此类推。

配置好后就可以爽了!

运行:
#wvdial cdma


  1. liyue:/usr/src/linux# wvdial cdma
  2. --> WvDial: Internet dialer version 1.54.0
  3. --> Cannot get information for serial port.
  4. --> Initializing modem.
  5. --> Sending: ATZ
  6. ATZ
  7. OK
  8. --> Modem initialized.
  9. --> Sending: ATDT#777
  10. --> Waiting for carrier.
  11. ATDT#777
  12. CONNECT
  13. --> Carrier detected.  Starting PPP immediately.
  14. --> Starting pppd at Fri Apr 15 14:10:05 2005
  15. --> pid of pppd: 5104
  16. --> Using interface ppp0
  17. --> local  IP address 220.207.86.178
  18. --> remote IP address 220.192.0.9
  19. --> primary   DNS address 220.192.0.130
  20. --> secondary DNS address 220.192.8.58

复制代码


ifconfig 看一下,如果多了一个ppp0什么的表示成功了。
 楼主| 发表于 2005-4-15 14:21:17 | 显示全部楼层
如果都成功了还不能上网,可能是路由问题。
#route add default ppp0

搞定!
顺便自己顶一下,哈哈。
回复 支持 反对

使用道具 举报

发表于 2005-4-15 14:38:33 | 显示全部楼层
linux没有了windows该如何活。
回复 支持 反对

使用道具 举报

发表于 2005-4-15 14:41:33 | 显示全部楼层
Post by easyhappy
linux没有了windows该如何活。


:confused::confused::confused:
米听懂…………
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-15 14:44:36 | 显示全部楼层
是说com口吧,应该有其它方法看吧。
回复 支持 反对

使用道具 举报

云和山的彼端 该用户已被删除
发表于 2005-4-15 16:53:48 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-15 17:00:51 | 显示全部楼层
如果要数据交换,就要hack数据协议,工作量挺大的,不值得啊。
基本思路可以这样:在windows下(又是windows!)找一个监视串口的软件,把交换数据的格式都hack出来,再在linux写一个类似的程序……
回复 支持 反对

使用道具 举报

云和山的彼端 该用户已被删除
发表于 2005-4-15 17:10:46 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

云和山的彼端 该用户已被删除
发表于 2005-4-15 17:11:11 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-15 18:39:09 | 显示全部楼层
就这儿说吧。CDMA速率还是挺快的,CS我没试过(因为太贵了!-__-),不过我用56k小猫打过,ping有400左右,cdma速率有153k,是小猫2倍多,应该也有100多ping,基本上可以玩了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表