Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 01 Jun 2000 14:55:53 PDT
From:      Darryl Okahata <darrylo@sr.hp.com>
To:        Warner Losh <imp@village.org>
Cc:        freebsd-mobile@freebsd.org
Subject:   Re: device timeout with any card 
Message-ID:  <200006012156.OAA06461@mina.sr.hp.com>
In-Reply-To: Your message of "Thu, 01 Jun 2000 15:00:46 PDT." <200006012100.PAA31099@harmony.village.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
Warner Losh <imp@village.org> wrote:

> That would be nice.  Got time to write one like that :-)

     The beginnings of one can be found in my "FreeBSD and WaveLan"
document.  I've attached part of it (note that I haven't had the time to
incorporate information from the recent PCI adapter saga).

--
	Darryl Okahata
	darrylo@soco.agilent.com

DISCLAIMER: this message is the author's personal opinion and does not
constitute the support, opinion, or policy of Agilent Technologies, or
of the little green men that have been following him all day.

===============================================================================
TROUBLESHOOTING

 1. Nothing appears to happen after rebooting.

    Run dmesg.  Look for lines that start with "pcic0:".  If you find
    some, the PCMCIA adapter was found, and you should skip to the next
    item.

    If you can't find any, this probably means that there is a problem
    with the PCMCIA adapter/controller:

    * Are you running FreeBSD 4.0-RELEASE or 4.0-STABLE older than May
      29, 2000, and did you just reboot from Windows 95/98/NT?  Older
      versions of FreeBSD 4.X have a minor bug where the PCMCIA
      controller is not recognized if you just rebooted from Windows.
      This bug was fixed in 4.0-STABLE on May 28, 2000.

      If you reboot again, the PCMCIA controller should be found.
      Basically, if you were running Windows, you need to reboot twice
      -- or turn off the power -- to get FreeBSD to recognize the
      adapter.

    * Is the PCMCIA adapter port address correct?  Note that the default
      address of the WaveLan PCMCIA adapter is 0x3E2, but the default
      for the FreeBSD driver is 0x3E0.  They've got to match.

 2. The ISA PCMCIA adapter does not recognize the WaveLan card; nothing
    happens when the card is inserted.

    If you assigned an IRQ to the ISA PCMCIA adapter (recommended), did
    you tell the BIOS that this IRQ is not available for use by PNP/PCI
    cards (see step #2 in the configuration section, above)?  One
    indication that you didn't do this is an IRQ mismatch, like:

	pcic0: <VLSI 82C146> at port 0x3e0 iomem 0xd0000 irq 10 on isa0
	pcic0: management irq 11

    Note the IRQ mismatch (10 vs 11).  If this is configured properly,
    the IRQ values should match, like:

	pcic0: <VLSI 82C146> at port 0x3e0 iomem 0xd0000 irq 10 on isa0
	pcic0: management irq 10

 3. The PCMCIA adapter does not recognize the WaveLan card; you get
    error messages like:

	pccardd: No card in database for ""("")

    This particular error is usually caused by a memory address
    conflict; if so, the solution is to set "iomem" to a different
    address (see step #9 in the configuration section, above).  To
    verify a memory conflict, try running "pccard dumpcis"; if you get
    messages like "code XXX ignored", where "XXX" is a number, then you
    probably have a memory conflict.

    If you changed iomem, did you also edit /etc/rc.conf to reflect that
    fact?  The values for iomem and pccard_mem in /etc/rc.conf must
    match.  If you edit rc.conf, you'll have to reboot.

    If the memory addresses are correct (iomem and pccard_mem), "pccard
    dumpcis" should output a section like (in addition to a lot of other
    text):

	Tuple #4, code = 0x15 (Version 1 info), length = 80
	    000:  05 00 4c 75 63 65 6e 74 20 54 65 63 68 6e 6f 6c
	    010:  6f 67 69 65 73 00 57 61 76 65 4c 41 4e 2f 49 45
	    020:  45 45 00 56 65 72 73 69 6f 6e 20 30 31 2e 30 31
	    030:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
	    040:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff
		Version = 5.0, Manuf = [Lucent Technologies],card vers = [WaveLAN/IEEE]
		Addit. info = [Version 01.01],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]

    Note that the above is approximate; it may change with different
    card firmware revisions.

 4. Did you edit /etc/pccard.conf to allow the use of IRQ9 for the
    WaveLan card (wi0)?  IRQ9 may not work with the WaveLan card.  You
    may have to come up with another IRQ.

 5. The WaveLan driver complains about:

	wi0: No irq?!

    This means that the driver could not allocate a free IRQ for the
    WaveLan card.  Unfortunately, there's no easy solution for this --
    you've got to somehow free up an IRQ for the card.  Note that the
    list of possible IRQs to use is listed in /etc/pccard.conf; if you
    free up an IRQ, make sure it's listed there.

 6. The driver complains about:

	wi0: No I/O space?!

    This means that the driver could not allocate a range of I/O ports
    to use to access the card.

    I've only seen this when I tried to insert the WaveLan card into a
    laptop that already has another PCMCIA card in another slot, and the
    wi0 driver failed because it could not allocate an IRQ ("wi0: No irq?!").
    If I ejected the other card and re-inserted the WaveLan card, I
    would then get the "No I/O space?!" error.  The solution is to
    reboot.

    (I think this is caused by a minor bug in the pccard or wi driver
    code.)


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-mobile" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200006012156.OAA06461>