sandisk wifi connect plus
pcmcia at externe.net
Wed Mar 17 14:22:35 GMT 2004
On Fri, 5 Mar 2004 12:02:34 -0500 (EST)
Pavel Roskin <proski at gnu.org> wrote:
> The Windows driver for the card includes RAM-loadable firmware for Prism
> 2.5 chipset, so it's probably supported by HostAP and linux-wlan-ng.
Some news- it should need a special initialisation sequence (see below) for
prism 3 download and for dual function activation.
Got the info below from trisoft.de. I'll try to purchase such a card (anyone in
the US here? it's $60 vs >130 Eur) and test that.
1. The combo card is Prism 3.0 based, they need to have the Prism 3.0
2. Its linux PCMCIA driver has to support mulit-function PCMCIA
3. There's a special initialization sequence that needs to integrate
into the driver to enable the combo functionality. I have attached the sample
initialization code in this message.
// 1. There are three registers in the attribute memory sapce of Prism3
which need to be programmed:
// COR register at attribute_memory_space_base+0x3E0
// IO Base0 at attribute_memory_space_base+0x3F0
// IO Base1 at attribute_memory_space_base+0x3F2
// Procedure A listed below is an example of how the registers are
programmed and how the card is initialized.
// The above registers have to be programmed in the driver initialization
routine before the host
// can communication with the wireless function of the combo card.
// procedure A.
// In other words, each time the combo card plug-in, procedure A has be
// 2.The other part of the wireless driver is the same as the regular PRISM
// But if you are using PRISM 3's firware download function. You need the
// IoSetHCR function to implement this feature on the combo card.
// Function Definitions:
// WriteByteToAttributeMemory( X1,(unsigned char) X2) ==>
// Write an unsinged char X2 to Attribute memory space at offset X1
// WriteByteToIOSpace( X1,(unsigned char) X2) ==>
// Write an unsinged char X2 to I/O space at offset X1
// Delay X1 microseconds to wait hardware completing operation
WriteByteToAttributeMemory( 0x3e0, 0x80);
WriteByteToAttributeMemory( 0x3e0, 0x4b);
// Then, we need the I/O_base_address. For example, 0x0280
// Write low-byte of I/O_base_address to I/O space
WriteByteToAttributeMemory( 0x3f0, 0x80);
// Write high-byte of I/O base address to I/O space.
WriteByteToAttributeMemory( 0x3f2, 0x02);
// P.S. If you don't have high-byte, use 0x00.
// Activate the Wireless function
// dev_p - Pointer to the device block.
// Return Value:
IN PIO_DEV dev_p,
IN UCHAR value
// write ten times for ensuring that the value has been wrote to card via I/O
} // end IoSetHCR
Bien a vous - Best regards,
*@externe.net ![guylhem at oeil.qc.ca->@metalab.unc.edu->@ibiblio.org->@7un.org]
http://externe.net/geekcode http://externe.net/photos http://externe.net/zaurus
GPG: 92EB37C1 DD11C9C9 20519D01 E8FA1B11 42975AF7 http://externe.net/pubkey
More information about the linux-pcmcia