kern/77332: [PCMCIA] U.S. Robotics Prism2 pccard not recognized as such

Gael Queri gael at lautre.net
Wed Feb 9 16:40:23 PST 2005


>Number:         77332
>Category:       kern
>Synopsis:       [PCMCIA] U.S. Robotics Prism2 pccard not recognized as such
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Feb 10 00:40:20 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Gael Queri
>Release:        FreeBSD 5.3-STABLE i386
>Organization:
>Environment:
System: FreeBSD blobby.home 5.3-STABLE FreeBSD 5.3-STABLE #1: Mon Jan 31 22:28:38 CET 2005 gael at blobby.home:/usr/src/sys/i386/compile/BLOBBY i386

PCMCIA/CARDBUS Chipset is
cbb0: <O2Micro OZ6933 PCI-CardBus Bridge> irq 5 at device 3.0 on pci1
cardbus0: <CardBus bus> on cbb0
pccard0: <16-bit PCCard bus> on cbb0
cbb1: <O2Micro OZ6933 PCI-CardBus Bridge> irq 5 at device 3.1 on pci1
cardbus1: <CardBus bus> on cbb1
pccard1: <16-bit PCCard bus> on cbb1
  
Following sysctls were set:
hw.pccard.debug: 1
hw.pccard.cis_debug: 1
hw.cbb.debug: 1


	
>Description:
	
My wi0 U.S. Robotics IEEE 802.11b PC-CARD works only in one of my two
O2Micro pccard slots.
When plugging into slot pccard0, it works fine.
But when plugging into slot pccard1, the card is not recognized.
>How-To-Repeat:
	
Insert card into slot 1

dmesg output :

cbb1: card inserted: event=0x00000000, state=30000410
pccard1: chip_socket_enable
cbb_pcic_socket_enable:
cbb1: cbb_power: 5V
pccard1: read_cis
cis mem map 0xd10c4000 (resource: 0x88000000)
pccard1: CIS tuple chain:
CISTPL_DEVICE type=null speed=null
 01 03 00 00 01
unhandled CISTPL 3
 03 00
CISTPL_NONE
 00
unhandled CISTPL 5a
 5a 08 ff 1d 5a 08 ff 1d 08 ff
CISTPL_VERS_1
 15 50 08 ff 15 50 53 2e 20 52 53 2e 20 52 69 63
 73 00 69 63 73 00 20 38 30 32 20 38 30 32 20 50
 43 2d 20 50 43 2d 00 56 65 72 00 56 65 72 20 30
 31 2e 20 30 31 2e 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 ff
CISTPL_NONE
 00
CISTPL_NONE
 00
CISTPL_NONE
 00
CISTPL_END
 ff
cis mem map d10c4000
CISTPL_LINKTARGET expected, code 00 observed
pccard1: check_cis_quirks
pccard1: Card has no functions!
cbb1: PC Card card activation failed

For information, here's what I get when inserting it into the
pccard0 slot :

cbb0: card inserted: event=0x00000000, state=30000410
pccard0: chip_socket_enable
cbb_pcic_socket_enable:
cbb0: cbb_power: 5V
pccard0: read_cis
cis mem map 0xd10c4000 (resource: 0x88000000)
pccard0: CIS tuple chain:
CISTPL_DEVICE type=null speed=null
 01 03 00 00 ff
CISTPL_DEVICE_A type=sram speed=ext
 17 04 67 5a 08 ff
unhandled CISTPL 1d
 1d 05 01 67 5a 08 ff
CISTPL_VERS_1
 15 50 05 00 55 2e 53 2e 20 52 6f 62 6f 74 69 63
 73 00 49 45 45 45 20 38 30 32 2e 31 31 62 20 50
 43 2d 43 41 52 44 00 56 65 72 73 69 6f 6e 20 30
 31 2e 30 32 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 ff
CISTPL_MANFID
 20 04 56 01 02 00
CISTPL_FUNCID
 21 02 06 00
CISTPL_FUNCE
 22 02 01 07
CISTPL_FUNCE
 22 05 02 40 42 0f 00
CISTPL_FUNCE
 22 05 02 80 84 1e 00
CISTPL_FUNCE
 22 05 02 60 ec 53 00
CISTPL_FUNCE
 22 05 02 c0 d8 a7 00
CISTPL_FUNCE
 22 02 03 07
CISTPL_FUNCE
 22 08 04 06 00 90 d1 08 46 98
CISTPL_FUNCE
 22 02 05 01
CISTPL_CONFIG
 1a 07 03 01 e0 03 00 00 01
CISTPL_CFTABLE_ENTRY
 1b 0f c1 01 19 76 c5 4b d5 19 36 36 05 46 7f ff
 ff
CISTPL_END
 ff
cis mem map d10c4000
CISTPL_LINKTARGET expected, code 00 observed
pccard0: check_cis_quirks
pccard0: CIS version PC Card Standard 5.0
pccard0: CIS info: U.S. Robotics, IEEE 802.11b PC-CARD, Version 01.02, 
pccard0: Manufacturer code 0x156, product 0x2
pccard0: function 0: network adapter, ccr addr 3e0 mask 1
pccard0: function 0, config table entry 1: I/O card; irq mask ffff; iomask 6, iospace 0-3f; io16 irqpulse irqlevel
pccard0: functions scanning
pccard0: Card has 1 functions. pccard_mfc is 0
pccard0: I/O rid 0 start 0 end ffffffff
cbb_pcic_socket_enable:
cbb0: cbb_power: 0V
cbb0: cbb_power: 5V
pccard0: ccr_res == 88000000-880003ff, base=3e0
pccard0: function 0 CCR at 0 offset 3e0: 41 80 22 ff, ff ff ff ff, ff
wi0: <U.S. Robotics IEEE 802.11b PC-CARD> at port 0x100-0x13f irq 5 function 0 config 1 on pccard0
wi0: using RF:PRISM2 MAC:HFA3841 CARD:HWB3163 rev.A
wi0: Intersil Firmware: Primary (0.3.0), Station (1.7.1)
wi0: Ethernet address: 00:90:d1:08:46:98
wi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
pccard0: function 0 CCR at 0 offset 3e0 mask 1: 41 80 22 ff, ff ff ff ff, ff


>Fix:

It seems that the problem comes from the fact that the CISTPL
linktype CIS_INDIRECT is not implemented on 
/sys/dev/pccard/pccard_cis.c

Fortunately, it seems that at least Linux source implements it :
cf http://lxr.linux.no/source/drivers/pcmcia/cistpl.c

And I can confirm the card works under Linux.
But it may be something else of course :)

Also I reported another PR about a similar problem I get with
another Xircom card on the same O2Micro chipset (PR i386/75589)


Thanks to have a look :)
>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list