• 在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
    并未经本人验证,结果不得而知....
  • 相关阅读:
    DataGridView在vb.net中的操作技巧
    0、(空字串)、Null、Empty、与Nothing的区别
    System.Timers.Timer与System.Windows.Forms.Timer 区别
    C#判断常见类型格式是否正确的类
    C#对系统注册表操作的类
    Socket基础知识分享
    怎样才能充分利用SQL索引
    通过建立Socket连接来快速判断数据库连接是否正确
    C#中各种数据类型转换的方法的类
    VB.Net C#代码转换工具
  • 原文地址:https://www.cnblogs.com/d9394/p/10611758.html
Copyright © 2020-2023  润新知