Últimas Publicaciones

Mi QNAP TS-219P Turbo NAS está provocando bloqueos en mi ordenador tras añadir un disco EXT4.

Recientemente he instalado un disco duro externo eSATA que he conectado al QNAP TS-219P para que esté disponible en toda la red. El nuevo disco lo he formateado a EXT4, por aquello de que es el futuro.

Pero poco después empezó una pequeña pesadilla. A partir de ese momento el QNAP empezó a colgarse de forma errática. Y no solo eso, sino que me empezaron a surgir problemas serios también en las máquinas que actúan como clientes, tanto Windows como Linux. Por ejemplo, mi portátil (Windows Vista Business) empezó a colgarse cuando intentaba acceder a cualquier unidad de red que apuntara al QNAP (no solo la nueva externa, sino literalmente cualquiera de las unidades del QNAP). O por ejemplo, el ordenador de sobremesa (Ubuntu Linux) era incapaz también de acceder a ninguna de las unidades NFS del QNAP. Aún peor, porque actualmente alguna de esas unidades contiene ficheros y carpetas sin los cuales resulta imposible logarse, lo que evidentemente provocó alguna que otra protesta por parte de mi santa.

Como soy bastante espabilao, aquí donde me ves, rápidamente asumí que los cuelgues que sufrían todas las máquinas que pretendían acceder al QNAP tenían algo que ver con el disco duro que acababa de añadir, y más concretamente, con su peculiar sistema de ficheros, el EXT4, con el que lo había formateado.

Así que rápido y seguro de mi mismo, entré en la Web de configuración del QNAP, me fuí a la unidad externa, elegí el sistema de ficheros EXT3 y le di al botón de "Formatear ahora". Mmeeeeec. La página Web se colgó. Una y otra vez. Y no me permitía formatear. Ahí empecé a sudar un poquito, hasta que me di cuenta de que el disco tenía un bonito botón que decía "off". Listo, el ingeniero que lo puso ahí. :-)

Bien, el problema es el sistema de ficheros EXT4. Aunque teóricamente está soportado, al QNAP no le gusta ni un poquito, y se vuelve muy inestable. Tanto, que no te permitirá volver a formatearlo (al menos a mí no me lo permitió). Si te ha ocurrido algo parecido a tí, te recomiendo que actualices inmediatamente el firmware de tu QNAP a la versión 3.2.3 o superior, puesto que incluye algunas correcciones importantes de bugs conocidos, entre ellos... ¡tachaaan!, la inestabilidad del sistema operativo del QNAP con los discos EXT4.

Obviamente, me lancé como un poseso a actuar el firmware, y la verdad es que fue todo como la seda. Con el firmware nuevo, lo primero que hice fue volver a la Web de configuración del QNAP, encender otra vez el disco duro externo conflictivo, y formatearlo a EXT3. Esta vez me lo permitió y funcionó sin problemas. Seguramente hubiera podido seguir usándolo en EXT4, pero visto lo visto preferí no jugármela y usar el "viejo-pero-fiable" EXT3 de toda la vida.

Pues ya lo sabes. De nada. ;-)

Enviar a last.fm la música del QNAP Turbo NAS TS-219p

Si estás usando la función de compartición multimedia del QNAP en tu red local, echarás de menos hacer scrobbling de lo que oyes a tu cuenta de Last.FM. Por ejemplo, yo tengo la PS3 en el salón, conectada a la red WiFi, y con el sonido enganchado al equipo Denon HiFi (con salida 5.1 y una calidad de audio excelente). Así que puedo estar en el salón leyendo un libro mientras oigo cualquiera de mis mp3. El problema es enviar a Last.FM el scrobbling para que se incluya en las estadísticas.

¿Problema?. Bueno, no del todo. Afortunadamente el QNAP Turbo NAS comparte la música en la red local mediante TwonkyMedia Server, y una de sus funciones es abrir una sindicación RSS con la que exporta no solo la música sino también la información de lo que se oye y de las listas de reproducción.

Bueno, pues si una de tus máquinas es Windows, puedes aprovecharte de esa feature de TwonkyMedia, e instalar un programa que lea la sindicación RSS, encuentre la última canción escuchada, y la envíe a Last.FM. El programa en cuestión existe y se llama TwonkyScrobbler, así que solo tienes que tenerlo funcionando para que todo lo que oigas usando la compartición del QNAP se suba automáticamente a Last.FM.

Desde aquí muchísimas gracias a Andrew Garratt, el autor del TownkyScrobbler. Magnífico trabajo: sencillo y elegante. Aunque me encantaría tener también una versión Linux, o mejor aún, una versión integrada en el QNAP. Pero en fin, uno no se queja de lo que la gente simpática hace gratuitamente. ;-)

Sin embargo, debo advertirte que si actualizas el firmware de tu QNAP a la versión 3.2.4, se actualizará también tu software TwonkyMedia Server, concretamente a la versión 5.1.3. Por desgracia, esta versión cambia bastante la sindicación RSS con lo que TwonkyScrobbler dejará de funcionar. Hasta el momento no he conseguido solucionarlo. Estás avisado.

Mi QNAP Turbo NAS TS-219P odia a Ace of Base

Lo primero que hice al instalar mi nuevo QNAP TS-219P, fue volcar ahí toda mi colección de música. La idea que es que toda la red pueda acceder a ella, incluido cualquier dispositivo WiFi que pueda añadirse en el futuro.

Todo fue bien, salvo que un par de álbumes de Ace of Base no aparecían en iTunes. El problema era que todos los ficheros de esos álbumes eran invisibles para cualquier ordenador que usara Windows. Sosprendentemente, sí existían y aparecían correctamente por FTP, desde Linux, por SSH, y cualquier otro sistema de acceso que pueda uno imaginarse. Pero Windows no los veía. Y punto.

Probé de todo lo que se me ocurrió: mover los ficheros a otra carpeta, copiarlos, renombrarlos, resetear el QNAP. En fin, todo. Hasta donde yo se, no soy el único que se ha encontrado con este problema: hay más gente por ahí desesperada con ficheros que Windows no consigue ver aunque están fisicamente presentes.

Al final, yo conseguí solucionar mi problema usando el servicio del QNAP que menos creía que iba a usar: el servidor SSH.

Hice un ssh a la dirección del QNAP. El login es "admin", no root. Y la contraseña es la misma que se usa para el interfaz web. Con esto, se abre una ventana de comandos en la que el QNAP espera órdenes (y es que al fin y al cabo, el aparato funciona nada más y nada menos que con un sistema Linux embebido) .

Vale, ya tengo la ventana de comandos SSH. ¿Y ahora?. Ahora me voy a la carpeta /share/Qmultimedia y hago un listado (con ls -l, no con ls a secas).

[~] # cd /share/Qmultimedia
[/share/Qmultimedia] # ls -l
drwxr-xr-x   18 1000     everyone     4096 Nov 22 03:46 imagen/
drwxr-xr-x   10 1000     everyone     4096 Dec 21 00:09 libros/
drwxr-xr-x  185 1000     everyone     4096 Dec 31 18:30 musica/
drwxrwxr-x    5 1000     everyone     4096 Nov 25 00:39 video/
[/share/Qmultimedia] #

Vale. Ahora me meto en la carpeta de música y busco las carpetas donde está Ace of Base. Y me encuentro una cosa curiosa: los ficheros que son invisibles a Windows tienen permisos distintos a los ficheros que sí aparecen. Cambié los permisos para que sean iguales que los que sí aparecen. Y zas, eso fue todo. Todos los ficheros se hicieron visibles para Windows. ¡Que chorrez!.

A ver, cuando Windows graba un fichero en el QNAP, lo hace como usuario "admin" y grupo "administ". Los permisos en ese caso son de lectura y escritura para usuario, grupo y otros.

En cambio, cuando Linux graba un fichero en el QNAP, intenta preservar los permisos, así que lo hace con el nombre del usuario que sea (en mi caso, aparece en SSH con un UID de 1000). El grupo, es siempre "everyone". Los permisos son de lectura, escritura y ejecución para usuario, lectura para grupo, y puede ser cualquier cosa para otros.

No importa que sea uno u otro juego de permisos. El QNAP hará que cualquier fichero sea visible para todos, sea cual sea el sistema operativo que los grabó. Pero por algún motivo, los ficheros mp3 que eran invisibles no cumplían este patrón. Lo siento, no me acuerdo de qué permisos tenían, pero eran más restrictivos y se solucionó cambiándolos.

Si te ocurre a tí lo mismo, inténtalo primero con el patrón Windows, que es el menos restrictivo. Debería bastar con esto:

[/share/Qmultimedia/musica/ace_of_base/Flowers]# chown admin:administ (ficheros)
[/share/Qmultimedia/musica/ace_of_base/Flowers]# chmod u+rwx (ficheros)
[/share/Qmultimedia/musica/ace_of_base/Flowers]# chmod go+rw (ficheros)

Y recuerda que si quieres cambiar los permisos de todo un árbol de directorios tienes que usar la opción -R. Y que los directorios necesitan además el permiso de ejecución que se pueda acceder a ellos.

Salvo esto, ¿qué tal con tu QNAP?. Yo estoy encantando con él. ;-)

En plena mudanza

Bueno,  esto marcha. En este momento estoy pasando todas las entradas de la vieja web,  una a una (puro copiar y pegar), así que si te fijas seguramente verás que hay ya multitud de ellas con fecha anterior a la de la inauguración. Y más que iré metiendo. Pero de momento todos los enlaces están rotos y apuntan a lacofi.org. Iré arreglando eso poco a poco para que cada enlace apunte solo hacia aquí (va a llevar bastante tiempo, porque tendré que revisar cada entrada: un poco como leerme la web completa).

El mayor problema son las fechas. En mi vieja web, solo empecé a registrar la fecha de cada entrada a partir de enero de 2006. Intento trasladar las entradas con la fecha original pero, como comprenderás, las fechas anteriores a enero de 2006 son una pura estimación, y eso en el mejor de los casos, así que solo el orden es correcto. Una pena, pero hacia el 2002 o 2003 yo no sospechaba siquiera que el sitio pudiese crecer tanto, ni de que un día me preocuparía por la fecha de las entradas. ;-)

Cuando esté terminado, jeanette.es tendrá todos los trucos y comentarios de lacofi.org, pero de momento llevará un poquito de tiempo afinar las cosas. Paciencia.

Y cuando todo eso esté hecho, veré que nuevos gadgets puedo añadir al sitio. :-)

Estamos en obras, perdonen las molestias.

Inauguración oficial

Esta es la primera entrada del nuevo blog. De momento esto está muy vacío, pero poco a poco iré desplazando toda la actividad de lacofi.org a aquí. Toda entrada anterior a ésta, procede de la vieja web. Todo lo nuevo se irá añadiendo a partir de aquí con lo que, con el tiempo, lacofi.org quedará solo abierta por razones historicas y para mantener enlaces. :-)

Imation Odyssey en Linux

Hace tiempo que llevaba buscando algún sistema de backup en cartuchos, pero ninguno me convencía. Supongo que lo que buscaba era un pelín exigente: por ejemplo lo quería en cartuchos pero disco duro, no cinta, con alta velocidad de acceso, con mucha capacidad y ampliable sin tener que cambiar de aparato.

Al final me he decidido por la Imation Odyssey, un aparato que no es fácil de encontrar, pero que puede comprarse a través de Internet (eBay, por ejemplo). Es un dispositivo USB 2.0, con cartuchos de diferentes capacidades, actualmente hasta 320Gb aunque prometen cartuchos de 500Gb en breve.

Su aspecto es un poco feo (tiene una pinta un tanto soviética, la verdad), pero si da todo lo que promete es justo lo que estaba buscando. Solo falta que funcione en Linux, claro. ;-)

Lo malo es que en ningún lugar de Internet conseguí aclararme de si funcionaba o no en Linux. Así que lo compré un poco a la aventura, imaginando que funcionaría simplemente por ser USB 2.0 y confiando en el buen hacer del módulo usb_storage.

No me equivoqué, porque resulta que la unidad Imation Odyssey funciona en Linux "out of the box". Vamos, que es enchufar y ya está. Grande, muy grande.

Lo que no funciona son los cartuchos. :-P

Lo digo en serio, no funcionan. Linux no consigue leerlos de ningna forma. Pero el problema es una chorrez muy fácil de arreglar. Resulta que la tabla de particiones es anómala, y tiene particiones extrañas que el software Windows propietario utiliza para encriptar y desencriptar.

La solución es muy fácil: utiliza fdisk y borra todas esas particiones. A continuación crea una única partición primaria y formateala en ext3, ext4, o lo que quieras. Tan simple como eso.

¿Quieres encriptar el cartucho?. Si pretendes sacarlo de casa (y la verdad es que eso es lo que le da sentido a una unidad como ésta), puedes hacerlo usando dm-crypt. En este caso te recomiendo que NO uses un archivo de contraseña, sino simplemente una frase de paso. ¿Porqué?. Pues porque así Ubuntu es capaz de manejarlo de forma transparente: en cuanto metas un cartucho encriptado, Ubuntu te sacará un diálogo en el que te pide la contraseña. La tecleas, y hala, a funcionar.

Estoy encantando con el juguetito, la verdad.

¿Puedo conectar mi Ubuntu con Internet Everywhere de Orange?

En principio la respuesta es un rotundo "si" con Ubuntu 9.04, pero en realidad todo depende del módem. Actualmente (a fecha 25/09/2009), el módem USB que Orange proporciona con el servicio Internet Everywhere es el Huawei E160E pero es muy, muy posible que funcione con otros módem y otras compañías telefónicas si el módem está soportado. Para saber eso, tendrás que recurrir a Google porque yo solo puedo confirmarte que el Huawei E160E sí está soportado y sí funciona a la perfección con Orange e Internet Everywhere.

Ojito con esto: Si actualizas tu Ubuntu 9.04 a 9.10 Karmic Koala, es posible que te pase como a mi, y que el modem ya no funcione. Sin embargo, en un Ubuntu 9.10 Karmic Koala recién instalado (no me refiero a una actualización, sino a instalarlo como nuevo), sí que parece funcionar todo correctamente, al menos con el kernel 2.6.31-20 que se instala tras la primera actualización de paquetes.

Se supone que cualquier versión superior a 9.10 debería por tanto funcionar correctamente. Y así es: tras actualizar de nuevo mi Ubuntu a 10.04 Lucid Lynx, compruebo que Internet Everywhere continúa conectando sin problemas con el modem Huawei E160E.

En cuanto a la configuración, la verdad es que es tan complicada que da hasta vergüenza contarlo: solo hay que enchufarlo. :-)

Vale, enciende tu Ubuntu y lógate como usuario. ¿Ya?. Ahora enchufa el módem USB y espera unos segundos. Aparecerá un mensaje OSD que dice que se ha detectado una conexión de Banda Ancha Móvil, lo cual es bastante exacto. Poco después aparecerá un asistente que te hará un par de preguntas sencillitas: le dices que estás en España y que la compañía es Orange, básicamente.

A continuación el asistente se cierra y se abre otro cuadro de diálogo que pregunta el PIN. Escribes el pin (solo lo necesita la primera vez, no volverá a preguntarlo). Y ya está. Es tan simple como eso (de hecho es mucho, pero mucho más sencillito y rápido que en Windows).

¿Y para conectarse?. Haz click en el gestor de red, arriba a la derecha en el escritorio. Es esto de aquí:

*

Con eso te despliega un listado de las conexiones disponibles. Una de ellas será Orange. Haz click en ella y se conectará y el icono cambiará a una antenita. Cuando te canses de navegar, vuelve a hacer click en el icono y pulsa en "Desconectar".

Vamos, que muy mal se te tiene que dar... :-D

He actualizado mi Gentoo y ahora XSane no me detecta el escáner

Este problema me ha ocurrido en una de las últimas actualizaciones periódicas de mi Gentoo. Gentoo se mantiene al día con un solo comando "emerge -uDk world", que si lo haces con cierta frecuencia te mantiene todo el sistema como si lo acabaras de instalar nuevecito. Solo tienes que pararte un poco para actualizar las configuraciones. Afortunadamente es un proceso que está muy bien automatizado a través de la utilidad "dispatch-conf", que prácticamente piensa por sí misma y solo te pregunta cuando tiene dudas (y aprende sobre la marcha, con lo que una vez resueltas las dudas es muy probable que ya no vuelva a preguntar).

Pero recientemente debí meter la pata, y XSane dejó de detectar mis escáners (tengo dos, un Canon Lide 30 y un HP Scanjet 6300C con alimentador automático de hojas). Curiosamente, ambos eran detectados correctamente por sane-find-scanner, pero no por XSane ni tampoco por xscanimage.

Y el problema estaba en la configuración, así que estoy seguro de que cometí un error contestando a alguna pregunta que me hizo dispatch-conf. Concretamente, mi fichero /etc/sane.d/dll.conf quedó completamente vacío, con lo que sane no podía utilizar ninguno de los backend disponibles.

La solución es muy sencilla, casi un trámite. Vete a la página de SANE, concretamente al listado de fabricantes y busca el modelo de tu escáner en la tabla correspondiente a su fabricante. A la derecha, encuentra cuál es el backend apropiado para ese modelo concreto y luego mete el nombre del backend en el fichero /etc/sane.d/dll.conf. Si tienes varios escáners, entonces tendrás que poner un nombre de backend por cada línea. En mi caso, el fichero contendrá esto:

 
# sane backends para el Canon Lide 30 y HP Scanjet 6300C con ADF:
plustek
hp

Ya ves qué facil. ;-)

Tarjeta Startech PCIe (PCI Express) con chip MSC9901

Con la compra de selene, me he llevado una pequeña sorpresa (aunque era bastante lógico, por otra parte): el ordenador no trae disquetera (eso es hoy bastante común), pero tampoco puertos paralelo ni puertos serie. Solo trae cuatro puertos USB y uno Firewire, todos en la parte trasera. Un poco escasito, la verdad.

Bien, el caso es que yo necesito muchos más puertos USB traseros, y alguno delantero para enchufar los lápices USB. Además, también necesito al menos dos puertos serie: uno para establecer comunicación con el SAI Trust y otro para mi modem/fax de MultiTech System. Mmmmh... no, el ordenador se conecta a Internet mediante una conexión de banda ancha a través de un puerto ethernet. Pero un anticuado modem/fax puede usarse también para enviar y recibir faxes con el escaner y la impresora, ¿no lo habías pensado?. :-D

Vale. Todos esos problemas pueden solucionarse fácilmente. En Ebay solo se necesita buscar un poquito y se encuentrar montones de soluciones baratas. Por ejemplo, en una tienda alemana (Sotel.de) se encuentra una tarjeta PCI Express USB DeLOCK que abre cuatro puertos USB traseros y un puerto USB interno. Funciona "out of the box" con linux. Vamos, que la instalas y no necesitas hacer nada más en Ubuntu. ;-)

En una tienda francesa (Konektikpc) se encuentra también un panel frontal USB de 3,5 pulgadas, que se conecta al puerto interno de la tarjeta DeLOCK y te abre cuatro puertos frontales USB adicionales. También funciona "out of the box", así que es conectar y listo.

Y en otra tienda francesa (Kalea Informatique), se encuentra una tarjeta PCI Express de marca Startech, con chip Moschip 9901, que proclama funcionar con linux. Es cierto, pero aquí te espera una desagradable sorpresa: no funciona "out of the box", sino que hay que instalar un driver aparte que probablemente no funcionará con tu kernel linux porque hace mucho que se ha quedado anticuado. Vamos, que el cacareado soporte linux es bastante nefasto. Ojo, no es culpa del vendedor que es bastante competente, sino del fabricante del chipset (Moschip), son cosas distintas. Así que tendrás que hackear el driver (bueno, modificar el código fuente a mano), compilarlo y instalarlo por tí mismo.

Afortunadamente, como suele ocurrir con Linux, ese camino ya ha sido recorrido por alguien y nuestro amigo eldiabolosk nos lo cuenta detalladamente. Lo que yo te explico aquí no es más que una traducción de lo que él dice, con alguna puntualización adicional y poco más. Así que las gracias dáselas a él, no a mi, ¿de acuerdo?.

Atención: Este truco solo funciona hasta cierto punto. Concretamente hasta el kernel 2.6.31. Por encima de ahí, más concretamente, con Ubuntu 10.04, NO HE CONSEGUIDO compilar los drivers, con lo que mi bonita tarjeta PCI Express se ha convertido en un bonito pisapapeles. Gracias, Moschip!!!!!!.  :-(((

Bien, abre una ventana de terminal y teclea el comando "lspci". Debería salir un listado en el que se hace alguna referencia a la tajeta PCI Express (PCIe) con chipset 9901. En mi caso, por ejemplo, sale esto:

[lacofi@selene ~]$lspci
(bla,bla,bla)
00:1f.3 SMBus: Intel Corporation 82801JI (ICH10 Family) SMBus Controller
02:00.0 FireWire (IEEE 1394): VIA Technologies, Inc. Device 3403
03:00.0 Serial controller: NetMos Technology PCIe 9901 Multi-I/O Controller
03:00.1 Serial controller: NetMos Technology PCIe 9901 Multi-I/O Controller
03:00.2 Serial controller: NetMos Technology PCIe 9901 Multi-I/O Controller
03:00.3 Serial controller: NetMos Technology PCIe 9901 Multi-I/O Controller
(y sigue con bla,bla,bla)

Vale, esto es solo para asegurarnos y no equivocarnos de chipset.

Ahora, toma el disco de drivers que te venía con la tarjeta y busca en la carpeta de Linux, chipset 9901. Encontrarás un PDF con instrucciones (que puedes tirar) y un fichero starex.tar.gz que contiene los drivers. Si no lo encuentras, también puedes ir a la página del fabricante del chipset y bajarte el driver.

En cualquier caso, ahora cambia a un directorio (o crea uno especial para trabajar) y desempaqueta el fichero starex.tar.gz. Puedes hacerlo desde línea de comandos o a golpe de ratón, eso no importa, porque no necesitas hacerte root para desempaquetar ni para hackear el driver. Pero sí tendrás que volverte root para compilar e instalar el driver.:

[lacofi@selene ~]$ sudo mkdir /opt/starex
password:
[lacofi@selene ~]$ cd /opt/starex
[lacofi@selene /opt/starex]$ tar -xzvf /media/cdrom/MSC9901/MSC9901_Linux/starex.tar.gz
[lacofi@selene /opt/starex]$ ls
total 104K
-rwxr--r-- 1 root root  65K 2007-10-29 06:16 9900.c*
-rwxr--r-- 1 root root 5,0K 2007-11-08 12:40 9900.h*
-rwxr--r-- 1 root root 4,1K 2007-10-29 06:16 9900-isa.c*
-rwxr--r-- 1 root root 1,1K 2007-10-29 06:16 9900-isa.h*
-rwxr--r-- 1 root root  742 2007-10-29 06:16 Makefile*
-rwxr--r-- 1 root root   32 2007-10-29 06:16 mcs9900*
-rwxr--r-- 1 root root 2,3K 2008-02-11 15:58 readme*
[lacofi@selene /opt/starex]$ _

Correcto, esos son los ficheros del código fuente del driver. Ahora hay que modificarlos. El problema es que exigen un kernel muy antiguo, porque los drivers no se actualizan desde Fedora Core 7. Prueba a ver, solo por curiosidad, e intenta compilar:

[lacofi@selene /opt/starex]$ make

Si usas Ubuntu, por ejemplo, usarás un kernel mucho más nuevo de lo que el driver admite y no estará soportado. En ese caso, con el comando anterior te saldrán unos cuantos errores que dicen algo acerca de que "struct uart_info" no tiene ningún miembro llamado "tty". Habitualmente, ese error sale en las líneas 622, 852 y 957. Pero vamos a arreglar eso en un pis pas (ventajas del código abierto):

Edita el fichero 9900.c (por ejemplo con vim pero puedes usar el editor de texto que prefieras). Vale, pues ahora tienes que buscar y reemplazar. En todos los sitios en que aparezca esto:

port.info->tty

debe quedar así:

port.info->port.tty

No tiene pérdida, porque seguramente será en las líneas 622, 852 y 957, las mismas en las que salían los mensajes de error al compilar.

Ahora, en el mismo fichero 9900.c tienes que hacer otra búsqueda para reemplazar. En todos los sitios en los que aparezca esto:

SA_SHIRQ

con esto otro:

IRQF_SHARED

Ahora solo queda arreglar un poco el instalador, porque el driver está diseñado para Fedora y Ubuntu usa un sistema un poco distinto. Así que si usas Ubuntu edita el fichero Makefile. Vete al apartado "install:" y donde pone:

ln -s /etc/init.d/mcs9900 /etc/rc.d/rc3.d/Smcs9900 || true
ln -s /etc/init.d/mcs9900 /etc/rc.d/rc5.d/Smcs9900 || true

debe poner:

ln -s /etc/init.d/mcs9900 /etc/rc3.d/Smcs9900 || true
ln -s /etc/init.d/mcs9900 /etc/rc5.d/Smcs9900 || true

Por último vete al apartado "uninstall:" y donde pone:

rm -f /etc/rc.d/rc3.d/Smcs9900
rm -f /etc/rc.d/rc5.d/Smcs9900

debe poner:

rm -f /etc/rc3.d/Smcs9900
rm -f /etc/rc5.d/Smcs9900

Bien, ahora vuelve a compilar y después instala los drivers:

[lacofi@selene /opt/starex]$ sudo su
passwd:
[root]@selene /opt/starex]# make
rm -f *.mod.c *.o *.ko .*.cmd *.symvers
make -C /lib/modules/2.6.28-15-generic/build/
SUBDIRS=/opt/MCS9901_Linux/version1.6/starex modules
make[1]: se ingresa al directorio `/usr/src/linux-headers-2.6.28-15-generic'
  CC [M]  /opt/MCS9901_Linux/version1.6/starex/9900.o
/opt/MCS9901_Linux/version1.6/starex/9900.c:752:
aviso: se definió ¿transmit_chars_dma_stop_done¿ pero no se usa
  CC [M]  /opt/MCS9901_Linux/version1.6/starex/9900-isa.o
  Building modules, stage 2.
  MODPOST 2 modules
  CC      /opt/MCS9901_Linux/version1.6/starex/9900-isa.mod.o
  LD [M]  /opt/MCS9901_Linux/version1.6/starex/9900-isa.ko
  CC      /opt/MCS9901_Linux/version1.6/starex/9900.mod.o
  LD [M]  /opt/MCS9901_Linux/version1.6/starex/9900.ko
make[1]: se sale del directorio `/usr/src/linux-headers-2.6.28-15-generic'
(observa que no hay ningún mensaje de error)
[root]@selene /opt/starex]# make install
cp 9900.ko 9900-isa.ko /lib/modules/2.6.28-15-generic/kernel/drivers/serial/
depmod -A
chmod +x mcs9900
cp mcs9900 /etc/init.d/
ln -s /etc/init.d/mcs9900 /etc/rc3.d/Smcs9900 || true
ln -s /etc/init.d/mcs9900 /etc/rc5.d/Smcs9900 || true
modprobe 9900
modprobe 9900-isa
root@selene /opt/starex]# _

Vale, ahora ejecuta un comando dmesg y deberías ver que el listado termina con algo así:

starex-serial 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
starex-serial 0000:03:00.0: setting latency timer to 64
0000:03:00.0: ttyD0 at I/O 0xd480 (irq = 17) is a starex-serial
starex-serial 0000:03:00.1: PCI INT B -> GSI 18 (level, low) -> IRQ 18
starex-serial 0000:03:00.1: setting latency timer to 64
0000:03:00.1: ttyD1 at I/O 0xd800 (irq = 18) is a starex-serial
43.650254] starex-serial 0000:03:00.2: PCI INT C -> GSI 19 (level, low) -> IRQ 19
starex-serial 0000:03:00.2: setting latency timer to 64
0000:03:00.2: ttyD2 at I/O 0xd880 (irq = 19) is a starex-serial
starex-serial 0000:03:00.3: PCI INT D -> GSI 16 (level, low) -> IRQ 16
starex-serial 0000:03:00.3: setting latency timer to 64
0000:03:00.3: ttyD3 at I/O 0xdc00 (irq = 16) is a starex-serial

Lo que viene a significar que se han abierto cuatro nuevos puertos serie desde /dev/ttyD0 hasta /dev/ttyD3, aunque como la tarjeta solo trae dos puertos reales, únicamente estarán operativos /dev/ttyD0 y /dev/ttyD1. Comprueba que han sido creados de verdad:

[root]@selene /opt/starex]# ls /dev/ttyD*
crw-rw---- 1 root dialout 200, 0 2009-10-05 02:18 /dev/ttyD0
crw-rw---- 1 root dialout 200, 1 2009-10-05 02:18 /dev/ttyD1
crw-rw---- 1 root dialout 200, 2 2009-10-05 02:18 /dev/ttyD2
crw-rw---- 1 root dialout 200, 3 2009-10-05 02:18 /dev/ttyD3

Los drivers deberían cargarse automáticamente en el arranque del sistema, pero si quieres asegurarte solo tienes que añadir una entrada al fichero /etc/rc.local que ponga esto:

/etc/init.d/mcs9900 start

Y solo un detalle más: Si actualizas tu Ubuntu a la versión 9.10, verás que lleva un kernel 2.6.31 y eso afecta a cómo son detectados los puertos serie: en este caso los puertos /dev/ttySx no se crean si no existen, y en su lugar los de la tarjeta se crean como /dev/ttySx en lugar de /dev/ttyDx. No tiene importancia, pero puede despistarte y tendrás que cambiar la configuración de los programas que utilicen el puerto serie.

Que lo disfrutes. Y te recuerdo que las gracias debes dárselas a eldiabolosk, no a mi. Con gente así, da gusto, la verdad. :-)

Conexión a Internet continua en Ubuntu, incluso deslogado

Ubuntu tiene una "feature" que seguramente a muchos os gustará, pero a mi me ha tocado bastante las narices. Estoy hablando por supuesto del famoso Network Manager, que permite que Ubuntu autoconfigure la red sin que el usuario tenga prácticamente que hacer nada.

El problema es que si uno se aparta un poquito de lo habitual, el Network Manager se convierte en un engorro y no en una solución. Por ejemplo, hay un bug que hace que no funcione bien con redes de IP fija, y mira tú por dónde mi ordenador tiene, de hecho, IP fija. Además, el Network Manager se pone en marcha cuando te logas y entras en tu escritorio, pero si la máquina está deslogada no funciona ni la red ni el cortafuegos Firestarter, tócate las narices. Así que si tienes algún servidor de correo instalado (o la mula, sin ir más lejos), necesitarás una red permanente sobre la que la máquina pueda seguir trabajando, incluso por la noche, sin nadie logado.

Afortunadamente, la solución es muy simple. Tú solo edita el fichero /etc/network/interfaces y añade los parámetros de tus redes. Por ejemplo, yo tengo esto:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 10.0.0.2
netmask 255.0.0.0
gateway 10.0.0.2

auto eth1
iface eth1 inet static
address 85.152.48.2
netmask 255.255.255.128
gateway 85.152.48.126