[Prism54-devel] Re: [Prism54-users] Master/Monitor

Luis R. Rodriguez mcgrof@ruslug.rutgers.edu
Mon, 15 Dec 2003 15:55:53 -0500 (EST)


Note: I've gotten Master mode working.. just gotta review code now before
commiting. As per my conversation with ajfa, for now we'll be disabling
sleep interrupts since these seem to be the main culprits of the problem
and we haven't yet figured out an easy fix.

What we can do is leave sleep interrupts disabled, I commit my changes,
get all modes working smoothly/tested and release a testing version of the
driver. If we get sleep interrupts working by then I think that'll be
great, but users deserve at least a more decent/stable driver than what we
currently offer by just cvs snapshots. Having a testing release up will
also allow our users to test thorougly all modes.

Any comments?

	Luis

On Mon, 15 Dec 2003, Luis R. Rodriguez wrote:

>
> Hello Herald,
>
> <-- Mcgrof says Master mode is boRken -->
>
> > Is this still supposed to be true?
>
> Yes. My current tree has some changes to the current cvs snapshot and I
> haven't yet integrated it due to that I haven't yet nailed some last
> details to get Master mode working 100%.
>
> My tree does:
>
> 1. migrate init_modes to Linux Wiresless modes
> 2. adds a function helper which does the mapping of Linux wireless modes
> to correct firmware setup/modes
> 3. for prism54_mib_init, it correctly sets things in the right order,
> keeping in mind all possible modes.
>
> I've been trying to finalize my changes by completing master mode but am
> still dealing with some final details. I just don't want to commit before
> making sure things are working A-OK. For now, I'll post a URL to my tree
> later or perhaps start another cvs branch but there is one change that
> you can do to the current cvs snapshot to *sort of* get Master mode working:
>
> Disable Sleep interrupts. You can do that by modifying around line 209 on
> isl_38xx.c:
>
>         reg = (ISL38XX_INT_IDENT_INIT | ISL38XX_INT_IDENT_UPDATE |
>                ISL38XX_INT_IDENT_SLEEP | ISL38XX_INT_IDENT_WAKEUP);
>
> to:
>
>
>         reg = (ISL38XX_INT_IDENT_INIT | ISL38XX_INT_IDENT_UPDATE |
>               ISL38XX_INT_IDENT_WAKEUP);
>
> ---
>
> The reason this will do the trick is that it seems that the device is
> going to sleep mode and we're not able to bring it back up and that way
> when a `iwconfig eth1 mode Master` is called, the device will be in sleep
> state and all the MGT_SET's from prism54_set_mode will fail (bececause of
> sleep state). It seems like we're not handling sleep/awake right. I've
> gone through the entire isl_38xx.c cvs history and could not find anything
> done completely wrong/typos. Perhaps the bug is elsewhere.
>
> Also note that there is an old commented reg = before the new one which
> includes the other interrupts. Our cvs history shows the new reg
> initialization was set since the file's version 1.1.
>
> My code currently seems to get Master mode working but according to
> iwevents from the client, it seems all link associations are being
> rejected by the Access Point.
>
> So currently left on my todo list to get Master mode working is:
>
> 1. Find out why the device is going into an unrecoverable zombie sleep
> state / fix
> 2. Find out why the link associations are being rejected
>
> > If yes, what is the particular issue?  Maybe I'd find some time and dig
> > into it.
>
> Feel free to help out. Please join our irc channel, #prism54-devel as most
> of us devels are there.
>
> 	Luis
>
> _______________________________________________
> Prism54-devel mailing list
> Prism54-devel@prism54.org
> http://prism54.org/mailman/listinfo/prism54-devel
>