My Friends: kir
My Blogs Previous Page Next Page


kir Diccionario jazaro - Subscribe
El autor actual de este libro le asegura al lector que no tendrá que morir si lo lee.
Así da comienzo una de las grandes obras literarias del siglo XX : Diccionario jázaro, escrita en serbocroata por el serbio Milorad Pavić.

Los jázaros fueron un pueblo de origen turco que pobló el territorio entre los mares Caspio y Negro hasta finales del siglo X en que el príncipe Sviatoslav, sin bajar del caballo se comió el imperio jázaro como si fuera una manzana.
Antes de la caida del imperio, el khagán -soberano jázaro- tuvo un sueño y convocó para que lo intepretaran a tres representantes de las tres religiones (cristianismo, judaismo e islam) prometiendo convertirse él y su pueblo a la religión de quien diese de éste una interpretación más satisfactoria.
Como representantes de la religión cristiana fueron los hermanos Constantino (S. Cirilo) y Metodio de Tesalónica que conocían la lengua de sus súbditos eslavos, que en invierno llevaban pájaros en la camisa para calentarse y tenían las almas barbudas.
Farabi ibn Kora fue el representante del islam ante el khagán jázaro e Isaak Sangari el representante judío. La polémica entre los tres representantes y el khagán es descrita por el filósofo y poeta tudelano Yehudá Haleví en el libro Kitab al Khazarí, escrito en 1141.

Se hace difícil explicar el argumento de esta novela léxico, como la subtitula el autor. Se trata de una supuesta segunda edición de un diccionario impreso en latín, árabe, hebreo, griego y serbio y editado en Prusia en 1691 por el editor polaco Ioannes Daubmannus. La edición fue destruida en 1692 por orden de la Inquisición, excepto dos ejemplares que se salvaron de la quema y siguieron en circulación. El Diccionario jázaro consta de tres diccionarios que el editor recibió de un monje cristiano ortodoxo llamado Teoktisto, antiguo escribiente en el monasterio de Nikolje.
Cada uno de los diccionarios consta de las entradas referentes a los personajes, hechos y lugares de la polémica jázara desde el punto de vista de los distintos participantes en ésta.
A su vez autor recrea una historia de los hechos en tres épocas, siglo X, siglo XVII y época actual, donde se entrelazan personajes, historia y ficción.
Libro lleno de poesía, historia y sorprendentes metáforas. Recomiendo su lectura a pesar de lo que dice el autor en la última página: "Leer un libro tan voluminoso significa pasar mucho tiempo solo. Y estar mucho tiempo sin una persona cuya presencia es indispensable, porque la lectura a cuatro manos no se usa todavía".

Aquellos afortunados que dominen la lengua inglesa pueden leer esta versión de The Dictionary of the Khazars siguiendo los enlaces hipertexto.
0 Comments
Mood: blessed

kir OpenWrt, wavemon e ainda mais Sep 16th, 2008 1:34:46 am - Subscribe
Descargo en primer lugar toda la rama de desarrollo del svn de OpenWrt:

~$ svn co https://svn.openwrt.org/openwrt/trunk/

Error validando el certificado del servidor de 'https://svn.openwrt.org:443':
- El certificado no fue emitido por una autoridad marcada como

( Bla, bla, bla... )

- "Huella": a1:0a:d8:2d:af:4e:67:92:18:a0:27:b6:9f:2b:e1:12:08:28:a0:b1
¿(R)echazar, aceptar (t)emporariamente o aceptar (p)ermanentemente? t

Se nos crea en el HOME un directorio trunk/ con todo el tinglado necesario para compilar .
Es necesario tener instalados los siguientes paquetes gcc, binutils, patch, bzip2, flex, bison,make, gettext, pkg-config, unzip, ibz-dev y libc headers para que no nos de error el
~/trunk$ make menuconfig donde podremos configurar el toolchain y el firmware:



Hago los cambios oportunos y salgo guardándolos.
Continúo con un interminable
~/trunk$ make
que descargará las fuentes, construirá las herramientas para la compilación cruzada y compilará el firmware.

:~/trunk$ make
++ mkdir -p /home/kir/trunk/staging_dir/toolchain-mips_gcc4.1.2
++ cd /home/kir/trunk/staging_dir/toolchain-mips_gcc4.1.2
++ mkdir -p bin lib include stamp
Checking 'bison'... ok.
make[1] world
make[2] tools/install

( Más bla, bla, bla )

make[2] package/rootfs-prepare
make[3] package/preconfig
make[2] target/install
make[3] -C target/linux install
make[3] -C target/sdk install
make[2] package/index


En ~/trunk/bin tendremos nuestro nuevo firmware con el que podremos flashear la fonera.

*Compilar programas

Preparo un script llamado sdk el cual al invocarlo con el menu ( uso pekwm como gestor de ventanas ) exporta la variable $PATH con la ruta hacia los binarios del compilador y la variable CC para que use el compilador de C para architectura MIPS.

export PATH=$PATH:/home/kir/trunk/staging_dir/toolchain-mips_gcc4.1.2/bin/
export CC=mips-linux-uclibc-gcc
cd /home/kir/trunk/package
TERM="xterm -fn fixed +sb -bg black -fg green -T sdk"
$TERM


Doy permiso de ejecución al script y lo guardo en un directorio en la ruta del PATH.

En ~/.pekwm/menu añado una entrada que llama a un xterm con los settings anteriores:
Entry = "SDK" { Actions = "Exec $TERM -iconic -e sdk &" }

* wavemon

Descargo las sources de wavemon con apt en /home/kir/trunk/package , aplico el parche http://kir.sdf-eu.org/wavemon_patch/ y hago un ./configure --host=mips-linux.
No da ningun error y ejecuto un make:
Ahora sí que da error, no encuentra ncurses.h
mips-linux-uclibc-gcc -O2 -Wall -c -o ui.o ui.c
ui.c:25:21: error: ncurses.h: No such file or directory

Creo que toca compilar ncurses.

$ cd build_dir/mips/ncurses-5.6/
./configure --host=mips-linux
make

Copio los archivos de ~/trunk/build_dir/mips/ncurses-5.6/lib
y ~/trunk/build_dir/mips/ncurses-5.6/include a ~/trunk/staging_dir/toolchain-mips_gcc4.1.2/include
y bin/
respectivamente.Creo el enlace simbólico ncurses.h que apunta a curses.h y repito el make para wavemon.
Aparecen varios warning pero finalmente compila sin errores:
file wavemon
wavemon: ELF 32-bit MSB executable, MIPS, version 1 (SYSV), dynamically linked (uses shared libs), not stripped
ls -l wavemon
-rwxr-xr-x 1 kir kir 78695 2008-09-17 09:34 wavemon

A continuación "estripo" el binario para que ocupe menos:
mips-linux-strip wavemon
file wavemon
wavemon: ELF 32-bit MSB executable, MIPS, version 1 (SYSV), dynamically linked (uses shared libs), stripped
ls -l wavemon
-rwxr-xr-x 1 kir kir 71280 2008-09-17 09:41 wavemon
.
Con strip el binario se redujo de 78965 a 71280 bytes.
Sólo queda pasarlo a la fonera con scp, wget o como nos venga en gana y disfrutarlo:

* Netdiscover

Descargo las fuentes de netdiscover con apt:
~/trunk/package$ apt-get source netdiscover
cd netdiscover-0.3beta6/
~/trunk/package/netdiscover-0.3beta6$ ./configure --host=mips-linux
.....
checking for pcap.h... no
configure: error: Cannot find pcap.h - You need libpcap installed.


Necesita libpcap, que ya está en
~/trunk$ cd build_dir/mips/libpcap-0.9.8/

En ~/trunk/build_dir/mips/libpcap-0.9.8/ipkg-install/usr tenemos los directorios include/ y lib/ . Copio su contenido a ~/trunk/staging_dir/toolchain-mips_gcc4.1.2/include y lib/ como anteriormente y repito el .configure
./configure --host=mips-linux

checking for libnet.h... no
configure: error: Cannot find libnet.h - You need libnet installed.


Bien, ya tragó con libpcap pero se atraganta con libnet, así que lo descargo.
~/trunk/package$ wget http://downloads.openwrt.org/sources/libnet.tar.gz
~/trunk/package$ tar zxvf libnet.tar.gz
~/trunk/package$ cd libnet/

El configure no da problemas pero make muestra un error:
In file included from libnet_asn1.c:60:
../include/libnet.h:117:10: error: macro names must be identifiers

Edito la línea que es un #define 1 y la cambio a #define LIBNET_BIG_ENDIAN 1
A continuación ejecuto el make sin ningún error (aunque da varios warnings) pero no me aparece ningun directorio con las librerias.
Cambio la estrategia e instalo otra versión desde el mismo ftp de OpenWrt: wget http://downloads.openwrt.org/sources/libnet-1.0.2a.tar.gz

Descomprimo, cambio al directorio, bla, bla, bla... y no funciona.

Nuevo intento descargando libnet con apt
~/trunk/package$ apt-get source libnet1
...
In file included from libnet_asn1.c:60:
../include/libnet.h:117:10: error: macro names must be identifiers

Ya empezamos ...
Edito y añado LIBNET_BIG_ENDIAN a la linea del #define 1 (#define LIBNET_BIG_ENDIAN 1) y voilà que compila el jodido!
Ahora toca copiar los archivos .h y las librerias como anteriormente.. y sigue sin ir la cosa.

Vuelvo a ejecutar el configure con la opción --prefix:
./configure --host=mips --prefix=/home/kir/trunk/staging_dir/toolchain-mips_gcc4.1.2/
make
make install


Compila y se instala sin errores; cambio al directorio de netdiscover y
~/trunk/package/netdiscover-0.3beta6$ ./configure --host=mips-linux

y....

checking libnet.h usability... yes
checking libnet.h presence... yes
checking for libnet.h... yes

~/trunk/package/netdiscover-0.3beta6$ make
O.K.
cd src
file netdiscover
netdiscover: ELF 32-bit MSB executable, MIPS, version 1 (SYSV), dynamically linked (uses shared libs), not stripped
ls -l netdiscover
-rwxr-xr-x 1 kir kir 441081 2008-09-18 09:36 netdiscover
mips-linux-strip netdiscover
file netdiscover
netdiscover: ELF 32-bit MSB executable, MIPS, version 1 (SYSV), dynamically linked (uses shared libs), stripped
ls -l netdiscover
-rwxr-xr-x 1 kir kir 367388 2008-09-18 09:38 netdiscover


Parece ser que para usar nuevas librerías, hay que compilarlas hay que usando la opción --prefix en el ./configure; así le indicamos el compilador dónde está el lib/ y el /include .

Los binarios están en http://kir.sdf-eu.org/kamikaze_808
0 Comments
Mood: flippant

kir Flashear con kamikaze 8.08 Aug 25th, 2008 5:36:51 pm - Subscribe
Exáctamente igual que con kamikaze 7.09

Para entrar por telnet y que funcione ^C hay que crear un archivo ~/.telnetrc con el siguiente contenido:

192.168.1.1 9000
...........mode line

tal como está ( substituir los puntos por espacios ).
Lanzar el servidor tftp con los archivos openwrt-atheros-root.squashfs y openwrt-atheros-vmlinux.lzma en el directorio que corresponda según el tftp que usemos.
Una vez en el Redboot ejecutar los siguientes comandos:

fis init
ip_addr -h 192.168.1.100 -l 192.168.1.1/24
load -r -v -b 0x80041000 openwrt-atheros-root.squashfs
fis create -b 0x80041000 -f 0xA8030000 -l 0x006F0000 -e 0x00000000 rootfs
load -r -b %{FREEMEMLO} openwrt-atheros-vmlinux.lzma
fis create -r 0x80041000 -e 0x80041000 vmlinux.bin.l7
fis load -l vmlinux.bin.l7
exec


Despues de exec pulsar Enter dos veces.

Entrar por telnet 192.168.1.1 23 , cambiar clave de root y la siguiente vez entraremos con el comando ssh root@192.168.1.1




0 Comments
Mood: dubitativo

kir Armonica blues Aug 14th, 2008 9:59:29 pm - Subscribe

Adagio - Allegro molto



Suele llamarse "armónica de blues" a la armónica diatónica de 10 agujeros y 20 lengüetas (Blues Harp, Pro Harp, Marine Band, etc ).
Tomaré de referencia para los ejemplos la afinación en en C ( Do mayor) situando en la parte superior las notas sopladas y en la inferior las aspiradas
. Con la correspondiente secuencia de soplos y aspiraciones en los orificios apropiados de la embocadura obtendremos las siguientes notas ( obviando la repeticiones en distintas octavas y la disposición de las lengüetas en el instrumento ) : do, re, mi, fa, sol, la, si. Se obtienen tambien los siguientes acordes: do mayor en inversiones ascendentes al soplar y sol mayor en los tres agujeros de la parte de los graves y un re disminuido (?) el los siguientes agujeroa aspirados.
Con esto ya podríamos tocar una infinidad de melodías siempre dentro de la tonalidad de do mayor o su relativa menor ( la menor ) sin alterar ninguna nota. Por ejemplo, con la misma armónica diatónica se puede tocar sin esfuerzo una canción como Blowin' in the win ( tono mayor ), House of the rising sun ( tono menor ) o Wish you where here ( usa ambas tonalidades ) solo con soplar o aspirar en el agujero adecuado.

Largo



Para entenderlo mejor veamos la estructura de la armónica:
Sujetando la armónica con la parte de los graves a la izquierda, las lengüetas que suenan al soplar están situadas en la parte superior de la armónica y las que suenan al aspirar en la parte inferior: Por cada par de lengüetas ( aspirada y soplada ) hay un unico agujero. Las armónicas de blues constan generalmente de 10 agujeros y 20 lengüetas.
La afinación de estas armónicas se conoce como Standard Richter :
C E G C E G C E G C <-- Sopladas
D G B D F A B D F A <-- Aspiradas

Como puede observarse solo existen las notas correspondientes a la escala en que está afinada. Esto es aplicable a cualquier afinación, por ejemplo una Blues Harp en G:

G B D G B D G B D G
A D F# A C E F# A C E

Haciendo bending (soplado o aspirado, según en qué agujeros ) podremos bajar la afinación de la nota en medio tono, un tono o incluso tono y medio.
Por una cuestión física que no voy a explicar ( para no poner en evidencia mi ignorancia ) se puede hacer bending aspirando en los agujeros donde las lengüetas más graves sean las de soplar ( desde el 1º al 6º ) y bending soplado en las que sea más grave la lengüeta de aspirar ( del 7º al 10º ). Tampoco voy a explicar lo que es el bending, el overblow ni el overdraw, hay suficiente información en internet sobre ello.
Poniendo válvulas en todas las lengüetas se puede hacer bending con todas las notas, ya sean sopladas o aspiradas.

Scherzo: Molto Vivace - Poco sostenuto



Las notes que necesitan válvula en una diatónica son 1-2-3-4-5-6 aspiradas y 7-8-9-10 sopladas. Así puede hacerse tambien bending soplado nos 6 primeros agujeros y aspirado en los 3 últimos.



La válvula es una lámina generalmente de material plástico de tamaño mayor que la ranura de la lengüeta y pegado por el lado opuesto a esta, es decir por el otro lado del peine. Va encolada sobre el mismo remache o tornillo de la lengüeta. Su función es la de impedir que el aire se escape a través de una lengüeta cuando estamos haciendo sonar la otra del mismo canal.



Peine de una Hohner Pro Harp con válvulas en las lengüetas 1 a 6 aspiradas y 7 a 10 sopladas. El material es celofán del que cubre las cajetillas de tabaco y la cola utilizada Bunitex. Hice pruebas con otros plásticos pero no me convencieron los resultados. Obvia decir que es complicado cortar unas láminas tan pequeñas, recomendando el uso de lupa y buena iluminación y un cuidado extremo a la hora de encolarlas. Para ello sujeto la lámina por un extremo con unas pinzas, y con un palillo cojo una gota minúscula de pegamento que deposito encima del remache; apoyo la lámina sobre la ranura y con el otro extremo del palillo ( el seco ) presiono la lámina contra la gotita de pegamento. Hay que prestar atención a que el pegamento no se extienda demasiado y llegue a tocar la lengüeta o a obstruir la ranura, cosa que podría arruinar el trabajo. Mantener la presión unos segundos mientras se centra bien la lámina si es que está algo desviada. Normalmente corto las láminas a la anchura apropiada pero un 50% más largas de lo necesario para hacerlas más manejables. Una vez seco el pegamento corto el sobrante con un bisturí.
El esfuerzo merece la pena; al primer soplido nos encontraremos frente a un nuevo instrumento.

Allegro con fuoco



Con un poco de cuidado, un mínimo de herramientas y decisión se puede reafinar una lengüeta, bien para restituirla a su tono original si es que se ha "fatigado" o bien para cambiar la tonalidad y "digitación" del instrumento.

Herramientas:
- Algún destornillador pequeño para poder desarmar la armónica.
- Lima para metales, cuanto más pequeña mejor.
- Una lámina fina de metal o plastico duro de unos 80x20 mm. Sirve para apoyar sobre ésta la lengüeta sobre la que vayamos a trabajar protegiendo las otras.
- Un bisturí, cúter o similar.
- Un soldador de estaño ( sólo si vamos a bajar mucho tono )
- Un afinador electrónico que será más fiable que nuestro oído.

La técnica consiste fundamentalmente en quitar masa de la lengüeta para cambiar la frecuencia de vibración: Si la masa la quitamos ( rascando o limando ) del extremo libre, vibrará a mayor frecuencia y subirá el tono: Si lo hacemos del extremo cercano al remache se "debilitará" la lengüeta y bajará el tono.Hay que tener cuidado de no limar demasiado pues podría quedar demasiado débil. Si se necesita hacer una bajada de tono grande ( dos semitonos o más ) da buen resultado fundir una gotita de estaño en el extremo libre; esto bajará el tono hasta una octava. Luego con la lima se va quitando estaño y subirá el tono al la altura deseada.
Resta decir que todas estas operaciones hay que hacerlas con sumo cuidado pues si rompemos la lengüeta dejamos la armónica inservible. Substituirla es una tarea más complicada que todo esto.
Para practicar recomiendo usar armónicas chinas debido a su bajo precio, aunque la calidad de su lengüetería no permite mucho trote.
A continuación unos ejemplos de afinaciones a partir de una Standard Richter : afinada en C que con la debida transposición son aplicables a armónicas afinadas en cualquier tonalidad:

C E G C E G C E G C
D G B D F A B D F A


Esta es la afinación normal de una armónica blues.

Paddy Richter (® Brendan Power) :


C E A C E G C E G C
D G B D F A B D F A


Alterando solo una lengüeta ( la 3ª soplada, subiendo un tono de G a A ) obtenemos:
- El acorde de la menor ( soplando en los 3 primeros orificios )
- El acorde de sol mayor aspirando en los 3 primeros orificios.
- El acorde de do mayor soplando en 3 o más orificios simultaneamente a partir del cuarto.
- La escala completa a partir del primer orificio necesitando solo un bending en el 2º aspirado ( para conseguir el fa que falta )

Melody Maker ( ® Lee Oscar):

C E A C E G C E G C
D G B D F# A B D F# A



Permite tocar en tono de G a partir del 2º agujero aspirado y en tono normal ( C ) haciendo bending de medio tono el los agujeros 5 y 9 aspirados ( para bajar el fa# a fa natural )

Country tuning:


C E G C E G C E G C
D G B D F# A B D F A



Otra afinación en la cual solo se modifica la 5ª lengüeta aspirada ( de fa a fa# ) y que nos permite tocar cómodamente en los tonos de C y G.

Recomiendo la descarga de este documento de Pat Missin para más información.

0 Comments
Mood: Andante con brio ma con un attimo di malinconia

kir Scripts Aug 8th, 2008 2:53:55 pm - Subscribe
#!/bin/bash

if [ $# -lt 1 ]; then
echo
echo -e " Uso: $0 <Tipo> Nuevo_Nombre> <Extension> "
echo ""
echo " Renombra los archivos de extension <Tipo> de un directorio"
echo " a <Nuevo_Nombre>-nº.<Extension>"
echo ""
echo " Ejemplo: rmv MP3 song mp3 = song-0.mp3, song-1.mp3 ..."
echo ""
exit 1
fi

tipo=$1
nuevo_nombre=$2
extension=$3
COUNTER=0

for i in $( ls *.$tipo); do
mv $i $nuevo_nombre-$COUNTER.$extension
echo -e $i ... $nuevo_nombre-$COUNTER.$extension
let COUNTER=COUNTER+1
done

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

#!/bin/bash

if [ $# -lt 1 ]; then
echo "Uso: $0 <interface>"
exit 1
fi
IFACE=$1
STATUS=`cat /proc/net/wireless |grep $IFACE |gawk '{print $2}' FS=" "`
LINK=`cat /proc/net/wireless |grep $IFACE |gawk '{print $3}' FS=" "`
LEVEL=`cat /proc/net/wireless |grep $IFACE |gawk '{print $4}' FS=" "`
NOISE=`cat /proc/net/wireless |grep $IFACE |gawk '{print $5}' FS=" "`
echo
echo -e Estado: $STATUS Link : $LINK
echo -e Level : $LEVEL Noise: $NOISE
echo

0 Comments
Mood: neurotic

kir /etc/dialogrc Jul 6th, 2008 8:26:26 pm - Subscribe
Archivo de configuración para cambiar el aspecto de los scripts con dialog.



~$ cat /etc/dialogrc
use_shadow = ON
use_colors = ON
screen_color = (WHITE,BLACK,OFF)
shadow_color = (WHITE,BLACK,OFF)
dialog_color = (GREEN,BLACK,OFF)
title_color = (YELLOW,BLACK,ON)
border_color = (BLACK,BLACK,ON)
button_active_color = (WHITE,BLUE,ON)
button_inactive_color = (WHITE,BLACK,OFF)
button_key_active_color = (WHITE,BLUE,ON)
button_key_inactive_color = (CYAN,BLACK,OFF)
button_label_active_color = (WHITE,BLUE,ON)
button_label_inactive_color = (WHITE,BLACK,ON)
inputbox_color = (BLUE,WHITE,OFF)
inputbox_border_color = (BLACK,BLACK,ON)
searchbox_color = (YELLOW,WHITE,ON)
searchbox_title_color = (WHITE,WHITE,ON)
searchbox_border_color = (RED,WHITE,OFF)
position_indicator_color = (YELLOW,BLACK,OFF)
menubox_color = (GREEN,BLACK,OFF)
menubox_border_color = (BLACK,BLACK,ON)
item_color = (GREEN,BLACK,OFF)
item_selected_color = (RED,BLACK,OFF)
tag_color = (YELLOW,BLACK,ON)
tag_selected_color = (WHITE,BLUE,OFF)
tag_key_color = (CYAN,BLACK,OFF)
tag_key_selected_color = (GREEN,BLUE,ON)
check_color = (CYAN,BLACK,OFF)
check_selected_color = (WHITE,CYAN,ON)
uarrow_color = (GREEN,BLUE,ON)
darrow_color = (GREEN,BLUE,ON)
itemhelp_color = (GREEN,BLACK,OFF)
0 Comments
Mood: vasilón

kir iwlist scan formateado en la fonera Jul 5th, 2008 10:15:43 pm - Subscribe
#!/bin/ash
IFACE="ath1"
# Ficheros temporales
ARCHIVO=/tmp/iwlist_scan.txt
bssids=/tmp/bssids.txt
signal=/tmp/signal.txt
ch=/tmp/ch.txt
enc=/tmp/enc.txt
essid=/tmp/essid.txt

printf "BSSID SIGNAL CH ESSIDn"

/usr/sbin/iwlist $IFACE scan > $ARCHIVO
LINEAS_ARCHIVO=$(wc -l < $ARCHIVO)

grep "Address" $ARCHIVO | cut -d' ' -f15 > $bssids
grep "Signal" $ARCHIVO | cut -d'-' -f2 | cut -d' ' -f1 > $signal
grep "Frequency" $ARCHIVO | cut -d' ' -f24 | cut -d')' -f1 > $ch
grep "ESSID" $ARCHIVO | cut -d'"' -f2 > $essid
lineas=$(wc -l < $bssids)

for i in $(seq 1 $lineas); do

BSSID=$(sed -n ''$i' p' $bssids)
ESSID=$(sed -n ''$i' p' $essid)
SIGNAL=$(sed -n ''$i' p' $signal)
CHANNEL=$(sed -n ''$i' p' $ch)
printf "%s -%s dBm %2s %sn" $BSSID $SIGNAL $CHANNEL $ESSID
done
printf "iwlist scan completo = %s lineas.n" $LINEAS_ARCHIVO

***********************************
La salida es aproximadamente así:


(Gracias a ErNi_ )
0 Comments
Mood: el que nun sabe ye como'l que nun ve

kir Xinerama con nvidia y s3virge Jun 20th, 2008 4:46:16 pm - Subscribe
Si no tenemos una tarjeta gráfica con doble salida (VGA y DVi) pero tenemos 2 tarjetas PCI, o una AGP y una PCI podemos usar las 2 salidas VGA y conectar sendos monitores.


Mis tarjetas son (según lspci) : la 1º una nVidia GeForce4 MX 440 AGP 8x y la 2º una S3 Inc. ViRGE/GX2.

La tarjeta nVidia va conectada a un monitor TFT Arnos Instruments F-417 de 1280x1024 puntos de resolución y la S3 a un CRT LG Studioworks 520Si de 1024x768.


xorg.conf-dos-monitores-dos-tarjetas

####### Files y Modules ########

Section "Files"
FontPath "/usr/share/X11/fonts/misc"
FontPath "/usr/share/X11/fonts/cyrillic"
FontPath "/usr/share/X11/fonts/100dpi/:unscaled"
FontPath "/usr/share/X11/fonts/75dpi/:unscaled"
FontPath "/usr/share/X11/fonts/Type1"
FontPath "/usr/share/X11/fonts/100dpi"
FontPath "/usr/share/X11/fonts/75dpi"
FontPath "/usr/share/fonts/X11/misc"
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection

Section "Module"
Load "i2c"
Load "bitmap"
Load "ddc"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "type1"
Load "vbe"
Load "v4l"
Load "dbe"
EndSection

### Seccion Dispositivos de entrada ###

# Teclado
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "es"
EndSection

# Raton
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ExplorerPS/2"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "true"
EndSection


###### Seccion Monitor #####

# Monitor izquierdo TFT
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Arnos Instruments F-417"
Option "DPMS"
EndSection

#Monitor derecho CRT
Section "Monitor"
Identifier "Monitor1"
VendorName "Unknown"
ModelName "lg"
Option "dpms"
EndSection

###### Seccion Device ######

# Tarjeta nVidia
Section "Device"
Identifier "Videocard0"
Driver "nvidia"
Option "AddARGBVisuals" "True"
Option "NoLogo" "True"
VendorName "NVIDIA Corporation"
BoardName "GeForce FX 5200"
BusID "PCI:1:0:0"
EndSection

# Tarjeta S3 ViRGE
Section "Device"
Identifier "s3"
Driver "s3virge"
VendorName "s3 inc"
BoardName "86c325"
BusID "PCI:0:11:0"
EndSection

###### Seccion Screen ######

Section "Screen"
Identifier "Screen nvidia0"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 16
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1024x768"
EndSubSection
EndSection

Section "Screen"
Identifier "Screen s3"
Device "s3"
Monitor "Monitor1"
DefaultDepth 16
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1024x768"
EndSubSection
EndSection


# ======ServerLayout=========

Section "Extensions"
Option "RENDER" "Enable"
EndSection

Section "ServerLayout"
Identifier "BothTwinView"
Screen "Screen nvidia0"
Screen "Screen s3" RightOf "Screen nvidia0"
Option "Xinerama"
InputDevice "Configured Mouse" "CorePointer"
InputDevice "Generic Keyboard" "CoreKeyboard"
EndSection


Presenta alguna inestabilidad a la hora de arrancar, a veces hay que resetear y repetir el arranque con recovery mode ( cp xorg.conf-dos-monitores-dos-tarjetas xrog.conf y luego exit ).
Tambien observo que se congela el sistema al cerrar la sesion X. No vuelve al gdm, se queda la pantalla en negro y no responde a nada salvo el botón de reset.
Por lo demás, una vez que arranca funciona con las dos pantallas sin problema.

0 Comments
Mood: joyful

kir mdk3-v4 para kamikaze_7.09 Feb 23rd, 2008 3:52:49 pm - Subscribe
Antes de compilar añadir en el Makefile (tambien en el de osdep/) la linea:
CC = mips-linux-uclibc-gcc

Añadir en ../mdk3-v4/osdep/common.mak

TOOL_PREFIX =~/soft/kamikaze_7.09/staging_dir_mips/bin/mips-linux-uclibc-


En ../mdk3-v4/osdep/linux.c :

Cambiar #include "<"linux/wireless.h">" por #include "wireless.h"


y en el mismo directorio poner una copia de wireless.h (a mi me compiló con la version 18


El binario es mdk3

.
0 Comments
Mood: punchy

kir wavemon para openwrt kamikaze_7.09 Feb 21st, 2008 3:05:47 am - Subscribe


Descargar wavemon
0 Comments
Mood: ahí queda eso!

kir netdiscover en la fonera Feb 15th, 2008 2:18:02 am - Subscribe
Por sugerencia de ErNi_ compilé netdiscover para kamikaze 7.09
La versión compilada es netdiscover-0.3beta6
y el binario es netdiscover
0 Comments
Mood: dizzy

kir Binarios MIPS Dec 29th, 2007 7:16:58 pm - Subscribe
Descargar kamikaze_7.09.tar.bz2

descomprimirlo:

tar jxvf kamikaze_7.09.tar.bz2
cd kamikaze_7.09/
make menuconfig

(si da algún error instalar los paquetes que nos pida.


Seleccionar Target System (Atheros [2.6])
Marcar [x] Build the OPenWrt SDK
Echar un vistazo a las opciones Base System, Utilities, Libraries y Network para marcar las que nos interesen.
Salir guardando los cambios y ejecutar make.

export PATH=$PATH:/home/kir/soft/kamikaze_7.09/staging_dir_mips/bin

export CC=mips-linux-uclibc-gcc

kir@beth:~/soft/kamikaze_7.09$ cd package/
kir@beth:~/soft/kamikaze_7.09/package$

En este directorio descargamos los fuentes del programa que queremos compilar.

Ejemplo:
kir@beth:~/soft/kamikaze_7.09/package$ apt-get source nano

cd nano-2.0.6/
./configure --host=mips
make
cd src
file nano
nano: ELF 32-bit MSB executable, MIPS, version 1 (SYSV), dynamically linked (uses shared libs), not stripped

Hacemos un mips-linux-strip nano para reducir el tamaño del binario y solo nos queda pasarlo a la fonera con scp, wget desde la fonera ( si tenemos Apache instalado ) o copiandolo a un directorio compartido:

cp nano /home/kir/fonera/

En la fonera el directorio compartido es /mnt

cd /mnt
root@OpenWrt:/mnt# ./nano Prueba.txt


Enlaces:
Documentación de Kamikaze
OpenWrt Programming
Build-root documentation
Compilación cruzada

0 Comments
Mood: cabezón

kir Fonera y NFS Nov 23rd, 2007 12:26:06 pm - Subscribe
Hay que configurar el server NFS en el pc y poner en /etc/exports el directorio que se va a compartir.

En /etc/exports :

/home/kir/fonera 192.168.10.100/255.255.255.0(rw,sync)

reiniciamos nfs:
/etc/init.d/nfs-user-server restart

En la fonera instalamos los siguientes paquetes:

kmod-fs-nfs
nfs-utils
portmap

Ejecutamos portmap en la fonera

Y a continuación

mount -t nfs ip_del_pc:/directorio_exportado /punto_de_montaje -o rw

En mi caso tengo:

mount -t nfs 192.168.10.100:/home/kir/fonera /mnt -o rw
0 Comments
Mood: rumbero

kir Fonera cliente Nov 17th, 2007 12:28:04 pm - Subscribe
0 - Evitar que se inicie el firewall

chmod -x /etc/init.d/firewall

1 - Crear el script /bin/cliente y darle permiso de ejecución.

ifconfig ath1 down
wlanconfig ath1 destroy
wlanconfig ath1 create wlandev wifi0 wlanmode sta nosbeacon
ifconfig ath1 up
ifconfig eth0 192.168.1.1
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o ath1 -j MASQUERADE
iptables -A OUTPUT -o eth0 -j ACCEPT
iptables -A INPUT -i eth0 -j ACCEPT

2 - Crear el script /etc/init.d/auto con permiso de ejecución.

START=70
{
cliente
udhcpc -i ath1
}


3 - Hacer el siguiente enlace simbólico:

ln -s /etc/init.d/auto /etc/rc.d/S70auto


Al reiniciar la fonera se conectará automáticamente a la red a la que se haya asociado.

El pc tiene que estar en el rango 192.168.1.x
Si no hay conexión a internet probar con dhclient.
0 Comments
Mood: perturbed

kir Flashear la Fonera 2200 con OpenWrt Nov 10th, 2007 5:49:18 am - Subscribe
Flashear la fonera

(Tomado del blog de pcb )

1- Entrar al RedBoot por 192.168.1.1:9000

Descargar el archivo break en el home del blog de Nitz

Poner en /etc/network/interfaces :

address 192.168.1.100
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255

/etc/init.d/networking restart

Abrir un terminal y poner:

ping 192.168.1.1

y en otro (sin pulsar enter aún) :

nc -vv 192.168.1.1 9000 < break

Enchufar la fonera y cuando veamos que responde a los pings pulsar enter.
Si coincide que metemos el comando nc en el momento justo éste abrirá una sesión telnet e insertará el código para el Ctrl Break.
Si hay suerte lo conseguiremos en los 100 primeros intentos.

A partir de ahí podemos entrar tambien con telnet 192.168.1.1 9000 desde otro terminal.


2- Descargar los ficheros rootfs y lzma ) y ponerlos a servir usando TFTP
Instalar tftp-hpa
Copiar los archivos descargados a /var/lib/tftpboot
Lanzar el servidor tftp:

sudo /etc/init.d/tftpd-hpa start


3- Ejecutar los siguientes comandos en la fonera
(En ipaddr poner la nuestra en el rango 192.168.1.xxx) :

fis init
ip_addr -h 192.168.1.100 -l 192.168.1.1/24
load -r -v -b 0x80041000 openwrt-atheros-2.6-root.squashfs
fis create -b 0x80041000 -f 0xA8030000 -l 0x006F0000 -e 0x00000000 rootfs
load -r -b %{FREEMEMLO} openwrt-atheros-2.6-vmlinux.lzma
fis create -r 0x80041000 -e 0x80041000 vmlinux.bin.l7
fis load -l vmlinux.bin.l7
exec

4- Una vez Flasheada hay que entrar por telnet a 192.168.1.1:23 para hacer un passwd y cambiar la contraseña.
Entonces se podrá entrar por ssh y caciplar en las entrañas del invento:

ssh root@192.168.1.1
0 Comments
Mood: independent

kir La Fonerina Nov 3rd, 2007 11:44:48 am - Subscribe
Abrir el ssh de la fonera


1. Esto sirve para la fonera con firm 0.7.1 r1

2. Ver la siguientes páginas para crear los ficheros first.html y second.html

http://www.mariomix.net/mariomix-blog/2006/11
/hacking-la-fonera-parte-3/

http://www.mardito.com/weblog/?p=2007


3. Configurar la tarjeta de red del PC con los siguientes valores:

IP: 169.254.255.2
Mask: 255.255.255.0
Gateway: 169.254.255.1
DNS: 169.254.255.1

4. Conectar la fonera al puerto ethernet del PC con un cable de red cruzado, esperar un par de minutos
y abrir en un navegador la direccion http://169.254.255.1
Cuando nos salga la página de configuración de la fonera abrimos otra pestaña en el navegador y en
ella abrimos el fichero first.html y pulsamos en "Submit". Si pide user y pass eastos serán "admin".

5. Abrir en otra pestaña el fichero second.html y pulsar "Submit".

6. En un terminal poner ssh root@169.254.255.1 y usar "admin" como password.

7. Una vez en el shell (root@OpenWrt) escribir:

mv /etc/init.d/dropbear /etc/init.d/S50dropbear (ENTER)

8. Editar:

vi /etc/firewall.user y descomentar las dos lineas siguientes:


# iptables -t nat -A prerouting_rule -i $WAN -p tcp -dport 22 -j ACCEPT

# iptables -A input_rule -i $WAN -p tcp -dport 22 -j ACCEPT

Salvar el fichero y salir al prompt (Esc :wq ENTER)


9. Editar:

vi /bin/thinclient
Comentar la linea :

. /tmp/.thinclient.sh

y a continuación insertar la linea siguiente:

cp /tmp/.thinclient.sh /tmp/thinclient-$(date '+%Y%m%d-%H%M')

Salvar y salir.

10. Si se hizo todo sin errores la próxima vez que enchufemos la fonera tendremos ya el
server ssh activo y podremos entrar con ssh root@169.254.255.1



La fonera en modo cliente

Ver http://www.fonera.info/index.php/topic,20.0.html (post #12 de PeriBrown)

Crear el fichero cliente: vi cliente que contenga:

#Si el firm es kamikaze añadir esta linea al script:
#con el firm de fon no hace falta
/etc/init.d/firewall stop

##Bajamos los interfaces
ifconfig ath0 down
ifconfig ath1 down
##ifconfig eth0:1 down

##Creamos ath0 para modo monitor
wlanconfig ath0 destroy
wlanconfig ath0 create wlandev wifi0 wlanmode monitor

##Creamos ath1 para modo managed
wlanconfig ath1 destroy
wlanconfig ath1 create wlandev wifi0 wlanmode sta nosbeacon

##Subimos los interfaces
ifconfig ath0 up
ifconfig ath1 up
ifconfig eth0 169.254.255.2
# Con el firm kamikaze eth0 la tengo como 192.168.1.1

##Para conectarnos a traves de la fonera a traves de ath1
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o ath1 -j MASQUERADE
iptables -A OUTPUT -o eth0 -j ACCEPT
iptables -A INPUT -i eth0 -j ACCEPT

Salvarlo y darle permiso de ejecución:

chmod +x cliente

Despues de activar el script (./cliente) se pueden ver las redes vecinas con

iwlist ath1 scan


Para conectar a una red conociendo su rango de ip (sin encriptacion) :

iwconfig ath1 essid

ifconfig ath1 192.168.1.100 (una ip dentro del rango)
route add default gw 192.168.1.1 ath1 (de gw la ip del router)
( suponiendo que esas sean las correctas del ap al que nos conectamos )


*Nota
Tambien podemos conectarnos a una red asociandonos a ella:
iwconfig ath1 essid
udhcpc --interface=ath1

Para comprobar si hay conexión basta hacer un ping www.google.es
desde la fonera y desde la máquina conectada a esta por ethernet.
0 Comments
Mood: cavalier

kir Scripts Oct 7th, 2007 7:08:55 am - Subscribe
Streaming con vlc

Emitir con webcam

vlc v4l:/dev/video1:size=320x240 --sout "#transcode{vcodec=WMV1,vb=180,scale=1}:duplicate{dst=display, dst
=std{access=mmsh,mux=asfh,dst=:8080}}" -v --noaudio


Para emitir TV (el canal se sintoniza previamente con xawtv por ejemplo)

vlc v4l:// :v4l-vdev="/dev/video0" :v4l-adev="/dev/dsp" :v4l-norm=2 :v4l-frequency=743250 :v4l-caching=300 :v4l-chroma="" :v4l-fps=-1.000000 :v4l-samplerate=44100 :v4l-channel=55 :v4l-tuner=0 :v4l-audio=0 :no-v4l-stereo :v4l-width=320 :v4l-height=240 :v4l-brightness=-1 :v4l-colour=1 :v4l-hue=1 :v4l-contra --sout "#transcode{vcodec=WMV1,vb=180,scale=1}:duplicate{dst=display, dst=std{access=mmsh,dst=:8080}}" -v --noaudio

Para conectar:
vlc mmsh://mi_ip:8080 (mi_ip = kyir.no-ip.org)

Ver temperatura con mbmon (daemon)

telnet localhost 411 | grep "TEMP0\|TEMP1\|FAN1" | sed '/TEMP0/s//Placa Base\(ºC\)/g' | sed '/TEMP1/s//Procesador\(ºC\)/g' | sed '/FAN1/s//Ventilador\(rpm\)/g'
0 Comments
Mood: ignorant

kir Delenda Carthago Oct 7th, 2007 6:50:31 am - Subscribe
Delenda Carthago - Franco Battiato

Per terre ignote vanno le nostre legioni
a fondare colonie a immagine di Roma
"Delenda Carthago"
con le dita colorate di henna su patrizi triclini
si gustano carni speziate d'aromi d'Oriente;
in calici finemente screziati frusciano i vini,
le rose, il miele.

Nei circhi e negli stadi
s'ammassano turbe stravolte
a celebrare riti di sangue.

....Conferendis pecuniis
ergo sollicitae tu causa, pecunia, vitae!
per te immaturum mortis adimus iter;
tu vitiis hominum crudelia pabula praebes,
semina curarum de capite orta tuo.


Delenda Carthago

Por tierras desconocidas van nuestras legiones
a fundar colonias a imagen de Roma
"Delenda Carthago" (Cartago debe ser destruida)
con los dedos coloreados de henna en patricios triclinios
se saborean carnes especiadas de aromas de Oriente;
en cálices finamente jaspeados susurran los vinos,
las rosas, la miel.

En los circos y en los estadios
se amontonan turbas trastornadas
celebrando ritos de sangre.

Interea conferendis pecuniis pervastata Italia, provinciae eversae sociiaue populi et
auae civitatium liberae vocantur .[Tacitus, Anales: Liber 15,45]
Entretanto, para sacar dinero se
saqueó Italia, se revolvieron las provincias, los pueblos aliados y las ciudades que se llaman libres.

Sollicitae tu causa, pecunia, vitae.
per te inmaturum mortis adimus iter;
tu vitiis hominum crudelia pabula praebes
semina curarum de capite orta tuo.
[Propércio, Elegiae 3.7.1].
Oh dinero, tu eres la causa de una vida intranquila.
por tu causa tomamos el camino de la muerte prematura

la simiente de tus preocupaciones saldrá de tu cabeza.
0 Comments
Mood: pained

kir ~/.conkyrc Oct 5th, 2007 1:23:54 am - Subscribe
background no
font -artwiz-runt-*-*-*-*-*-*-*-*-*-*-*-*
use_xft no
xftfont century schoolbook 1 Mono:size=7
xftalpha 0.8
mail_spool $MAIL
update_interval 5.0
total_run_times 0
own_window no
own_window_transparent yes
own_window_colour hotpink
double_buffer yes
minimum_size 280 5
draw_shades no
draw_outline no
draw_borders no
stippled_borders 8
border_margin 4
border_width 1
default_color white
default_shade_color black
default_outline_color white
alignment top_left
gap_x 12
gap_y 12
no_buffers yes
uppercase no
cpu_avg_samples 2
net_avg_samples 2
override_utf8_locale no
use_spacer no
TEXT

$stippled_hr
${alignc}$time
${alignc}${execi 60 whoami}@$nodename - $sysname $kernel a $freq Mhz
${stippled_hr}
${execi 20 telnet localhost 411 | grep "TEMP0|TEMP1|FAN1" | sed '/TEMP0/s//Placa Base(C)/g' | sed '/TEMP1/s//Procesador\(C\)/g' | sed '/FAN1/s//Ventilador\(rpm\)/g'
}
${stippled_hr}
${color grey}Uptime:$color $uptime ${color lightgrey}- Load:$color $loadavg
${color white}Uso de CPU:${color #cc2222} $cpu% ${cpubar}
${color red}${cpugraph 0000ff 00ff00}
${color grey}RAM en uso:$color $mem/$memmax - $memperc% ${membar}
${color grey}Swap en uso:$color $swap/$swapmax - $swapperc% ${swapbar}
${color grey}Procesos:$color $processes ${color grey}Corriendo:$color $running_processes
${stippled_hr}
Eth0
Bajada:${color #8844ee} ${downspeed eth0} k/s${color lightgrey} ${offset 80}Subida:${color #22ccff} ${upsp
${color #0000ff}${downspeedgraph eth0 16,150 ff0000 0000ff} ${color #22ccff}${upspeedgraph eth0 16,150 000
Eth1
Bajada:${color #8844ee} ${downspeed eth1} k/s${color lightgrey} ${offset 80}Subida:${color #22ccff} ${upsp
${color #0000ff}${downspeedgraph eth1 16,150 ff0000 0000ff} ${color #22ccff}${upspeedgraph eth1 16,150 000
Wlan0
Bajada:${color #8844ee} ${downspeed wlan0} k/s${color lightgrey} ${offset 80}Subida:${color #22ccff} ${ups
${color #0000ff}${downspeedgraph wlan0 16,150 ff0000 0000ff} ${color #22ccff}${upspeedgraph wlan0 16,150 0
${color grey}/ ${color red}${fs_size /} ${fs_bar /}
${color grey}Home ${color red}${fs_size /home} ${fs_bar /home}
${color grey}hda1 ${color red}${fs_size /media/hda1} ${fs_bar /media/hda1}
${color grey}hda5 ${color red}${fs_size /media/hda5} ${fs_bar /media/hda5}
${color grey}hda2 ${color red}${fs_size /media/hda2} ${fs_bar /media/hda2}
$stippled_hr
${color #ddaa00}Direccion Remota ${alignr} Servicio Local/Puerto$color
${tcp_portmon 1 65535 rhost 0} ${alignr} ${tcp_portmon 1 65535 lservice 0}
${tcp_portmon 1 65535 rhost 1} ${alignr} ${tcp_portmon 1 65535 lservice 1}
${tcp_portmon 1 65535 rhost 2} ${alignr} ${tcp_portmon 1 65535 lservice 2}
${tcp_portmon 1 65535 rhost 3} ${alignr} ${tcp_portmon 1 65535 lservice 3}
${tcp_portmon 1 65535 rhost 4} ${alignr} ${tcp_portmon 1 65535 lservice 4}
${tcp_portmon 1 65535 rhost 5} ${alignr} ${tcp_portmon 1 65535 lservice 5}
${tcp_portmon 1 65535 rhost 6} ${alignr} ${tcp_portmon 1 65535 lservice 6}
${tcp_portmon 1 65535 rhost 7} ${alignr} ${tcp_portmon 1 65535 lservice 7}
${tcp_portmon 1 65535 rhost 8} ${alignr} ${tcp_portmon 1 65535 lservice 8}
${tcp_portmon 1 65535 rhost 9} ${alignr} ${tcp_portmon 1 65535 lservice 9}
${tcp_portmon 1 65535 rhost 10} ${alignr} ${tcp_portmon 1 65535 lservice 10}
${tcp_portmon 1 65535 rhost 11} ${alignr} ${tcp_portmon 1 65535 lservice 11}
${tcp_portmon 1 65535 rhost 12} ${alignr} ${tcp_portmon 1 65535 lservice 12}
${tcp_portmon 1 65535 rhost 13} ${alignr} ${tcp_portmon 1 65535 lservice 13}
${tcp_portmon 1 65535 rhost 14} ${alignr} ${tcp_portmon 1 65535 lservice 14}

0 Comments
Mood: appalled

kir /etc/screenrc Oct 5th, 2007 1:11:52 am - Subscribe
hardstatus on
hardstatus string "%{.kB}%-w%{.kY}%n %t%{-}%+w %=%{..B} %H %{..Y} %d/%m %C%a "
hardstatus alwayslastline
#hardstatus string "%{=b}%{G} %{b}%w %=%{..G} %H %{..Y} %d/%m %C%a "
0 Comments
Mood: cool