From owner-freebsd-questions Wed Dec 20 22:52:05 1995 Return-Path: owner-questions Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id WAA17280 for questions-outgoing; Wed, 20 Dec 1995 22:52:05 -0800 (PST) Received: from genesis.atrad.adelaide.edu.au (genesis.atrad.adelaide.edu.au [129.127.96.120]) by freefall.freebsd.org (8.7.3/8.7.3) with ESMTP id WAA17274 for ; Wed, 20 Dec 1995 22:52:02 -0800 (PST) Received: from msmith@localhost by genesis.atrad.adelaide.edu.au (8.6.12/8.6.9) id RAA15007; Thu, 21 Dec 1995 17:24:52 +1030 From: Michael Smith Message-Id: <199512210654.RAA15007@genesis.atrad.adelaide.edu.au> Subject: Re: config boca modem problem To: mccrory@plk.af.mil Date: Thu, 21 Dec 1995 17:24:52 +1030 (CST) Cc: questions@freebsd.org In-Reply-To: <199512201403.HAA24060@erebus.fc.dna.mil> from "Roy A.Mccrory" at Dec 20, 95 07:03:20 am MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-questions@freebsd.org Precedence: bulk Roy A.Mccrory stands accused of saying: > > I have a new internal boca mv34i modem which my kernel can't sucessfully probe. Does this card have a 'real' 16550 on it, or a custom blob that claims to emulate one? > using -c to probe the modem with "flags sio2 0x82" gives > "probe test 5 failed > probe test 6 failed" > and returns a status of 0x0. Test 5 failing means that the UART failed to clear its interrupt assertion when the IIR in the UART was read. This may be because you have something else on IRQ 5, or it may be due to a poor 16550 emulation. We're working (occasionally) on fixing these sort of problems, but the lack of staying power on the part of people with these problems has made progress slow. Also, most people with any sense wouldn't touch an internal modem with a 40-foot pole, so none of us working on it have one to test with... > When the system boots, i get sio2 not configured messages every 10 minutes. This is probably because you have a getty or something similar trying to talk to the port. > If anyone has any ideas how to fix it, I would appreciate hearing from you. Various sorts; you could start by looking at the code in /sys/i386/isa/sio.c and adding DELAY(1000); calls between each of these lines in the sioprobe() function, to wit: if (idev->id_irq != 0) failures[3] = isa_irq_pending(idev) ? 0 : 1; DELAY(1000); failures[4] = (inb(iobase + com_iir) & IIR_IMASK) - IIR_TXRDY; DELAY(1000); if (idev->id_irq != 0) failures[5] = isa_irq_pending(idev) ? 1 : 0; DELAY(1000); failures[6] = (inb(iobase + com_iir) & IIR_IMASK) - IIR_NOPEND; Also, if you want to verify that the modem actually works, you can modify the code a little lower : return (result); to return (IO_COMSIZE); _WARNING_ This will force the system to believe that all sio* ports defined in the kernel config exist and work. This may not be what you want. > Roy A. McCrory (505) 846-6937 mccrory@plk.af.mil -- ]] Mike Smith, Software Engineer msmith@atrad.adelaide.edu.au [[ ]] Genesis Software genesis@atrad.adelaide.edu.au [[ ]] High-speed data acquisition and (GSM mobile) 041-122-496 [[ ]] realtime instrument control (ph/fax) +61-8-267-3039 [[ ]] "Who does BSD?" "We do Chucky, we do." [[