Okay, the modem in question is the 3Com/USRobotics 3CP5610 PCI FaxModem. It is one of the few PCI modems that is controller based, having an on-board 16550AF chip. It is a K56 flex V.90 modem, which works very well for me. The greatest problem that people have with this modem is that it installs on COM5 in Win9* and there is no com5 (by default) in linux.
This is where most people have trouble, and the way to get it to work is this:
1. You need to configure your kernel to support more
than 4 serial ports. In /usr/src/linux, do a make
xconfig and in the character devices setup, turn on (mark
'y') the "Extended dumb serial driver options" and turn on the
"Support for more than 4 serial ports". Then do a make
bzImage and install the kernel (or whatever you do for the
normal kernel make - if you have specific questions see the
2. Create the device file in /dev - namely /dev/ttyS4: do this by
mknod -m 0640 /dev/ttyS4 c 4 68
ln -s /dev/ttyS4 /dev/modem
3. In your /etc/rc.d/rc.local file, add the following line:
exec setserial /dev/ttyS4 irq ?? port 0x??? ^fourport
^auto_irq skip_test autoconfig spd_vhi
This sets up the device where you should replace the '?'
with the correct values for your system. These values can
be found in the /proc/pci file, or you can get them from the
Reboot. Point your kppp setup at /dev/modem, and
everything should work. It's important to include the
^fourport and skip_test in the setserial. Otherwise, the
kernel thinks that you have a serial expansion card installed,
and the set-up will fail.