HOW TO: driver Madwifi ath_pci en modo Ad-Hoc (ar242x)
Para los que necesitamos una conexión de tipo Ad-hoc y al usar el comando:
iwconfig essid bla bla bla mode Ad-Hoc bla bla bla
en este caso yo estoy usando el driver basado en el HAL (ath_pci), el driver nos devuelve un error de tipo no se reconoce instruccion (hex) para cambiar a modo Ad-Hoc, encontre la manera de hacer que responda en modo ad-hoc y podernos conectar a otra pc. Antes que nada, quiero advertir que si tienen programas que indican el estado de las conexiones inalámbricas, puede que no reconozcan el estado de la conexión asi que tendran que hacer pings para verificar su estado si es que la salida de "ifconfig athX" no les convence.
Me referiré a la interfáz como athX para no perder costumbre, pero deben reemplazarlo por el que corresponde. (ej ath0). Yo tengo dos tarjetas inalámbricas con chipset Atheros, la de la laptop con gnu/linux es identificada por lspci como
ar242X
Vamos a cambiar la naturaleza del VAP (si no saben que es eso, remitanse a aqui)
Yo necesitaba era conectar mi lap a otra, que tiene windows mediante un ad-hoc (para un proyecto escolar :P)
asi que establecimos los siguientes valores:
segmento de red: 192.168.1.0 (192.168.1.0/24)
mascara: 255.255.255.0
compu1 tendrá: 192.168.1.3 (win2)
compu2 tendrá: 192.168.1.2 (gnu/linux)
gateway: 192.168.1.1
Hemos creado el ad-hoc en compu1 bajo estos valores y entonces procedemos a configurar la compu2:
Primero debemos detener todos los modulos relacionados con el driver ath_pci:
asi que, en la carpeta en donde estan los scripts para madwifi, (por ejemplo en la carpeta descomprimida del driver, en la subcarpeta scripts) debemos ejecutar: ./madwifi-unload
Lap-Yes: ... # ./madwifi-unloadUnloading "ath_pci"Unloading "wlan_scan_sta"Unloading "ath_rate_sample"Unloading "wlan"Unloading "ath_hal"
Bien siguiendo las instrucciones del wiki de madwifi tecleamos "modprobe -v ath_pci autocreate=adhoc"
Lap-Yes: ... # modprobe -v ath_pci autocreate=adhocinsmod /lib/modules/2.6.26-2-amd64/net/ath_hal.koinsmod /lib/modules/2.6.26-2-amd64/net/wlan.koinsmod /lib/modules/2.6.26-2-amd64/net/ath_pci.ko autocreate=adhoc(después hace unas pausas y no debe regresar ningun aviso)Lap-Yes: ... #
Despues hacemos un escaneo de redes para hallar la red del adhoc, o si conocemos todos los datos (essid, canal, mac(bssid), cifrado,pass,etc) procedemos con la sintaxis clasica de iwconfig.
El codigo para hacer el escaneo es: iwlist athX scanning
Lap-Yes: ... #iwlist athX scanning
y nos dara la información, por ejemplo, aparecerá:
Cell 05 - Address: 04:2A:4E:16:C7:E9
ESSID:"ye"
Mode:Ad-Hoc
Frequency:2.427 GHz (Channel 4)
Quality=55/70 Signal level=-40 dBm Noise level=-95 dBm
Encryption key:off
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s
Extra:bcn_int=100
Extra:wme_ie=dd070050f202000100
y por lo tanto, la sintaxis de iwconfig será:
Lap-Yes: ... # iwconfig athX essid "ye" mode Ad-Hoc channel W ap 04:2A:4E:16:C7:E9
donde W es el canal en donde configuraron el ad-hoc, por ejemplo para mi salida obtenida en iwlist seria W=4
como no tenemos indicado que asigne ip automaticamente, entonces debemos indicarlo:
Lap-Yes: ... # ifconfig athX 192.168.1.2
y para que ambas conmputadoras tengan una conexión establecida, agregamos a la compu2 a la tabla de ruteo IP para que podamos accesar a ella desde la red mediante su ip:
Lap-Yes: ... # route add 192.168.1.2 gw 127.0.0.1Lap-Yes: ... #
por ultimo ping-eamos para convencernos de que se escuchan:
Lap-Yes: ... # ping 192.168.1.3
debemos ver algo asi:
PING 192.168.1.3 (192.168.1.3) 56(84) bytes of data.
64 bytes from 192.168.1.3: icmp_seq=1 ttl=128 time=22.7 ms
64 bytes from 192.168.1.3: icmp_seq=2 ttl=128 time=2.43 ms
64 bytes from 192.168.1.3: icmp_seq=3 ttl=128 time=23.7 ms
64 bytes from 192.168.1.3: icmp_seq=4 ttl=128 time=6.01 ms
^C
--- 192.168.1.3 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3011ms
rtt min/avg/max/mdev = 2.439/13.757/23.799/9.622 ms
Hay otras cosas que no contemplo en esta entrada, como la asignación automática de IP, o cómo crear el ad-hoc desde linux para conectar otra pc, espero que entre tarea y tarea me dé tiempo de completar esa parte, pero también creo que pueden imaginar como se haría :P
Para devolver la tarjeta al modo normal, se sigue el mismo procedimiento y se cambia el modprobe por "modprobe -v ath_pci" o por "modprobe -v ath_pci autocreate=sta" para que por default cree la configuración normal (sta), mismo caso para el modo monitor y accesspoint
Debian(guest) con Archivos compartidos
Bueno, al no tener nada que hacer (so fckn' weird!!), me dispuse lograr que mi Debian lenny en una maquina virtual compartiera archivos con el host en dicha pc (win2xp)... tenia varias opciones:
1. configurar una red entre ambos y
- usar ftp o
- si esta activo, el servidor http o
- samba
- usar una usb ¬¬
Todas las opciones son sencillas, en cuanto a configuración. Pero una en particular le ha dado dolor de cabeza a todos alguna ves: las guest additions.
Solución:
Instalar un kernel 2.6.30-X para X arquitectura desde los backports de Debian:
(agregando los backports, por si no los tenias)
iniciamos modo superusuario... su o sudo, lo que acomode
A) agregar deb http://www.backports.org/debian lenny-backports main contrib non-free al archivo /etc/apt/sources.list.
B) agregar la llave:
gpg --keyserver hkp://subkeys.pgp.net --recv-keys 16BA136C
C) elegir lo que nos acomoda apt-cache search linux-image-2.6.30
D) apt-get install linux-image-2.6.30-X linux-headers-2.6.30-X
donde X es la arquitectura que nos corresponde
(...esperar)gpg --export 16BA136C | apt-key add -
E) actualizar: apt-get update (esperar,,,, XD)
F) acto seguido, montar el disco de guest additions
mount -t iso9660 -o ro /dev/cdroom punto_montaje
G) instalar el modulo
sh VBoxLinuxAditions-X
donde X es la arquitectura que nos corresponde ej. "x86"
(esperar....)
H) configurar en vbox un folder compartido que no este restringido (permisos de usuario, etc)
ej: el folder c:/php/ montado como php en modo PERMANTENTE
I) y montarlo
mk dir /home/shared1
chmod 777 /home/shared1
mount -t vboxsf php /home/shared1
J) y tendremos un directorio compartido :P *
ls /home/shared1
(y deberíamos ver el contenido de la carpeta compartida :D y ademas disponemos de una version muy reciente del kernel ^^)
Notas:
* Para que la carpeta se quede toda la vida en si sitio debemos agregarlo a la lista de puntos de montaje, editar fstab:
nano|vi|vim|... /etc/fstab
y agregar:
id_montaje punto_montaje vboxsf rw,noauto,user,sync 0 0
Creando un motor de busqueda para una biblioteca
Hola de nuevo, jaja no he muerto, solo andaba de parranda... u_u buaj a quién engaño?, bueno fuera, estaba ñoñeando.
Y bueno son cosas inútiles cuando ya se es gente grande, pero cuando uno empieza a aprender, como le hace el paro... Esta entrada es para liberar mi código del motor de búsqueda y gestión de una biblioteca virtual versión 0.9 jaja.
Me he decido a ponerlo porque me di cuenta que si bien la parte del código php no es tan importante, sí lo es la parte de explotación de la base de datos, al menos para mis amiguitos y compañeros que aun no llevan bases de datos o la llevan y no entienden nada. Me sirvió mucho para explicarles a algunos la parte de normalización de la base y construcción de querys en sql.
DETALLES DEL PROYECTO:
Objetivo:
Elementos de desarrollo propuestos:
Y bueno son cosas inútiles cuando ya se es gente grande, pero cuando uno empieza a aprender, como le hace el paro... Esta entrada es para liberar mi código del motor de búsqueda y gestión de una biblioteca virtual versión 0.9 jaja.
Me he decido a ponerlo porque me di cuenta que si bien la parte del código php no es tan importante, sí lo es la parte de explotación de la base de datos, al menos para mis amiguitos y compañeros que aun no llevan bases de datos o la llevan y no entienden nada. Me sirvió mucho para explicarles a algunos la parte de normalización de la base y construcción de querys en sql.
DETALLES DEL PROYECTO:
Objetivo:
Una biblioteca en línea como la de la Biblioteca Central. El proyecto se desarrollara web para, por lo tanto la interfáz gráfica funcionará en un navegador web.Requerimentos minimos para la interfaz web:
* Consultas:
o Autor
o Titulo
* Altas y Bajas:
o Libros
o Usuarios
* Prestamo
o Nombre a quien se presta
o Fecha de prestamo
o Fecha de Entrega
o Autor
o Titulo
* Altas y Bajas:
o Libros
o Usuarios
* Prestamo
o Nombre a quien se presta
o Fecha de prestamo
o Fecha de Entrega
Elementos de desarrollo propuestos:
Lenguaje de desarrollo y programación: HTML, SQL, PHPEl proyecto lo realicé para la materia de Administración de Proyectos de Software por lo que se entrego un choro escrito, perdón, un trabajo escrito, el cual publicare en el siguiente enlace:
Gestor de Base de Datos: mySQL
( http://docs.google.com/View?id=dd4mqfn7_186dfpkbmd2 )
Suscribirse a:
Entradas (Atom)