Date: Wed, 28 Sep 2005 08:50:21 +0300 From: Ruslan Ermilov <ru@freebsd.org> To: "M. Warner Losh" <imp@bsdimp.com> Cc: current@freebsd.org Subject: Re: Powering down 16-bit wi(4) PC Card is broken for me Message-ID: <20050928055021.GC55560@ip.net.ua> In-Reply-To: <20050927.214608.119243251.imp@bsdimp.com> References: <20050923085358.GA58772@ip.net.ua> <20050927.214608.119243251.imp@bsdimp.com>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
Hi Warner,
On Tue, Sep 27, 2005 at 09:46:08PM -0600, M. Warner Losh wrote:
> Ruslan,
>
> Thanks for working with me offline. I believe that the following
> should fix things up for you. Can you try the following patch?
>
No, it doesn't. :-(
Like in the previous try, the slot becomes deaf once I eject the
16-bit PC Card. Here's the relevant console log:
Injecting cardbus:
: Status is 0x30000920
: cbb0: card inserted: event=0x00000006, state=30000920
: cbb0: cbb_power: 3V
: rl0: <Edimax EP-4103DL CardBus> port 0x1000-0x10ff mem 0xd8000-0xd81ff irq 11 at device 0.0 on cardbus0
: miibus0: <MII bus> on rl0
: rlphy0: <RealTek internal media interface> on miibus0
: rlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
: rl0: Ethernet address: 00:11:6b:50:03:82
Ejecting cardbus:
: Status is 0x30000186
: rlphy0: detached
: miibus0: detached
: rl0: detached
: cbb0: cbb_power: 0V
Injecting pccard:
: Status is 0x30000510
: cbb0: card inserted: event=0x00000000, state=30000510
: cbb_pcic_socket_enable:
: cbb0: cbb_power: 5V
: cbb_pcic_socket_enable:
: wi0: <Lucent Technologies WaveLAN/IEEE> at port 0x100-0x13f irq 11 function 0 config 1 on pccard0
: wi0: using Lucent Technologies, WaveLAN/IEEE
: wi0: Lucent Firmware: Station (6.6.1)
: wi0: Ethernet address: 00:02:2d:09:40:19
Ejecting pccard:
: Status is 0x30000116
: wi0: detached
: cbb_pcic_socket_disable
Note there's no "0V" indication now. At this point, the slot becomes deaf.
> ==== //depot/user/imp/newcard/dev/pccbb/pccbb.c#125 (text+ko) ====
>
> @@ -1269,12 +1269,12 @@
>
> DPRINTF(("cbb_pcic_socket_disable\n"));
>
> - /* reset signal asserting... */
> - exca_clrb(&sc->exca[0], EXCA_INTR, EXCA_INTR_RESET);
> + /* Turn off the card's interrupt and leave it in reset */
> + exca_putb(&sc->exca[0], EXCA_INTR, 0);
> tsleep(sc, PZERO, "cbbP1", hz / 100);
>
> /* power down the socket */
> - exca_clrb(&sc->exca[0], EXCA_PWRCTL, EXCA_PWRCTL_OE);
> + exca_putb(&sc->exca[0], EXCA_PWRCTL, 0);
> cbb_power(brdev, CARD_OFF);
>
> /* wait 300ms until power fails (Tpf). */
Cheers,
--
Ruslan Ermilov
ru@FreeBSD.org
FreeBSD committer
[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (FreeBSD)
iD8DBQFDOi8dqRfpzJluFF4RAsO7AJ0Qtm+peOC+7NkKjqNlvXspulxGCwCbBosZ
qn4jnaZ06iTIPXZgRGhhYa8=
=jmNV
-----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050928055021.GC55560>
