martes, octubre 26, 2010

GDM en Fedora y según me contaron Arch también, queda pegado al momento de iniciar el entorno gráfico, todo esto puede deberse a un simple paquete que contiene el controlador EVDEV, para revisar esto, y si es realmente de esta manera ejecuta la X, luego si falla reinicia, en este caso, revisa el registro de errores de Xorg, cat /var/log/Xorg.0.log.old.

En Fedora el paquete se llama:

xorg-x11-drv-evdev

lo instalas con YUM install nombredelpaquete

Otro problema que noté es que si no instalas el paquete:

xorg-x11-drv-synaptics tendrás un puntero porfiado... comenzará a moverse sólo para las orillas de la pantalla...

jueves, octubre 21, 2010

HDMI no muestra nada en la pantalla de la TV...

Pueden haber varias razones, pero la que veremos a continuación se refiere a una en particular, que la versión de tu Kernel, no configura la salida de Video o Codec, esto se debe al parecer a un problema con la BIOS, para solucionar esto debes correr un comando que sale más abajo.

Esto se debe a un problema que está reportado en
https://bugs.freedesktop.org/show_bug.cgi?id=31035

xrandr --output LVDS --auto --output HDMI-0 --right-of LVDS --auto


Puedes correr:

gnome-display-properties

O:
xrandr

Para ver la configuración de video.

De todas maneras, les recuerdo que esto se soluciona en un kernel más nuevo, Kernel Linux 2.6.36
al parecer afecta chipsets RS780, RS880 y algunas BIOS Atoms?

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=351a52a2414d2b104269755c86b476863c248034


Fuentes:
https://bugs.freedesktop.org/show_bug.cgi?id=31035

http://forums.gentoo.org/viewtopic-t-810856-start-0.html

miércoles, octubre 20, 2010

Cómo recuperar mi router que está inutilizado (con OpenWRT)?

Sucede a veces que la imágen que subimos al router está mala, o simplemente cometemos un error y queda la cagada con el router, este lo reiniciamos, y por más que reiniciemos, este queda con los LEDS, PWR estático, y de LAN 1 al 4 parpadeando cada ciertos segundos, lo más probable es que la única forma de revivirlo sea cargar el sistema operativo o firmware por el cable Serial, para esto tendrán que desarmar el router, y luego, conectar el cable serial a él, ejecutar en Windows, Teraterm, en linux puede ser gtkterm o muchos otros clientes, pero la idea es la siguiente, actualmente tu router se reinicia porque no puede cargar el sistema operativo:

.
No valid address in Flash. Using fixed address
: cfg1 0xf cfg2 0x7114
eth0 up
eth0
Autobooting in 1 seconds


y eso produce un bucle, lo que se debe hacer es una vez con Teraterm, GTKTerm o alternativo, el cable conectado, debes configurar el cliente a "115200 8N1", y luego conectar el cliente serial al router, abrir el puerto COM1 lo más probable, verán el mensaje anterior del reinicio automático... escriban TPL cuando aparece "Autobooting in 1 seconds", en la terminal de u-boot, o "prompt".

1.- Hagan el proceso de limpiar la memoria flash:

erase 0xbf020000 +7c0000

2.- Descarguemos la imágen por TFTP, ponemos la dirección y el nombre del archivo a descargar, por defecto la dirección IP de donde intenta descargar es 192.168.0.5, por lo que deben conectar por cable Ethernet el computador al Router y poner por dirección IP su computador a 192.168.0.5, para que tftp descargue la imágen code.bin desde su PC.

tftpboot 0x81000000 code.bin

3.- Copiemos la imágen en el sector de memoria

cp.b 0x81000000 0xbf020000 0x7c0000

4.- Bootiemos el sector donde acabamos de dejar la imágen, si en este paso no funciona, y sigues obteniendo el error de aubooting, deberás usar otro método para cargar la imágen, yo probé con Kermit, no me funcionó, cambié a TFTP y funcionó muchísimo más rápido y de hecho, funcionó!.

bootm 0xbf020000

Nota: el primer paso, donde dice +7c0000 puede variar dependiendo del tamaño de la imágen, para calcular esto, deben tomar el tamaño de la imágen en bytes, y luego transformar ese valor a HEXadecimal, de esa forma sabrán el tamaño exacto.


Cómo levantar un servidor de TFTP?

Este paso a mí, me funcionó de maravillas, es un paso muy corto, lo hice en Fedora 12, espero que tengan el programa DNSMASQ:

dnsmasq --enable-tftp --tftp-root=/code.bindirectory


Cómo hacer un cable Serial, DB9F a RS232?

La imágen lo explica todo, compren la utilería, materiales y a trabajar, o pueden comprar el cable hecho, para saber como se conectan los pines al router, deben ver la descripción que tienen para cada router, estos pines varían: TX, RX, GND, 3,3V

4 resistencias 1,5K 3,9K 4,7K 22K todas de 1/4Watt
2 transistores BC337
1 terminal DB9F






Fuentes:
http://wiki.openwrt.org/doc/hardware/serial.cable?s[]=serial&s[]=console
https://forum.openwrt.org/viewtopic.php?pid=119338#p119338
http://wiki.openwrt.org/toh/tp-link/tl-wr1043nd#oem.installation.using.the.tftp.and.rs232.method

domingo, octubre 17, 2010

Cómo obtener los archivos .POT para traducir un proyecto en múltiples idiomas?

Según las herramientas de la GNU, podemos usar "xgettext", y usando unos simples comandos, no me voy a referir a todos, pero ya sacando los textos del programa, ya podremos traducir en diferentes idiomas, para hacer esto, debemos marcar nuestro código, por ejemplo:


catch (...) {
cerr << _("Exception thrown during parseCommandLine") << endl;
return EXIT_FAILURE;
}


Como podrán notar, existe un _( después del "cerr", esto es la marca, ahora para extraer el texto de ese documento simplemente hacemos un

xgettext --keyword=_ archivo


Eso creará un archivo nuevo, que se llamará messages.po, a menos que le indiques otro nombre, lucirá como:

# ESpanol message translation template for GNU Gnash
# Copyright (C) 2007 Free Software Foundation, Inc.
# John Gilmore , 2007
#
msgid ""
msgstr ""
"Project-Id-Version: gnash cvs20070405\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-02-12 11:37+0100\n"
"PO-Revision-Date: 2010-10-01 00:25-0300\n"
"Last-Translator: Maximiliano Castañón Araneda \n"
"Language-Team: Spanish\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#: libbase/sharedlib.cpp:76
#, c-format
msgid "Couldn't initialize ltdl: %s"
msgstr "No se puede inicializar ltdl: %s"


donde aparecerá:

#: libbase/sharedlib.cpp:76
msgid "Couldn't initialize ltdl: %s"
msgstr "No se puede inicializar ltdl: %s"


la primera línea indica el archivo y la línea.
la segunda línea el msgid por cada línea que se puede traducir, esa indica el idioma del que proviene
la tercera, la traducción a nuestro lenguaje.

Además de obtener esos datos, quizás queramos introducir más archivos a nuestro archivo, en ese caso usaremos:

xgettext --keyword=_ -j archivo

donde -j, --join-existing une los mensajes con un fichero existente


Existen más alternativas, por ejemplo actualizamos nuestro archivo.POT, y luego queremos unir este archivo actualizado con nuestra traducción actual, ahí tenemos a msgmerge:

msgmerge [OPCIÓN] def.po ref.pot
msgmerge -U def.po ref.pot

Además de esto, supongo que querrán compilar el archivo para usarlo, en este caso usaremos pocompile:

pocompile -


Cuando compilo el archivo de traducción de GNASH, uso:

pocompile /home/maximi89/Escritorio/es.po /home/maximi89/Escritorio/es.mo


Y para hacer la traducción y luego mover el archivo uso:

pocompile /home/maximi89/Escritorio/es.po /home/maximi89/Escritorio/es.mo && sudo cp /home/maximi89/Escritorio/es.mo /usr/local/share/locale/es/LC_MESSAGES/gnash.mo

Si se dieron cuenta, el compilador de PO o POT, convierte el archivo de PO a MO (machine object), lenguaje entendido por la PC.

Espero que esta guía rápida algo sirva para orientar hacia que deben usar, yo encontré demasiada información que llega a confundir...