Archive

Archive for the ‘informática’ Category

Problema con Acer Aspire T180: hora de actualizar la BIOS

September 26th, 2009 chorradasman No comments

Actualización: solución final.

El ordenador se seguía colgando aunque con menos frecuencia que antes tras todas las medidas tomadas.
Lo que ahora he intentado es actualizar la BIOS, pasando de la versión R01-A2 a la R01-C0 (la última por el momento). Para ello, he ido a la página de descargas de Acer, seleccionado mi modelo de ordenador, y descargado el programa para actualizar la BIOS que ya trae una imagen de la BIOS incorporada.

El proceso es sencillo: se descomprime y hay un PDF que indica cómo actualizar la bios con el fichero 61AO615.bin. Es recomendable desactivar antes de todo la protección de boot de la BIOS en el setup en el arranque del ordenador.

En mi caso tras actualizar la BIOS tenía un problema al acceder a los discos duros y no podía cargar ningún sistema operativo. La solución fue:

  1. Desenchufar el ordenador
  2. Abrir la carcasa
  3. Cambiar el pin rojo de la placa base, que se encuentra abajo a la derecha, de las patas 2-3 a las patas 1-2 durante unos 30 segundos (borrado de la configuración BIOS)
  4. Poner de nuevo el pin rojo en las patas 2-3
  5. Encender el ordenador
  6. Entrar en el setup de la BIOS y grabar la configuración tal y como está al entrar

Tras eso, al reiniciar el ordenador puso un mensaje como “Actualizando… bla,bla,bla … DMI” y todo funcionó a la perfección. Parece que por el momento no se me cuelga. A ver si de esta tengo suerte…

Categories: informática Tags:

Workflow para Trac

September 22nd, 2009 chorradasman No comments

Para el Trac que utilizo he configurado mi propio workflow.
Para ello he instalado los plugins:

Los activo en [components]:

workfloweditor.workfloweditor_admin.workflowchangehandler = enabled
workfloweditor.workfloweditor_admin.workfloweditoradmin = enabled
advancedworkflow.* = enabled

Y después añado el workflow casi a mano :P


[ticket]
workflow = ConfigurableTicketWorkflow,TicketWorkflowOpOwnerReporter,
TicketWorkflowOpOwnerPrevious,TicketWorkflowOpStatusPrevious,
TicketWorkflowOpXRef

[ticket-workflow]
leave = * -> *
leave.name = leave
leave.default = 1
leave.operations = leave_status

accept = new -> accepted
accept.name = accept
accept.default = 0
accept.permissions = TICKET_MODIFY

discard = new,needinfo -> closed
discard.name = discard
discard.default = 0
discard.operations = set_resolution
discard.set_resolution = invalid,wontfix,duplicate,worksforme
discard.permissions = TICKET_MODIFY

take = accepted -> assigned
take.name = take ticket
take.default = 0
take.operations = set_owner_to_self
take.permissions = TICKET_MODIFY

resign = assigned -> accepted
resign.name = resign ticket
resign.default = 0
resign.operations = del_owner
resign.permissions = TICKET_MODIFY

resolve = assigned -> resolved
resolve.name = resolve
resolve.default = 0
resolve.operations = set_resolution
resolve.permissions = TICKET_MODIFY

close = resolved -> closed
close.name = close
close.default = 0
close.permissions = TICKET_MODIFY

reopen = closed,resolved -> new
reopen.name = reopen
reopen.default = 0
reopen.operations = del_resolution,del_owner
reopen.permissions = TICKET_CREATE

needinfo = new,accepted,assigned,resolved -> needinfo
needinfo.name = need info
needinfo.default = 0
needinfo.operations = del_owner
needinfo.permissions = TICKET_MODIFY

supplyinfo = needinfo -> *
supplyinfo.default = 0
supplyinfo.name = supply info
supplyinfo.operations = set_status_to_previous,set_owner_to_previous

El resultado es el siguiente workflow:

Mi workflow de Trac

Mi workflow de Trac


Detalles del workflow:

  • No está orientado a cuestiones de pruebas. Entre “resolved” y “closed” estaría bien realizar una batería de pruebas del ticket.
  • El paso new->accepted es para verificar que el ticket es correcto, no duplicado, etc… y no se realiza asignación del ticket al usuario automáticamente. Es el usuario el que ha de cogerlo mediante “take”.
  • Una vez que un usuario coge un ticket, puede devolverlo al conjunto de en espera para ser tratados mediante “resign”.
  • En cualquier momento se puede pedir más información mediante “needinfo”. En ese momento se borra el propietario y se espera que alguien responda.
  • Tras ejecutar la acción “supplyinfo”, se vuelve al estado anterior a needinfo y el propietario se establece automáticamente a quien estaba resolviendo el ticket
  • Desde “new” y “needinfo” se puede descartar un ticket. En “needinfo” se permite hacer esto por si nadie responde en mucho tiempo y se desea limpiar la lista de tickets
  • En el diagrama no he indicado el ciclo “leave->leave” para cuando no se hace nada con un ticket

Cosas que quedarían por hacer:

  • Permitir que un usuario administrador pueda modificar los tickets a su antojo (sobretodo cambiar el propietario) en un workflow tan estricto como este
  • Añadir los estados necesarios para pruebas. Recordemos que el normal “olvidarse” de las pruebas y viene bien un “recordatorio”
Categories: informática Tags:

Problema de Ubuntu en Acer Aspire T180 con nVidia 7500 LE

September 14th, 2009 chorradasman No comments

Parece que hay un problema con Ubuntu con algunas tarjetas nVidia. No recuerdo el mensaje que añadía a /var/log/kern.log o a /var/log/messages, pero el ordenador se colgaba.

La solución: instalar la versión 170 de los drivers (a mí me recomendaba la 180) y añadir la opción “NvAGP=0″ a /boot/grub/menu.lst en la línea del kernel:

kernel /boot/vmlinuz-2.6.28-15-generic root=UUID=eac3b079-db42-4dfb-909a-7a3a210e6057 NvAGP=0 notsc clocksource=acpi_pm ro quiet splash

Categories: informática Tags:

Problema de Linux con AMD Athlon(tm) 64 X2 Dual Core Processor 3800+

September 14th, 2009 chorradasman No comments

Actualización: ir a este nuevo intento porque lo expuesto aquí parece que no funcionó del todo.
Actualización: solución final.

Parece ser que hay un problema con los procesadores multicore que en algunos casos los deja colgados *casi* aleatoriamente, como me pasaba a mi. El problema está con el contador de ticks del procesador, y la solución es cambiar el origen de los ticks y mantener la CPU a la máxima frecuencia siempre.

Poner las opciones “notsc clocksource=acpi_pm” en la línea “kernel” de menu.lst del cargador grub. En mi caso:

kernel /boot/vmlinuz-2.6.28-15-generic root=UUID=eac3b079-db42-4dfb-909a-7a3a210e6057 NvAGP=0 notsc clocksource=acpi_pm ro quiet splash

Instalar el paquete cpufreqd:

sudo apt-get install cpufreqd

Modificar /etc/default/cpufreqd y establecer el “governor” de escalado a “performance”:

CPUFREQ_GOV_MODULES="performance"

Modificar /etc/init.d/cpufrequtils y modificar la línea “GOVERNOR=” a:

GOVERNOR="performance"

En este punto debería cambiar automáticamente el “governor” a “performance” al iniciar el ordenador, pero como es un multicore quisquilloso, al tratar de cambiar las frecuencias de ambos cores se hace un lío y deja todo en “ondemand” con lo que el ordenador se cuelga. Para ver que falla, comprobar que aparece un “[fail]” al hacer:

sudo /etc/init.d/cpufrequtils start

La solución es eliminar en la línea 84 del fichero /etc/init.d/cpufrequtils el parámetro: --cpu $cpu de modo que el cambio de frecuencia afecte a todos los cores a la vez, quedando la línea así:

$CPUFREQ_SET $CPUFREQ_OPTIONS 2>&1 > /dev/null || \

========== Actualización ==========
He comprobado que el paquede de Ubuntu 9.04 configura las cosas de manera extraña (con Debian no me pasaba). La cuestión es que no cambia el governor y lo deja en “ondemand”.
Es necesario editar el fichero /etc/init.d/ondemand, y en la línea 27, donde pone:

echo -n ondemand > $CPUFREQ

cambiarlo por:

echo -n performance > $CPUFREQ

y ahora sí que al iniciar el ordenador pone el “governor” a “performance”.

Categories: informática Tags:

Compilar PyQt 4.5.4

August 6th, 2009 chorradasman No comments

Sólo para que mi memoria de mosquito no se olvide, apuntaré lo siguiente:
Habiendo instalado la librería Qt 4.5.2 (a partir del repositorio de Debian) en Ubuntu 9.04, y habiendo descargado PyQt 4.5.4 de Riverbank, para compilar es necesario ejecutar ‘python ./configure’ pero da un error porque intenta compilar con las librerías Qt3, así que hay que ejecutar:

python ./configure.py -q /usr/bin/qmake-qt4

Categories: informática Tags: