suppressing mesh
Paul Fox
pgf at laptop.org
Thu Dec 23 13:49:45 EST 2010
after testing the patch below i've opened d.l.o #10579 to track this.
a revised patch is attached to that ticket. i can commit/push this
change if it's wanted. i don't know when it would get into a release,
but the kernel rpm would be available shortly after.
the revised patch adds a "libertas_disablemesh" parameter, which, if
set, permanently disables until the module is reloaded without it.
paul
paul wrote:
> i wrote:
> > martin wrote:
> > > On Fri, Dec 17, 2010 at 6:15 PM, Martin Abente
> > > <martin.abente.lahaye at gmail.com> wrote:
> > > > I wrote this script that is a little bit better than just waiting N
> > seconds,
> > > > and it seems to work fine:
> > > ...
> > >
> > > great!
> > >
> > > > But I like Martin's idea better, just not sure how to make it work atm.
> > >
> > > embed exactly that chunk of code you wrote at the end of the function
> > > I linked to earlier.
> > >
> > > I'm 99.9% sure it'll just work. If/when it does, we make it
> > > conditional on a config option and pester pgf to include it an
> > > release.
> >
> > this actually sounds like a perfect use for the resume script
> > hook to me, since they're already spawned into the background.
> > is "mesh off" a general problem?
>
> so it seems that being able to permanently suppress mesh on the XO-1
> is becoming a desired feature, since ad-hoc is the way forward if
> mixing XO-1/1.5 in "under a tree" sharing.
>
> but powerd isn't the right place for fixing this.
>
> could others who've been inside libertas take a look at this small
> patch? it adds a module parameter that would allow keeping mesh
> disabled on card discovery, but also allow enabling it later on if
> desired. (uncompiled/untested)
>
> paul
>
> diff --git a/drivers/net/wireless/libertas/main.c
> b/drivers/net/wireless/libertas/main.c
> index 3f81289..f355b6a 100644
> --- a/drivers/net/wireless/libertas/main.c
> +++ b/drivers/net/wireless/libertas/main.c
> @@ -39,6 +39,10 @@ unsigned int lbs_debug;
> EXPORT_SYMBOL_GPL(lbs_debug);
> module_param_named(libertas_debug, lbs_debug, int, 0644);
>
> +unsigned int lbs_startmesh = 1;
> +EXPORT_SYMBOL_GPL(lbs_startmesh);
> +module_param_named(libertas_startmesh, lbs_startmesh, int, 0644);
> +
>
> /* This global structure is used to send the confirm_sleep command as
> * fast as possible down to the firmware. */
> @@ -1347,7 +1351,10 @@ int lbs_start_card(struct lbs_private *priv)
> /* Check mesh FW version and appropriately send the mesh start
> * command
> */
> - if (priv->mesh_fw_ver == MESH_FW_OLD) {
> + if (!lbs_startmesh) {
> + priv->mesh_tlv = 0;
> +
> + } if (priv->mesh_fw_ver == MESH_FW_OLD) {
> /* Enable mesh, if supported, and work out which TLV it uses.
> 0x100 + 291 is an unofficial value used in 5.110.20.pXX
> 0x100 + 37 is the official value used in 5.110.21.pXX
>
> =---------------------
> paul fox, pgf at laptop.org
> _______________________________________________
> Devel mailing list
> Devel at lists.laptop.org
> http://lists.laptop.org/listinfo/devel
=---------------------
paul fox, pgf at laptop.org
More information about the Devel
mailing list