14 febrero, 2007

shutdown -t now

Poweroff / halt + Ubuntu Edgy + LG LW20

Uno de los puntos pendientes que había dejado cuando compre la notebook era el apagado. En ubuntu luego de completar el proceso de cierre se quedaba con la pantalla sin señal pero prendida, teniendo que apretar 5 segundos el botón de power para apagarla.

Lo que me desarmaba por dentro era que en gentoo se apagaba correctamente y en ubuntu-rescue ( o como se llame, la cuestion es que arrancaba con init 1) funcionaba bien también. Probé todas las combinaciones en grub pensando que podía ser un tema de acpi & apm pero sin obtener solución.

Pero esta mañana como quien no quiere la cosa encontré la solución (medio chancha si... pero solución al fin) para este problema.

resulta que el problema se presenta con el modulo snd_hda_intel, googleando vi que era un bug conocido y sin dar muchas vueltas evitando cargarlo al inicio (porque no podia hacer un rmmod dado que dependia de otros que a su vez dependian de este ... WTF) apagaba correctamente. Pero... no tenia sonido entonces.

Solución: Crear un script que sea llamado al reiniciar o apagar la pc, el cual se ejecuta justo antes del shutdown permitiendo desmontar el modulo y concluir el apagado correctamente. En fin, el script correspondiente es este (gracias a ubuntu forums que me evitaron tener que copiar siquiera estas lineas):


#!/bin/sh
case "$1" in
start)
# No-op
;;
restart|reload|force-reload)
echo "Error: argument '$1' not supported" >&2
exit 3
;;
stop|"")
rmmod -f snd_hda_intel
rmmod -f snd_hda_codec
;;
*)
echo "Usage: kill_lame_snd [start|stop]" >&2
exit 3
;;
esac

####

y solo resta darle permisos de ejecución y agregarlo a los runlevels correspondientes con

chmod +x /etc/init.d/elnombrequelehayanpuesto
update-rc.d kill_lame_snd start 80 0 6 .

Resta probar apagar ... y anduvo !!!.

EOF

4 comentarios:

  1. hola

    una duda no hay una cosa que está mal dónde pone start en "update-rc.d kill_lame_snd start 80 0 6 ."

    no debería ser stop, ya que si quieres que se ejecute al parar la máquina, ...

    ??

    ResponderBorrar
  2. mm no, porque lo que estamos buscando es que se ejecute cuando se apaga la maquina, para poder apagarla correctamente

    por eso el start (qe se larga en los otros runlevels) no hace nada... lo qe nos interesa es lo que va a hacer cuando mandemos la señal de apagado y largue los stops en todos los procesos que esten en runlevel 0 y 6

    ResponderBorrar
  3. ups.. tire el reply y no habia leido bien lo qe escribiste, perdon.

    ciertamente entiendo tu punto. pero asi lo tengo y funciona de maravillas... ahora qe lo pienso puede ser qe no se le este pasando argumento al script entonces cae dentro del stop|"")

    pruebo y te comento

    ResponderBorrar
  4. PArece algo de lo que comentas, no he podido revisar el tema, epro veo que cómo mínimo me funciona conlo que necesito
    Si encuentra salgo avísame

    En fin muchas gracias y felicidades por el blog

    ResponderBorrar