Sandisk connectplus

Simon Kagstrom simon.kagstrom
Fri Oct 29 07:45:56 PDT 2004


(Sorry, posted this message before I was subscribed to the list)

Hello!

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 [0] 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

   http://www.sandisk.com/pdf/industrial/ProdManualCFWLANv1.0.pdf

2. Some information about prism in general (which I guess most of you already
   have seen) was found as well:

   http://home.eunet.cz/jt/wifi/Download.pdf
   http://ftp.bcwireless.net/pub/prism/RM0251.pdf

   (the legal situation is unclear, probably NDAs needed).


Some code:

1. There is some pseudo code at [2] which supposedly describes the
   initialization of the wifi part, after which it should be a normal prism3
   card.

   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 [3]. 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: CS_EVENT_CARD_INSERTION
      prism2_config()
      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
      prism2_hw_init()
      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
      prism2_config() 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,
      type=0,
      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,
      len=12)


Some questions:

1. There have been some concerns [1] 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

      device "hostap_cs"
      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).


// Simon





More information about the Hostap mailing list