[Howto's $]


PCI Modem HOWTO

Testing

As root, do 'cat /proc/pci > pci.txt' to get a current record of detected PCI devices. Install your pci card modem by the instructions accompanying the card. I chose a US Robotics/3Com 56k Performance Pro PCI, model 3CP5610A.

Boot up and 'su' to root. Do 'cat /proc/pci' again, to identify the IRQ of the new device you installed. Compare this listing with the previous one saved in 'pci.txt'. Your modem should have been detected, even if the manufacturer's data shows 'unknown'. If you have more than one listing, you will have to decide which one it is.:

# cat /proc/pci
PCI devices found:
     .
     .
       Bus  0, device  14, function  0:
    Serial controller: Unknown vendor Unknown device (rev 1).
      Vendor id=12b9. Device id=1008.
      Medium devsel.  IRQ 5.  
      I/O at 0xd000 [0xd007].
     .
     .

Enable the PCI Serial Port

Now that you know the IRQ (mine was '5', above) and I/O port address of your serial device, enter the command:

# setserial /dev/ttyS4 irq 5 port 0xd000 autoconfig

This assigns port 0xd000 and IRQ 5 to serial port device ttyS4 as you might have guessed.

Now re-direct your /dev/modem link to the new modem device port:

# rm -f /dev/modem
# ln -s /dev/ttyS4 /dev/modem

If you have already set up 'netcfg' or 'kppp' to use /dev/modem as the device, you should be ready to go. Simply command '/sbin/ifup ppp0' to begin dialing.

_________________________
Other Tips:

I used a modem init of 'AT&F1' to start with, so I could hear the modem dialing, and watched a 'tail -20 /var/log/messages &' to see how the connection was proceeding. I then reverted to 'AT&F1L0' to turn off the speaker.

I put the 'setserial...' command (above) at the end of my /etc/rc.d/rc.local file to auto-switch to internal modem at boot.

I modified the modem init command to 'AT&F1&K0' later, when I had trouble connecting to some of the less adept modems in my ISP's stack. The '&K0' turms off auto compression mode in the 3COM PCI series. I could tell that my modem was failing negotiation by listening to the repeated 'beep-boop-buzz's as it tried to connect. I thought it was either negotiating for speed or compression, so I picked compression and got lucky.