Seguridad Wireless - Wifi

Suite Seguridad Wireless => Colaboracion y desarrollo de nuestras lives => Mensaje iniciado por: alist3r en 31-08-2013, 22:27 (Sábado)

Título: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 31-08-2013, 22:27 (Sábado)
compat-wireless ha sido renombrado a "backports" dentro de la estructura de fuentes del kernel linux, y las modificaciones a partir de 3.8 han sido lo suficientemente profundas como para romper los parches anteriores.

aqui teneis algunos parches que, aunque de momento NO estan listados oficialmente en la web de aircrack-ng, son utiles y/o necesarios para conseguir utilizar correctamente algunas de las caracteristicas básicas de auditoria wireless como son el modo monitor y la posiblidad de realizar ataques de fragmentación.
 
1 - Prevenir el negative one en aicrack - parte 1 - Error "-EBUSY"
https://gist.github.com/alist3r/6400421

2 - Prevenir el negative one en aicrack - parte 2 - Habilita la consulta al channel_ctx por parte de SIOCGIWFREQ incluso en modo monitor (necesario para algunos drivers)
https://gist.github.com/alist3r/6405555

3 - Prevenir que el kernel sobreescriba de las cabeceras QoS de los paquetes inyectados
https://gist.github.com/alist3r/6400494

4 - Reparar el mal funcionamiento del ataque de fragmentación en las rtl8187
https://gist.github.com/alist3r/6400564

5 - Compatibilizar las Ralink con el reaver wps (UNTESTED)
https://gist.github.com/alist3r/6401757
el parche 2 deberia resolver el problema sin tener que aplicar este parche, aunque hace falta que USUARIONUEVO lo compruebe.

Funcionamiento de los distintos drivers despues de aplicar estos parches:

ath9k
reaver OK, airodump OK (alister)

rtl8192se
reaver OK, airodump OK (alister)

Captura de kernel 3.10.10 con los parches, funcionando en  rtl8192se
(http://s17.postimg.org/r250of6gf/Captura_de_pantalla_de_2013_09_01_15_47_57.png)
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 31-08-2013, 22:34 (Sábado)
compat-wireless ha sido renombrado a "backports" dentro de la estructura de fuentes del kernel linux, y las modificaciones a partir de 3.8 han sido lo suficientemente profundas como para romper los parches anteriores.

aqui teneis algunos parches que, aunque de momento NO estan listados oficialmente en la web de aircrack-ng, son utiles y/o necesarios para conseguir utilizar correctamente algunas de las caracteristicas básicas de auditoria wireless como son el modo monitor y la posiblidad de realizar ataques de fragmentación.
 
Prevenir el negative one
https://gist.github.com/alist3r/6400421

HASTA AHORA , estube basandome/usando/modificando , algunos de los que publico   Mathy Vanhoef , su patch eran para los backports o compat-drivers ( no confundir con compat-wireless que ya no existen )  , y siempre para aplicar sobre kernel , me tocaba modificar / adaptar sus poarches.


de los que publica en su web , ... los ultimos de las ramas 3.8 y 3.9 no me sirvieron de nada ...

http://www.mathyvanhoef.com/2012/09/compat-wireless-injection-patch-for.html


voy a mirar esos que me propones , ...supongo que son para rama 3.10 ya que de hay hacia abajo son compat-drivers y solo d ela 3.10 hacia arriba son backports.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 31-08-2013, 22:43 (Sábado)
yo tengo un 3.10.10 andando ok.
de todos modos estoy probando en una atheros de la serie 9000, que son muy agradecidas.

prueba a ver qué obtienes tú con estos parches.  mathy se ha ido dando cuenta de mas cosas.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 31-08-2013, 22:47 (Sábado)
ya he visto el patch , ...ya contaba con ese.


traducido el kernel ...quiere evitar que si existen mas interfaces y no son en modo monitor te denienga el modo monitor.

hace una comprobacion y si existen interfaces normales, te dice que -EBUSY ,

el parche elimina esa comprobacion.


Pero en las ramas nuevas , el kernel comprueba mas veces esos detalles ...por eso me quedo a medias.

Puedo crear interfaces en monitor , pero si esta la interface real levantada ( por ejemplo que el gestor de redes la tenga asiganada ) . .. obtengo el bonito channel -1



Haz esta prueba , pon a escanear con airodump ...u levanta tu interface real "wlanX" , y veras que bonito.  ;D
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 31-08-2013, 22:56 (Sábado)
de hecho las ramas 3.6 y 3.7 funcionan perfectas , nada mas anulando esa comprobacion.

pero como digo de hay hacia arriba , el kernel hace varias comprobaciones, ademas de esa.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 31-08-2013, 23:01 (Sábado)
el kernel ...quiere evitar que si existen mas interfaces y no son en modo monitor te denienga el modo monitor.

desde el mainline opinan que, para proteger el funcionamiento de las interfaces managed, las interfaces monitor NO pueden cambiar de canal. no deniegan el modo monitor en si mismo, solo deniegan el hopping, porque implícitamente rompería las conexiones de las interfaces managed.

es muy coherente.
al margen de que nos resulte molesto en auditorias.

Citar
Pero en las ramas nuevas , el kernel comprueba mas veces esos detalles ...por eso me quedo a medias.

no, si te creo. por higiene y por estabilidad yo siempre mato dhclient, wicd, wpasupplicant, destruyo las interfaces managed... y si hay problemas de convivencia, perfectamente he podido no enterarme.

voy a hacer pruebas, pero sobre todo a buscar mas checks en el código. no puede haber tantas! todas deben estar concentradas en chan, y en tx, no hay mas sitio para ellas.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 31-08-2013, 23:08 (Sábado)
revisa el parche de mathy , las encontro , pero el patch en si no me es fucnional del todo , algo falla por que si la interface esta arriba, game over.


El problema es que la gente no puede estar sube/baja ..segun chip y uso de la herramienta de turno.


ralink 3070 para inyectar pines necesita la interface real arriba wlanX UP

pero si haces eso , airodum ..te da channel -1


___________________

ya te digo la formsa mas rapida y visual de comprobarlo es


poner en monitor, lanzar airodump-ng y mantener la ventana activa...

entonces abre otra shell ...y levanta la interface real wlanX , veras como en airodump te aparece el mensaje de marras.

un ejemplo ... network-manager maneja simultaneamente todas las interfaces wioreless ...manteniendolas "up"  , aunque no estes conectado ...esa seria una situacion en la que el usuario de a pie se veria forzado a matar networkmanager , wpa_supplicant y mil cosas mas , para evitar el dichoso negative.



yo mire muchas veces el codigo , pero no lo comprendo , asi que es como si leyese un libro en chino.

Hay que comprender las funciones, para anular las que nos interesan.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 31-08-2013, 23:12 (Sábado)
alist3r , mira aqui...  cfg.c  , este pertenece a un 3.8  , seguramente en los kernele 3.10 el code a cambiado.

para que evas como se las gastan tus amigos de kernel.org  ;D


Código: [Seleccionar]
diff -r 6b71629b673d net/mac80211/cfg.c
--- a/net/mac80211/cfg.c Tue May 28 16:57:23 2013 -0400
+++ b/net/mac80211/cfg.c Tue May 28 17:16:15 2013 -0400
@@ -799,7 +799,8 @@ static int ieee80211_set_monitor_channel
  ret = ieee80211_vif_use_channel(sdata, chandef,
  IEEE80211_CHANCTX_EXCLUSIVE);
  }
- } else if (local->open_count == local->monitors) {
+ // Patch: Always allow channel change, even if a normal virtual interface is present
+ } else /*if (local->open_count == local->monitors)*/ {
  local->_oper_channel = chandef->chan;
  local->_oper_channel_type = cfg80211_get_chandef_type(chandef);
  ieee80211_hw_config(local, 0);
Título: Re: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: sanson en 31-08-2013, 23:16 (Sábado)
Miedo me dan las propuestas de alister .  Todavía me estoy recuperando de la ultima vez

Saludos
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 31-08-2013, 23:17 (Sábado)
revisa el parche de mathy , las encontro , pero el patch en si no me es fucnional del todo , algo falla por que si la interface esta arriba, game over.

te parchea bien pero no te sirve. ¿no?

Citar
El problema es que la gente no puede estar sube/baja ..segun chip y uso de la herramienta de turno.
ya

Citar
ralink 3070 para inyectar pines necesita la interface real arriba wlanX UP

pero si haces eso , airodum ..te da channel -1


si, eso arrojan las pruebas.

Citar
yo mire muchas veces el codigo , pero no lo comprendo , asi que es como si leyese un libro en chino.

Hay que comprender las funciones, para anular las que nos interesan.

Con Kolivas era un anestesista sin formación en ciencias de la computación... hasta que de tanto machacar el código del kernel se ha convertido en el principal proveedor de parches con mejoras para el escritorio :)

entender el código del stack wireless es relativamente sencillo en comparacion con, por ejemplo, los IO schedulers o las interfaces NUMA.

Con una buena depuración, se puede encontrar el origen de un problema y depurarlo.
Voy a recompilar con algunos debugs y forzar la situacion a ver si me peta a mi tambien.
Título: Re: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 31-08-2013, 23:20 (Sábado)
Miedo me dan las propuestas de alister .  Todavía me estoy recuperando de la ultima vez

Saludos

de eso aprendí que la filosofia "a-medida", que es la que sigo en el trabajo o en otros proyectos más especifícos, no sirve para nada cuando tienes una distro de difusión masiva.

consecuencias: cuatro PCs corriendo como el viento, y 4000 sin el soporte hardware necesario.

por ahí habra un post, o más de uno, pidiendo disculpas a afectados.

PD: incluso a max moser le pasó lo mismo en la primera entrega de Kali.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 31-08-2013, 23:32 (Sábado)
alist3r , mira aqui...  cfg.c  , este pertenece a un 3.8  , seguramente en los kernele 3.10 el code a cambiado.

para que evas como se las gastan tus amigos de kernel.org  ;D


Código: [Seleccionar]
diff -r 6b71629b673d net/mac80211/cfg.c
--- a/net/mac80211/cfg.c Tue May 28 16:57:23 2013 -0400
+++ b/net/mac80211/cfg.c Tue May 28 17:16:15 2013 -0400
@@ -799,7 +799,8 @@ static int ieee80211_set_monitor_channel
  ret = ieee80211_vif_use_channel(sdata, chandef,
  IEEE80211_CHANCTX_EXCLUSIVE);
  }
- } else if (local->open_count == local->monitors) {
+ // Patch: Always allow channel change, even if a normal virtual interface is present
+ } else /*if (local->open_count == local->monitors)*/ {
  local->_oper_channel = chandef->chan;
  local->_oper_channel_type = cfg80211_get_chandef_type(chandef);
  ieee80211_hw_config(local, 0);

ahora vas entrando en la sintonia de Con Kolivas... por algo está peleado con algunos hackers del kernel y con la filosofia general de desarrollo xD

la interfaz de config? tiene sentido. voy a ver.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 31-08-2013, 23:33 (Sábado)
El pasado , pasado es.

Estamos aqui para mejorar el presente/futuro  ...o intentarlo.

Lamentarse de lo pasado ya no nos sirve mas que de experiencia.

Para aprender hay que errar , y desgraciadamente solo nos acordamos de lo malo  y no de lo bueno , ... en la distro hay muchos scripts , obra de alist3r y berni69  ...  alist3r mejoro airoscript , entre otros ,pero de eso nadie se cuerda , una lastima.


Yo si que me acuerdo , por que uso a diario stripdir por ejemplo ...evitando stripar los binarios de ciertas toold con comprobador de checksum md5 como es el feedingbootle.


El fue el primero aqui que puso un kernel 3.0 en las lives ... por ejemplo ...

Podria estar asi y hacer un post hyperlargo , pero lo dejare aqui.


ESTE POST ES PARA OTRA COSA
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 31-08-2013, 23:36 (Sábado)
alist3r , mira aqui...  cfg.c  , este pertenece a un 3.8  , seguramente en los kernele 3.10 el code a cambiado.

para que evas como se las gastan tus amigos de kernel.org  ;D


Código: [Seleccionar]
diff -r 6b71629b673d net/mac80211/cfg.c
--- a/net/mac80211/cfg.c Tue May 28 16:57:23 2013 -0400
+++ b/net/mac80211/cfg.c Tue May 28 17:16:15 2013 -0400
@@ -799,7 +799,8 @@ static int ieee80211_set_monitor_channel
  ret = ieee80211_vif_use_channel(sdata, chandef,
  IEEE80211_CHANCTX_EXCLUSIVE);
  }
- } else if (local->open_count == local->monitors) {
+ // Patch: Always allow channel change, even if a normal virtual interface is present
+ } else /*if (local->open_count == local->monitors)*/ {
  local->_oper_channel = chandef->chan;
  local->_oper_channel_type = cfg80211_get_chandef_type(chandef);
  ieee80211_hw_config(local, 0);

ahora vas entrando en la sintonia de Con Kolivas... por algo está peleado con algunos hackers del kernel y con la filosofia general de desarrollo xD

la interfaz de config? tiene sentido. voy a ver.


Pues estoy casi convencido que no es el unico que hay ( comprobadores de asignacion para los canales usables ).
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 31-08-2013, 23:43 (Sábado)
Me voy bajando los patches del primer pòst , i los voy a intentar aplicar al 3.10.10 y te comento si dan algun error al aplicarlos.


Aunque cuento 3 , y nos falta el dramatico ....  ;D


GRACIAS.


De todas formas lo primero es lo primero ... tienes que llegar a reproducir dicho problema, si no , no sabras si tus pruebas tienen exito o no.

como ya te dije , la via rapida es ...poner airodump y levantar la interface real wlan ...y mirar si en airodump , se cuela el channel -1
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 31-08-2013, 23:55 (Sábado)
sobre un kernel 3.10.10

parche    3.8-monitor-mode-busy-channel-patch

Código: [Seleccionar]
patching file net/wireless/chan.c
patch: **** malformed patch at line 11:

los otros dos aplican sin rechistar.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 31-08-2013, 23:56 (Sábado)
Código: [Seleccionar]
alex@engetsu:~/src/linux-3.10.10$ grep -irl monitors net
net/wireless/core.h
net/wireless/nl80211.c
net/wireless/chan.c
net/mac802154/monitor.c
net/mac802154/rx.c
net/mac802154/tx.c
net/mac802154/mac802154.h
net/ceph/mon_client.c
net/mac80211/status.c
net/mac80211/util.c
net/mac80211/iface.c
net/mac80211/rx.c
net/mac80211/main.c
net/mac80211/ieee80211_i.h
net/mac80211/cfg.c

Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 31-08-2013, 23:59 (Sábado)
jajajaj , para que veassss ,ya sabia yo que se comprobaria mas veces ...madre de dios.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 01-09-2013, 00:10 (Domingo)
son referencias a las interfaces en modo monitor.
pero no creas eh.

el código de las interfaces 802.15.4 no nos afecta

nos afectan mac802.11 y wireless

la mayoria son referencias a las mismas rutinas, por lo que el análisis se concentra.

de momento, voy a probar este parche, que es una suma de tu parche y el anterior

Código: [Seleccionar]
alex@engetsu:~/src/patches/wifi$ combinediff -U 1 3.8-monitor-mode-busy-channel-patch monitor-part2  > 3.8-monitor-mode-busy-channel-patch-parts1+2.patch
alex@engetsu:~/src/patches/wifi$ cat 3.8-monitor-mode-busy-channel-patch-parts1+2.patch
--- a/net/wireless/chan.c 2013-08-29 18:47:51.000000000 +0200
+++ b/net/wireless/chan.c 2013-08-31 22:20:45.014734447 +0200
@@ -441,4 +441,2 @@
  return -EOPNOTSUPP;
- if (!cfg80211_has_monitors_only(rdev))
- return -EBUSY;
 
only in patch2:
--- a/net/mac80211/cfg.c Tue May 28 16:57:23 2013 -0400
+++ b/net/mac80211/cfg.c Tue May 28 17:16:15 2013 -0400
@@ -801,3 +801,4 @@
  }
- } else if (local->open_count == local->monitors) {
+ // Patch: Always allow channel change, even if a normal virtual interface is present
+ } else /*if (local->open_count == local->monitors)*/ {
  local->_oper_channel = chandef->chan;

que como es de esperar se aplica perfecto
Código: [Seleccionar]
alex@engetsu:~/src/linux-3.10.10$ patch -p1 --dry-run < ../patches/wifi/3.8-monitor-mode-busy-channel-patch-parts1+2.patch
patching file net/wireless/chan.c
patching file net/mac80211/cfg.c
Hunk #1 succeeded at 808 with fuzz 1 (offset 7 lines).
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 01-09-2013, 00:10 (Domingo)
sobre un kernel 3.10.10

parche    3.8-monitor-mode-busy-channel-patch

Código: [Seleccionar]
patching file net/wireless/chan.c
patch: **** malformed patch at line 11:

los otros dos aplican sin rechistar.


bueno pues el que tienes de channel busy ..lo he transformasdo ...al de mathy ,y aplica perfecto , ademas dejas info del por que se anula la opcion.


Código: [Seleccionar]
diff -r 6b71629b673d net/wireless/chan.c
--- a/net/wireless/chan.c Tue May 28 16:57:23 2013 -0400
+++ b/net/wireless/chan.c Tue May 28 17:16:15 2013 -0400
@@ -439,8 +439,10 @@ int cfg80211_set_monitor_channel(struct
 {
  if (!rdev->ops->set_monitor_channel)
  return -EOPNOTSUPP;
- if (!cfg80211_has_monitors_only(rdev))
- return -EBUSY;
+ // Always allow user to change channel, even if there is another normal
+ // virtual interface using the device.
+ //if (!cfg80211_has_monitors_only(rdev))
+ // return -EBUSY;
 
  return rdev_set_monitor_channel(rdev, chandef);
 }
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 01-09-2013, 00:18 (Domingo)
es posible que aplicara mal, hace un rato he corregido un typo. esto me pasa por modificar los parches a mano en lugar de recrearlos.

he unificado los dos parches en una nueva revision combinada de ambos, asi que el enlace del parche está actualizado
https://gist.github.com/alist3r/6400421
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 01-09-2013, 00:22 (Domingo)
sobre el tema de las ralink, aunque tengo el código del reaver muy por la mano y puedo tratar de modificarlo para que no las estropicie, creo que es mas logico seguir hurgando en el kernel, que es el responsable último de denegar ciertas peticiones al software.
lo malo va a ser como el culpable sea el firmware... sería irresoluble
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 01-09-2013, 00:25 (Domingo)
el parche unificado aun va mal.
mi version de "patch" , es  ...  GNU patch 2.7 , por si influyese en algo ,aunque no creo.


wifislax linux-3.10.10 # patch -p1 -i /root/Descargas/linux-3.10.10/3.8-monitor-mode-busy-channel-patch
patching file net/wireless/chan.c
patching file net/mac80211/cfg.c
patch unexpectedly ends in middle of line
Hunk #1 succeeded at 808 with fuzz 1 (offset 7 lines).
wifislax linux-3.10.10 #
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 01-09-2013, 00:31 (Domingo)
patch unexpectedly ends in middle of line

This error seems to occur when the patch file ends on a line that includes nothing but whitespace characters. Patch files should always end with a Unix return character. If you encounter this error, check to see that the last line of your patch does not contain whitespace characters.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 01-09-2013, 00:35 (Domingo)
mientras compilo kernel nuevo, me miro lo de las ralink

en rt2x00link.c:228 veo que la rutina rt2x00link_update_stats ejecuta código discriminatorio con las inferfaces que no estén en modo STA, saltándoselas a la hora de proporcionar información de estado.

Código: [Seleccionar]
       /*
         * No need to update the stats for !=STA interfaces
         */
        if (!rt2x00dev->intf_sta_count)
                return;

        /*

creo que aqui serialmonkey no contaba con el hecho de que algunas herramientas se asocian al AP usando procedimentos estandar, mientras que escuchan los paquetes usando la interfaz virtual.

parche al canto.

el código del llamado "link tuner" tambien es discriminatorio pero si es lo que creo que es no le veo sentido a su uso en una interfaz en modo monitor, de hecho me refuerzo con los comentarios de serialmonkey

Código: [Seleccionar]
 /*
         * Link tuning should only be performed when
         * an active sta interface exists. AP interfaces
         * don't need link tuning and monitor mode interfaces
         * should never have to work with link tuners.
         */
        if (!rt2x00dev->intf_sta_count)
                return;

        /**
asi que lo dejo como está

sobre el fallo del parche, está claro. una linea en blanco al final. mi marca de la casa por darle a las teclas cuando no toca.
por suerte es fácil de arreglar.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 01-09-2013, 01:03 (Domingo)
no se si te habras fijado ...

code original en 3.10.10

Código: [Seleccionar]
} else if (local->open_count == local->monitors) {
local->_oper_chandef = *chandef;
ieee80211_hw_config(local, 0);
}


parche ...que ya te avise que era para 3.8 , y creo que no vale en 3.10

-   } else if (local->open_count == local->monitors) {
+   // Patch: Always allow channel change, even if a normal virtual interface is present
+   } else /*if (local->open_count == local->monitors)*/ {
       local->_oper_channel = chandef->chan;
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 01-09-2013, 01:07 (Domingo)
no se si te habras fijado ...

code original en 3.10.10

Código: [Seleccionar]
} else if (local->open_count == local->monitors) {
local->_oper_chandef = *chandef;
ieee80211_hw_config(local, 0);
}


parche ...que ya te avise que era para 3.8 , y creo que no vale en 3.10

-   } else if (local->open_count == local->monitors) {
+   // Patch: Always allow channel change, even if a normal virtual interface is present
+   } else /*if (local->open_count == local->monitors)*/ {
       local->_oper_channel = chandef->chan;

si, este es el que has puesto antes, que ya lo he sumado con el que yo proponia inicialmente.
ahora mismo, si haces click en el enlace del primer post, te llevará a un parche que resulta de la suma del tuyo con el mio.

https://gist.github.com/alist3r/6400421

el cual me aplica limpiamente en mis fuentes 3.10.10, que solo tienen el parche brainfuck scheduler, que no afecta para este caso, por lo que imagino que en las fuentes vainilla debe aplicar igual de bien.

estamos sincronizados hasta aqui?
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 01-09-2013, 01:24 (Domingo)
no , no estamos sincronizados , me perdi hace un rato.  :(

te estoy indicando que el code que yo propuse , miralo , con el 3.10.10  , por que la funciona no es igual.el ode cambio ....es lo que te intento decir.


me sigue saliendo el dichoso mensaje

wifislax linux-3.10.10 # patch -Np1 -i /root/Descargas/linux-3.10.10/3.8-monitor-mode-busy-channel-patch
patching file net/wireless/chan.c
patching file net/mac80211/cfg.c
patch unexpectedly ends in middle of line
Hunk #1 succeeded at 808 with fuzz 1 (offset 7 lines).
wifislax linux-3.10.10 #
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 01-09-2013, 01:28 (Domingo)
asegurate de que empiezas con fuentes limpias, o con parches que no nos afecten.

aplica la ultima revision del parche que he puesto en mi gist:
Código: [Seleccionar]
https://gist.github.com/alist3r/6400421/raw/8a041fc60ba619bc7d7ccddbf10e33f76906d633/3.8-monitor-mode-busy-channel-patch
a mi no me peta, pero en caso de que te pete, se trata de lineas en blanco que sobran.

tampoco te obsesiones. si te aplican mi parche y el tuyo por separado, está perfecto. lo importante es probar el código. al final de todo se puede hacer un udiff con absolutamente todos los parches, incluidos los de drivers específicos.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 01-09-2013, 01:39 (Domingo)
eres un cabr0n  ;D

parche reparado ....cambialo tio , por que el tuyo , se queda de lineas o espacios en blanco.


Código: [Seleccionar]
--- a/net/mac80211/cfg.c Tue May 28 16:57:23 2013 -0400
+++ b/net/mac80211/cfg.c Tue May 28 17:16:15 2013 -0400
@@ -801,3 +801,4 @@
  }
- } else if (local->open_count == local->monitors) {
+ // Patch: Always allow channel change, even if a normal virtual interface is present
+ } else /*if (local->open_count == local->monitors)*/ {
  local->_oper_channel = chandef->chan;
--- a/net/wireless/chan.c 2013-08-29 18:47:51.000000000 +0200
+++ b/net/wireless/chan.c 2013-08-31 22:20:45.014734447 +0200
@@ -441,4 +441,2 @@
  return -EOPNOTSUPP;
- if (!cfg80211_has_monitors_only(rdev))
- return -EBUSY;
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 01-09-2013, 01:40 (Domingo)
insisto en esta parte ..


local->_oper_channel = chandef->chan;


por que el code original , no lleva esa linea ....  ^-^


Ahora que todos entran , empezare de cero , en /usr/src  , para ya si configurar el kernel ..y ver que pasa.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 01-09-2013, 01:47 (Domingo)
eres un cabr0n  ;D

parche reparado ....cambialo tio , por que el tuyo , se queda de lineas o espacios en blanco.


Código: [Seleccionar]
--- a/net/mac80211/cfg.c Tue May 28 16:57:23 2013 -0400
+++ b/net/mac80211/cfg.c Tue May 28 17:16:15 2013 -0400
@@ -801,3 +801,4 @@
  }
- } else if (local->open_count == local->monitors) {
+ // Patch: Always allow channel change, even if a normal virtual interface is present
+ } else /*if (local->open_count == local->monitors)*/ {
  local->_oper_channel = chandef->chan;
--- a/net/wireless/chan.c 2013-08-29 18:47:51.000000000 +0200
+++ b/net/wireless/chan.c 2013-08-31 22:20:45.014734447 +0200
@@ -441,4 +441,2 @@
  return -EOPNOTSUPP;
- if (!cfg80211_has_monitors_only(rdev))
- return -EBUSY;

si xD ya lo he reconocido antes, que se me van los dedos.
lo reparo en el gist, que quede bien ahi.

voy a trazar el oper_channel a ver

EDIT: esa linea permite que las interfaces en modo monitor tengan, en el struct que corresponde con los datos de su configuracion, la informacion del canal donde operan.

OJO: en un parche, las lineas que no tienen un simbolo + o un simbolo - son marcadores de contexto. los marcadores de contexto no son añadidos ni restas, sino que deben estar tanto en el fichero origen como en el fichero resultante. se usan para que el sistema de parches sepa que las lineas que hay arriba o abajo son las que se espera que sean, de modo que un cambio de contexto fuerza la ruptura del parche (eso es algo que quieres que pase, porque asi te enteras cuando el código cambia)

el offset que se observa a veces al aplicar parches, indica que el contexto es correcto pero que está desplazado una o dos lineas mas arriba o abajo, cosa que se da por válida hasta X lineas, donde X está marcado por el "fuzzy factor"

por tanto, la linea que comentas no es un añadido.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 01-09-2013, 01:54 (Domingo)
voy a compilar con los que tenemos y te cuento..

(http://imageshack.us/a/img12/2227/8hd4.png)
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 01-09-2013, 02:12 (Domingo)
tras el parcheo ..el fichero

/net/mac80211/cfg.c


Código: [Seleccionar]
// Patch: Always allow channel change, even if a normal virtual interface is present
} else /*if (local->open_count == local->monitors)*/ {
local->_oper_chandef = *chandef;
ieee80211_hw_config(local, 0);
}

¿ ves lo que te digo ?

no esta en ninguna parte la linea ...   local->_oper_channel = chandef->chan;




esta linea esta igual , que antes del parche ...y creo que esta hay la miga...

local->_oper_chandef = *chandef;
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 01-09-2013, 02:46 (Domingo)
tras el parcheo ..el fichero

/net/mac80211/cfg.c


Código: [Seleccionar]
// Patch: Always allow channel change, even if a normal virtual interface is present
} else /*if (local->open_count == local->monitors)*/ {
local->_oper_chandef = *chandef;
ieee80211_hw_config(local, 0);
}

¿ ves lo que te digo ?

no esta en ninguna parte la linea ...   local->_oper_channel = chandef->chan;




esta linea esta igual , que antes del parche ...y creo que esta hay la miga...

local->_oper_chandef = *chandef;

entre que edito mucho, y no te llega aviso de los cambios, y que estoy haciendo mil cosas a la vez...

la linea de contexto no cambia. revisa algunos comentarios que he dejado en posts anteriores.
si esa linea NO ESTA, añádela linea a mano en las fuentes y ya arreglaremos los parches al final, haciendo el diff contra las fuentes originales.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 01-09-2013, 02:49 (Domingo)
pff ,esta acabando de compilar el kernel ...  ;D


ahora lo reparo ... y le vuelvo a meter.

aunque creo , que seguimos sin entendernos.


yo me refiero al hecho de que esa linea que aparece en el patch ... no esta en el code del kernel ...

y no se si esque esa linea se añade ,o esque estamos usando un code que no vale.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 01-09-2013, 02:57 (Domingo)
en las fuentes de 3.10.10 limpias si que está esa linea
Código: [Seleccionar]
        } else if (local->open_count == local->monitors) {
                local->_oper_chandef = *chandef;
                ieee80211_hw_config(local, 0);
        }
y hay que cambiarla, segun el parche, a
Código: [Seleccionar]
        } else {
                local->_oper_chandef = *chandef;
                ieee80211_hw_config(local, 0);
        }

nada de esto me ha dado problemas a mi.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 01-09-2013, 03:01 (Domingo)
exacto chico , pero mira el patch

       local->_oper_channel = chandef->chan;


nada que ver esa linea con la del kernel... ya no se si esque yo he hecho un megamix mal hecho .  :'(
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 01-09-2013, 03:04 (Domingo)
Bueno , cambiare ese code a manopla ...aunque si lo dejas pasar , al final no sabremos cual es el bueno.


Estoy imbecil perdio ...


asi me queda a mi la funcion , con el parche que yo tengo , que hace lomismo , pero deja comentada la funcion dañina.



Código: [Seleccionar]
// Patch: Always allow channel change, even if a normal virtual interface is present
} else /*if (local->open_count == local->monitors)*/ {
local->_oper_chandef = *chandef;
ieee80211_hw_config(local, 0);
}


asi que lo tenia bien , y ya estaba a punto de darle al

make modules_install


me cague to ,que me lio yo solo. , lo he tirado y estaba bien parcheado.  :-\
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 01-09-2013, 03:18 (Domingo)
te cuento.

he descomprmido las fuentes limpias.

ni siquiera he aplicado el patch set de ck, que es lo primero que hago siempre.

he comprobado que la linea con el "chandef" está ahi. cosa que leyendo el código me parece lógica y necesaria puesto que solo tenemos que cambiar el condicional de arriba.

he aplicado el parche combinado tuyo y mio, tal como está ahora mismo en el git, con éxito:
Código: [Seleccionar]
alex@engetsu:~/src/linux-3.10.10$ patch -p1 --dry-run < ../patches/wifi/gist6400421-3ad4d0de30c18079063c3c7f87fc5c25aff1651a/3.8-monitor-mode-busy-channel-patch
patching file net/mac80211/cfg.c
Hunk #1 succeeded at 808 with fuzz 1 (offset 7 lines).
patching file net/wireless/chan.c
y listo
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 01-09-2013, 03:21 (Domingo)
me cague to ,que me lio yo solo. , lo he tirado y estaba bien parcheado.  :-\
es que sin control de versiones y tocando los ficheros a mano, lo raro es que no nos hagamos más daño!

pero bueno, todo controlado mientras tenga los gists actualizados. no te preocupes que ahi estan todos perfectos.

ya para el final te hago un udiff combinado (bien hecho xD) y te lo guardas como mejor te convenga para cocinar los kernels
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 01-09-2013, 03:26 (Domingo)
yo tengo estos, que hacen lo mismo , pero no de dan guerra con lo de espacios en blanco.


Código: [Seleccionar]
--- a/net/mac80211/cfg.c Tue May 28 16:57:23 2013 -0400
+++ b/net/mac80211/cfg.c Tue May 28 17:16:15 2013 -0400
@@ -801,3 +801,4 @@
  }
- } else if (local->open_count == local->monitors) {
+ // Patch: Always allow channel change, even if a normal virtual interface is present
+ } else /*if (local->open_count == local->monitors)*/ {
  local->_oper_channel = chandef->chan;
--- a/net/wireless/chan.c 2013-08-29 18:47:51.000000000 +0200
+++ b/net/wireless/chan.c 2013-08-31 22:20:45.014734447 +0200
@@ -441,4 +441,2 @@
  return -EOPNOTSUPP;
- if (!cfg80211_has_monitors_only(rdev))
- return -EBUSY;


Código: [Seleccionar]
--- a/net/mac80211/tx.c 2013-08-29 18:47:51.000000000 +0200
+++ b/net/mac80211/tx.c 2013-08-31 22:35:10.386721602 +0200
@@ -1454,7 +1454,10 @@
  }
  }
 
- ieee80211_set_qos_hdr(sdata, skb);
+ // Don't overwrite QoS header in monitor mode
+ if (likely(info->control.vif->type != NL80211_IFTYPE_MONITOR)) {
+        ieee80211_set_qos_hdr(sdata, skb);
+ }
  ieee80211_tx(sdata, skb, false, band);
 }



Código: [Seleccionar]
--- a/drivers/net/wireless/rtl818x/rtl8187/dev.c 2013-08-29 18:47:51.000000000 +0200
+++ b/drivers/net/wireless/rtl818x/rtl8187/dev.c 2013-08-31 22:50:38.266707828 +0200
@@ -252,9 +252,14 @@
  flags |= RTL818X_TX_DESC_FLAG_NO_ENC;
 
  flags |= ieee80211_get_tx_rate(dev, info)->hw_value << 24;
- if (ieee80211_has_morefrags(tx_hdr->frame_control))
- flags |= RTL818X_TX_DESC_FLAG_MOREFRAG;
  if (info->control.rates[0].flags & IEEE80211_TX_RC_USE_RTS_CTS) {
+ if (ieee80211_has_morefrags(tx_hdr->frame_control))
+ {
+      // If info->control.vif is NULL it's mostly likely in monitor mode
+      if (info->control.vif != NULL && info->control.vif->type != NL80211_IFTYPE_MONITOR) {
+        flags |= RTL818X_TX_DESC_FLAG_MOREFRAG;
+      }
+ }
  flags |= RTL818X_TX_DESC_FLAG_RTS;
  flags |= ieee80211_get_rts_cts_rate(dev, info)->hw_value << 19;
  rts_dur = ieee80211_rts_duration(dev, priv->vif,
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 01-09-2013, 03:38 (Domingo)
el segundo y tercero son los tuyos que si aplican bien , fragmentacion y el de realtek.


y el primero , es la union de las dos funciones ...este a mi me va perfecto. ( el del post anterioe en el que te puse mis tres patch , los tres perfectos, 2 y 3 tuyos y el 1 , es un variante pero hacen lo mismo ,solo que el tuyo directamente elimina la funcion , y el mio la deja comentada e inutilizada. )


el de channel que tienes ahora mismo en el git ...ahora esta peor que antes ...

(http://imageshack.us/a/img607/6924/h2xc.png)

Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 01-09-2013, 04:02 (Domingo)
no se si debo tomar como guia tu aplicación del parche, o la mia.
la mia es perfecta en unas fuentes limpias.

prueba usando
patch -p1 < ruta/hacia/el/parche
porque es la unica diferencia que tenemos

en cualquier caso, sigamos mantendiendo el contro del código y una sola version de los parches, aunque luego haya que reparar saltos de linea o cosas raras.

no se por que te pasa, he recreado los parches sin hacer un solo copypaste ni tocar nada a mano.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 01-09-2013, 04:38 (Domingo)
Bueno , pues kernel compilado ..y nada.

(http://imageshack.us/a/img703/919/67he.png)


debe haber mas rutinas de comprobaciond e channel ...de hecho vi una interesante ..si la localizo lo posteo.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 01-09-2013, 04:40 (Domingo)
aunque ahora no puedo cortar la conexion porque estoy haciendo otra tarea, en cuanto pueda, voy a reproducir el error y obtener logs.
si tu mientras tanto tienes algunos, pásamelos por privado.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 01-09-2013, 04:47 (Domingo)
tengo sospechas acerca de esta funcion , en el cfg.c


static int ieee80211_cfg_get_channel(struct wiphy *wiphy,
                 struct wireless_dev *wdev,
                 struct cfg80211_chan_def *chandef)
{
   struct ieee80211_sub_if_data *sdata = IEEE80211_WDEV_TO_SUB_IF(wdev);
   struct ieee80211_local *local = wiphy_priv(wiphy);
   struct ieee80211_chanctx_conf *chanctx_conf;
   int ret = -ENODATA;

   rcu_read_lock();
   chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
   if (chanctx_conf) {
      *chandef = chanctx_conf->def;
      ret = 0;
   } else if (local->open_count > 0 &&
         local->open_count == local->monitors &&
         sdata->vif.type == NL80211_IFTYPE_MONITOR) {
      if (local->use_chanctx)
         *chandef = local->monitor_chandef;
      else
         *chandef = local->_oper_chandef;
      ret = 0;
   }
   rcu_read_unlock();

   return ret;
}
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 01-09-2013, 04:54 (Domingo)
jajaja
lo has clavao tio.
hay una discriminación clarisima.
voy a machacarla.

EDIT:
claro, devuelve un -ENODATA, que es un -61 segun las defs del kernel

en el caso de aircrack, este pregunta al sistema mediante el "ioctl" correspondiente en qué canal estamos. Si recibe un numero negativa (como es el caso de -ENODATA) se sobreentiende que los negativos estan reservados a errores, y en caso de este error, aircrack devuelve el famoso -1 que vemos, con la excepcion de que si está activado el ignore-negative-one, simplemente ignora el problema y no reporta nada, ni canal, ni numero negativo de error.

NOTA
Cada vez que veas referencias a LOCAL -> BLA BLA BLA; mírate la tabla de referencia de ese struct para comprender de qué va. Es como un array de configuración de la interfaz.
http://kerneldox.com/kdox-ubuntu-natty/de/d22/structieee80211__local.html
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 01-09-2013, 05:06 (Domingo)
jajaja
lo has clavao tio.
hay una discriminación clarisima.
voy a machacarla.

es lo que dije , yo "creo ver donde estan los problemas" ,pero al no entender el code , no puedo hacer nada por remediarlo.


a parte de esta , no vi ninguna mas ... ojala sea esta la ultima vez que comprueban los canales, por que me lleva frito este tema desde principios de año.



mientras , voy a fulminar el 3.10.10 , y regresar a mi 3.6.11 para recompilar again , cuando tengas listo el nuevo patch.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 01-09-2013, 05:21 (Domingo)
Te pongo una captura para que veas lo que busco ... ( en realidad siempre funcionaron asi , hasta los 3.8 que empezaron a envenenar con restricciones de canal. )

fijate que wlan y mon , estan las dos up ...y aun asi airodump , no tiene problemas.

(http://imageshack.us/a/img404/1609/p218.png)
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 01-09-2013, 06:06 (Domingo)
tengo que estudiar estos commits

https://github.com/torvalds/linux/commit/b4a7ff75ba3545b061d4fe63f0bb9136ccfe8b19
https://github.com/torvalds/linux/commit/4bf88530be971bf95a7830ca61b4120980bf4347
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 01-09-2013, 06:17 (Domingo)
https://github.com/torvalds/linux/commit/b4a7ff75ba3545b061d4fe63f0bb9136ccfe8b19

No lo entiendo ....  ???


parece que ese patch , ya viene aplicado, asi que ... ¿ reverse ?
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 01-09-2013, 07:27 (Domingo)
me voy a mimir , ya revisare el post a la tarde.  ;)
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 01-09-2013, 13:13 (Domingo)
hi
perdona que con las prisas no explico.

esos commits, tengo que analizarlos bien porque estan cambiando profundamente la forma en la que se comporta el stack wireless y revertirlos no es una opción valida porque estan creando una api nueva llamada "contexto de canales". ha conllevado modificaciones en drivers wireless y ha venido para quedarse, asi que tenemos que tocar con cuidado, y revertirlo nos condenaria a separarnos enormemente de maintree. no es una opcion.

alrededor de estos commits estan los cambios que ahora molestan. pero por lo menos es un alivio comprobar que la intencion, segun los commits, no era fastidiar las interfaces en modo monitor, sino ampliar el funcionamiento general del stack wireless.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 01-09-2013, 14:37 (Domingo)
leete esto
http://permalink.gmane.org/gmane.linux.kernel.wireless.general/105347

es exactamente lo que pasa ahora mismo, desde que se introdujeron los channel_ctx

la interfaz esta en modo monitor
el kernel no tiene en cuenta los nuevos channel contexts cuando la interfaz esta en modo monitor
si el driver de esa interfaz es compatible con los channel contexts y estos han sido creados, entonces  ieee80211_cfg_get_channel intenta llamar al ioctl(i/o control) llamado SIOCGIWFREQ, y como este devuelve un -ENODATA (negativo), aircrack lo traduce en un -1.

el uso o no uso de de contextos es el motivo por el cual a mi no me afecta. depende del driver. la gente de intel ha modificado algunos drivers para adaptarlos al channel_ctx, mientras que otros no.

(la gente de intel no solo hace los drivers intel del kernel. tambien tienen mucho peso en el desarrollo del stack wireless)

EDIT
Como habrás visto la actualización del primer post, en el lab tenemos dos interfaces ath9k y rtl8192se y ambas nos va perfectamente en el kernel parcheado, así que ya no podemos hacer más pruebas. Solo puedo aportar e análisis del código y propuestas de parches para que otros los prueben.

Te recomiendo que te instales el GITK y lo uses para navegar por la historia de commits que existen entre las versiones 3.7 y 3.8, Te ayudará a entender qué cambios se han hecho al kernel, qué los há motivado, y en qué nos afecta.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 01-09-2013, 18:45 (Domingo)
bueno, esto deberia funcionarte.

2 - Prevenir el negative one en aicrack - parte 2 - Habilita la consulta al channel_ctx por parte de SIOCGIWFREQ incluso en modo monitor (necesario para algunos drivers)
https://gist.github.com/alist3r/6405555


Al menos lo ha hecho para Clay McPherson, aunque no sé qué driver utiliza él, pero le puedo preguntar.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 01-09-2013, 21:31 (Domingo)
alist3r , si yo tengo un ar9285 y me pasa .... :-\


probare este ultimo parche que pones.

""" tal vez """ , hay algun otro parametro en mi configuracion de kernel ....que pueda culparse de ese comportamiento.


aqui dejo mi config del 3.10.10  -->> http://www.multiupload.nl/K0CG41QX36

la suite aircrack ,la compilo con este parametro ...que igual tiene que ver tambien

make libnl=true


Tras "quitar" el espacio en blanco de la ultima linea del patch nuevo ..ya los aplique todos ...COMPILANDO .. aver que sale de esta.


Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 01-09-2013, 21:38 (Domingo)
alist3r , si yo tengo un ar9285 y me pasa .... :-\
WTF!!
(http://www.reactiongifs.com/wp-content/uploads/2013/08/captcha.gif)
Citar
""" tal vez """ , hay algun otro parametro en mi configuracion de kernel ....que pueda culparse de ese comportamiento.
no veo nada en el código que sugiera esa posibilidad, de momento. seguiré mirando.

bueno, aplica este ultimo parche numero 4 que he puesto en la lista, y me cuentas? otra cosa, de momento, no te puedo decir...
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 01-09-2013, 21:43 (Domingo)
modifique en penultimo post con algo mas de info , de como compilo aircrack ... y añadi la config del kernel ...


el uso de libnl podria tener culpa de algo ?¿  ..en el kernel lo tengo habilitado ,creo recordar.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 01-09-2013, 22:09 (Domingo)
Por pura curiosidad ,probe los patches contra el 3.11-rc7 y aplican todos ....a ver si hay suerte y si se arregla todo al menos se que las ramas 3.10 y 3.11 las tengo aseguradas ( en caso de que el patch 4 de resultados positivos )
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 01-09-2013, 22:21 (Domingo)
Acabo de caer en algo importante , para que puedas reproducir el problema.



airodump-ng hay que ponerlo a escanear en un canal FIJO , si lo lanzas con salto de canales..aunque levantes wlanX no pasara nada.


airmon-ng start wlan0
airodump-ng mon0 -c 6
ifconfig wlan0 up



voila....deberias ver entonces en airodump , el channel -1
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 01-09-2013, 23:04 (Domingo)
a ver quien lo descifra ......   ;) ;D

Sabia que si alguien con conocimientos me hechba un cable , se podria solventar.


(http://imageshack.us/a/img199/6610/0908.png)
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 01-09-2013, 23:05 (Domingo)
Por pura curiosidad ,probe los patches contra el 3.11-rc7 y aplican todos ....a ver si hay suerte y si se arregla todo al menos se que las ramas 3.10 y 3.11 las tengo aseguradas ( en caso de que el patch 4 de resultados positivos )

por un lado, el uso de netlink es ya casi una oblicacion para todos, asi que tranquilo por libnl.

por otro, los cambios estructurales son una cosa (son los que nos rompen los parches y las compilaciones) y los cambios menores son otras (que apenas piden modificaciones o mantenimiento).

por lo que respecta a cambios estructurales, desde que se rompió el funcionamiento de airodump-ng hasta este momento, los cambios estan acotados y no son tantos como pudiera parecer.

de hecho solo tenemos identificados los channel_ctx, que entraron allá por 3.7-rcX (no he rastreado con claridad el punto exacto en que pasó a mainline, pero por ahi anda) y que son lo que nos está tocando las bolas y ha generado la cascada de parches que estamos pariendo.  

por lo que respecta a otros commits menores, los hay constantemente y no hay nada de lo que preocuparse. incluso la ruptura de las ralink parece directamente ligada a los channel_ctx. Si puedo iré a dar la brasa en el foto de serialmonkeys sobre este tema; y si es posible que me den feedback sobre la primera propuesta de parche que he hecho (no veo nada más que tocar, salvo el código de los stats. ahora toca probarlo con una ralink)

como te comentaba antes: lo mas enriquecedor e instructivo que puedes hacer es darte un paseo por el github de Linus Torvalds y aprender a usar la interfaz para navegar entre versiones del codigo y ver sus cambios, o mejor aun, en lugar de descargar solo una instantánea de las fuentes, puedes descargar y sincronizar todo el git del kernel (son unos cientos de megas) y luego consultar tranquilamente tooooooda la historia de cambios y modificaciones en el tiempo usando un buen browser de git como gitk, que aunque sea viejito va de fabula para navegar por el tiempo en un repo git.

PD: tengo que mirar la historia del driver ralink con mucha mas calma. hay una posibilidad considerable de que el parche 4 resuelva el problema de las ralink indirectamente, ya que la consulta de stats tambien acaba pasando por get_channel. en tal caso, mi propuesta de parche se puede ir a la papelera directamente, pero de nuevo, se tendrá que probar con una ralink a mano.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 01-09-2013, 23:14 (Domingo)
tu guarda los parches que te vendran bien ... sobretodo el 4.


yo cuento un total de 5 modificaciones en kernel ...que no esta nada mal.


yo tengo un ralink 3070 si quieres que pruebe algo sobre este que hemos parcheado dimelo.

tengo

ar5005gs
ar9285
ar9271
rtl8187l
rt3070l
rt73



ahora a pelearme con aufs ... ;)



Y sobretodo GRACIAS



Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 01-09-2013, 23:19 (Domingo)
Historia de cambios sobre los canales.


hasta la rama 3.5  ,  todo bien

ramas 3.6 y 3.7 funcionan perfectas simplemente con

Código: [Seleccionar]
--- a/net/wireless/chan.c 2013-08-29 18:47:51.000000000 +0200
+++ b/net/wireless/chan.c 2013-08-31 22:20:45.014734447 +0200
@@ -441,4 +441,2 @@
  return -EOPNOTSUPP;
- if (!cfg80211_has_monitors_only(rdev))
- return -EBUSY;


ramas 3.8  en adelante ya todas implementan controles exhaustivos sobre el uso de canales.


asi que parte de la 3.8 hacia arriba.


Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 01-09-2013, 23:21 (Domingo)
a Mathy  , le falto encontrar este ultimo del parche 4 aunque hiba muy bien encaminado/a  que no se si es tio o tia  ;D
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 01-09-2013, 23:35 (Domingo)
edito esto porque no habia leido tu mensaje anterior indicando que ya está.

tu guarda los parches que te vendran bien ... sobretodo el 4.
mi github se encarga de eso. no problem.

Citar
si quieres que pruebe algo sobre este que hemos parcheado dimelo.

habria que probar todos los parches de tipo general contra el stack (los que he numerado como 1 2 y 3), SIN el parche ralink, para acabar de determinar si mi parche es un acierto o una cagada.

para hacerlo, cualquier ralink que use drivers de la familia rt2x00 deberia servir para atacar ese problema de las ralink:
rt2400, rt2500, rt2570, rt61 and rt73

dejemos el asunto de las atheros de momento. esto tambien deberia estar resuelto indirectamente

sabemos que en el codigo general del stack 80211 las modificaciones van a ser obligatorias, por eso, en mi opinión antes de nada deberias probar el parche de McPherson por si hubiera cambios en los resultados.
Es sumamente probable que eso resuelva los problemas de ralink etc.


--> tema finiquitado, pues.

Creo que es mejor que intentemos no ahondar en el código especifico de cada driver, siempre que pertenezcan al stack mac80211, la solución mas fiable estará en el stack80211. Adicionalmente, vamos a proveernos de una base científica y fáctica para tomar caminos, es decir, que si el git muestra que no ha habido modificaciones en el código de ralink en el último año, podemos descartar dicho código como causante y centrarnos en el stack. Esa seria la manera cientifica y eficiente de conseguir los parches que buscamos.

bueno, esto sigue siendo atemporalmente válido. cuanto más conocimiento científico sobre el código, y sobre todo, el uso correcto de git para comprender la evolucion del kernel a lo largo del tiempo y encontrar dónde se rompieron las cosas, más posibilidades de dar en la tecla.

Citar
ahora a pelearme con aufs ... ;)

Okajima lo mantiene siempre en forma y sincronizado con lo último de mainline, por la cuenta que le trae.
http://sourceforge.net/p/aufs/aufs3-standalone/ci/aufs3.10/tree/
no creo que te dé por saco.

Citar
Y sobretodo GRACIAS

de nada hombre. todos los auditores y todas las distros tenemos este objetivo en común.
la tendencia de linux es hacia lo corporativo/servidores, y nosotros debemos defender nuestro trocito de terreno juntos.
me quedan un par de dias relajados, y luego vuelvo a perderme en mis proyectos profesioanles. hay que aprovechar a fondo para romper el atascamiento, y ya luego se irá haciendo con calma.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 01-09-2013, 23:52 (Domingo)
a ver quien lo descifra ......   ;) ;D

acabo de verlo xD

PD: efectivamente, levantar la interfaz wlan0 por segunda vez cuando la mon0 ya estaba en marcha en un canal fijo, genera el error en aircrack cuando el kernel solo tiene el parche primero.

De todos modos eso a nivel práctico, no tendria que sudecer jamás, me equivoco?

A nivel práctico ya se sabe que las interfaces managed no funcionaran nunca bien cuando haya otras monitor trabajando, y que siempre se van a pelear irremediablemente por los recursos. Despues de todo son dos dispositivos virtuales accediendo a un solo dispositivo físico.

De todos modos, cuanto mas se puedan evitar estas situaciones, tanto mejor, desde luego.

PPD: quedaria confirmar con todos los drivers posibles y todo el hardware a mano.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 01-09-2013, 23:58 (Domingo)
a ver quien lo descifra ......   ;) ;D

acabo de verlo xD

Todo solventado añadiendo el parche 4.

Ya toy compilando con aufs .. uso un script personal, que automatiza TODO , compilacion y parcheos de kernel ..ademas de generarme mis xzm etc ...vmlinuz ...  y tenia un pequeño problema al identificar la version dekernel ..con un parametro en cut  para saber solo el numero ....

el 3.10 , me lo cortaba a 3.1 ..y de hay los fallos despues.  ;D

ya he solventado ese pequeño bug en mi script , y ya a que trabaje el script por mi ....como a  ti te gusta.  ;)
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 02-09-2013, 00:11 (Lunes)
Todo solventado añadiendo el parche 4.

EPIC WIN
(http://stream1.gifsoup.com/view2/2043309/epic-win-o.gif)

Citar
Ya toy compilando con aufs .. uso un script personal, que automatiza TODO , compilacion y parcheos de kernel ..ademas de generarme mis xzm etc ...vmlinuz ...  y tenia un pequeño problema al identificar la version dekernel ..con un parametro en cut  para saber solo el numero ....

el 3.10 , me lo cortaba a 3.1 ..y de hay los fallos despues.  ;D

me quito el sombrero porque eres de las personas en este foro que más se ha superado a sí misma y ha empujado sus límites. creo que te llevas lo mejor de cada uno de los demás. aunque por otro lado es lógico puesto que le dedicas más tiempo que nadie; en el fondo nada es producto de la suerte.

tambien habrás cometido errores, pero los errores grandes sólo están en objetivos grandes: "al que juzgue mi camino, le presto mis zapatos"

Citar
ya he solventado ese pequeño bug en mi script , y ya a que trabaje el script por mi ....como a  ti te gusta.  ;)
hack yea! nada como automatizar las cosas para llegar el doble de lejos en la mitad de tiempo y disfrutando el doble del camino 8) la automatizacion es lo que diferencia a un PC de una maquina de escribir XD
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 02-09-2013, 00:24 (Lunes)
si quieres fusionar los parches 1 y 2, o si quieres fusionarlos todos para más comodidad, puedes usar las difftools.
Código: [Seleccionar]
combinediff -U 1 nombredelparche1 nombredelparche2 nombredelparche3 ... > nombre_del_patch_set_combinado.patch

y una ultima doble verificación, contra un pack de fuentes limpio, recien extraido del tarball:

Código: [Seleccionar]
patch -p1 --dry-run < ruta/hacia/el/nombre_del_patch_set_combinado.patch

y despues de eso puedes modificar el post primero con los enlaces que quieras, borrarlo o hacer como te vaya mejor
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 02-09-2013, 00:49 (Lunes)
si quieres fusionar los parches 1 y 2, o si quieres fusionarlos todos para más comodidad, puedes usar las difftools.
Código: [Seleccionar]
combinediff -U 1 nombredelparche1 nombredelparche2 nombredelparche3 ... > nombre_del_patch_set_combinado.patch

y una ultima doble verificación, contra un pack de fuentes limpio, recien extraido del tarball:

Código: [Seleccionar]
patch -p1 --dry-run < ruta/hacia/el/nombre_del_patch_set_combinado.patch

y despues de eso puedes modificar el post primero con los enlaces que quieras, borrarlo o hacer como te vaya mejor


Voy a hacer justo lo contrario , ... el primero que contenia 2 parcheos , lo voy a dividir en 2 , por que seguro que vendran mas toqueteos , y prefiero tener cada uno por separado , asi si uno falla , pues tener el objetivo bien claro.

Espero que no les de por añadir mas comprobaciones de channel , y solo sea corregir el numero de linea a parchear en caso de que añadan code y no coincidan.   ;)

Ya he arrancado el 3.10.10.PAE , en modo live y todo perfect , he de refinar algo en la config por que el dmesg me arroja un par de errores con mi hardware.  ;) , pero eso ya es otro tema.  >:(



Código: [Seleccionar]
wifislax ~ # dmesg | grep error
[    4.105262] ACPI: Marking method WMNB as Serialized because of AE_ALREADY_EXISTS error
[    4.126920] asus-nb-wmi: probe of asus-nb-wmi failed with error -5
wifislax ~ #


Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 02-09-2013, 00:54 (Lunes)
Parece que es un pequeño bug, en la rama 3.10 y solved en el 3.11

https://bugs.archlinux.org/task/35320
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 02-09-2013, 03:06 (Lunes)
Voy a hacer justo lo contrario , ... el primero que contenia 2 parcheos , lo voy a dividir en 2 , por que seguro que vendran mas toqueteos , y prefiero tener cada uno por separado , asi si uno falla , pues tener el objetivo bien claro.
por norma general a los hackers del kernel les gustan asi, separaditos. montones de ellos, uno para cada "feature" o cambio específico en un archivo específico del código.

Citar
Espero que no les de por añadir mas comprobaciones de channel , y s[olo sea corregir el numero de linea a parchear en caso de que añadan code y no coincidan.   ;)
por favor notese que no ha sido a mala leche. la segunda mitad del parche 1, asi como el cuarto no es exactamente por el hecho de que se comprobase el modo monitor.
efectivamente, habia comprobaciones, y para eso estaba la primera mitad del parche 1.

pero el problema ha venido dado por una des-sincronización introducida por una caracteristica nueva. la caracteristica nueva crea un nuevo sitio donde se puede guardar la config de la interfaz wifi. y este nuevo sitio donde habia que consultar, no estaba reflejado como posibilidad en el caso de las interfaces en modo monitor.

es mas, se podria decir que hemos hecho crecer la caracteristica de los channel_ctx, en lugar de recortarla; ahora el codigo de mac80211 es capaz de manejar contextos de canales en interfaces que estan en modo monitor, con las cuales antes no interaccionaba.

Citar
Ya he arrancado el 3.10.10.PAE , en modo live y todo perfect

perfect. congratulations! parece que sacarás una versión nueva de la live en breve.


Código: [Seleccionar]
wifislax ~ # dmesg | grep error
[    4.105262] ACPI: Marking method WMNB as Serialized because of AE_ALREADY_EXISTS error
[    4.126920] asus-nb-wmi: probe of asus-nb-wmi failed with error -5
wifislax ~ #


si no está, intenta incluir el modulo asus-nb-wmi en el initrd
EDIT: de todos modos como dices, en la rc-2 pasaron un commit que salvó la vida de algunos usuarios pero ha jodido la de otros. Es el pez que se muerde la cola. Harán una regresión del commit, y tendrán que estudiar mejor cómo resolver el problema sin crear otro.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 02-09-2013, 04:53 (Lunes)
nada , de todas formas ese bug solo me afecta al control sobre las teclas de funcion especial en los laptop-asus.

3.9 y 3.10 parecen afectados.


3.8 -->> ok
3.11 -->> dicen ok , estoy compilando el rc7 a ver  ;)
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 02-09-2013, 13:38 (Lunes)
no uso las release candidates porque cambian mucho y a veces estan en estados "braindead". pero igual te sale jodida, que te sale perfecta. una vez mas es recomendable analizar la historia del git para comprender qué cambios hay y decidir si quieres entregar ese kernel al publico. incluso puedes hacer un backporting de ese commit que te interesa, llevándotelo desde 3.11-rc a 3.10.10. lo exportas como parche, lo aplicas contra 3.10.10, y tienes un kernel stable con una feature critica de 3.11-rc que te interesa tener.
todo es probar!
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 02-09-2013, 18:54 (Lunes)
Lo de probar el 3.11 rc7 es mas curiosidad por saber si efectivamente solventa el bug , solo eso.

El bug no me parece critico , esperemos a otros ausarios con portátiles asus, a ver que cuentan.

Aun no probe el 3.11rc7 por que me salio mal 2 veces que lo compile ( incompetencias mias ) , y lo deje estar esta mañana.

Si el 3.11-rc7 solventa dicho asunto , mi idea era la que apuntas, de rebuscar el parche que le han aplicado a la rama 3.11.  ;D  .. me lees la mente.

Pero primero quiero ver si es verdad que esta reparado , sino es buscar a lo tonto para nada.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 02-09-2013, 19:40 (Lunes)
he estado mirando el código no acabo de verlo claro, pero es que a veces en github no se puede exprimir toda la potencia de la navegacion en el tiempo de git.
https://github.com/torvalds/linux/blame/144a19ac94526c4609fa8b8264e6f9c3d48f7a55/drivers/platform/x86/asus-nb-wmi.c
miraré con mas calma a la noche con un programa local, y te cuento si ha cotado el / los commits en cuestion. tiene que ser sencillo porque la regresión se ha hecho en juno de 2013 (3.11-rc2)
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 02-09-2013, 20:36 (Lunes)
¿ abrimos otro hilo a parte o seguimos squi ?



KERNEL 3.11 RC7 -->>  LIBRE DE BUG

Asi que hay que navegar entre los patches.

asus-nb-wmi

es donde hay que buscar , aunque veo que ya vas por el camino.  ;)


Quiero avisarte para que no te quedes colgado , HOY NO TRABAJO , estoy en casa , asi que seguramente a las 22.0 o 23:00 echare un vistazo al foro , y me acostare. , lo digo por que no te quedes a la espoera de ver si entro mas tarde , que normalmente lo hago por que trabajo pero este mes me toca librar los lunes.  ;D



Empezare bajando ..los parches de cada rc

https://www.kernel.org/pub/linux/kernel/next/
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 02-09-2013, 20:47 (Lunes)
https://lkml.org/lkml/2013/7/10/446


De todas formas , no falta mucho para el 3.11 stable ... pero bueno , ya es por cabezoneria  ;D
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 03-09-2013, 00:58 (Martes)
OK
Éstoy haciendo algunos experimentos desde mi repo corporativo, pero hoy tuve un dia agotador y no haré grandes avances.

los problemas de aplicabilidad del patchset de aufs en 3.11 son cuestion de tiempo. A cada release stable, Okajima saca una entrega de su patchset, por la cuenta que le trae porque la mayoria de las distros live dependen de aufs.

lo del asus-nb-wmi, en el peor de los casos, idem. con esperar y no adelantarse al desarrollo, sabemos que acabará todo bien. no siempre es bueno ir al limite, por este mismo motivo hay que intentar quedarse en las "stable", tratando de hacer backporting de alguna cosa desde master en caso de que sea muy necesaria.

salu2
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 03-09-2013, 03:30 (Martes)
@USUARIONUEVO

ya tenemos kernel 3.11 entrado en el upstream de stable, y sabemos que resuelve el tema de vuestros asus.

no he comprobado si aplica bien el aufs, pero si te puedo decir que los parches de inyección entran limpiamente.

en caso de que consigas aplicar aufs, puedes cocinar un kernel 3.11, pero en caso de que no puedas y tengas que quedarte con el 3.10, he hecho un backport de los commits de asus para la 3.11, que deberia poder aplicar bien en la 3.10.
aqui te lo dejo para que pruebes
Código: [Seleccionar]
--- a/drivers/platform/x86/asus-laptop.c
+++ b/drivers/platform/x86/asus-laptop.c
@@ -1935,7 +1935,6 @@ fail_input:
 fail_backlight:
  asus_platform_exit(asus);
 fail_platform:
- kfree(asus->name);
  kfree(asus);
 
  return result;
diff --git a/drivers/platform/x86/asus-nb-wmi.c b/drivers/platform/x86/asus-nb-wmi.c
index 8fcb41e18b9c..563f59efa669 100644
--- a/drivers/platform/x86/asus-nb-wmi.c
+++ b/drivers/platform/x86/asus-nb-wmi.c
@@ -180,6 +180,24 @@ static struct dmi_system_id asus_quirks[] = {
  },
  .driver_data = &quirk_asus_x401u,
  },
+ {
+ .callback = dmi_matched,
+ .ident = "ASUSTeK COMPUTER INC. 1015E",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
+ DMI_MATCH(DMI_PRODUCT_NAME, "1015E"),
+ },
+ .driver_data = &quirk_asus_x401u,
+ },
+ {
+ .callback = dmi_matched,
+ .ident = "ASUSTeK COMPUTER INC. 1015U",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
+ DMI_MATCH(DMI_PRODUCT_NAME, "1015U"),
+ },
+ .driver_data = &quirk_asus_x401u,
+ },
  {},
 };
 
@@ -256,6 +274,7 @@ static const struct key_entry asus_nb_wmi_keymap[] = {
  { KE_KEY, 0xB5, { KEY_CALC } },
  { KE_KEY, 0xC4, { KEY_KBDILLUMUP } },
  { KE_KEY, 0xC5, { KEY_KBDILLUMDOWN } },
+ { KE_IGNORE, 0xC6, },  /* Ambient Light Sensor notification */
  { KE_END, 0},
 };
 
diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
index c11b2426dac1..19c313b056c3 100644
--- a/drivers/platform/x86/asus-wmi.c
+++ b/drivers/platform/x86/asus-wmi.c
@@ -558,7 +558,7 @@ static int asus_wmi_led_init(struct asus_wmi *asus)
  goto error;
  }
 
- if (wlan_led_presence(asus)) {
+ if (wlan_led_presence(asus) && (asus->driver->quirks->wapf == 4)) {
  INIT_WORK(&asus->wlan_led_work, wlan_led_update);
 
  asus->wlan_led.name = "asus::wlan";
@@ -886,7 +886,8 @@ static int asus_new_rfkill(struct asus_wmi *asus,
  if (!*rfkill)
  return -EINVAL;
 
- if (dev_id == ASUS_WMI_DEVID_WLAN)
+ if ((dev_id == ASUS_WMI_DEVID_WLAN) &&
+ (asus->driver->quirks->wapf == 4))
  rfkill_set_led_trigger_name(*rfkill, "asus-wlan");
 
  rfkill_init_sw_state(*rfkill, !result);
@@ -1045,7 +1046,7 @@ static ssize_t asus_hwmon_pwm1(struct device *dev,
  else if (value == 3)
  value = 255;
  else if (value != 0) {
- pr_err("Unknown fan speed %#x", value);
+ pr_err("Unknown fan speed %#x\n", value);
  value = -1;
  }
 
@@ -1557,11 +1558,11 @@ static int asus_wmi_platform_init(struct asus_wmi *asus)
 
  /* INIT enable hotkeys on some models */
  if (!asus_wmi_evaluate_method(ASUS_WMI_METHODID_INIT, 0, 0, &rv))
- pr_info("Initialization: %#x", rv);
+ pr_info("Initialization: %#x\n", rv);
 
  /* We don't know yet what to do with this version... */
  if (!asus_wmi_evaluate_method(ASUS_WMI_METHODID_SPEC, 0, 0x9, &rv)) {
- pr_info("BIOS WMI version: %d.%d", rv >> 16, rv & 0xFF);
+ pr_info("BIOS WMI version: %d.%d\n", rv >> 16, rv & 0xFF);
  asus->spec = rv;
  }
 
@@ -1572,7 +1573,7 @@ static int asus_wmi_platform_init(struct asus_wmi *asus)
  * The significance of others is yet to be found.
  */
  if (!asus_wmi_evaluate_method(ASUS_WMI_METHODID_SFUN, 0, 0, &rv)) {
- pr_info("SFUN value: %#x", rv);
+ pr_info("SFUN value: %#x\n", rv);
  asus->sfun = rv;
  }
 
@@ -1712,7 +1713,7 @@ static int asus_wmi_debugfs_init(struct asus_wmi *asus)
 
  asus->debug.root = debugfs_create_dir(asus->driver->name, NULL);
  if (!asus->debug.root) {
- pr_err("failed to create debugfs directory");
+ pr_err("failed to create debugfs directory\n");
  goto error_debugfs;
  }
 
@@ -1985,17 +1986,17 @@ EXPORT_SYMBOL_GPL(asus_wmi_unregister_driver);
 static int __init asus_wmi_init(void)
 {
  if (!wmi_has_guid(ASUS_WMI_MGMT_GUID)) {
- pr_info("Asus Management GUID not found");
+ pr_info("Asus Management GUID not found\n");
  return -ENODEV;
  }
 
- pr_info("ASUS WMI generic driver loaded");
+ pr_info("ASUS WMI generic driver loaded\n");
  return 0;
 }
 
 static void __exit asus_wmi_exit(void)
 {
- pr_info("ASUS WMI generic driver unloaded");
+ pr_info("ASUS WMI generic driver unloaded\n");
 }
 
 module_init(asus_wmi_init);


recuerda aplicarlos en seco antes de nada usando --dry-run. en caso contrario, si algun chunk no entrase limpiamente, te quedarias con un código, ni parcheado, ni sin parchear. con toda la molestia que eso supone luego para restaurarlo todo.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 03-09-2013, 03:36 (Martes)
venia justo a decir eso .....


3.11 mainline.

voy a intentar cocinarlo.  ;D

debería ya que esta en mainline y no en rc ... pero si no pues probare ese "megapatch"  ;D
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 03-09-2013, 03:43 (Martes)
si no pues probare ese "megapatch"  ;D

lo he hecho con la ayuda del gitk, pero por si quieres trabajarlo y/o entenderlo por tu cuenta, aqui tienes el commit ID que parece resolver lo que os estaba molestando.
(http://s15.postimg.org/ug3jad307/Captura_de_pantalla_de_2013_09_03_03_20_08.jpg) (http://postimg.org/image/ug3jad307/)

de todos modos lo mejor es tratar de portar aufs hacia adelante en lugar de acer-wmi hacia atrás.

PD: y hablando de aufs... buenas/malas noticias. ya veo el problema:

Código: [Seleccionar]
alex@engetsu:~/src/linux-aa$ patch -p1 --dry-run < ../aufs-aufs3-standalone/aufs3-standalone.patch  | grep FAILED
Hunk #1 FAILED at 37.
1 out of 2 hunks FAILED -- saving rejects to file fs/file_table.c.rej


el chunk rechazado es pequeño. voy a analizarlo.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 03-09-2013, 04:12 (Martes)
yo le meti del rcN ..que es el que se usa en las rc.  :-\

pero es posible que no lo viera el FAILED.

el 3.11 aun no esta en el "standalone" , de aufs..solo el 3.10
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 03-09-2013, 04:16 (Martes)
Vale no lo vi , por que en la consola no veo tantas lineas, pero grepeando ..aun con aufs de rcN ....


Código: [Seleccionar]
wifislax linux-3.11 # patch -p1 -i /root/Descargas/linux-3.11/aufs3.11.patch | grep FAILED
Hunk #1 FAILED at 36.
1 out of 1 hunk FAILED -- saving rejects to file fs/file_table.c.rej
wifislax linux-3.11 #


repito , es el de rcN , no hay mas nuevo ...asi que tocara esperar supongo.  ;D
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 03-09-2013, 04:21 (Martes)
ja! yo no espero a Okajima, si puedo adelantarlo.

en primer lugar:

Código: [Seleccionar]
alex@engetsu:~/src/linux-aa$ patch -p1 --dry-run -F1 < ../aufs-aufs3-standalone/aufs3-standalone.patch | grep FAIL -B 1
patching file fs/file_table.c
Hunk #1 FAILED at 37.
Hunk #2 succeeded at 406 (offset 1 line).
1 out of 2 hunks FAILED -- saving rejects to file fs/file_table.c.rej

para el primer hunk fallido, lo que falla es el contexto. el commit culpable fué este:
(http://s17.postimg.org/u5nnr1arf/Captura_de_pantalla_de_2013_09_03_04_15_51.jpg) (http://postimg.org/image/u5nnr1arf/)

el cambio de ese commit que rompe el parche aufs, visto en primer plano:
(http://s10.postimg.org/4xlxxatll/Captura_de_pantalla_de_2013_09_03_04_25_21.png)

y en segundo lugar:
Código: [Seleccionar]
patching file fs/splice.c
Hunk #1 succeeded at 1543 with fuzz 1 (offset 423 lines).
Hunk #2 FAILED at 1147.

en este hunk, el contexto está intacto, pero el offset se ha ido desplazando demasiado y ya no cuela si no se actualiza
(http://s12.postimg.org/h4gwj19qh/Captura_de_pantalla_de_2013_09_03_04_39_40.jpg) (http://postimg.org/image/h4gwj19qh/)
este cambio severo en el desplazamiento del contexto hace que el parche falle porque el offset original está como 15 lineas más arriba. Se cambia el offset en el parche para tenerlo arreglado del todo, o se sube el fuzz factor con "patch -F xx" para que busque el contexto más lejos a la hora de aplicar el parche. Pero obviamente mejor hacer lo primero.

Y listo.

Código: [Seleccionar]
aufs3.10 standalone patch

diff --git a/fs/file_table.c b/fs/file_table.c
index 8db8096..e271e28 100644
--- a/fs/file_table.c
+++ b/fs/file_table.c
@@ -37,6 +37,7 @@ struct files_stat_struct files_stat = {
 };
 
 DEFINE_LGLOCK(files_lglock);
+EXPORT_SYMBOL(files_lglock);
 
 /* SLAB cache for file structures */
 static struct kmem_cache *filp_cachep __read_mostly;
@@ -405,6 +406,8 @@ void file_sb_list_del(struct file *file)
  }
 }
 
+EXPORT_SYMBOL(file_sb_list_del);
+
 #ifdef CONFIG_SMP
 
 /*
diff --git a/fs/inode.c b/fs/inode.c
index f324521..bff7670 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -56,6 +56,7 @@ static struct hlist_head *inode_hashtable __read_mostly;
 static __cacheline_aligned_in_smp DEFINE_SPINLOCK(inode_hash_lock);
 
 __cacheline_aligned_in_smp DEFINE_SPINLOCK(inode_sb_list_lock);
+EXPORT_SYMBOL(inode_sb_list_lock);
 
 /*
  * Empty aops. Can be used for the cases where the user does not
@@ -1514,6 +1515,7 @@ int update_time(struct inode *inode, struct timespec *time, int flags)
  mark_inode_dirty_sync(inode);
  return 0;
 }
+EXPORT_SYMBOL(update_time);
 
 /**
  * touch_atime - update the access time
diff --git a/fs/namespace.c b/fs/namespace.c
index 7b1ca9b..51db6ad 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -54,6 +54,7 @@ EXPORT_SYMBOL_GPL(fs_kobj);
  * tree or hash is modified or when a vfsmount structure is modified.
  */
 DEFINE_BRLOCK(vfsmount_lock);
+EXPORT_SYMBOL(vfsmount_lock);
 
 static inline unsigned long hash(struct vfsmount *mnt, struct dentry *dentry)
 {
@@ -427,6 +428,7 @@ void __mnt_drop_write(struct vfsmount *mnt)
  mnt_dec_writers(real_mount(mnt));
  preempt_enable();
 }
+EXPORT_SYMBOL_GPL(__mnt_drop_write);
 
 /**
  * mnt_drop_write - give up write access to a mount
@@ -1456,6 +1458,7 @@ int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg,
  }
  return 0;
 }
+EXPORT_SYMBOL(iterate_mounts);
 
 static void cleanup_group_ids(struct mount *mnt, struct mount *end)
 {
diff --git a/fs/notify/group.c b/fs/notify/group.c
index bd2625b..2ff2a0f 100644
--- a/fs/notify/group.c
+++ b/fs/notify/group.c
@@ -22,6 +22,7 @@
 #include <linux/srcu.h>
 #include <linux/rculist.h>
 #include <linux/wait.h>
+#include <linux/module.h>
 
 #include <linux/fsnotify_backend.h>
 #include "fsnotify.h"
@@ -65,6 +66,7 @@ void fsnotify_get_group(struct fsnotify_group *group)
 {
  atomic_inc(&group->refcnt);
 }
+EXPORT_SYMBOL(fsnotify_get_group);
 
 /*
  * Drop a reference to a group.  Free it if it's through.
@@ -74,6 +76,7 @@ void fsnotify_put_group(struct fsnotify_group *group)
  if (atomic_dec_and_test(&group->refcnt))
  fsnotify_final_destroy_group(group);
 }
+EXPORT_SYMBOL(fsnotify_put_group);
 
 /*
  * Create a new fsnotify_group and hold a reference for the group returned.
@@ -102,6 +105,7 @@ struct fsnotify_group *fsnotify_alloc_group(const struct fsnotify_ops *ops)
 
  return group;
 }
+EXPORT_SYMBOL(fsnotify_alloc_group);
 
 int fsnotify_fasync(int fd, struct file *file, int on)
 {
diff --git a/fs/notify/mark.c b/fs/notify/mark.c
index fc6b49b..a6bb87d 100644
--- a/fs/notify/mark.c
+++ b/fs/notify/mark.c
@@ -115,6 +115,7 @@ void fsnotify_put_mark(struct fsnotify_mark *mark)
  mark->free_mark(mark);
  }
 }
+EXPORT_SYMBOL(fsnotify_put_mark);
 
 /*
  * Any time a mark is getting freed we end up here.
@@ -197,6 +198,7 @@ void fsnotify_destroy_mark(struct fsnotify_mark *mark,
  fsnotify_destroy_mark_locked(mark, group);
  mutex_unlock(&group->mark_mutex);
 }
+EXPORT_SYMBOL(fsnotify_destroy_mark);
 
 void fsnotify_set_mark_mask_locked(struct fsnotify_mark *mark, __u32 mask)
 {
@@ -281,6 +283,7 @@ err:
 
  return ret;
 }
+EXPORT_SYMBOL(fsnotify_add_mark);
 
 int fsnotify_add_mark(struct fsnotify_mark *mark, struct fsnotify_group *group,
       struct inode *inode, struct vfsmount *mnt, int allow_dups)
@@ -342,6 +345,7 @@ void fsnotify_init_mark(struct fsnotify_mark *mark,
  atomic_set(&mark->refcnt, 1);
  mark->free_mark = free_mark;
 }
+EXPORT_SYMBOL(fsnotify_init_mark);
 
 static int fsnotify_mark_destroy(void *ignored)
 {
diff --git a/fs/open.c b/fs/open.c
index 8c74100..be563cd 100644
--- a/fs/open.c
+++ b/fs/open.c
@@ -61,6 +61,7 @@ int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs,
  mutex_unlock(&dentry->d_inode->i_mutex);
  return ret;
 }
+EXPORT_SYMBOL(do_truncate);
 
 long vfs_truncate(struct path *path, loff_t length)
 {
diff --git a/fs/splice.c b/fs/splice.c
index 987346f..8d6a045 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -1120,6 +1120,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
  file_end_write(out);
  return ret;
 }
+EXPORT_SYMBOL(do_splice_from);
 
 /*
  * Attempt to initiate a splice from a file to a pipe.
@@ -1133,6 +1134,7 @@ long do_splice_to(struct file *in, loff_t *ppos,
 
  return splice_read(in, ppos, pipe, len, flags);
 }
+EXPORT_SYMBOL(do_splice_to);
 
 /**
  * splice_direct_to_actor - splices data directly between two non-pipes
diff --git a/security/commoncap.c b/security/commoncap.c
index c44b6fe..d78b003 100644
--- a/security/commoncap.c
+++ b/security/commoncap.c
@@ -988,9 +988,11 @@ int cap_mmap_addr(unsigned long addr)
  }
  return ret;
 }
+EXPORT_SYMBOL(cap_mmap_addr);
 
 int cap_mmap_file(struct file *file, unsigned long reqprot,
   unsigned long prot, unsigned long flags)
 {
  return 0;
 }
+EXPORT_SYMBOL(cap_mmap_file);
diff --git a/security/device_cgroup.c b/security/device_cgroup.c
index dd0dc57..9760ecb6 100644
--- a/security/device_cgroup.c
+++ b/security/device_cgroup.c
@@ -7,6 +7,7 @@
 #include <linux/device_cgroup.h>
 #include <linux/cgroup.h>
 #include <linux/ctype.h>
+#include <linux/export.h>
 #include <linux/list.h>
 #include <linux/uaccess.h>
 #include <linux/seq_file.h>
@@ -789,6 +790,7 @@ int __devcgroup_inode_permission(struct inode *inode, int mask)
  return __devcgroup_check_permission(type, imajor(inode), iminor(inode),
  access);
 }
+EXPORT_SYMBOL(__devcgroup_inode_permission);
 
 int devcgroup_inode_mknod(int mode, dev_t dev)
 {
diff --git a/security/security.c b/security/security.c
index a3dce87..06a6ea6 100644
--- a/security/security.c
+++ b/security/security.c
@@ -396,6 +396,7 @@ int security_path_rmdir(struct path *dir, struct dentry *dentry)
  return 0;
  return security_ops->path_rmdir(dir, dentry);
 }
+EXPORT_SYMBOL(security_path_rmdir);
 
 int security_path_unlink(struct path *dir, struct dentry *dentry)
 {
@@ -412,6 +413,7 @@ int security_path_symlink(struct path *dir, struct dentry *dentry,
  return 0;
  return security_ops->path_symlink(dir, dentry, old_name);
 }
+EXPORT_SYMBOL(security_path_symlink);
 
 int security_path_link(struct dentry *old_dentry, struct path *new_dir,
        struct dentry *new_dentry)
@@ -420,6 +422,7 @@ int security_path_link(struct dentry *old_dentry, struct path *new_dir,
  return 0;
  return security_ops->path_link(old_dentry, new_dir, new_dentry);
 }
+EXPORT_SYMBOL(security_path_link);
 
 int security_path_rename(struct path *old_dir, struct dentry *old_dentry,
  struct path *new_dir, struct dentry *new_dentry)
@@ -438,6 +441,7 @@ int security_path_truncate(struct path *path)
  return 0;
  return security_ops->path_truncate(path);
 }
+EXPORT_SYMBOL(security_path_truncate);
 
 int security_path_chmod(struct path *path, umode_t mode)
 {
@@ -445,6 +449,7 @@ int security_path_chmod(struct path *path, umode_t mode)
  return 0;
  return security_ops->path_chmod(path, mode);
 }
+EXPORT_SYMBOL(security_path_chmod);
 
 int security_path_chown(struct path *path, kuid_t uid, kgid_t gid)
 {
@@ -452,6 +457,7 @@ int security_path_chown(struct path *path, kuid_t uid, kgid_t gid)
  return 0;
  return security_ops->path_chown(path, uid, gid);
 }
+EXPORT_SYMBOL(security_path_chown);
 
 int security_path_chroot(struct path *path)
 {
@@ -528,6 +534,7 @@ int security_inode_readlink(struct dentry *dentry)
  return 0;
  return security_ops->inode_readlink(dentry);
 }
+EXPORT_SYMBOL(security_inode_readlink);
 
 int security_inode_follow_link(struct dentry *dentry, struct nameidata *nd)
 {
@@ -542,6 +549,7 @@ int security_inode_permission(struct inode *inode, int mask)
  return 0;
  return security_ops->inode_permission(inode, mask);
 }
+EXPORT_SYMBOL(security_inode_permission);
 
 int security_inode_setattr(struct dentry *dentry, struct iattr *attr)
 {
@@ -663,6 +671,7 @@ int security_file_permission(struct file *file, int mask)
 
  return fsnotify_perm(file, mask);
 }
+EXPORT_SYMBOL(security_file_permission);
 
 int security_file_alloc(struct file *file)
 {
@@ -723,6 +732,7 @@ int security_mmap_file(struct file *file, unsigned long prot,
  return ret;
  return ima_file_mmap(file, prot);
 }
+EXPORT_SYMBOL(security_mmap_file);
 
 int security_mmap_addr(unsigned long addr)
 {

Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 03-09-2013, 04:24 (Martes)
me voy al plan b.


aplicar el megapatch ,al 3.10.10 y cruzar dedos.

de todas formas no me voy a poner d elos nervios ...todo llega , lo dificl esta solventado que era lo de los canales.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 03-09-2013, 04:37 (Martes)
me voy al plan b.


aplicar el megapatch ,al 3.10.10 y cruzar dedos.

de todas formas no me voy a poner d elos nervios ...todo llega , lo dificl esta solventado que era lo de los canales.

va a ser que subimos a 3.11 (https://foro.seguridadwireless.net/colaboracion-y-desarrollo-de-nuestras-lives/parches-que-vais-a-necesitar-en-3-8-en-adelante/msg285588/#msg285588)

el dia en que yo tenga que esperar a un japones para corregir dos lineas de texto en un parche por mi, me corto las venas.

para que te hagas una idea de lo chorras que eran los cambios necesarios:

Código: [Seleccionar]
alex@engetsu:~/src/aufs-aufs3-standalone$ diff aufs3-standalone.patch.old aufs3-standalone.patch
10c10
<  DEFINE_LGLOCK(files_lglock);
---
>  DEFINE_STATIC_LGLOCK(files_lglock);
168c168
< @@ -1146,6 +1147,7 @@ long do_splice_to(struct file *in, loff_t *ppos,
---
> @@ -1133,6 +1134,7 @@ long do_splice_to(struct file *in, loff_t *ppos,
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 03-09-2013, 04:58 (Martes)
me voy al plan b.


aplicar el megapatch ,al 3.10.10 y cruzar dedos.

de todas formas no me voy a poner d elos nervios ...todo llega , lo dificl esta solventado que era lo de los canales.

va a ser que subimos a 3.11 (https://foro.seguridadwireless.net/colaboracion-y-desarrollo-de-nuestras-lives/parches-que-vais-a-necesitar-en-3-8-en-adelante/msg285588/#msg285588)

el dia en que yo tenga que esperar a un japones para corregir dos lineas de texto en un parche por mi, me corto las venas.

me pillas ya metido en el 3.10 parcheado con lo de asus...
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 03-09-2013, 05:01 (Martes)
me lo temía xD
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 03-09-2013, 05:07 (Martes)
(http://imageshack.us/a/img7/4620/h7b3.png)
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 03-09-2013, 05:11 (Martes)


bien, eso quiere decir que el fragmento de parche que he aislado no depende del resto de commits en absoluto.

eso si, no sé si será lo que necesitáis para resolver el tema de las teclas.

tambien puede aparecer una incoherencia en tiempo de compilacion, si hubiera referencias a código de otros commits en el código de este parche.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 03-09-2013, 05:27 (Martes)
EPIC WIN AGAIN


Parche asus , sobre 3.10.10 PERFECT  ;D

La rama 3.9 estaba afectada tambien , pero desconozco si el parche aplicara en la 3.9

Pero tu que reportas parcheas a kernel org ...puede reportar ese , para 3.10  ;)

Por cierto , tube que darle algun repaso , por los espacios en blanco "dichosos" .  ;)
Código: [Seleccionar]
--- a/drivers/platform/x86/asus-laptop.c
+++ b/drivers/platform/x86/asus-laptop.c
@@ -1935,7 +1935,6 @@ fail_input:
 fail_backlight:
  asus_platform_exit(asus);
 fail_platform:
- kfree(asus->name);
  kfree(asus);
 
  return result;
diff --git a/drivers/platform/x86/asus-nb-wmi.c b/drivers/platform/x86/asus-nb-wmi.c
index 8fcb41e18b9c..563f59efa669 100644
--- a/drivers/platform/x86/asus-nb-wmi.c
+++ b/drivers/platform/x86/asus-nb-wmi.c
@@ -180,6 +180,24 @@ static struct dmi_system_id asus_quirks[] = {
  },
  .driver_data = &quirk_asus_x401u,
  },
+ {
+ .callback = dmi_matched,
+ .ident = "ASUSTeK COMPUTER INC. 1015E",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
+ DMI_MATCH(DMI_PRODUCT_NAME, "1015E"),
+ },
+ .driver_data = &quirk_asus_x401u,
+ },
+ {
+ .callback = dmi_matched,
+ .ident = "ASUSTeK COMPUTER INC. 1015U",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
+ DMI_MATCH(DMI_PRODUCT_NAME, "1015U"),
+ },
+ .driver_data = &quirk_asus_x401u,
+ },
  {},
 };
 
@@ -256,6 +274,7 @@ static const struct key_entry asus_nb_wmi_keymap[] = {
  { KE_KEY, 0xB5, { KEY_CALC } },
  { KE_KEY, 0xC4, { KEY_KBDILLUMUP } },
  { KE_KEY, 0xC5, { KEY_KBDILLUMDOWN } },
+ { KE_IGNORE, 0xC6, },  /* Ambient Light Sensor notification */
  { KE_END, 0},
 };

diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
index c11b2426dac1..19c313b056c3 100644
--- a/drivers/platform/x86/asus-wmi.c
+++ b/drivers/platform/x86/asus-wmi.c
@@ -558,7 +558,7 @@ static int asus_wmi_led_init(struct asus_wmi *asus)
  goto error;
  }
 
- if (wlan_led_presence(asus)) {
+ if (wlan_led_presence(asus) && (asus->driver->quirks->wapf == 4)) {
  INIT_WORK(&asus->wlan_led_work, wlan_led_update);
 
  asus->wlan_led.name = "asus::wlan";
@@ -886,7 +886,8 @@ static int asus_new_rfkill(struct asus_wmi *asus,
  if (!*rfkill)
  return -EINVAL;
 
- if (dev_id == ASUS_WMI_DEVID_WLAN)
+ if ((dev_id == ASUS_WMI_DEVID_WLAN) &&
+ (asus->driver->quirks->wapf == 4))
  rfkill_set_led_trigger_name(*rfkill, "asus-wlan");
 
  rfkill_init_sw_state(*rfkill, !result);
@@ -1045,7 +1046,7 @@ static ssize_t asus_hwmon_pwm1(struct device *dev,
  else if (value == 3)
  value = 255;
  else if (value != 0) {
- pr_err("Unknown fan speed %#x", value);
+ pr_err("Unknown fan speed %#x\n", value);
  value = -1;
  }
 
@@ -1557,11 +1558,11 @@ static int asus_wmi_platform_init(struct asus_wmi *asus)
 
  /* INIT enable hotkeys on some models */
  if (!asus_wmi_evaluate_method(ASUS_WMI_METHODID_INIT, 0, 0, &rv))
- pr_info("Initialization: %#x", rv);
+ pr_info("Initialization: %#x\n", rv);
 
  /* We don't know yet what to do with this version... */
  if (!asus_wmi_evaluate_method(ASUS_WMI_METHODID_SPEC, 0, 0x9, &rv)) {
- pr_info("BIOS WMI version: %d.%d", rv >> 16, rv & 0xFF);
+ pr_info("BIOS WMI version: %d.%d\n", rv >> 16, rv & 0xFF);
  asus->spec = rv;
  }
 
@@ -1572,7 +1573,7 @@ static int asus_wmi_platform_init(struct asus_wmi *asus)
  * The significance of others is yet to be found.
  */
  if (!asus_wmi_evaluate_method(ASUS_WMI_METHODID_SFUN, 0, 0, &rv)) {
- pr_info("SFUN value: %#x", rv);
+ pr_info("SFUN value: %#x\n", rv);
  asus->sfun = rv;
  }
 
@@ -1712,7 +1713,7 @@ static int asus_wmi_debugfs_init(struct asus_wmi *asus)
 
  asus->debug.root = debugfs_create_dir(asus->driver->name, NULL);
  if (!asus->debug.root) {
- pr_err("failed to create debugfs directory");
+ pr_err("failed to create debugfs directory\n");
  goto error_debugfs;
  }
 
@@ -1985,17 +1986,17 @@ EXPORT_SYMBOL_GPL(asus_wmi_unregister_driver);
 static int __init asus_wmi_init(void)
 {
  if (!wmi_has_guid(ASUS_WMI_MGMT_GUID)) {
- pr_info("Asus Management GUID not found");
+ pr_info("Asus Management GUID not found\n");
  return -ENODEV;
  }
 
- pr_info("ASUS WMI generic driver loaded");
+ pr_info("ASUS WMI generic driver loaded\n");
  return 0;
 }
 
 static void __exit asus_wmi_exit(void)
 {
- pr_info("ASUS WMI generic driver unloaded");
+ pr_info("ASUS WMI generic driver unloaded\n");
 }
 
 module_init(asus_wmi_init);
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 04-09-2013, 01:44 (Miércoles)
voy a probar un poco mas tarde el 3.11 , cambiando a mano , las dos lineas que comentabas del aufs.

ya contare.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 04-09-2013, 02:09 (Miércoles)
Código: [Seleccionar]
alex@engetsu:~/src/aufs-aufs3-standalone$ diff aufs3-standalone.patch.old aufs3-standalone.patch
10c10
<  DEFINE_LGLOCK(files_lglock);
---
>  DEFINE_STATIC_LGLOCK(files_lglock);
168c168
< @@ -1146,6 +1147,7 @@ long do_splice_to(struct file *in, loff_t *ppos,
---
> @@ -1133,6 +1134,7 @@ long do_splice_to(struct file *in, loff_t *ppos,

Ya avise que yo tenia aufs desde el rcN , resultado ..

<  DEFINE_LGLOCK(files_lglock);
---
>  DEFINE_STATIC_LGLOCK(files_lglock);


ese ya venia hecho ....

y este es el que solventa mi unico FAILED , que obtenia grepeando

< @@ -1146,6 +1147,7 @@ long do_splice_to(struct file *in, loff_t *ppos,
---
> @@ -1133,6 +1134,7 @@ long do_splice_to(struct file *in, loff_t *ppos,




ahora compilare , y a ver que sale.  ;)



Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 04-09-2013, 02:56 (Miércoles)
¿sabes que pasa?

Que Andrew Morton ha puesto un puto comentario en ese fichero, que ocupa unas cuantas lineas, y lo ha empujado todo para abajo.

por esa chorrada, el offset ya no te entraba.

El otro, es verdad, en la version rc de patch set de aufs ya estaba cambiao!

Pero bueno, ya ves, son chorraditas, y en proximas ocasiones estarás bastante mejor equipado para resolver estas cosas.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 04-09-2013, 03:08 (Miércoles)
no consigo arreglar el aufs macho ..y eso que se ve facilon.


 :'(
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 04-09-2013, 03:11 (Miércoles)
agarra mi archivo aufs standalone patch directamente
https://foro.seguridadwireless.net/colaboracion-y-desarrollo-de-nuestras-lives/parches-que-vais-a-necesitar-en-3-8-en-adelante/msg285588/#msg285588
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 04-09-2013, 03:18 (Miércoles)
agarra mi archivo aufs standalone patch directamente
https://foro.seguridadwireless.net/colaboracion-y-desarrollo-de-nuestras-lives/parches-que-vais-a-necesitar-en-3-8-en-adelante/msg285588/#msg285588

PERO SI ESQUE FALLA TAMBIEN.... ojo , que no es la 3.11-rc7  ,si no la mainline 3.11 , el fichero no es el mismo , por que comprobe el md5

wifislax linux-3.11 # patch -p1 -i /usr/src/linux-3.11/aufs3.11-rcN.patch | grep FAILED
Hunk #1 FAILED at 37.
1 out of 2 hunks FAILED -- saving rejects to file fs/file_table.c.rej
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 04-09-2013, 03:20 (Miércoles)
este es el aufs


ORIGINAL rcN -->> http://www.multiupload.nl/J0LEC1RJV0

Que tampoco aplica.

el tuyo falla en la 37 y el original rcN en la 36

Hunk #1 FAILED at 36.
1 out of 1 hunk FAILED -- saving rejects to file fs/file_table.c.rej
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 04-09-2013, 03:28 (Miércoles)
fichero  file_table.c  hasta la linea 60

Código: [Seleccionar]
/*
 *  linux/fs/file_table.c
 *
 *  Copyright (C) 1991, 1992  Linus Torvalds
 *  Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu)
 */

#include <linux/string.h>
#include <linux/slab.h>
#include <linux/file.h>
#include <linux/fdtable.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/fs.h>
#include <linux/security.h>
#include <linux/eventpoll.h>
#include <linux/rcupdate.h>
#include <linux/mount.h>
#include <linux/capability.h>
#include <linux/cdev.h>
#include <linux/fsnotify.h>
#include <linux/sysctl.h>
#include <linux/lglock.h>
#include <linux/percpu_counter.h>
#include <linux/percpu.h>
#include <linux/hardirq.h>
#include <linux/task_work.h>
#include <linux/ima.h>

#include <linux/atomic.h>

#include "internal.h"

/* sysctl tunables... */
struct files_stat_struct files_stat = {
.max_files = NR_FILE
};

DEFINE_LGLOCK(files_lglock);
EXPORT_SYMBOL(files_lglock);

/* SLAB cache for file structures */
static struct kmem_cache *filp_cachep __read_mostly;

static struct percpu_counter nr_files __cacheline_aligned_in_smp;

static void file_free_rcu(struct rcu_head *head)
{
struct file *f = container_of(head, struct file, f_u.fu_rcuhead);

put_cred(f->f_cred);
kmem_cache_free(filp_cachep, f);
}

static inline void file_free(struct file *f)
{
percpu_counter_dec(&nr_files);
file_check_state(f);
call_rcu(&f->f_u.fu_rcuhead, file_free_rcu);
}
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 04-09-2013, 03:36 (Miércoles)
muestrame el archivo .rej
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 04-09-2013, 03:46 (Miércoles)
 :P

ahora me aplica bien el rcN , no hay FAILED , por si acaso busque fciehros *.rej en el souce y no hay , asi que aplica limpio ..ahora a ver si despues de compilar el kernel arranca el aufs.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 04-09-2013, 04:10 (Miércoles)
fs/aufs/mvdown.c: En la función ‘au_mvd_args_busy’:
fs/aufs/mvdown.c:302:18: error: ‘struct dentry’ no tiene un miembro llamado ‘d_count’
fs/aufs/mvdown.c:310:2: error: ‘struct dentry’ no tiene un miembro llamado ‘d_count’
  CC [M]  fs/autofs4/symlink.o
make[2]: *** [fs/aufs/mvdown.o] Error 1
make[1]: *** [fs/aufs] Error 2
make[1]: *** Se espera a que terminen otras tareas....
  CC [M]  fs/autofs4/waitq.o
  CC      crypto/api.o
  LD      security/built-in.o
  CC [M]  fs/autofs4/expire.o
  CC      block/elevator.o
  CC      block/blk-core.o
  CC      crypto/cipher.o
  CC [M]  fs/autofs4/dev-ioctl.o
  CC      crypto/compress.o
  CC      crypto/algapi.o
  LD [M]  fs/autofs4/autofs4.o
make: *** [fs] Error 2
make: *** Se espera a que terminen otras tareas....
  CC      crypto/scatterwalk.o
  CC      block/blk-tag.o
  CC      block/blk-sysfs.o


por mi parte no pruebo ya nada mas.

el 3.11.rc7 compilaba con el aufs rcN ( Aunque tampoco funcionaba aufs )    , pero el mainline NO.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 04-09-2013, 04:47 (Miércoles)
no uses el aufs rcN

el 3 de julio se cambio d_count por d_refcount
http://www.spinics.net/lists/ceph-devel/msg15503.html

si te limitas a agarrar los parches de 3.10 y los modificas, te irá todo bien.
si agarras los rc, a juzgar por la presencia de d_count, son mas viejos. no cabe duda.
si has tenido un error aplicando aufs 3.10 lo arreglamos, pero si te haces otro procedimiento diferente al que yo hice, ahi si que me pierdo, y visto lo visto, mejor olvidate de aufs3x-rc
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 04-09-2013, 05:16 (Miércoles)
bueno , pues are lo siguiente , ...

cogere el aufs3.10  , e intentare aplicarlo .. si falla , reviso y miramos a ver.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 04-09-2013, 05:24 (Miércoles)
okis.
mañana me cuentas
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 04-09-2013, 05:25 (Miércoles)
Tu aufs parcheado ..FAILED line 37

sobre 3.11 mainline

Código: [Seleccionar]
patching file fs/file_table.c
Hunk #1 FAILED at 37.
Hunk #2 succeeded at 406 (offset 1 line).
1 out of 2 hunks FAILED -- saving rejects to file fs/file_table.c.rej

y el fichero reject contiene ....


Código: [Seleccionar]
--- fs/file_table.c
+++ fs/file_table.c
@@ -37,6 +37,7 @@
 };
 
 DEFINE_LGLOCK(files_lglock);
+EXPORT_SYMBOL(files_lglock);
 
 /* SLAB cache for file structures */
 static struct kmem_cache *filp_cachep __read_mostly;
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 04-09-2013, 11:40 (Miércoles)
busca en filetable la linea que dice:
DEFINE_LGLOCK(files_lglock);

y mete justo debajo esta linea:
EXPORT_SYMBOL(files_lglock);

sin quitar ninguna. solo añadir.

y listo
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 04-09-2013, 23:11 (Miércoles)
tras aplicar tu pareche la linea

DEFINE_LGLOCK(files_lglock);

NO EXISTE , por eso es facil que falle...

tras tu parche la funcion queda asi....

Código: [Seleccionar]
/* sysctl tunables... */
struct files_stat_struct files_stat = {
.max_files = NR_FILE
};

DEFINE_STATIC_LGLOCK(files_lglock);

/* SLAB cache for file structures */






Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 04-09-2013, 23:16 (Miércoles)
Creo que definitivamente dejare el 3.11 para cuando salga como "stable"   ...por que aun aparece solo como mainline.


Ademas hoy probe de instalar los drivers ati en el 3.10.10


ati 13.1 -->  Fail , muchos ficheros han cambiado de sitio en als kernel sources y sus funciones tambien
ati 13.4 -->> fail , llega casi hasta el final y falla ....
ati 13.8 BETA -->> YEA , este si , tengo que mirar si sale la marca de agua tipica de driver beta , y de ser asi ...firmar el driver ...es un fichero que esta en  /etc/ati    y que solo contiene el digito "0"  unsigned t cambiarlo a "1"  signed   ;D  , y desaparece la marca de agua.

Imagina ene un 3.11  ;D
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 05-09-2013, 03:12 (Jueves)
la rama de kernel 3.10 parece que va a ser la proxima longterm ....con soporte garantizado durante 2 años.


Creo que lo veo claro ...  ;)

http://www.kroah.com/log/blog/2013/08/04/longterm-kernel-3-dot-10/
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 05-09-2013, 10:35 (Jueves)
voy a probar aincorporar ati 13.8 beta en mi repo corporate, aunque nosotros notenemos maquinas con ati y no nos interesa, pero por compromiso con la audiencia, a ver si me sale bien.

PD: si n ofuera por el tema wireless que evoluciona rapido, quedarse en 3.10 seria interesante. pero como te digo, seria para otro tipo de distro, para algo tan dinamico y cambiante, quizas no te interesa tanto quedarte atrás. o tienes que volver a incorporar el stack backports (el viejo compat-wireless) a mano y por encima del kernel.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 05-09-2013, 20:47 (Jueves)
Bueno , pues comento ,..

con kernel 3.10.10 PAE ..al reiniciar si eligo de nuevo el pendrive ...

"ERROR CHECKING MACHINE"

con el normal no pasa...


He compilado un 3.9.11 y PERFECTO

pero un parche no le aplica.... ¿ puedes adaptarlo ?

Código: [Seleccionar]
--- a/net/mac80211/cfg.c 2013-09-01 14:53:24.117850300 +0200
+++ b/net/mac80211/cfg.c 2013-09-01 18:17:40.909079242 +0200
@@ -3381,22 +3381,23 @@
  struct ieee80211_chanctx_conf *chanctx_conf;
  int ret = -ENODATA;
 
- rcu_read_lock();
- chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
- if (chanctx_conf) {
- *chandef = chanctx_conf->def;
- ret = 0;
- } else if (local->open_count > 0 &&
-    local->open_count == local->monitors &&
-    sdata->vif.type == NL80211_IFTYPE_MONITOR) {
- if (local->use_chanctx)
+ if (!wdev)
+ return -EOPNOTSUPP;
+
+ switch (wdev->iftype) {
+ case NL80211_IFTYPE_MONITOR:
  *chandef = local->monitor_chandef;
- else
- *chandef = local->_oper_chandef;
- ret = 0;
+ ret = 0;
+ break;
+ default:
+ rcu_read_lock();
+ chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
+ if (chanctx_conf) {
+ *chandef = chanctx_conf->def;
+ ret = 0;
+ }
+ rcu_read_unlock();
  }
- rcu_read_unlock();
-
  return ret;
 }

aqui dejo en  cfg.c  ORIGINAL del 3.9.11

http://www.multiupload.nl/81I6XT4MQO


_________________________

Lo logico seria en vez de bajar de rama subir, pero no soy capaz de cocinar un 3.11 , siempre me peta la compilacion o el arranque aufs.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 06-09-2013, 12:56 (Viernes)
si dentro de un tiempo aun no te has salido con el 3.11, y no han salido versiones oficiales de parches, tomas las fuentes de mi repo corporativo y listo.

de momento, ¿vas haciendo?
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 06-09-2013, 12:57 (Viernes)
no te aplica ese parche? puedes mostrarme los archivos .REJ?
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 06-09-2013, 23:03 (Viernes)
no te aplica ese parche? puedes mostrarme los archivos .REJ?


es al querer aplicarlo sobre un 3.9.X

creo que deberas crear directorios con parches especificos en cada rama.


el de asus parchea bien tanto rama 3.9 como 3.10  3.11 no lo necesita

el wireless todos van bien en 3.10 y 3.11 , pero falla la parte que te mostre en las ramas 3.9
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 07-09-2013, 00:55 (Sábado)
si dentro de un tiempo aun no te has salido con el 3.11, y no han salido versiones oficiales de parches, tomas las fuentes de mi repo corporativo y listo.

de momento, ¿vas haciendo?

de momento el candidato es el 3.10.8
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 07-09-2013, 17:23 (Sábado)
te sugiero que te descargues todo el repositorio git del kernel linux.
aunque son mas de 300 megas, es la fuente de información mas valiosa que podrás disponer para entender qué pasa en el kernel, cambio por cambio, commit por commit, parche por parche.

el programa "gitk", aunque es viejito (está hecho en TK), es de lo mejor para navegar por la historia de cambios y comprenderlos. Lo ejecutas dentro del directorio git que has clonado, y ya te sale toda la informacion lista para consultar, de unos cuantos años atrás hasta hoy dia.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 15-09-2013, 23:00 (Domingo)
Como te veo aburrio  ;D

¿ puedes hacer un apaño para que esto aplique en la rama 3.9 ?

Código: [Seleccionar]
--- a/net/mac80211/cfg.c 2013-09-01 14:53:24.117850300 +0200
+++ b/net/mac80211/cfg.c 2013-09-01 18:17:40.909079242 +0200
@@ -3381,22 +3381,23 @@
  struct ieee80211_chanctx_conf *chanctx_conf;
  int ret = -ENODATA;
 
- rcu_read_lock();
- chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
- if (chanctx_conf) {
- *chandef = chanctx_conf->def;
- ret = 0;
- } else if (local->open_count > 0 &&
-    local->open_count == local->monitors &&
-    sdata->vif.type == NL80211_IFTYPE_MONITOR) {
- if (local->use_chanctx)
+ if (!wdev)
+ return -EOPNOTSUPP;
+
+ switch (wdev->iftype) {
+ case NL80211_IFTYPE_MONITOR:
  *chandef = local->monitor_chandef;
- else
- *chandef = local->_oper_chandef;
- ret = 0;
+ ret = 0;
+ break;
+ default:
+ rcu_read_lock();
+ chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
+ if (chanctx_conf) {
+ *chandef = chanctx_conf->def;
+ ret = 0;
+ }
+ rcu_read_unlock();
  }
- rcu_read_unlock();
-
  return ret;
 }


Me harias un gran favor.

Por cierto , ya hoy por fin la rama 3.10 aparece como longterm  >:(


Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 15-09-2013, 23:07 (Domingo)
en la 3.9? voy a buscar un snapshot de 3.9 y te cuento.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 15-09-2013, 23:18 (Domingo)
en la 3.9? voy a buscar un snapshot de 3.9 y te cuento.

te voy poniendo cosas que ya se qu eme vas a pedir ....  ;D


El error ...

wifislax linux-3.9.11 # patch -p1 -i /usr/src/prueba.patch
patching file net/mac80211/cfg.c
Hunk #1 FAILED at 3381.
1 out of 1 hunk FAILED -- saving rejects to file net/mac80211/cfg.c.rej



el reject

Código: [Seleccionar]
--- net/mac80211/cfg.c 2013-09-01 14:53:24.117850300 +0200
+++ net/mac80211/cfg.c 2013-09-01 18:17:40.909079242 +0200
@@ -3381,22 +3381,23 @@
  struct ieee80211_chanctx_conf *chanctx_conf;
  int ret = -ENODATA;
 
- rcu_read_lock();
- chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
- if (chanctx_conf) {
- *chandef = chanctx_conf->def;
- ret = 0;
- } else if (local->open_count > 0 &&
-    local->open_count == local->monitors &&
-    sdata->vif.type == NL80211_IFTYPE_MONITOR) {
- if (local->use_chanctx)
+ if (!wdev)
+ return -EOPNOTSUPP;
+
+ switch (wdev->iftype) {
+ case NL80211_IFTYPE_MONITOR:
  *chandef = local->monitor_chandef;
- else
- *chandef = local->_oper_chandef;
- ret = 0;
+ ret = 0;
+ break;
+ default:
+ rcu_read_lock();
+ chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
+ if (chanctx_conf) {
+ *chandef = chanctx_conf->def;
+ ret = 0;
+ }
+ rcu_read_unlock();
  }
- rcu_read_unlock();
-
  return ret;
 }


En la linea 3381 , no esta lo que espera encontrar ,si no variables de otro tipo

   .mgmt_tx_cancel_wait = ieee80211_mgmt_tx_cancel_wait,
   .set_cqm_rssi_config = ieee80211_set_cqm_rssi_config,
   .mgmt_frame_register = ieee80211_mgmt_frame_register,
   .set_antenna = ieee80211_set_antenna,
   .get_antenna = ieee80211_get_antenna,





----------------------------------

Lo que busca, realmente aparece en la linea 3282 ...por eso fail ...creo.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 26-09-2013, 11:08 (Jueves)
venga , por fi , portalo al 3.9 ,


en el 3.10 los atheros dan autentica pena.


voy a compilar 3.11 y 3.12  ....a vers i mejoran , lo de la interface lo tengo asumido desde el 3.9 hacia ariiba alguna atheros necesitaran el up ... pero joer , .. estoy a 1 metro del ap , y la atheros 9000 usb , falla al tetas pines ,  :'( :'( :'(


Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 26-09-2013, 11:15 (Jueves)
venga , por fi , portalo al 3.9 ,


en el 3.10 los atheros dan autentica pena.


voy a compilar 3.11 y 3.12  ....a vers i mejoran , lo de la interface lo tengo asumido desde el 3.9 hacia ariiba alguna atheros necesitaran el up ... pero joer , .. estoy a 1 metro del ap , y la atheros 9000 usb , falla al tetas pines ,  :'( :'( :'(



bueno... es que has visto el momiento que hay en el stack?
lo raro es que no explote todo xD
es un momento de volatilidad en el codigo, especialmente en los drivers ath10k

el principal problema que tendrás con las atheros a la hora de testar pines no será de señal, exactamente, sino de velocidad (inyectar pines mas despacio, resuelve el problema).
con la excepcion de las ath10 que se inicializan de forma incorrecta y con la antena descalibrada.
de todos modos esto que cuento es referente a 3.10 mas o menos. ves tirando palante todo lo que puedas y yo te miro lo de 3.9 a ver si el backport te sirve de algo.
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: USUARIONUEVO en 26-09-2013, 11:52 (Jueves)
he compilado ya el 3.10.12 ( en la iso esta el 3.10.11)  por que vi que parcheaban en los atheroa 9000

pero nada.


ahora mismo esta compilando un 3.11.1 ...  a ver que sale.


y sino el 3.12-rc2  , en el cual los parches aun aplican  ;D


Todo se ha ido al pedo al entrar las ath10k
Título: Re: parches que vais a necesitar en 3.8 en adelante
Publicado por: alist3r en 26-09-2013, 12:40 (Jueves)
he compilado ya el 3.10.12 ( en la iso esta el 3.10.11)  por que vi que parcheaban en los atheroa 9000

pero nada.


ahora mismo esta compilando un 3.11.1 ...  a ver que sale.


y sino el 3.12-rc2  , en el cual los parches aun aplican  ;D


Todo se ha ido al pedo al entrar las ath10k


no te puedes imaginar hasta qué punto eso es cierto...

(http://s14.postimg.org/oy96y95el/Captura_de_pantalla_de_2013_09_26_12_38_46.jpg) (http://postimg.org/image/oy96y95el/)