|
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. |
|
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 |
|
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 |
|
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:
Esta es la afinación normal de una armónica blues. Paddy Richter (® Brendan Power) :
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):
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:
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.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
#!/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 |
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) |
|
#!/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_ ) |
|
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. |
|
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 . |
![]() Descargar wavemon |
|
Por sugerencia de ErNi_ compilé netdiscover para kamikaze 7.09 La versión compilada es netdiscover-0.3beta6 y el binario es netdiscover |
|
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 |
|
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 - 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. |
|
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 |
|
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. |
|
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' |
|
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. |
|
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} |
|
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 " |