domingo, 5 de diciembre de 2010

Arreglar problema "mon0 is on channel -1" en Ubuntu (Editado)


Un tiempo después de instalar Ubuntu Maverick Meerkat me di cuenta que al utilizar airodump-ng, aireplay-ng no funcionaba como debería:

aireplay-ng: mon0 is on channel -1, but the AP uses channel 9


¿Cómo lo solucionamos?
Ejecutamos en una consola (copiamos y pegamos línea por línea, están separadas por un espacio para que sea más simple):

wget http://www.orbit-lab.org/kernel/compat-wireless-3.0-stable/v3.0/compat-wireless-3.0-rc4-1.tar.bz2 && tar -jxf compat-wireless-3.0-rc4-1.tar.bz2

cd
compat-wireless-3.0-rc4-1

wget http://patches.aircrack-ng.org/channel-negative-one-maxim.patch

patch ./net/wireless/chan.c channel-negative-one-maxim.patch

gedit scripts/update-initramfs

Encontramos la línea que dice "KLIB=/lib/modules/2.6.31-wl/build" y la reemplazamos por "KLIB=/lib/modules/$(uname -r)/build". Guardamos y salimos. Seguimos en la consola ejecutando:


make && sudo make install && sudo make unload
 
sudo reboot

Nota: necesitamos tener instalados los headers. Si no los tenemos la compilación fallará. Si no los tenemos, los podemos instalar ejecutando en una consola:

sudo apt-get install linux-headers-generic


Editado el 26/jul/2011. Probado en Lucid Lynx, Maverick Meerkat y Natty Narhwal.

22 comentarios:

Anónimo dijo...

Holas soy ManfreX, buenisima web.. tambien tengo el mismo problema pero aun no lo puedo solucionar al hacer todo me aparece:

make[1]: se sale del directorio «/usr/src/linux-headers-2.6.35-23-generic»
Updating Ubuntu's initramfs for 2.6.35-23-generic under /boot/ ...
Will now run update-grub to ensure grub will find the new initramfs ...
/etc/default/grub: 23: Syntax error: newline unexpected
make: *** [install-modules] Error 2

claramente es un error de sintaxys pero no comprendo donde si puedieras hexarme una manos agradecido!

OzK dijo...

Por lo que me contás parece que tenés un problema con grub.

Intentá hacer un:

sudo update-grub2

Y fijate si te tira un error. Si te aparece un error es porque tenés un problema con grub. Deberías probar de usar un archivo grub sin modificar e intentar nuevamente.

¡Saludos y gracias por los halagos! :)

Anónimo dijo...

Holas yo ManfreX otra vez, de hecho es un error de sintaxys de grub,ya había probado el comando observa:

../grub 33: Syntax error: EOF in backquote substitution

he buscado en san-google pero aún no consigo nada real, de hexo al iniciar el pc me pide login de forma de texto y luego inicio la X sin problemas.

gracias por responder tan pronto.

OzK dijo...

Por lo que parece tenés un problema en una de las comillas en /etc/default/grub.

Revisá bien el archivo con:

sudo gedit /etc/default/grub

Si no encontrás el error, substituí el archivo por uno sin modificar y ejecutá nuevamente:

sudo update-grub2

Con eso deberías solucionar tu problema.

Cualquier cosa estoy a tu disposición. ¡Saludos!

Anónimo dijo...

Solucionado! muxas gracias por tu ayuda
al final el problema era sintaxys. problemas de comillas.

saludos!

Anónimo dijo...

Yo tengo este problema, al poner la linea gedit scripts/update-initramfs me sale esto:

(gedit:9215): EggSMClient-WARNING **: Failed to connect to the session manager: None of the authentication protocols specified are supported

**
GLib-GIO:ERROR:/build/buildd/glib2.0-2.26.1/gio/gdbusconnection.c:2270:initable_init: assertion failed: (connection->initialization_error == NULL)
Abortado

OzK dijo...

No tenés un problema con el post en sí, sino seguramente con gedit. No sabría la solución. intentá usar otro editor, como nano por ejemplo.

¡Saludos!

Anónimo dijo...

Bien problema solucionado con lo gedit scripts/update-initramfs, pero ahora un nuevo problema:

Al poner

make && sudo make install && sudo make unload

make: gcc: No se encontró el programa
make: se ingresa al directorio «/usr/src/linux-headers-2.6.35-27-generic»
make -C /lib/modules/2.6.35-27-generic/build M=/home/a/compat-wireless-2010-10-16 modules
/usr/src/linux-headers-2.6.35-27-generic/scripts/gcc-version.sh: línea 25: gcc: orden no encontrada
/usr/src/linux-headers-2.6.35-27-generic/scripts/gcc-version.sh: línea 26: gcc: orden no encontrada
make[1]: se ingresa al directorio «/usr/src/linux-headers-2.6.35-27-generic»
/usr/src/linux-headers-2.6.35-27-generic/arch/x86/Makefile:81: stack protector enabled but no compiler support
make[1]: gcc: No se encontró el programa
LD /home/a/compat-wireless-2010-10-16/compat/built-in.o
/bin/sh: ar: not found
make[3]: *** [/home/a/compat-wireless-2010-10-16/compat/built-in.o] Error 127
make[2]: *** [/home/a/compat-wireless-2010-10-16/compat] Error 2
make[1]: *** [_module_/home/a/compat-wireless-2010-10-16] Error 2
make[1]: se sale del directorio «/usr/src/linux-headers-2.6.35-27-generic»
make: *** [modules] Error 2

Ya instale los linux-generic-headers pero me da lo mismo

OzK dijo...

Te falta el compilador.

sudo apt-get install gcc

Anónimo dijo...

Hola de nuevo, muchas gracias Ozk por tu ayuda poco a poco he ido avanzando pero pero de nueva cuenta me encontre con un problema a la hora de hacer la compilacion

make && sudo make install && sudo make unload

make -C /lib/modules/2.6.35-27-generic/build M=/home/a/compat-wireless-2010-10-16 modules
make[1]: se ingresa al directorio «/usr/src/linux-headers-2.6.35-27-generic»

CC [M] /home/a/compat-wireless-2010-10-16/drivers/net/wireless/ath/ath9k/rc.o
/home/a/compat-wireless-2010-10-16/drivers/net/wireless/ath/ath9k/rc.c:1572: error: redefinition of ‘ath_rate_control_register’
/home/a/compat-wireless-2010-10-16/drivers/net/wireless/ath/ath9k/rc.h:232: note: previous definition of ‘ath_rate_control_register’ was here
/home/a/compat-wireless-2010-10-16/drivers/net/wireless/ath/ath9k/rc.c:1577: error: redefinition of ‘ath_rate_control_unregister’
/home/a/compat-wireless-2010-10-16/drivers/net/wireless/ath/ath9k/rc.h:237: note: previous definition of ‘ath_rate_control_unregister’ was here
make[5]: *** [/home/a/compat-wireless-2010-10-16/drivers/net/wireless/ath/ath9k/rc.o] Error 1
make[4]: *** [/home/a/compat-wireless-2010-10-16/drivers/net/wireless/ath/ath9k] Error 2
make[3]: *** [/home/a/compat-wireless-2010-10-16/drivers/net/wireless/ath] Error 2
make[2]: *** [/home/a/compat-wireless-2010-10-16/drivers/net/wireless] Error 2
make[1]: *** [_module_/home/a/compat-wireless-2010-10-16] Error 2
make[1]: se sale del directorio «/usr/src/linux-headers-2.6.35-27-generic»
make: *** [modules] Error 2

Parece que tengo el mismo error en un comentario arriba, el cual se sale del directorio, ya intente con update-grub2 y no me da error. Espero que puedas seguir ayudandome.

OzK dijo...

La verdad no sabría decirte. Intetá limpiar los cambios y empezar de cero. De paso, hacé un:

sudo apt-get dist-upgrade

Porque veo que estás usando un kernel algo viejo. No es que el problema venga de ahí, pero sino cuando actualices no te va a funcionar porque la compilación depende del núcleo que estés usando.

Cualquier cosa agregame a Twitter y veo de darte alguna mano por ahí.

Anónimo dijo...

Por fin problema solucionado OzK, MUCHISIMAS GRACIAS, como recomendaste actualize el kernel y borre completamente el compat-wireless-2010-10-16 e inicie desde 0. El mon0 ya no esta en -1. Gracias

OzK dijo...

No hay por qué. Un placer haberte sido útil.

Anónimo dijo...

Hola de nuevo OzK, anteriormente me habias ayudado para resolver mis problemas con la compilacion de todo este asunto. De nueva cuenta tuve problemas. Ya son dos ocaciones en que intentando crackear una red me sale el mismo problema de que el mon0 esta en -1. Volvia a hacer todo el proceso y quedaba solucionado, pero esta vez, el problema es que al momento de la compilacion se sale del directorio, recientemente actualize los linux generic headers a esta version linux-headers-2.6.38-2-generic, esto debido a un problema con mi tarjeta de video.
La compilacion va bien hasta que me sale lo siguiente:

CC [M] /home/a/compat-wireless-2010-10-16/drivers/net/wireless/rt2x00/rt2x00pci.o
/home/a/compat-wireless-2010-10-16/drivers/net/wireless/rt2x00/rt2x00pci.c: In function ‘rt2x00pci_resume’:
/home/a/compat-wireless-2010-10-16/drivers/net/wireless/rt2x00/rt2x00pci.c:375: error: void value not ignored as it ought to be
make[4]: *** [/home/a/compat-wireless-2010-10-16/drivers/net/wireless/rt2x00/rt2x00pci.o] Error 1
make[3]: *** [/home/a/compat-wireless-2010-10-16/drivers/net/wireless/rt2x00] Error 2
make[2]: *** [/home/a/compat-wireless-2010-10-16/drivers/net/wireless] Error 2
make[1]: *** [_module_/home/a/compat-wireless-2010-10-16] Error 2
make[1]: se sale del directorio «/usr/src/linux-headers-2.6.38-2-generic»
make: *** [modules] Error 2

Espero que puedas seguir ayudandome. Gracias

OzK dijo...

El problema va a ser recurrente, porque Ubuntu no lo arregla. Cada kernel nuevo que instales va a volver a tener este problema. Yo lo solucioné fácil. Dejé un kernel parcheado y tengo el último, que uso siempre. Cuando necesito crackear, uso el kernel parcheado. No sé que solución darte que no sea esa. De todas formas no tiene mucho sentido parchear cada kernel que Ubuntu saca.

Saludos.

bex dijo...

ola OKZ soy nuevo cuando inteto la 3 linea me sale :
wget http://patches.aircrack-ng.org/mac80211.compat08082009.wl_frag+ack_v1.patch
--2011-04-27 07:49:17-- http://patches.aircrack-ng.org/mac80211.compat08082009.wl_frag+ack_v1.patch
Resolviendo patches.aircrack-ng.org... 213.186.33.2, 2001:41d0:1:1b00:213:186:33:2
Conectando a patches.aircrack-ng.org|213.186.33.2|:80... conectado.
Petición HTTP enviada, esperando respuesta... 403 Forbidden
2011-04-27 07:49:18 ERROR 403: Forbidden
CREO QUE ES UN ERROR (O ASI DEBE SALIR) si en un error por favor ayudame ¡¡¡¡¡¡¡¡¡

OzK dijo...

Sí, es un error. Pero es un error al bajar el archivo. Probé y está andando así que si empezás de cero debería funcionar sin ningún problema.

Saludos.

Anónimo dijo...

Hola Manfrex, con Ubuntu 11.04 funciona igual?

xiumeteo dijo...

Hola amigo, igual tengo el mismo problema en Natty Narwhal 11.04, y me suelta estos errores durante el make


/home/xiumeteo/compat-wireless-2010-10-16/drivers/net/wireless/rt2x00/rt2x00pci.c: In function ‘rt2x00pci_resume’:
/home/xiumeteo/compat-wireless-2010-10-16/drivers/net/wireless/rt2x00/rt2x00pci.c:375:6: error: void value not ignored as it ought to be
make[4]: *** [/home/xiumeteo/compat-wireless-2010-10-16/drivers/net/wireless/rt2x00/rt2x00pci.o] Error 1
make[3]: *** [/home/xiumeteo/compat-wireless-2010-10-16/drivers/net/wireless/rt2x00] Error 2
make[2]: *** [/home/xiumeteo/compat-wireless-2010-10-16/drivers/net/wireless] Error 2
make[1]: *** [_module_/home/xiumeteo/compat-wireless-2010-10-16] Error 2
make[1]: se sale del directorio «/usr/src/linux-headers-2.6.38-8-generic»
make: *** [modules] Error 2


gracias por tu ayuda

Anónimo dijo...

Hola ozk, estoy en la busqueda de una solucion a mi problema y lei tu comentario
"Yo lo solucioné fácil. Dejé un kernel parcheado y tengo el último, que uso siempre. Cuando necesito crackear, uso el kernel parcheado. No sé que solución darte que no sea esa"
Me podrias decir mas o menos como seria? o sea, utilizando una version vieja de ubuntu me dejaria de tirar ese error? si es asi, con cual pruebo (en este momento estoy usando 11.04)

OzK dijo...

Claro, me refería a que dejé un kernel parcheado y nunca lo removí. O sea, tenía el último disponible y ese parcheado, y con GRUB al inicio elegía con cual arrancar. No hablaba de una versión diferente de Ubuntu, sino de una versión diferente de kernel. El parche en Natty no funciona, y una versión más nueva causa un kernel panic al inicio. Ya me cansé y vuelvo a Lucid Lynx en la netbook. Es LTS y no tiene este problema.

Anónimo dijo...

tengo ubuntu 11.04 y el mismo problema:

make -C /lib/modules/2.6.38-10-generic-pae/build M=/home/suleyman/Documentos/borrar/compat-wireless-2010-10-16 modules
make[1]: se ingresa al directorio «/usr/src/linux-headers-2.6.38-10-generic-pae»
CC [M] /home/suleyman/Documentos/borrar/compat-wireless-2010-10-16/drivers/net/wireless/rt2x00/rt2x00pci.o
/home/suleyman/Documentos/borrar/compat-wireless-2010-10-16/drivers/net/wireless/rt2x00/rt2x00pci.c: In function ‘rt2x00pci_resume’:
/home/suleyman/Documentos/borrar/compat-wireless-2010-10-16/drivers/net/wireless/rt2x00/rt2x00pci.c:375:6: error: void value not ignored as it ought to be
make[4]: *** [/home/suleyman/Documentos/borrar/compat-wireless-2010-10-16/drivers/net/wireless/rt2x00/rt2x00pci.o] Error 1
make[3]: *** [/home/suleyman/Documentos/borrar/compat-wireless-2010-10-16/drivers/net/wireless/rt2x00] Error 2
make[2]: *** [/home/suleyman/Documentos/borrar/compat-wireless-2010-10-16/drivers/net/wireless] Error 2
make[1]: *** [_module_/home/suleyman/Documentos/borrar/compat-wireless-2010-10-16] Error 2
make[1]: se sale del directorio «/usr/src/linux-headers-2.6.38-10-generic-pae»
make: *** [modules] Error 2

alguien lo ha solucionado

(Atheros AR9285)