在Ubuntu上安装PCMCIA接口CDMA上网卡的调试笔记(ZT)

原安装环境是:
IBM T43/ Ubuntu 7.10


------------从这里开始------------

配置过程主要是参考下边这段,已经在我自己的IBM本本上调试成功。但是有的人反映modem not responding,请参考后边的解决方案。

==================================

1. 硬件信息中看看能不能认出来你的无线上网卡

 $ dmesg

可以看到

0.0: ttyS3 at I/O 0x2e8 (irq = 20) is a 16C950/954

这样的输出.

2.映射到/dev/modem

$ sudo ln -sf /dev/ttyS3 /dev/modem

3.由于wvdial在ubuntu中已经默认安装(7.04),所以可以直接这样

$ sudo gedit /etc/wvdial.conf

更改为如下配置:

[Modem0]
Modem = /dev/modem
Baud = 57600
SetVolume = 0
Dial Command = ATDT
Init1 = ATZ
FlowControl = Hardware (CRTSCTS)

[Dialer Defaults]
Username = CARD
Password = CARD
Phone = #777
Stupid Mode = 1
Inherits = Modem0


5.安装setserial

用新立得搜索关键字就可以安装了。当然,我猜

$ sudo apt-get install setserial

也是可以的.^_^
然后

$ sudo setserial /dev/ttyS3 baud_base 230400


6.完成后就可以拨号上网了,在终端输入

$ wvdial


正常的话应该可以看到如下的信息:

--> WvDial: Internet dialer version 1.56
 --> Cannot set 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 Jun  1 20:14:28 2007
 --> Warning: Could not modify /etc/ppp/pap-secrets: Permission denied
 --> --> PAP (Password Authentication Protocol) may be flaky.
 --> Warning: Could not modify /etc/ppp/chap-secrets: Permission denied
 --> --> CHAP (Challenge Handshake) may be flaky.
 --> Pid of pppd: 12836
 --> Using interface ppp0
 --> local  IP address 220.192.92.222
 --> remote IP address 220.192.80.129
 --> primary   DNS address 220.192.8.58
 --> secondary DNS address 220.192.32.103


==================================



分析,大部分不成功的原因是抢占端口造成not responding,我自己的机器上发现,是因为挂了外接的u

sb硬盘盒。

改个端口,或者手动(setserial)调试一下,查看一下端口。因为大部分linux都默认只是启动4个,如下列表


             /dev/ttyS0 (COM1), port 0x3f8, irq 4
             /dev/ttyS1 (COM2), port 0x2f8, irq 3
             /dev/ttyS2 (COM3), port 0x3e8, irq 4
             /dev/ttyS3 (COM4), port 0x2e8, irq 3

             IRQ 3: COM2
             IRQ 4: COM1
             IRQ 5: LPT2(手册里好像推荐使用这个端口,是打印机的
,但是不用那么麻烦)
             IRQ 7: LPT1


--------------------------
所有端口号
--------------------------
             IRQ  0      Timer channel 0
             IRQ  1      Keyboard
             IRQ  2      Cascade for controller 2
             IRQ  3      Serial port 2
             IRQ  4      Serial port 1
             IRQ  5      Parallel port 2 (Reserved in PS/2)
             IRQ  6      Floppy diskette
             IRQ  7      Parallel port 1
             IRQ  8      Real-time clock
             IRQ  9      Redirected to IRQ2
             IRQ 10      Reserved
             IRQ 11      Reserved
             IRQ 12      Reserved (Auxiliary device in PS/2)
             IRQ 13      Math coprocessor
             IRQ 14      Hard disk controller
             IRQ 15      Reserved


所以有人在网上写道,有中断号 20,我比较孤陋寡闻。:(

下边的部分是帮助你查看大致问题所在
可以 man setserial看一下帮助。
以下几个命令参数很有用的

1. baud_base xxx   上边有提到不再介绍

2. irq x  设置端口号,一般系统会自动分配,但是有时候也会有些问题,所以需要在这里尝试一下

sudo setserial /dev/ttySn(n=0,1,2,3)

3. closing_wait xxx   默认的是3000,可以适当的调整

sudo setserial /dev/ttySn(n=0,1,2,3,)

上边主要是设置参数,下边的是查看用的参数

1. -g 可以查看单个ttySn,也可以查看所有的

sudo setserial -g  /dev/ttyS*

/dev/ttyS0, UART: undefined, Po/dev/ttyS0, UART: undefined, Port: 0x03f8, IRQ: 4
/dev/ttyS1, UART: unknown, Port: 0x02f8, IRQ: 3
/dev/ttyS2, UART: 16950/954, Port: 0x03e8, IRQ: 3
(这个就是系统分配的中断,现在显示正常,如果显示,resource busy....之类的,就需要改中断号,或者把不用的设备拿掉,或者换个端口试试,例如鼠标,硬盘盒)
/dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3
Cannot get serial info: Invalid argument
rt: 0x03f8, IRQ: 4
/dev/ttyS1, UART: unknown, Port: 0x02f8, IRQ: 3
/dev/ttyS2, UART: 16950/954, Port: 0x03e8, IRQ: 3
/dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3
Cannot get serial info: Invalid argument


从上边的列表能看得出有三个用了一个中断号3。

2. -a 查看一下ttyS2的明细信息

sudo setserial -a /dev/ttyS2

/dev/ttyS2, Line 2, UART: 16950/954, Port: 0x03e8, IRQ: 3
       Baud_base: 230400, close_delay: 50, divisor: 0
       closing_wait: none
       Flags: spd_normal skip_test


看到closing_wait : none,我重新设置了一下为3000
然后用上边的命令再次确认。
然后回上边参考的部分,再次试试看。

sudo wvdial
WvDial<*1>: WvDial: Internet dialer version 1.56
WvDial<*1>: Initializing modem.
WvDial<*1>: Sending: ATZ
WvDial<*1>: Sending: ATQ0
WvDial Modem<*1>: OK
WvDial<*1>: Re-Sending: ATZ
WvDial Modem<*1>: OK
WvDial<*1>: Initializing modem.
WvDial<*1>: Sending: ATZ
WvDial<*1>: Sending: ATQ0
WvDial Modem<*1>: OK
WvDial<*1>: Re-Sending: ATZ
WvDial Modem<*1>: OK
WvDial<*1>: Initializing modem.
WvDial<*1>: Sending: ATZ
WvDial<*1>: Sending: ATQ0
WvDial Modem<*1>: OK
WvDial<*1>: Re-Sending: ATZ
WvDial Modem<*1>: OK



有反应了,不再是modem not responding
我重复了大概5次,终于成功上网了

WvDial<*1>: WvDial: Internet dialer version 1.56
WvDial<*1>: Initializing modem.
WvDial<*1>: Sending: ATZ
WvDial<*1>: Sending: ATQ0
WvDial Modem<*1>: OK
WvDial<*1>: Re-Sending: ATZ
WvDial Modem<*1>: OK
WvDial<*1>: Initializing modem.
WvDial<*1>: Sending: ATZ
WvDial<*1>: Sending: ATQ0
WvDial Modem<*1>: OK
WvDial<*1>: Re-Sending: ATZ
WvDial Modem<*1>: OK
WvDial<*1>: Initializing modem.
WvDial<*1>: Sending: ATZ
WvDial Modem<*1>: OK
WvDial<*1>: Modem initialized.
WvDial<*1>: Sending: ATDT#777
WvDial<*1>: Waiting for carrier.
WvDial Modem<*1>: CONNECT
WvDial<*1>: Carrier detected.  Starting PPP immediately.
WvDial<Notice>: Starting pppd at Wed Nov 28 20:21:54 2007
WvDial<Notice>: Pid of pppd: 6289
WvDial<*1>: Using interface ppp0
WvDial<*1>: pppd:

以上摘自:http://doc.linuxpk.com/80862.html
并未经本人验证,结果不得而知....
原文地址:https://www.cnblogs.com/d9394/p/10611758.html