Date: Fri, 9 Feb 2007 14:09:58 -0600 From: "Rick C. Petty" <rick-freebsd@kiwi-computer.com> To: Daniel Rudy <dr2867@pacbell.net> Cc: freebsd-hackers@freebsd.org Subject: Re: PING: Someone on the core team. (Modem Problem) Message-ID: <20070209200958.GA50431@keira.kiwi-computer.com> In-Reply-To: <45CCBCFB.4020402@pacbell.net> References: <45CC2DDF.6040600@pacbell.net> <20070209110522.GF834@turion.vk2pj.dyndns.org> <45CCBCFB.4020402@pacbell.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Feb 09, 2007 at 10:27:07AM -0800, Daniel Rudy wrote: > > The modem is PCI, and there is no facility in the BIOS to display what > cards are in the system. Furthermore, the irq mapping shows irq 3-15, > irq 17, 18, and 19 do not show on the list. Below is the full dmesg > from the boot: What list and what mapping? Here are the relevant lines in your case: > sis0: <SiS 900 10/100BaseTX> port 0xd000-0xd0ff mem 0xeb103000-0xeb103fff irq 19 at device 4.0 on pci0 > sio0: configured irq 19 not in bitmap of probed irqs 0 > sio0: port may not be enabled > sio0: <Lucent kermit based PCI Modem> port 0xdc00-0xdcff,0xe000-0xe0ff,0xe400-0xe407 mem 0xeb107000-0xeb1070ff irq 19 at device 11.0 on pci0 > sio0: type 16550A > >> I have no idea WHY it's saying IRQ 19 as IRQ 19 is used by sis0. > > > > Interrupts on the PCI bus can be shared and quite often are. Because PCI interrupts have to be mapped to high numbers so they don't interfere with legacy (ISA, etc.) IRQs. The PCI bus handles its own interrupts, so I wouldn't expect to see irq 3, for example. In fact each PCI slot typically maps to a specific IRQ (via the INT mechanism). > And FreeBSD doesn't support shared interrupts, right? (At least that > used to be the case, not sure about now). If it does allow irq sharing, > then why isn't it working? And if it doesn't support irq sharing, then > why is FreeBSD assigning 2 devices to the same irq to begin with? <snip> > Its kinda strange though if that was the case, the other cards wouldn't > work then because they would all be sharing the same irq. The 3 network > interfaces are assigned 17, 18, and 19. sis0 is on the mainboard, sis1 > and sis2 are add-in cards on the pci bus. Not strange at all, FreeBSD does support shared IRQs. However, the sio device does NOT support shared IRQs. There was a patch floating around which enabled IRQ sharing for this device, in fact I used it on a number of systems successfully. I'm not sure why it never made it into the base system. Here's something to try, if you don't want to patch your kernel. Find a PCI slot that doesn't share an IRQ with anything else and throw the modem into that slot. If you have an Asus board, the user's manual lists the PCI interrupts and sharing. If not, use trial-and-error. You could probably make an educated guess by looking at which cards are being mapped to which interrupts. Pick a device which has a solitary (unshared) IRQ and swap with the modem. -- Rick C. Petty
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070209200958.GA50431>