SparkFun Forums 

Where electronics enthusiasts find answers.

Everything ARM and LPC
By seulater
i was also playing with the Airdrop system myself. i made a board that pluged into my LPC2378 kit then to a CF connector. i wanted to use the IO directly to the card and none of this latiching crap that they use to mimic a data or address bus. i got it working ok, with the examples given, then i was going to add the TCP stuff. as i leaned back in the chair and looked over at my shelf is when i saw the SD WIFI card and since there was a SD connector on the board i said what the hell am i doing. i am tieing up all this IO when i can just use a few simple IO lines to do the same thing. so i stoped working on the CF version and am all geared up for the SD version. My goal is speed. i have a project in mind and i need high throughput rates. however, i dont see why a guy with a very small micro like an Atmega8 to be able to get on the net, hell even a 8 pin micro could do it given enough ram and flash.
By Azoore
FYI, SF has had the prism data sheet linked to for a long time here. I found it quite useful when I was writing the driver for my WiFi network detector, but that was for a CF interface.
By Microbit
obsolete !
Last edited by Microbit on Thu Dec 11, 2008 8:07 am, edited 1 time in total.
By a2retro
I am hoping my Spectec SDW-820's arrive soon - I bought one to use and one to dissect :)
By seulater
when you dissect it would you let me know if there is a led in there somewhere.
By a2retro
Sure I will take some pics and find somewhere to post them.
By seulater
By motopic
I too am very intereted in this project. I have a 2148 and sd-card interface that I could use.
I will try to get the Spectec, could the originator post a supplier in the US?

Also a consideration is unit cost and availability. I found this one on, and google turned up a reseller (Evertek wholesale) selling these by the pallet load (3400 per pallet). Think it may be usable? Its an Ambeon 54mbps 802.11b. $31 each at compgeeks. ... SD&cat=NET
By a2retro
My cards came today - I popped one open.

INPROCOMM IPN2128 (as per the cab file)


Pictures to follow ...

Is anyone aware of alternatives to this @ $139.00-
By paul_l_curtis
seulater wrote:Man, it seems like im the only guy interested in this SDIO-WiFi card stuff.

Anyhosel, i am now at least getting responces back from the card now.
You're not the only person with interest in driving an SDIO-based WiFi card. The problem I see is that it's probably going to be impossible to write a "class driver" that covers all SDIO WiFi cards and, hence, you're pretty much doomed to be in the backwaters. I did a lot of work on a CF-based WiFi solution with the AirDrop but ultimately decided it was going nowhere as the CF format just doesn't have that much traction now.
By denial
Some days ago I tried to disassemble the IPN2128 driver:
WLAN11b.dll, MD5 hash 3b8de73e7ed8cd7d8e930e9dea3ac10b
(the SDW-820 Windows Mobile 6 version from Spectec's website)

It took me a bit of time to understand how the interface to the SD host works.
There is only one import from sdbus.dll named SDGetClientFunctions.
This is an undocumented function called by SDRegisterClient.
It will fill a structure at 0x10023960 with function pointers:

0x10023960+4 completes SDRegisterClient call
0x10023960+8 SDSynchronousBusRequest
0x10023960+20 SDCardInfoQuery
0x10023960+32 SDGetTuple
0x10023960+36 SDIOConnectInterrupt
0x10023960+40 SDIODisconnectInterrupt
0x10023960+44 SDSetCardFeature

See for documentation.

SDIODisconnectInterrupt is called by the functions at 0x100031bc and 0x100034a8
SDIOConnectInterrupt by 0x10003608 (=MiniportInitialize)
SDGetTuple by 0x1001be80
SDCardInfoQuery by 0x1001bfac
SDSetCardFeature by 0x1001bfac and 0x1001c1cc

SDSynchronousBusRequest is always called with Command=53 and Flags=0.
This implies use of BUILD_IO_RW_EXTENDED_ARG.
IncrementAddress is always 1.
Bulk reads and writes are done by 0x1001c590.
Bulk reads are always from address 0x6000 and
Bulk writes are always to address 0x3000, so these should be the frame buffers.
Single registers are 4 bytes long. They are read by 0x1001c40c and written by 0x1001c4d4.

These are adresses of registers that are read:
0, 8, 0x40, 0x48, 0x84, 0x104, 0x118, 0x194, 0x200, 0x204, 0x208, 0x20c, 0x210, 0x214, 0x218, 0x224, 0x228, 0x240, 0x248, 0x294, 0x2a4, 0x304, 0x360, 0x364, 0x368, 0x36c, 0x374, 0x410, 0x41c, 0x440, 0x444, 0x478, 0x480, 0x484, 0x488, 0x48c, 0x490, 0x494, 0x498, 0x49c

These are adresses of registers that are written:
0, 8, 0xc, 0x14, 0x40, 0x44, 0x48, 0x80, 0x8c, 0x100, 0x108, 0x110, 0x114, 0x118, 0x12c, 0x188, 0x18c, 0x194, 0x200, 0x204, 0x208, 0x20c, 0x210, 0x214, 0x218, 0x224, 0x228, 0x248, 0x294, 0x2a4, 0x2a8, 0x300, 0x304, 0x308, 0x30c, 0x314, 0x360, 0x3a0, 0x3a4, 0x3a8, 0x3ac, 0x410, 0x41c, 0x420, 0x448, 0x44c, 0x450, 0x478, 0x480, 0x484, 0x488, 0x48c

These lists are probably incomplete.

(Does this look like Prism? If divided by four?)

There is a fourth function at 0x1001c658 doing transfers. It can read and write up to 511 bytes in byte mode.
It is called to
- read 140 bytes from 0x104
- read 16 bytes from 0x4000
- read 52 bytes from 0x5000
- read from 0x6000
- write to 0x3000
- write to and read from 0xa000

Many functions appear to be methods of a C++ class.
The NDIS adapter context appears to have an element of another class at offset 0x114AC.
Code: Select all
class MiniportAdapterContext{
  NDIS_HANDLE MiniportAdapterHandle; // at 0x15c
  short NdisVersion; // at 0x160
  class {
    SD_DEVICE_HANDLE handle;
    uint8_t cardFunctionNumber;
  } atOffset0x114AC;
}; // 71296 bytes
Registered miniport callbacks are:
0x10003170 MiniportReset
0x100032c4 MiniportCheckForHang
0x100034a8 MiniportHalt
0x100035d4 MiniportPnPEventNotify
0x10003608 MiniportInitialize
0x100072d4 MiniportSendPackets
0x10009818 MiniportReturnPacket
0x1000a8fc MiniportSetInformation
0x1000b2d0 MiniportQueryInformation
0x1000bf8c MiniportShutdown

The SDIO interrupt callback is at 0x1001bd30.
Last edited by denial on Tue Jul 15, 2008 3:02 pm, edited 1 time in total.
By ntldr
happy to see the discuss for sdio card.
By seulater
Thanks, i hope they are not exspensive
By denial
This is spam. Check his other post.

silic0re wrote:An update on the WhizNets SPI module -- the hardware is fairly cheap ($15 in 1000 qty), but don't have open drivers and the licence fee is $20k per design :(.
Posted in thread "ARM w/802.11 wifi? (SPI/SDIO?)" on Jul 07, 2008
By seulater
when they get it down to $100 then i'll bite. Until then, forget it.
i want a finished solution.