simon.kagstrom at bth.se
Fri Oct 29 10:45:56 EDT 2004
(Sorry, posted this message before I was subscribed to the list)
I've recently bought a Sandisk Connectplus mem + wifi card which does not yet
work under Linux. Apparently it is prism3-based. I've followed the discussion
about it on this mailing list and on the "Linux Driver for SanDisk Connect
Plus" forum  and I've also compiled hostap-driver-0.2.5 and tried it
myself. I'd like to summarise what I've found so far and hopefully get a few
things straightened out.
Some documentation (found on the forum):
1. Someone found a specification for something which looks like the
connectplus card, on
2. Some information about prism in general (which I guess most of you already
have seen) was found as well:
(the legal situation is unclear, probably NDAs needed).
1. There is some pseudo code at  which supposedly describes the
initialization of the wifi part, after which it should be a normal prism3
As pointed out in the forum, the code is probably somewhat wrong. For
instance, it says that the I/O base address should be set, and that this
resides at the attribute memory space base + 0x3f0 (low byte) and 0x3f2
(high byte). That would be CISREG_IOBASE_3 and CISREG_IOSIZE from reading
the pcmcia_cs sources. I guess that CISREG_IOBASE_0 and CISREG_IOBASE_1 are
the correct ones?
Also, to activate the wireless function, you should write two values (0xc5
and 0x4b) to the io space base + 0x40, which is HFA384X_RXFID_OFF. Does
that make sense?
2. A patch for hostap 0.2 was produced some time ago . It looks somewhat
wrong and people on the forum came to the above conclusions (IOBASE regs).
I've applied the patch to 0.2.5 (using the PCMCIA slot on a IA-32 laptop)
and nothing much happens. The patch alters the prism2_pccard_cor_sreset and
prism2_pccard_genesis_reset functions, but these are never called in my
case. The output from dmesg is the following:
hostap_cs: 0.2.5 - 2004-10-03 (Jouni Malinen <jkmaline at cc.hut.fi>)
hostap_cs: setting Vcc=33 (constant)
hostap_cs: setting Vcc=33 (from config)
Checking CFTABLE_ENTRY 0x01 (default 0x01)
IO window settings: cfg->io.nwin=1 dflt.io.nwin=1
io->flags = 0x0047, io.base=0x0000, len=128
hostap_cs: Registered netdevice wifi0
wifi0: Interrupt, but dev not OK
hostap_cs: index 0x01: Vcc 3.3, irq 9, io 0x0100-0x017f
wifi0: init command completed too quickly - retrying
prism2_hw_init: initialized in 0 ms
prism2_enable_aux_port(1) timed out
wifi0: trying to read PDA from 0x007f0000: failed
wifi0: trying to read PDA from 0x003f0000: failed
wifi0: trying to read PDA from 0x00390000: failed
wifi0: trying to read PDA from 0x007f0002: failed
prism2_enable_aux_port: was not enabled!?
wifi0: valid PDA not found
SWSUPPORT0 write/read failed: 8AFF != 8A32
hostap_cs: Initialization failed
(this looks slightly different from people on the forum with 0.2.1). If I
try running iwconfig afterwards, I get messages such as:
wifi0: hfa384x_cmd: entry still in list? (entry=cd9df320, type=0, res=0)
wifi0: hfa384x_cmd: command was not completed (res=0, entry=cd9df320,
cmd=0x0021, param0=0xfdc6, EVSTAT=00ff INTEN=00ff)
wifi0: interrupt delivery does not seem to work
wifi0: I/O debug stopped
wifi0: hfa384x_get_rid: CMDCODE_ACCESS failed (res=-110, rid=fdc6,
1. There have been some concerns  that the linux PCMCIA support does not
cater multifunctional cards. Is this so? Or maybe the hostap driver?
2. Would there be any difference in using the card directly on a compact flash
slot or (as in my case) in a PCMCIA slot?
3. It says in the ProdManual above that "The WLAN functions only in the PCMCIA
(PC Card) mode and is not supported in the True IDE mode.". Are there any
compact flash experts here that could say if this is a problem? My
/etc/pcmcia/sandiskconnectplus.conf looks like
class "network" module "hostap", "hostap_cs"
card "SanDisk ConnectPlus 128M"
manfid 0xd601, 0x0101
# bind "ide-cs" to 1
bind "hostap_cs" to 0
So hopefully the IDE part should be disabled anyway.
4. I looked through the ChangeLog and found nothing which would explain why
the prism2_pccard_cor_sreset or genesis_reset are no longer called, would
the patch need to be updated for 0.2.5? (Sorry, I know basically nothing
about the hostap driver internals).
More information about the HostAP