我的LSCDMA-6000+无线上网卡是PCMCIA接口的。本来应该很简单的,在调试过程中走了弯路,断断续续差不多费了有三天的时间吧,才调通。
1、插卡,dmesg看占的哪个TTY,
dmesg|grep tty
ttyS2: detected caps 00000700 should be 00000100
0.0: ttyS2 at I/O 0x3e8 (irq = 3) is a 16C950/954
应该是ttyS2口了。
运行wvdialconf,失败,找不到MODEM。
手工编辑wvdial.conf文件吧:
[Dialer cdma]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem = /dev/ttyS2
Phone = #777
Idle Seconds = 300
Password = CARD
Modem Type = Analog Modem
Stupid Mode = 1
Compuserve = 0
Baud = 460800
Auto DNS = 1
Dial Command = ATDT
Ask Password = 0
ISDN = 0
Username = CARD
2、安装minicom,来调试也失败,与MODEM无法通讯。(minicom可以直接连接MODEM,用AT命令集来通讯,这个东西在上个世纪上fidonet网的时候很有用)。
3、setserial /dev/ttyS2 baud_base 230400,再试也失败。(自己理解应该是230400,事后证明是错误的)。
4、用setserial调irq,ioport,closing_wait,无效。
5、查资料,觉得有可能是baud_base的事,写个shell,逐个来试吧。
cat >rate
300
1200
2400
9600
19200
38400
57600
115200
230400
460800
^d
for rate in `cat rate`
do
echo $rate
setserial /dev/ttyS2 $rate
wvdial cdma
done
嗯,前几个参数在setserial出错,到9600才正常,看来不支持比较小的数。到38400时居然拨号成功了。再往后又不成了。
总结:看来不能迷信网上的文档,我的无线上网卡的baud_base是要设成38400才能正常使用。