Linux

RTL8187L v1039 highpower patch

Tienes un adaptador Wi-Fi de 1000mW que utiliza el driver RTL8187L (o rtl8187.ko) y quieres tener la ultima version con el poder de transmision hasta 30dBm? Si es asi, sigue estos pasos:

  1. Descarga el driver de el sitio de Realtek, en Downloads, busca por RTL8187, selecciona RTL8187L y descarga la version 1039 para Unix (Linux).
  2. Descarga el parche rtl8187l_1039_highpower y ponlo en el mismo directorio que el archivo anterior.
  3. Ejecuta estos comandos:
    tar xzvf rtl8187L_linux_26.1039.0104.2010.release.tar.gz
    cd rtl8187L_linux_26.1039.0104.2010.release/
    unzip ../rtl8187l_1039_highpower.zip
    patch -p1 < rtl8187l_1039_highpower.patch
    cd rtl8187
    make
    sudo make install

Listo, el driver está instalado.

Ahora para utilizarlo, simplemente desconecta el dispositivo, y ejecuta lo siguiente:

# estas 2 lineas son para asegurar que se descargue completamente el modulo antiguo
rmmod rtl8187
rmmod r8187l

# desde aqui puedes ponerlo en un script para que sea mas comodo las veces sucesivas. se asume que el dispositivo es wlan0 y el usuario es root

iw reg set BO # esto es para alivianar las regulaciones locales
iwpriv wlan0 highpower 1 # esto es para activar el modo highpower

# lo siguiente es para setear la potenciaal máximo (1000mW)
iwconfig wlan0 txpower 30

Con esto debería ser suficiente. Como siempre, cualquier pregunta en los posts, en mi twitter (@mitoyarzun) o si me encuentran, en persona.

Saludos!

Wednesday, August 11th, 2010 How-To's, Kernel, Linux, Networking 13 Comments

Compartir Internet de tu Linux a otros PC

Hoy les tengo una receta que es archi-conocida, pero que es fácil de olvidar y nunca está demás tenerla en un blog cercano.

La idea es compartir el internet de tu computador (con linux) a otro (con Windows, Linux, Mac, BSD, etc.), con la técnica del NATeo, que viene del término NAT (Network Address Translation).

Bueno, he hecho un pequeño script que hará la tarea más fácil, basta con copiar el siguiente texto a un archivo (por ejemplo: nat.sh)

#!/bin/bash

echo 1 > /proc/sys/net/ipv4/ip_forward

if [ "$#" -ne 2 ]
then
  echo "usage: $0 [internal iface] [external iface]";
fi

if [ "$#" -eq 2 ]
then
  ifconfig $1 192.168.21.1

  iptables -t nat -A POSTROUTING -o $2 -j MASQUERADE
  iptables -A FORWARD -i $2 -o $1 -m state --state RELATED,ESTABLISHED -j ACCEPT
  iptables -A FORWARD -i $1 -o $2 -j ACCEPT
fi

Luego, le das permisos de ejecución:

chmod +x nat.sh

Para ejecutarlo, en el caso de que tengas internet vía Wi-Fi (interfaz wlan0) y quieras compartirlo por cable (interfaz eth0) ejecutas lo siguiente:

./nat.sh eth0 wlan0

Otra cosa importante es que la interfaz que está conectada al otro computador (en este caso, eth0) tenga configurada una IP y máscara de subred, y que el otro computador tenga configurada una IP en el mismo segmento y el gateway sea la IP de tu interfaz eth0.

¿Muy complicado?  Ejemplo:

En el PC que tiene internet configuro la interfaz eth0:

ifconfig eth0 192.168.30.1 netmask 255.255.255.0

En el PC que va a usar el internet compartido, seteas una IP similar, estableces el gateway y configuras el resolv.conf, en este caso con el DNS server de Google:

ifconfig eth0 192.168.30.2 netmask 255.255.255.0
route add default gw 192.168.30.1
echo "nameserver 8.8.8.8" > /etc/resolv.conf

En Windows y Mac es básicamente similar, sólo que con el ratón, los datos que utilizarías son:

IP: 192.168.30.2
Máscara de Subred: 255.255.255.0
Puerta de Enlace: 192.168.30.1
Servidor DNS Primario: 8.8.8.8

Y debería funcionar… ahora puedes compartir el internet que agarras del vecino tu internet con tu familia!

Friday, April 23rd, 2010 How-To's, Linux, Macintosh, Networking, Windows 1 Comment

Disponibilidad de dominios .CL en Perl

Hace tiempo que no escribo algún artículo, al parecer Twitter es más fácil para redactar ideas a la rápida.

Hoy quería registrar un dominio en NIC Chile, y me di cuenta que está por vencer, de hecho en un mes aproximadamente debería estar libre. Pero en realidad lo mas probable es que me olvide y no alcance a registrarlo cuando quede libre y otra persona me lo “gane”.

Por ésto es que decidí hacer un pequeño script que me ayudara a chequear de forma diaria (gracias a cron) si el dominio está disponible. La idea es que me envíe un e-mail una vez el susodicho esté libre, pero esa parte aún no la hago y tampoco es la idea hacerlo junto, o sea, unix style ;).

El script en cuestión lo publico a continuación, bajo la licencia GPLv3, que puedes encontrar en http://www.gnu.org/licenses/gpl.html. Si quieres hacer uso comercial, contacta conmigo 😉

#!/usr/bin/perl
#
# Check if .CL domain is available or not.
# Author: Jaime Oyarzun K. joyarzun {at} inf dot utfsm dot cl
# Date: 20100418
# License: GPLv3
#
# usage: ./whoisCL.pl [.cl]
#
# Output:
# 0 when domain is not available
# 1 when domain is available
#
# Crashes if connection cannot be established or no argument is given.
#

use IO::Socket;

$sock = new IO::Socket::INET (
  PeerAddr => 'whois.nic.cl',
  PeerPort => 43,
  Proto => 'tcp',
) or die "Connection error!";

if ($#ARGV<0) {
  die "Requires one argument: "
};

$domain = $ARGV[0];

print $sock "$domain\n";

$exists = 1;

while ($line = <$sock>) {
  chomp($line);
  if ($line =~ m/no existe/) {
    $exists = 0;
    print "1\n";
  }
}

if ($exists) {
  print "0\n";
}

close($sock);

Espero que a alguien le sirva, quedo atento a los comentarios. Saludos!

Mito.

Saturday, April 17th, 2010 How-To's, Internet, Linux 4 Comments

Quemando/Montando imágenes de Macintosh (HFS) desde Linux

Mi primer PC fue un IBM PS/2. Tenia una version rara de Windows o D.O.S. o quizás algun bicho raro de los 80’s. La cosa es que tenia un manejador de archivos y una consola DOS, con la que me entretenia mucho. Ese tarro lo use para jugar y echar a perder hasta que tuve unos 10 años. Luego por el 96 mi papá compro un Macintosh Performa 6200CD para la oficina (nótese el Performa en el nombre, a pesar de tener un procesador PowerPC 603e RISC de 75Mhz, lo que lo hace claramente un Power Macintosh).

Pase al menos 5 años con ese tarro. Aprendi a desmantelarlo completamente y armarlo casi igual como estaba originalmente. También descubrí el lado entretenido de Macintosh, que separa los archivos en el Data Fork y el Resource Fork, con lo cual editar aplicaciones era un juego de niños, incluso crackee algunos programas usando ResEdit, pero ese es otro cuento.

Lo que pasó fue que me vino la nostalgia por el ya obsoleto MacOS Classic, yo empece usando la version del System 7.5.3, y mi tarro aguanto hasta el MacOS 8.1 despues de un aumento de caché. Bueno, anoche buscando torrents se me ocurrio buscar por MacOS, y encontre una imagen del CD de MacOS 8.6 en inglés con varios programas extras, asi que baje el torrent, me fui a dormir super temprano (4am) y espere que ocurriera la magia.

Afortunadamente aqui en el sur las conexiones de “Banda Ancha” son de banda ancha, y a la mañana siguiente bajo los 400 y tantos megas. Grande fue mi sorpresa cuando al unrarear el susodicho el K3b no queria grabarlo, y google no quiso ayudarme. Le hice un file MacOS86.iso y obtuve:


MacOS86.img: Apple Partition data block size: 2048, first type: Apple_partition_map, name: MRKS, number of blocks: 8, second type: Apple_Driver43, name: Macintosh, number of blocks: 20, third type: Apple_Driver43_CD, name: Macintosh, number of blocks: 100, fourth type: Apple_Patches, name: Patch Partition, number of blocks: 32

O sea, una particion Mac, probablemente HFS+ (que es como el FAT32 para el FAT16 como es el HFS+ al HFS guardando las proporciones) y que el comando mount no detecta automáticamente. Entonces, trate de hacerme el loco y montarlo a mano:

mount MacOS86.iso /mnt/hfs -o ro,loop -t hfs

Y voilá, imagen montada. Ahora puedo recorrer la imagen y montarla en el SheepShaver. Pero, ¿y si la quiero grabar? Simplemente tengo que tener las cdrkit (en ArchLinux), y escribir:


cdrecord -v -eject speed=48 dev=/dev/sr0 MacOS86.img

Ahora matando varios pajaros de un tiro, aprendimos un poco de la sintaxis de cdrecord (mas clara que el agua) y que Linux también quema imagenes HFS.

Espero le sirva a alguien.

Mito.

Tags: , , , , , , , , ,

Monday, December 31st, 2007 How-To's, Linux, Macintosh No Comments