Powering down 16-bit wi(4) PC Card is broken for me

From: Ruslan Ermilov <ru_at_FreeBSD.org>
Date: Fri, 23 Sep 2005 11:53:58 +0300
Hi Warner,

This is with today's -CURRENT, but it's been happening for some time
now I guess.

I have two PC Cards, one 32-bit 3.3V rl(4), and one 16-bit 5V wi(4).
And it looks there's a problem with powering down the wi(4) card.

Ejecting/injecting rl(4) works as expected.  But first time I eject
wi(4), it fails (Bad Vcc requested).  After this happens, I can no
longer use this slot -- "Bad Vcc requested" is printed during each
ejection/injection, and I get "watchdog timeout" with rl(4).

Here are the probe lines:

: cbb0: <TI1450 PCI-CardBus Bridge> mem 0x50103000-0x50103fff irq 11 at device 2.0 on pci0
: cardbus0: <CardBus bus> on cbb0
: pccard0: <16-bit PCCard bus> on cbb0
: cbb1: <TI1450 PCI-CardBus Bridge> mem 0x50102000-0x50102fff irq 11 at device 2.1 on pci0
: cardbus1: <CardBus bus> on cbb1
: pccard1: <16-bit PCCard bus> on cbb1

(hw.cbb.debug is set to "1".)

Here's the log of injection/ejection of rl(4), two times in a row:

Injecting rl:

: 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 rl:

: Status is 0x30000186
: rlphy0: detached
: miibus0: detached
: rl0: detached
: cbb0: cbb_power: 0V

Injecting rl:

: 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 rl:

: Status is 0x30000186
: rlphy0: detached
: miibus0: detached
: rl0: detached
: cbb0: cbb_power: 0V

Here's the wi(4) play.  (The wi(4) driver isn't loaded, it's not important.)

First injection of wi works:

: Status is 0x30000510
: cbb0: card inserted: event=0x00000000, state=30000510
: cbb_pcic_socket_enable:
: cbb0: cbb_power: 5V
: cbb_pcic_socket_enable:
: pccard0: <unknown card> (manufacturer=0x0156, product=0x0002, function_type=6) at function 0
: pccard0:    CIS info: Lucent Technologies, WaveLAN/IEEE, Version 01.01, 

Ejection of wi fails:

: Status is 0x30000116
: cbb_pcic_socket_disable
: cbb0: cbb_power: 0V
: cbb0: Bad Vcc requested
        ^^^^^^^^^^^^^^^^^

And that's where the problem starts.

Injecting wi again (fails):

: Status is 0x30000710
: cbb0: card inserted: event=0x00000000, state=30000710
: cbb_pcic_socket_enable:
: cbb0: cbb_power: 5V
: cbb0: Bad Vcc requested
: cbb_pcic_socket_enable:
: pccard0: <unknown card> (manufacturer=0x0156, product=0x0002, function_type=6) at function 0
: pccard0:    CIS info: Lucent Technologies, WaveLAN/IEEE, Version 01.01, 

Ejecting wi:

: Status is 0x30000316
: cbb_pcic_socket_disable
: cbb0: cbb_power: 0V
: cbb0: Bad Vcc requested

Injecting/ejecting rl(4) similarly fails now.

When it happens, rl(4) attaches but no longer works (watchdog timeouts).
When it happens, wi(4) attaches but no longer works ("no carrier" in
ifconfig(8) despite wicontrol(8) seeing the AP normally).


Cheers,
-- 
Ruslan Ermilov
ru_at_FreeBSD.org
FreeBSD committer

Received on Fri Sep 23 2005 - 06:53:45 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:44 UTC