Date: Wed, 4 Feb 2004 19:52:33 -0600 From: "Rick C. Petty" <rick@megan.kiwi-computer.com> To: freebsd-hardware@freebsd.org Subject: modem woes / IRQ sharing: 3COM PCI FaxModem Message-ID: <20040205015233.GA91173@megan.kiwi-computer.com>
next in thread | raw e-mail | index | archive | help
After many troubles getting various controllerless modems to work, I purchased a USRobotics (OEM 2977) controller-based PCI modem. Under a GENERIC 5.1-RELEASE kernel, the modem is detected: sio0: <3COM PCI FaxModem> port 0xb800-0xb807 irq 5 at device 7.0 on pci1 sio0: moving to sio4 sio4: type 16550A However, attempting ppp(8) or cu(1) causes a partial freeze-- it lets me swap virtual consoles but I can't type anything except on /dev/ttyv0 (which I have turned off) nor does the network stack respond to anything beyond a ping(8). Some googling suggested that this was a shared IRQ problem. I tried using various combinations of the sio(4) flags, and eventually I arrived at 0x6 (disable FIFO, no AST/4-compatible IRQ control register) and at boot, the sio4 link changed to: sio4: type 16550A fifo disabled lookalike with 1 bytes FIFO and I was able to send one byte before it froze. I am unsure how to make the kernel reassign the IRQ for this card, if it even is an IRQ problem, because it's a PCI card and it's sharing with all the other PCI devices. BTW, adding the following to /boot/device.hints: hint.sio.4.flags="6" didn't work, I actually had to nstead assign it to sio0 before it would recognize the flags option... the problem is that I cannot totally disable the sio0 device because I need it for the touchscreen in X, and I can't figure out how to trick sio(4) to use the flags for sio4 only! Any suggestions on how to get this modem to work and/or to remap the IRQ or anything of the sort? FYI, I had difficulty getting the same hardware to work in windoze-- after manually installing the .INI the modem wouldn't query until I disabled the use of FIFO buffers, suggesting this modem doesn't have a 16550-compatible UART. There's a linux "driver" which is just a binary to configure the serial port, but I couldn't get it to run because it requires /compat/linux/proc/bus/pci/devices which linprocfs(5) doesn't support.. -- Rick C. Petty Senior Software Engineer, KIWI Computer --------------------------------------------------------------- rick@kiwi-computer.com http://www.kiwi-computer.com/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040205015233.GA91173>