Born to be geek!

sábado, agosto 28, 2004

Mi primer parche (chapuza) para el kernel de FreeBSD 5.x

El demonio de BSD Anteayer me dio por probar la nueva versión 6.0 de FreeBSD (que es en realidad la primera beta de la versión 5.3). Todo fue muy bonito. El kernel se actualizó sin problemas, pero en el primer arranque empecé a ver varios mensajes extraños, incluyendo mensajes de depuración de ACPI. Todo hacía presagiar que ACPI no iba a funcionar correctamente. Así que me dispuse a examinar la salida del comando sysctl hw.acpi. La primera sorpresa fue comprobar que de nuevo el throttling funcionaba (en mi última actualización a una snapshot del mes de julio, dejó de funcionar). Aparentemente todo estaba correcto.

Sin embargo, tras suspender el ordenador, en (frecuentes) ocasiones obtenía mensajes como este:

ad0: WARNING - WRITE_DMA interrupt was seen but timeout fired LBA=59203789

Después de cinco o seis mensajes como este (tiempo durante el cual el sistema respondía perfectamente, incluyendo la lectura y escritura en el disco ad0), se lanzaba un kernel panic, y a tomar viento todo.

Buscando por Internet (Google es tu amigo) encontré varios mensajes en las listas de correo de FreeBSD que decían que el problema se debía a fallos en los drivers de diversas tarjetas de red, que no respondían correctamente cuando se volvía de la suspensión. Esto afectaba al driver ATA (el de los discos duros), que no era informado a tiempo de que el disco duro debía despertarse. La solución que daban era compilar el kernel con todas las opciones de depuración, para que el funcionamiento fuera más lento, y así se diera tiempo a que todo se hiciera correctamente (pues vaya solución, pensé). Otra genial solución era eliminar todos los drivers de tarjeta de red del kernel, pero entonces no puedes usar la tarjeta de red (otra genial solución).

Como la primera solución era una señora chapuza (y además no funcionó, seguro que el que lo puso se estaba quedando con el personal), y la segunda no funcionó (compilé el kernel para que sólo soportara la Realtek 8139, pero nada), me puse a indagar por las fuentes del kernel. Descubrí que ese mensaje se lanzaba en la función ata_timeout(struct ata_request *request) en el fichero /usr/src/sys/dev/ata/ata-queue.c. Había un contador, con el número de intentos. Cuando el número de intentos llegaba a cero, se lanzaba el kernel panic. Como yo había comprobado que el sistema (incluido el disco duro) funcionaba normalmente mientras salían esos mensajes, en cada iteración, le añado uno al número de intentos, de modo que nunca se lanza el kernel panic.

Ya sé que mi solución es una chapuza. Pero funciona. Se puede suspender todas las veces que quieras el ordenador, y nunca deja de responder. El único inconveniente es que el mensaje se lanza cada dos por tres, y te llena el histórico /var/log/messages. Voy a retocarlo, para que no lance el mensaje.

Para los que les interes, aquí tienen el parche, y aquí la configuración de mi kernel.

Ups, me acabo de dar cuenta que la versión del cvs del fichero /usr/src/sys/dev/ata/ata-queue.c, disponible aquí, tiene solucionado este problema. Así que a recompilar el kernel con este ficherito, a ver qué pasa. En cuanto recompile el kernel y lo pruebe, actualizaré este post.

ACTUALIZACIÓN (antes de recompilar el kernel)

El parche está mal generado, así que aquí dejo el fichero modificado por mí. Simplemente hay que copiarlo en /usr/src/sys/dev/ata y recompilar el kernel.

ACTUALIZACIÓN (después de recompilar el kernel)

Todo funciona usando el fichero del CVS. Así que todo va bien ya. En realidad, se puede actualizar directamente al kernel del CVS, a la versión 5.3 Beta 2, o a cualquiera posterior al 27 de agosto. Funciona perfectamente (por lo menos, en mi máquina).

viernes, agosto 27, 2004

The Móstoles connection

El pasado miércoles estuve otra vez en Móstoles. Esta vez tenía una misión con dos objetivos claros: encontrar piso y entregar la solicitud de beca.

Partí de Algeciras el martes a las 21:45. Esta vez el autobús era algo mejor que el anterior. Nada más entrar, te entregaban el kit del buen viajero en autobús, formado por una botella de agua (que en el momento de la entrega estaba llena) y unos auriculares estéreo (que te podías quedar y todo). El viaje fue bastante más cómodo que el anterior. Como cada viajero tenía su música de manera individual, no tuve que aguantar el magnífico repertorio durante toda la noche. Además, esta vez el aire acondicionado estaba a una temperatura prudencial (la vez anterior, el aire acondicionado estaba a 20 ºC mientras pasábamos por Despeñaperros; mi bocata de salchichón estaba más fresco que una lechuga).

Sin embargo, ya sabía yo que algo tenía que pasar. No sé si fue culpa del agua, pero a mitad de viaje a un buen señor viajero se le ocurrió ir al servicio (sí, el autobús tenía servicio y todo). Lo que comió el buen viajero no pude averiguarlo, pero a juzgar por el aroma del que se impregnó el autobús, sí que puedo imaginarme que es lo que soltó. Menos mal que la visita al servicio fue antes de la parada de rigor, y se pudo ventilar el autobús. Tras reanudar el viaje, la atmósfera del autobús ya volvía a contener más oxígeno que metano.

La vez anterior, en el área de descanso nos estaba esperando la Guardia Civil. Esta vez no; tampoco hubiera servido de mucho, porque con ese aroma el pobre perro no hubiera encontrado ni una trompeta como la de Ray Charles.

Sobre las 6:00 llegué a Madrid. Allí estaba yo, solo ante el peligro. Mi intención era encontrar piso en un único día (para ser más exactos, en una única mañana). Mis amigos se encargaron de arruinar mi motivación, tachándome de ser más ingenuo que Mary Poppins si pretendía encontrar piso en un solo día. Así que allí estaba yo, en una ciudad que no conozco, y sin tener absolutamente ni idea de qué hacer.

De repente, me di cuenta de que había un kiosco en la estación. Después de realizar el ritual del vistazo a las revistas (las de informática, malpensados), me encontré con dos periódicos de anunicos gratuitos (que no periódicos gratuitos de anuncios; cada uno costaba 2.70 Eypos): el Anuntis y el Segunda Mano. El Anuntis le hubiera resultado más útil al buen señor viajero. En cambio, el Segunda Mano es la biblia de los aspirantes a encontrar un piso barato y/o compartido. Realizé una búsqueda exhaustiva entre el océano de anuncios, y encontré tres pisos (más tarde descubrí que llamarlos pisos era pretender demasiado) cuyo coste se ajustaba a lo que pensaba que debía pagar por un piso.

Recargué el móvil y me puse en contacto con los anunciantes. No voy a entrar en detalles de cómo eran los pisos, porque sólo de acordarme me deprimo. Lo mejor de todo es que cada piso estaba en una punta de Madrid. De las cuatro horas que invertí en la ronda de visitas, tres y cuarto las pasé en el metro (incluyendo el viaje a Móstoles después de la última visita).

Después de visitar el último piso estaba algo deprimido. Los sitios no me convencían, y casi no me quedaba tiempo para ver más pisos. Mis amigos iban a tener razón (con lo que fastidia tener que reconocer que otra persona diferente de ti tiene razón). Pero se obró el milagro. De repente mi móvil estaba sonando, el número era completamente desconocido. Era el hermano de un compañero del departamento, que alquilaba una magnífica habitación en un magnífico adosado, y a un magnífico precio (de verdad, todavía no me lo creo). Fue Jesús (bendito seas :-) quien me dijo lo este piso.

Así que ya estaba cumplido uno de los objetivos de la misión.

En cuanto a la entrega de la solicitud, había quedado con Jesús a las 12:00, y llegué a las 12:15 . Rellenamos un formulario que quedaba en un periquete, y nos dirigimos a entregar la solicitud. Pero no había nadie en Investigación :-(, y no pudimos entregarla. Se la entregamos a un compañero (Luis López, que además me llevó a ver el adosado, y me dejó en la estación para coger el tren, muchas gracias por todo:-), y espero que en los próximos días pueda entregarse y se tramite rápidamante.

Aprovechamos también para mantener una reunión, y de paso conocer a más compañeros del departamento.

En resumen, un día que comenzaba mal, pero que acabó realmente bien. A ver si esta semana vuelvo a Móstoles, y dejo cerrado definitivamente el tema del piso.

domingo, agosto 22, 2004

¡Qué bonito es el amor!

¡Vamos a bailar! Sí señor, qué bonito es el amor (ya lo sé, es una rima muy mala, pero lo que cuenta es la intención ;-).

What the world needs now is love
Love and only love
A little help from up above
Faith to make a better day
Let's come together
Lay our differences down
Let's come together
Lay our prejudices down
Spread it all around
That's what the world needs now


Sometimes all it takes is just a smile
To change somebody's weather
Chase the clouds out of their sky
Sometimes you gotta give and not receive
Sometimes you gotta live what you believe
Open your arms cause that's where it starts
Right here with you and with me


¿No hablas inglés? Pues deberías :-P, de todas formas, aqui va una mala traducción al español.

Por cierto, el pingüino tiene más gracia si lo ves mientras escuchas música con ritmo (¿pero hay música sin ritmo?).

sábado, agosto 21, 2004

¿Quieres una cuenta en Gmail?

Acabo de recibir cuatro invitaciones (bueno, tengo seis, pero voy a reservar dos para mis conocidos ;-) para Gmail, el nuevo servicio de correo electrónico de Google.

El lanzamiento de Gmail supuso una revolución en los servicios de correo electrónico: Yahoo ofreció 100 MBs a sus usuarios, y Hotmail también planea aumentar la cuota de sus usuarios.

Gmail ofrece una cuota de 1 GB, además de características avanzadas para organizar el correo electrónico. No existen las carpetas, los mensajes se guardan en grupos por conversación, y para clasificarlo pueden emplearse filtros (que en el argot de Gmail se denominan labels -etiquetas-). Además, el principio básico de este servicio es no borres tu correo electrónico, simplemente archívalo. Si en algún momento necesitas encontrar algo entre todo tu correo electrónico, puedes emplear el buscador (que emplea la misma tecnología que el buscador web). Otra característica interesante es que cada vez que envías o recibes un correo electrónico, se añade la dirección de destino o remite a la libreta de direcciones. Posteriormente, cuando escribes el destinatario de un email, el nombre se autocompleta si está en la libreta de direcciones.

Además, la calidad del servicio es muy alta (mucho más alta que otros servicios de correo electrónico que también ofrecen cuotas muy grandes). A ello ha contribuido el sistema de invitaciones, de modo que el crecimiento en el número de usuarios es escalonado y está completamente controlado por Google.

Quien quiera una invitación, que deje un comentario indicando su nombre y su dirección de email. Las invitaciones se enviarán por riguroso orden cronológico (esto es, los cuatro primeros serán los que reciban las invitaciones).

sábado, agosto 14, 2004

Límite 36 horas

Universidad Rey Juan CarlosAyer estuve en Móstoles, en la Universidad Rey Juan Carlos, donde tuve la oportunidad de conocer a los compañeros que también han tenido la suerte de ser seleccionados para la beca, y el sitio donde voy a pasar unas cuantas horas diarias a partir de ahora ;-). Jesús aprovechó para explicarnos en qué va a consisitir nuestra tarea como becarios, y para mostrarme algunos aspectos que son fundamentales: dónde está la cafet... esto... cuáles son los trámites que hay que hacer para la beca, y dónde tengo que hacerlos.

El RetiroPara haber estado toda la noche sin dormir (benditos conductores de autobuses, que escuchan Camela a las cuatro de la mañana), no me noté demasiado cansado. A las dos, cuando dimos por concluida la reunión, me dirigí a coger el autobús de vuelta a Algeciras. Pero, oh sorpresa, no había autobús hasta las once de la noche. ¡Bien! -pensé- otra noche sin dormir. Así que me di una vueltecita por el Parque del Retiro, y algunos sitios típicos de Madrid.

A las once cogí por fin el autobús. Quince autobuses de 50 plazas salieron en total a esa hora para Algeciras (¿tanta gente quiere ir a Algeciras?). En el viaje de vuelta pude también disfrutar del hilo musical (que más que un hilo era una cuerda, del volumen tan alto al que ponían la música), con los éxitos seleccionados de las listas de ventas de las gasolineras de España (pero dada mi incultura, sólo fui de capaz de reconocer el inconfundible timbre de voz del grupo Camela).

Al final, a las 8:30 de la mañana estaba ya de nuevo en Algeciras, 36 horas después de haber salido de mi casa, y sin haber dormido más de 20 minutos seguidos. Pero mereció la pena :-D

Ahora a buscar piso, y lo que es más importante, el dinero con lo que lo voy a pagar :-P

PD: Sigo buscando mecenas (y no, no es broma).

miércoles, agosto 04, 2004

Juega al ajedrez con gente de todo el mundo

Todas las tardes suelo echar un par de partiditas de ajedrez en FICS - Free Internet Chess Server.

FICS - Free Internet Chess ServerMi nick en FICS es herraiz. Si algún día queréis echar una partidita, necesitáis un programa que soporte el protoloco ICS, por ejemplo, el xboard. Para usuarios de Debian, se instala con apt-get install xboard. En FreeBSD, cd /usr/ports/games/xboard && make install (como root), o si lo preferís podéis instalar el paquete binario con pkg_add -r xboard. Yo os recomiendo usar el paquete mejor que el port.

Una vez instalado, ejecutad xboard -ics -icshost freechess.org. Si no tenéis el nick registrado, podéis entrar con cualquiera. Os recomiendo que registréis el nick, para poder ver cómo evoluciona vuestro nivel en el tiempo.

Nueva sección de BSD en la página de CAGESOL

En CAGESOL acabamos de crear una sección dedicada en exclusiva a los clones de Unix con kernel BSD. En especial, pondremos tutoriales acerca de FreeBSD y OpenBSD.El demonio de BSD


Hemos empezado con dos interesantes tutoriales, creados por Linss y Tronss:

  • Cómo parchear y mantener al día OpenBSD usando paquetes binarios en vez de los ports. Los ports son paquetes de código fuente que es necesario compilar. En algunas máquinas, como un cortafuegos por ejemplo, no están disponibles las herramientas de desarrollo para compilar los ports, y no deja de ser necesario parchear el sistema para cubrir posibles vulnerabilidades.

  • Openbechede, un sistema de gestión de paquetes y ports, para facilitar su instalación, desintalación y actualización.



lunes, agosto 02, 2004

Te echo de menos

Algunas fotos tuyas que me ha dado por ponerme a ver hoy.

VirginiaVirginia
VirginiaVirginia
VirginiaVirginia

Ya sé que cuando uno está triste le da por decir cursiladas, pero echo de menos tu risa (todavía puedo oir la última vez que nos reimos juntos). Ya no sonríes. Ya no me llamas. Ya no me echas de menos.

domingo, agosto 01, 2004

¡Me ha tocado a mí!

¡Ole! Me han concedido una beca para realizar el doctorado en la Universidad Rey Juan Carlos.

Así que dentro de poco me tendré que mudar a Móstoles o Madrid. Si hay por ahí algún mecenas, me hace falta algo de dinerillo para el traslado ;-)

El doctorado lo voy a realizar en el Grupo de Sistemas y Comunicaciones. Espero poder afrontar el doctorado en Ingeniería Informática, puesto que yo soy Ingeniero Industrial, y hasta ahora la informática me la había tomado como una afición.

Si hay alguien de Móstoles o Madrid leyendo esto, y que busque compañero de piso, puede encontrarme en israel.herraizQUITA_ESTO_Y_PON_UNA_ARROBAgmail.com. Si necesita dos compañeros de piso mejor, porque mi compi Iñaki también ha sido bendecido con esta beca.

3, 2, 1, comenzamos

No he podido aguantar más, ha sido más fuerte que yo, todo este tiempo evitando tener un blog y al final he caído como los demás.

Así que a partir de ahora tendré que empezar a parir historias de vez en cuando, para que esta no sea otra de esas cosas que comienzas un día que estás aburrido y de la que ya no te vuelves a acordar nunca más.