http://www.idir.net/~gromitkc/3cp5610.txt --- /* Note from Rob : These hints were written for the 3Com 3CP5610, but should also apply to any 3Com modem with "Vendor id=12b9. Device id=1008." Make sure that you choose an unused serial device for your new modem. */ From: Klavs T Pedersen To: gromitkc@idir.net Subject: 3com5610 Hello, I thought you might wanted to know, I got a 3com/usr 3cp5610 to work, by adding the following to the startup scripts... exec setserial /dev/ttyS4 irq 9 port 0xb000 ^fourport ^auto_irq skip_test autoconfig spd_vhi The ^fourport is the key since setserial otherwise will believe the card has four ports instead of just the one shown in /proc/pci (I spend a night figuring this out, so I will pass this on to somebody else, so they can save the hassle). skip_test is important too for setserial to believe there is an 16550A instead of the 16550AF there really is. On the same irq 9 I have several PCI devices: pcmcia scsi, USB, sound and modem, which all seems to work. ------ From: Ron Zdrojkowski To: gromitkc@idir.net Subject: re: 3Com 3CP5610 modem Regarding the 3Com 3CP5610 modem and Linux This is what worked for me on a Gateway GP6. I don't have much experience with Linux or x86 PCs so I don't know if this will work for you. After installing the modem card and starting up the system, Windows took over and "installed" the card. I assume it stores some parameters in the NVRAM used by the BIOS. I tried a lot of things to force interrupt values and ioport values through Windows and ended up wiping out my Windows setup to the point where I had some difficulty getting it to boot up in any system. Once I got over that problem, I found a way to avoid Windows completely after the initial sort of "plug and play" setup. The process turns out to be pretty simple. Boot up in Linux after the card has been installed and the Windows initialization has occured. In a terminal window, type cat /proc/pci Scroll down until you find the data for the serial controller. Mine looked like: Bus 0, device 15, function 0: Serial controller: Unknown vendor Unknown device (rev 1). Vendor id=12b9. Device id=1008. Medium devsel. IRQ 10. I/O at 0x1890 [0x1891]. Make a note of the values for IRQ and I/O port. In my case they were 10 and 0x1890 respectively. Then in the terminal window type setserial /dev/ttyS1 irq 10 port 0x1890 autoconfig where you use the correct values of irq and port for your system as obtained from the "cat /proc/pci" output. Then, you need to create the symbolic link between /dev/modem and /dev/ttyS1 with the ln command. Once that is done, you should be able to access the modem using minicom. If that works, and all of your PPP stuff is set up OK you should be able to log onto the internet. I don't think it really matters which COM port Windows uses for the modem. At this point you will need to use the setserial command each time you reboot your machine. To make it automatic, enter the setserial command at the end or your rc.local file so that it is executed automatically each time you reboot. The only problem I had after doing this occured after I installed a new SCSI controller card into the GP6. Windows installed the card but later, when I went to use the modem in Linux, it didn't work. What happened was, Windows changed the irq and port settings for the modem card. The original values for the modem had now been assigned to the SCSI card and the modem had two new values. Changing those values in the setserial command to the new ones found with "cat /proc/pci" put everything right again. It's been working for several months with no problems. Several others have used this procedure successfully. I don't know if anyone who has tried it has failed. Good luck. ------ From: Ulo Mets To: gromitkc@idir.net Subject: 3com 5610/2977 I just thought I should share my slightly different experience from Mr. Pedersen's. I had a privilege recently of installing a 3com 3cp2977 PCI modem under Mandrake 6.0. The machine is a Celeron 366 on PcChips m761 (Intel BX) motherboard with C-media 8338 onboard sound. For quite some time I had to stare at the "sorry, the modem is busy" message, since the modem and sound used the same IRQ 10. The modem worked great when the sound module was removed from the memory, but that is not exactly the solution. I had seen a report on the Internet about the same modem sharing interrupts with other devices, but now I assume it was under 2.3.x kernel. I didn't figure out how to change the interrupt, so I downloaded the serial-4.92 driver from http://serial.sourceforge.net and compiled it into 2.2.15pre14. (The only catch was to manually copy the serial_compat.h to drivers/char). Anyway, the modem isn't sorry anymore. The nice part in the new serial driver is that it sets up /dev/ttyS2 during bootup, my job was just to find it was ttyS2. Hope this can be of use for somebody.