isapnp modem den apokrinetai

Antonios Christofides anthony at itia.ntua.gr
Tue Aug 3 13:46:46 EEST 2004


Αυτό το εσωτερικό isapnp μόντεμ το έχω χρησιμοποιήσει και παρελθόν με
παλιότερους kernels, αλλά τώρα που το έβγαλα το ντουλάπι και το
εγκατέστησα αρνείται πεισματικά να δουλέψει.  Προσπαθώ επί ώρες χωρίς
αποτέλεσμα (nb: δεν έχω Windows σ' αυτό το μηχάνημα για να δω αν
δουλεύει με Windows).

Αυτό που συμβαίνει είναι όταν μιλάω στο modem (είτε μέσω minicom είτε
μέσω pppd) να είναι σαν να μιλάω στο /dev/null: Δεν έχω καμία
απόκριση, παρόλο που φαίνεται να υπάρχει συμφωνία μεταξύ hardware και
OS σχετικά με irq και ioport.

    root at voltaire:~# dmesg|less
    Linux version 2.6.7-1-686 (dilinger at toaster.hq.voxel.net) (gcc version 3.3.4
    (Debian 1:3.3.4-2)) #1 Thu Jul 8 05:36:53 EDT 2004
    ...
    isapnp: Scanning for PnP cards...
    isapnp: Card '33.6 Faxmodem PNP'
    isapnp: 1 Plug & Play card detected total
    Serial: 8250/16550 driver $Revision: 1.90 $ 48 ports, IRQ sharing enabled
    ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
    ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
    pnp: Device 01:01.00 activated.
    ttyS2 at I/O 0x3e8 (irq = 5) is a 16550A
    ...

    root at voltaire:~# cat "/sys/devices/pnp1/01:01/01:01.00/resources"
    state = active
    io 0x3e8-0x3ef
    irq 5

Από τα παραπάνω ο kernel φαίνεται να αποφάσισε να βάλει το modem σε 0x3e8,
irq 5. Πράγματι:

    root at voltaire:~# pnpdump --dumpregs|less
    # $Id: pnpdump_main.c,v 1.27 2001/04/30 21:54:53 fox Exp $
    # Release isapnptools-1.26
    ...
    # Configuration registers for card 1: (serial identifier 72 00 00 12 9b 08 80 4f 3f)
    # Vendor Id OZO8008, Serial Number 4763, checksum 0x72.
    #
    # Card Select Number register [0x06]: 1
    #
    # Vendor defined card level registers 0x20..2f: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    #
    # Logical device 0
    # Activate       register [0x30]: * Activated *
    ...
    # IO descriptor 0 at 60..61: Base address 0x03e8
    ...
    # Interrupt descriptor 0 at 70..71: Interrupt level 5, active high, level triggered
    ...

Ακόμα:
    
    root at voltaire:~# setserial -a /dev/ttyS2
    /dev/ttyS2, Line 2, UART: 16550A, Port: 0x03e8, IRQ: 5
            Baud_base: 115200, close_delay: 500, divisor: 0
            closing_wait: 30000
            Flags: spd_normal skip_test

Δεν σας δείχνω περιεχόμενα του /proc/ioports και /proc/interrupts,
όπου φυσικά όλα φαίνονται σωστά.

Δοκίμασα με τα isapnptools και το setserial να το βάλω σε
άλλο ioport και irq, αλλά δεν αλλάζει τίποτε.

Υποψιάζομαι ότι σε επίπεδο σειριακής επικοινωνίας όλα είναι σωστά, και
το πρόβλημα είναι σε επίπεδο μόντεμ. Μήπως έχω ξεχάσει κάτι
στοιχειώδες; Πρέπει να κάνω κάτι πριν αρχίσω να του δίνω AT commands;

Ευχαριστώ.




More information about the Linux-greek-users mailing list