Subject: Re: kern/12965 (3com 575CT does not work)
To: None <gnats-bugs@NetBSD.org, kern-bug-people@NetBSD.org,>
From: ITOH Yasufumi <itohy@NetBSD.org>
List: netbsd-bugs
Date: 09/27/2006 00:44:48
Here's some more info from me.
I tried 4.99.1 with

options 	CARDBUS_DEBUG,CARDBUS_MAP_DEBUG,CARDSLOT_DEBUG
options 	CBB_DEBUG,RBUS_DEBUG
options 	EX_DEBUG

on i386 and sparc64.

On i386: the ex driver doesn't attach.
On sparc64: the ex driver attaches but it doesn't work.

=========================
i386 with Cirrus Logic CL-PD6832 PCI-CardBus Bridge.

[[ insert 575CT to slot  0 ]]

cbb0: 0x00000000 card inserted, 0x30000821
cardslot_event_throw: an event CardBus Card inserted comes
cardbus_attach_card: cb0 start
pccbb_power: CARDBUS_VCC_3V and CARDBUS_VPP_UC [0x1]
Waiting for bridge to power up
Powercycling because of socket event

[[ remove 575CT from slot  0 ]]

cbb0: 0x0000000d card removed, 0x30000005
cardslot_event_throw: an event CardBus Card removed comes
Powercycling because of socket event
pccbb_power: CARDBUS_VCC_0V and CARDBUS_VPP_0V [0x44]

[[ insert 21143 to slot 1 (for comparison --- this device works well) ]]

cbb1: 0x00000000 card inserted, 0x30000821
cardslot_event_throw: an event CardBus Card inserted comes
cardbus_attach_card: cb1 start
pccbb_power: CARDBUS_VCC_3V and CARDBUS_VPP_UC [0x1]
Waiting for bridge to power up
Powercycling because of socket event
cardbus1 bhlc 0x00000000 -> cardbus_attach_card: Vendor 0x1011, Product 0x19, CIS 0x282
cardbus1 func0 bhlc 0x00000000 -> 0x0000f800
cardbus1: reading CIS data from BAR1
cardbus_mapreg_map called: cardbus1 0
pccbb_rbus_cb_space_alloc: addr 0x0, size 0x400, mask 0x3ff, align 0x400
using memory window, 0x0 0x1 0x1

--pccbb_winset: win0 [0x40000000, 0x40001000), win1 [0xfffff000, 0x1000)
cardbus_mapreg_map: physaddr 40000000
cardbus1: unmap mem space
--pccbb_winset: win0 [0xfffff000, 0x1000), win1 [0xfffff000, 0x1000)
(snip ... tuple dump)
tlp0 at cardbus1 function 0: DECchip 21143 Ethernet, pass 4.1
cardbus_mapreg_map called: cardbus1 0
pccbb_rbus_cb_space_alloc: addr 0x0, size 0x400, mask 0x3ff, align 0x400
using memory window, 0x0 0x1 0x1

--pccbb_winset: win0 [0x40000000, 0x40001000), win1 [0xfffff000, 0x1000)
cardbus_mapreg_map: physaddr 40000000
pccbb_cardenable: command reg 0xa000007
pccbb_cardenable: command reg 0x2000007
tlp0: Ethernet address 00:00:f4:xx:xx:xx
bmtphy0 at tlp0 phy 1: BCM5201 10/100 media interface, rev. 2
bmtphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
tlp0: 21143 reset block
tlp0: unknown ISV media block type 0x06
entering cardbus_function_disable...  pccbb_power: CARDBUS_VCC_0V and CARDBUS_VPP_UC [0x4]
Powercycling because of socket event

[[ remove 21143 from slot 1 ]]

cbb1: 0x00000002 card removed, 0x30000003
cardslot_event_throw: an event CardBus Card removed comes
cardbus1: detaching tlp0
bmtphy0 detached
cardbus1: unmap mem space
--pccbb_winset: win0 [0xfffff000, 0x1000), win1 [0xfffff000, 0x1000)
tlp0 detached
pccbb_power: CARDBUS_VCC_0V and CARDBUS_VPP_0V [0x44]


=========================
sparc64 with Ricoh 5C475 PCI-CardBus bridge

[[ insert 575CT ]]

cbb0: 0x00000000 card inserted, 0x30000820
cardslot_event_throw: an event CardBus Card inserted comes
cardbus_attach_card: cb0 start
pccbb_power: CARDBUS_VCC_3V and CARDBUS_VPP_UC [0x1]
Waiting for bridge to power up
Powercycling because of socket event
cardbus0 bhlc 0x00000000 -> cardbus_attach_card: Vendor 0x10b7, Product 0x5257, CIS 0x90
cardbus0 func0 bhlc 0x00000000 -> 0x00002000
cardbus0: reading CIS data from configuration space
tuple: LINKTARGET len 5
  0x 0: 13 3 43 49 53
tuple: MANFID len 6
  0x 0: 20 4 1 1 57 52
tuple: CONFIG_CB len 8
  0x 0: 4 6 3 1 0 0 0 0
tuple: CFTABLE_ENTRY_CB len 15
  0x 0: 5 d 41 9a 1 b5 1e 1 b5 1e 2 30 ff ff 1
tuple: BAR len 8
  0x 0: 7 6 11 0 40 0 0 0
tuple: VERS_1 len 54
  0x 0: 15 34 5 0 33 43 6f 6d 20 43 6f 72 70 6f 72 61
  0x10: 74 69 6f 6e 0 33 43 43 46 45 35 37 35 43 54 0
  0x20: 4c 41 4e 20 43 61 72 64 62 75 73 20 43 61 72 64
  0x30: 0 30 30 34 0 ff
tuple: FUNCID len 4
  0x 0: 21 2 6 1
tuple: END len 1
  0x 0: ff
ex0 at cardbus0 function 0: 3Com 3c575CT Ethernet
cardbus_mapreg_map called: cardbus0 1
pccbb_rbus_cb_space_alloc: addr 0x0, size 0x80, mask 0x7f, align 0x80
--pccbb_winset: win0 [0x1300, 0x1380), win1 [0xfffffffc, 0x4)
cardbus_mapreg_map: physaddr 1300
cardbus_mapreg_map called: cardbus0 0
pccbb_rbus_cb_space_alloc: addr 0x0, size 0x80, mask 0x7f, align 0x80
using memory window, 0x3edbd00 0x3edbd80 0x3edbd80

--pccbb_winset: win0 [0x10f000, 0x110000), win1 [0xfffff000, 0x1000)
cardbus_mapreg_map: physaddr 10f000
pccbb_cardenable: command reg 0x2100047
pccbb_cardenable: command reg 0x2100047
pccbb_cardenable: command reg 0x2100047
ex0: MAC address 00:00:86:xx:xx:xx
tqphy0 at ex0 phy 0: 78Q2120 10/100 media interface, rev. 11
tqphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
entering cardbus_function_disable...  pccbb_power: CARDBUS_VCC_0V and CARDBUS_VPP_UC [0x4]

# ifconfig ex0 inet 172.17.1.62 netmask 255.255.255.0
entering cardbus_function_enable...  pccbb_power: CARDBUS_VCC_3V and CARDBUS_VPP_UC [0x1]
Waiting for bridge to power up
Powercycling because of socket event
1
pccbb_cardenable: command reg 0x2100047
pccbb_cardenable: command reg 0x2100047
pccbb_cardenable: command reg 0x2100047
if_ex_cardbus: lattimer 0x0 -> 0x20
- cardbus_intr_establish: irq 0
pccbb_intr_establish start. 0x0
pccbb_intr_establish add pil. 0x3ee8180
ex0: interrupting at 0
# ping 172.17.1.1
PING 172.17.1.1 (172.17.1.1): 48 data bytes
^C
----ns.my.domain PING Statistics----
3 packets transmitted, 0 packets received, 100.0% packet loss
#

--