Linux Step By Steps

From: Kevin Penrose <>

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 Kernel HOW-TO).

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 windows system/hardware
config info.

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.