Busindre » 2006 » May

How-To D-Link DWL-G122 WiFi Dongle (USB)

May 31st, 2006 by Busindre

 

Hace tiempo que puse a funcionar mi dongle USB en GNU/Linux, lo hice emulando los controladores -drivers- originales de Windows con ndiswrapper porque creo que por la época en la que me lo compré no había controlador nativo. Gracias a Daniel Estevez en un comentario en Barrapunto me enteré de que ya estaban disponibles en la propia web de Ralink. Ya que ha habido un par de meneos sobre WiFi y ndiswrapper en menéame pero ninguna explicando un controlador nativo, y ya que yo he tenido la posibilidad de levantar éste dispositivo con él, me dispongo a explicarlo: Lo primero es ver qué revisión del hardware tenemos, para ello o bien miramos el dispositivo (en la etiqueta) o bien utilizamos el comando lsusb:

[root@localhost ~]# lsusb
Bus 002 Device 004: ID 07d1:3c03 D-Link System

En mi caso llegamos a la conclusión de que es la revisión C1, y gracias al wiki de ndiswrapper vemos el chipset que trae, Ralink RT73 (RT2571W). Acabo de añadir en el wiki que con el driver nativo funciona perfectamente, pero si no, podríamos haber ido a la página oficial de Ralink a ver si ya había salido el controlador. Nos bajamos el controlador de la página de Ralink y lo extraemos en el directorio oportuno:

[root@localhost RT73]# tar -xzf RT73_Linux_STA_Drv1.0.3.0.tar.gz

En el directorio Module de los directorios descomprimidos leemos el archivo README (es muy importante leer este tipo de archivos, así como los INSTALL) y en él se nos dice cómo instalar el controlador, así que lo seguimos.

Pasos:
1. Copia el archivo ‘Makefile.6′ a ‘Makefile’ (para núcleos 2.6.X, para 2.4.X lo mismo pero con Makefile.4).

2. Cambio de permisos para Configure: chmod 755 Configure

3. Ejecutamos el Configure: ./Configure

4. La ruta para (mi) Fedora Core es: /usr/src/kernels/2.6.11-1.1369_FC4-i686* (puede variar)

5. [#1] Editar el archivo ‘rtmp_def.h’ y añadir en la sección VENDORS -línea 800-:

#define DLVID1 0×07d1
#define DLPID1 0×3c03
en el define RT73_USB_DEVICES añadir:
{USB_DEVICE(DLVID1,DLPID1)}, \

6. Ejecutar: make all

7. Cambiar el formato del archivo ‘rt73sta.dat’: dos2unix rt73sta.dat

8. Crear los directorios: /etc/Wireless/ y /etc/Wireless/RT73STA/

9. Copiar los archivos ‘rt73sta.dat’ ‘rt73.bin’ a /etc/Wireless/RT73STA/

10. Editar el archivo ‘rt73sta.dat’ de acuerco con nuestras preferencias, como el canal, la MAC del
punto de acceso, el modo, el
ESSID y demás -la configuración se podrá cambiar con el comando iwconfig posteriormente-.

11. En Fedora Core se puede editar un archivo: ‘ifcfg-rausb0′ que está en el directorio ‘/etc/sysconfig/network-scripts/’ donde se pueden añadir un par de líneas para que se cargue automáticamente la configuración del controlador al arrancar, por ejemplo:

DEVICE=’rausb0′
ONBOOT=’yes’

y para arrancar con DHCP:

BOOTPROTO=’dhcp’

En debian con editar correctamente el archivo ‘interfaces’ que está en ‘/etc/networking/’ nos vale.

12. En el archivo ‘/etc/modules.conf’ o ‘/etc/modprobe.conf’ -dependiendo de tu distro-, debemos añadir la línea:

alias rausb0 rt73

13. Insertar el módulo en el núcleo: insmod rt73.ko

14. Configurar la tarjeta con ‘iwconfig’ e ‘ifconfig’

Un ‘iwconfig’ a secas nos dará una salida similar a esta:

[root@localhost Module]# iwconfig lo no wireless extensions.
eth0 no wireless extensions.
eth1 no wireless extensions.
sit0 no wireless extensions.
rausb0 RT73 WLAN ESSID:"netlab"
Mode:Managed Frequency=11 MHz Access Point: 00:03:47:15:BC:CC
Bit Rate=11 Mb/s
RTS thr:off Fragment thr:off
Encryption key:off
Link Quality=87/100 Signal level:-42 dBm Noise level:-79 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

Con iwconfig se pueden cambiar los parámetros de configuración del dispositivo inalámbrico, valga como ejemplo:

[root@localhost ~]# iwconfig rausb0 mode managed essid [tal] key [cual] ap any

Como la idea no es enseñar a configurar una red wireless sino hacer que funcione el dispositivo, ésto se queda aquí, en breve la versión más documentada, el por qué no funciona con ndiswrapper bajo Fedora Core y, además, en inglés.

Se ve que la única dificultad fue editar el archivo de cabeceras porque en el controlador nativo faltaba nuestro fabricante, curioso por otra parte, porque el resto del manual se resume en seguir los pasos del archivo README.

Nota: Aloriel tiene una versión del manual en inglés accesible desde este enlace.

Posted in Hardware | 4 Comentarios »

¿Sabes buscar por consola? find

May 19th, 2006 by Busindre

Mucha gente depende de aplicaciones gráficas para buscar archivos / directorios en Linux. Con find se puede buscar por consola y filtrar todo lo que nosotros queramos e incluso ejecutar comandos. Os voy a contar como usarla ya que mucha gente lo desconoce y es algo de conocimiento casi obligado emoticon:
find Busca archivos o directorio filtrando con estas opciones:

 

find: Busca archivos , directorio e incluso texto, usando estas opciones de find:

-type d/f/l –> Especifica que es un directorio (d) / fichero (f) / enlaces (l)
-name "Documents" –> Lo que buscamos (Distingue entre mayusculas y minusculas)
-iname "Resumen" –> Lo que buscamos (NO distingue entre mayusculas y minusculas)
-print –> Que lo muestre por pantalla (No suele ser necesario)
-size +10k –> Que sea superior a 10 Kb
-atime +5 –> Que se haya accedido hace 5 dias
-exec –> Ejecuta una comando –> … -exec cp {} /tmp \; –> {} –> Archivos de la busqueda
-ok –> Ejecuta un comando (Pide confirmacion) –> -ok cp {} /tmp \;
-user usuario –> Filtra por dueño de directorio/archivo
-group grupo –> Filtra por grupo

 

Ejemplos:

Busca en /home/busi/ todos los archivos mp3 usados desde hace 5 dias de un tamaño superior a 30 kb, los copia y los deja en /home/busi/copia

find /home/busi/ -type f -atime +5 -size +30k -name "*.mp3" -exec cp {} /home/busi/copia \;

Lo mismo que el anterior pero preguntando antes de ejecutarlo

find /home/busi/ -type f -atime +5 -size +200k -name "*" -ok cp {} /home/busi/copia \;

< cp … /home/busi/ball/ResumenLinux.wmv >

 

 

 

 

Buscar por grupos:

 

find /home/ -type l -group busigrupo -name "*" -print

 

 

 

 

Con ejecutar un comando,.. me refiero a cualquier comando, script,..

 

echo "Archivo encontrado" > tempi
find /home/busi/ -type f -size -40000k -name "*CACA.avi" -exec mutt -s {} busilezas@gmail.com < tempi \;

 

Recibido Mail –> N 6 root@busindre.com- Fri May 19 02:31 37/1956 /home/busi/SGAE_CACA.avi
Contenido del mail –> encontrado -exec mutt -s /home/busi/tema_sensible.mp3

 

 

 

Buscar texto:

find SGAE -type f -exec grep "http" {} /dev/null \;
Resultado: SGAE:http://youtube.com/watch?v=5t2kuQuh5Ts

 

 

 

Buscar los archivos de un usuario:

find / -user postfix -print

 

Como vemos se pueden hacer muchas cosas, juntarlo con scripts,… Solo hemos de pensarlas un poco y conseguiremos grandes resultados, espero que os haya gustado. Un saludo! emoticon

Posted in General | 2 Comentarios »

Servidor Linux a traves de router / pc

May 17th, 2006 by Busindre

Suponiendo esta simple estructura de una red: http://www.busindre.com/linux-como-router-facil/ en la cual un ordenador con Mandriva hace de router para otras maquinas de la red (Debian en este caso)

Esquema de la red:

192.168.2.33 (eth0)
Mandriva ———————— Debian 192.168.2.20 (eth0)
192.168.1.33 (eth1)
|
|
|
|
|
|
192.168.1.1
Router

Configurada como dice el articulo (Comprobemos que tenemos acceso a internet desde debian) vamos a hacer que la maquina con Debian pueda hacer de servidor (Apache, mysql, ssh, dns,.. lo que queramos) y sea accesible al resto de maquinas de la red / Internet. Esto lo haremos con iptables con un simple comando que aplicara la regla, la cual explico a continuación:

# iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 22 -j DNAT --to-destination 192.168.2.20

Que nos dice esta regla de iptables?

Para todas las operaciones de NAT, usaremos -t nat para la tabla NAT. Ya que lo queremos hacer es que Mandriva haga NAT (Lo que todos los routers hacen) que para que se entienda es que puedan salir varias maquinas de una red con una misma IP. Cambiar la dirección IP de origen o destino por otra dirección definida previamente (IP publica). Los routers sacan las peticiones al exterior con una ip asignada por el isp correspondiente, pero puede tener conectados a ese router 12 maquinas con ip internas distintas lógicamente, a eso se le llama hacer NAT).

Con -A PREROUTING podremos modificar los datos destino de la conexión según nos interese y antes de tomar la decisión de enrutamiento. Así podremos desviar paquetes que vayan destinados al Mandriva (router) hacia otro host (debian) y viceversa. Sólo tiene sentido en el interfaz de entrada. Esto lo vamos a llamar DNAT "destination NAT" (-j DNAT –to-destination 192.168.2.20)

Con -i eth1 le indicamos el interface del router(Mandriva) por el que entran las peticiones/conexiones a Debian

Puede especificar el destino (–to-destination) de los paquetes sobre los que quiere hacer NAT (En nuestro caso las peticiones a los puertos especificados en los que escuchan los servidores de la maquina debian). Estas opciones pueden ir seguidas por una IP sencilla (192.168.1.1), un nombre (www.busindre.com), o una dirección de red (192.168.2.0/24 o 192.168.2.0/255.255.255.0)

Con la parte de

-p tcp –dport 22 Se le indica el protocolo usado (tcp/udp) para el puerto destino, en este caso 22 y tcp

En el router, si queremos que el servicio salga a Internet, fuera de nuestra red debemos abrir los puertos en el router (22 si es ssh, el 80,.. los que se quieran) a la ip 192.168.1.33, es decir a la maquina que hace de router (Mandriva en mi caso). Con esto ya podremos ver los servidores de debian tanto en la red como en internet si se habren los puertos correspondientes

NOTA: Para los casos en que tenemos un Linux embebido en un router (fÍsico) como Lynksys debemos poner esta regla para que las maquinas de la red que esten conectadas al router con Linux dentro puedas hacer de servidor.

Si el núcleo no tiene la implementación de iptables como módulo, necesitará cargar el módulo ip_tables.o antes: insmod ip_tables o modprobe ip_tables.

Posted in Internet | 3 Comentarios »

Aterm (Transparencias en la consola)

May 9th, 2006 by Busindre

En linux encontramos muchos tipos de shell / terminales / consolas / … algunas tienen la propiedad de poner el fondo de la misma transparente, con una imagen de fondo, un solo color,.. Contare como hacerlo con Aterm, ya que con Konsole y alguna mas es tan complicado como ir a sus propiedades y ponerla en transparente.

Aterm no ocupa ni consume practicamente nada, se suele poner en entornos minimalistas de poco consumo (icwewm, fluxbox,…), ponerte un blackbox e instalar konsole (shell de kde) es un poco locura ya que te instalara medio kde y se trata de tener lo justo y necesario. Un escritorio que consuma poco tambien tiene derecho a ser atractivo no? Os cuento como hacerlo:

ATERM

-tr –> Transparencia

-sh n –> Numero de nivel de transparencia (+ Alto - Transparencia)

-tint color –> Color del tinte de la transparencia

-fg color –> Texto en consola colores (blue, red, green, yellow, magenta, cyan,..)

-bg color –> El color del puntero sobre la aterm

-fn fontname –> Tipo de letras (Mirar xlsfonts para verlas todas (xfree).

-fb fontname –> Tipo de letra (negrita)

-trsb –> Scrollbar transparente

-rv –> Cambia los colores al contrario (Del fondo y letras, No incluidas las transparencias)

-e programa –> Ejecuta un comando en la aterm

-cr color –> Color del cursor que indica por donde escribes

-sr –> Scrollbar a la derecha

-bw numero –> Borde (Combinado con las opciones de escritorio, por si hemos quitado los bordes en las opciones de ventanas de nuestro escritorio, si estan puestos no tendra efecto)

-geometry 141×29+10+39 –> Tamaño de la terminal

-pixmap foto.xpm –> Para poner fondo en la pantalla (Cuanto menos ocupe la foto mejor (1,5 MB como mucho para que tire bien)

-fade numero –>Cuando movemos la aterm el fondo se pondra más oscuro (>numero) o menos (<numero)

Ejemplo de uso en icewm:

En /home/busi/.icewm/keys tengo estas dos lineas:

key "F12" aterm -tr -trsb -sh 37 -fg white -tint pink -bw 0 -cr red -sr -name
key "F11" aterm -tr -trsb -sh 40 -fg white -tint red -bw 0 -cr red -sr -name

Con esto en mi icewm si presiono el F12 o el F11 salen dos terminales Aterm pero con distinto tinte, esta es solo una idea del uso que se le puede dar a esto. Aterm es la sonsola por defecto del escritorio AfterStep (Muy bueno y de poco sonsumo), les dejo un enlace para que vean algunos screenshots

NOTA: Cuando combinamos -bg con -pixmap al mover una el foco pasa a ser la imagen (Sin numero)
Ejemplo: aterm -bg blue -pixmap imagen.xpm -fade

Paleta de Colores: 0=black, 1=red, 2=green, 3=yellow, 4=blue, 5=magenta, 6=cyan, 7=white

 

Multi Aterm

 Es un programa que permite añadir pestañas a las aterm, rxvt, xterm, eterm, etc,.. Para poder tener en la misma consola varias sesiones, Lo encontraremos en apt, urpmi, yast,… Comentare como compilar el fuente. Ver imagen

 

Descarga: http://www.nongnu.org/materm/multi-aterm-0.2.1.tar.gz

 

Compilacion 

$ tar -zxvf multi-aterm-0.2.1.tar.gz

$ ./configure

$ make

$ su -s

$ make install

 

Un saludete! emoticon

Posted in Curiosidades | 6 Comentarios »