[PATCH 0/3] WLAN/SDIO power up/down synchronization

Werner Almesberger werner at openmoko.org
Sat Nov 22 10:51:34 CET 2008


Andy Green wrote:
> Association is presumably lost because the firmware in the Atheros
> module is directly seeing this "go down", "come back up from scratch"
> traffic.

The module actually has to be reset for letting the SDIO stack
rediscover it. The SDIO spec allows the usual detection process
only after a power-on reset (or, in our case, pulling the reset
line) or a soft reset (where you set a bit to reset the IO
function).

In either case, the IO function gets completely reset. Since
this is a "full MAC", all state in it is lost as well. (So the
interface comes back up "clean" - no association, no ESSID, no
key, etc.)

The SDIO spec describes a way to suspend just the interface but
to leave the IO function alone, but neither the AR6k module nor
the Linux SDIO stack implement it.

Even if this suspend function isn't there, we can probably just
stop communication. (That's what happens with the Atheros SDIO
stack and Samuel's driver.) I write probably, because if this
doesn't actually work, it may explain some of the communication
failures we're experiencing :)

> It's fine for now, It's no worse than normal soft MAC device under Linux
> where mac80211 is down in suspend and association is lost:
> NetworkManager or similar will reacquire it on resume.

Oh, good. Does it also set ESSID, encryption, and such again ?
That would make things very easy for me ;-)

- Werner



More information about the openmoko-kernel mailing list