PCMCIA Modem causes hang on boot
bde at zeta.org.au
Fri Jun 4 10:37:57 GMT 2004
On Fri, 4 Jun 2004, M. Warner Losh wrote:
> In message: <060420040512.28846.40C004B80004C4ED000070AE21603760219C990A9D0BD20AD206 at att.net>
> j.e.drews at att.net writes:
> : FreeBSD 5.2-CURRENT #0: Tue Jun 1 00:00:38 CDT 2004
> : FreeBSD CURRENT hangs on boot when I use this PCMCIA MODEM. The
> : laptop will not respond to CTRL C. I have to do a hard
> : reboot. I get the following messages just before the hang:
> : sio4 <Intelligent PCMCIA FAX + MODEM> at port 0x2f8-0x2ff irq 11
> : function 0 config 23 on pccard 0
> : sio4: Type 8250 or not responding
> : sio4: Unable to activate interrupt in fast mode - using normal mode.
> : After this last message the laptop hangs and I must press the power
> : off button. Any advice on what may be wrong would be
> : appreciated. The manufacturer claims that it uses a Hayes
> : AT compatible command set. Theis PCMCIA modem also works under Linux.
> sounds like a possible interrupt storm, or the modem isn't getting
> mapped to the address we think it is (see the 8250 message, there are
> no 8250 pcmcia modems), so the first interrupt we get, we spin forever
> in siointr.
"Type 8250 or not responding" usually means that something forced the
probe to succeed, but the something was not smart enough to know that
the hardware is there. Bad things happen when the probe is forced to
succeed. In this case, it seems that the something is just sio_pccard.c.
The probe is also forced to succeed in sio_puc.c. The main other case
is sio0 with its default forced configuration in GENERIC.hints (setting
but 0x10 in the device flags forces the device to be available as a
console whether it exists or not, and devices that are forced to be
available as consoles are also forced to succeed the probe). sio0 is
not as standard as it used to be, so this bug is quite noticable now.
> I think I'm going to put code into the pcmcia attachment
> that actively fails to attach to 8250's on pcmcia.
That would be a kludge. The pcmcia part cannot even know the UART type.
More information about the freebsd-current