[Lugro-mesh] Stuck beacon

Sebastián D. Criado lugro-mesh@lugro.org.ar
Mon, 16 Jul 2007 22:15:51 -0300


--nextPart2748057.flQ7GgYF6H
Content-Type: text/plain;
  charset="iso-8859-15"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

El Lunes 16 Julio 2007 16:04, Gustavo Lindberg escribi=F3:
> http://lists.soekris.com/pipermail/soekris-tech/2005-April/008016.html
>
>
> Seba, bajate el resto del codigo Meraki y fijate que version de madwifi
> usan ellos. Tal ves tengamos que usar el mismo driver de los meraki.

Lo que pude ver en el trunk que tenemos nosotros es que hay un parche dentr=
o=20
del madwifi por el tema de los beacon llamado:

306-bstuck_calibrate.patch

para el if_ath.c

para que quede as=ED:

ath_bstuck_tasklet(TQUEUE_ARG data)
{
        struct net_device *dev =3D (struct net_device *)data;
        struct ath_softc *sc =3D dev->priv;
        /*=20
         * XXX:if the bmisscount is cleared while the =20
         *     tasklet execution is pending, the following
         *     check will be true, in which case return
         *     without resetting the driver.
         */
        if (sc->sc_bmisscount <=3D BSTUCK_CALIBR_THR)
                return;

        if (sc->sc_bmisscount <=3D BSTUCK_RESET_THR) {
                ATH_LOCK(sc);
                ath_do_calibrate(dev);
                mod_timer(&sc->sc_cal_ch, jiffies + (ath_calinterval * HZ));
                ATH_UNLOCK(sc);
                return;
        }

        printk("%s: stuck beacon; resetting (bmiss count %u)\n",
                DEV_NAME(dev), sc->sc_bmisscount);
        ath_reset(dev);
}


Como se puede ver, si ninguno de los 2 if da true, tira el error y resetea =
el=20
driver.

Los valores que compara se encuentran definidos en if_athvar.h de la siguie=
nte=20
manera:

#define BSTUCK_CALIBR_THR       3       /* # of stuck beacons before=20
restarting calibration */
#define BSTUCK_RESET_THR        10      /* # of stuck beacons before resett=
ing=20
NB: this is a guess*/

No me puse a seguir lo que como se setea sc_bmisscount ni por que,  pero pu=
ede=20
ser una punta.

Saludos.-




=2D-=20
Sebasti=E1n D. Criado - scriado{en}ciudad.com.ar
NO A LA MATRICULACI=D3N OBLIGATORIA - http://noalamatricula.wordpress.com/a=
bout/
L.U.G.Ro - http://www.lugro.org.ar
GNU/Linux Registered User # 146768
=2D------------------------------------------------------------------
"Si el Universo fuera un programa estar=EDa hecho en C, y correr=EDa sobre
un sistema UNIX"
							An=F3nimo.

--nextPart2748057.flQ7GgYF6H
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQBGnBhP8hmHQ8ZCg0IRAhWHAJ47cGOv51kMRbvHCRmJEQuz6PJAXQCghRqr
Dq9cVDSAgDnxQ/dixtpOj7I=
=xgjx
-----END PGP SIGNATURE-----

--nextPart2748057.flQ7GgYF6H--