Eliminar modulo antes de suspender el sistema

Hamijos!,
he instalado opensuse en mi portatil (ibook g4) y la verdad es que todo va bastante fino, peeeeero... no se suspende correctamente... bueno, mas bien, no se "levanta" de la suspension correctamente.
El problema es el modulo del wifi (b43), que si lo elimino antes de suspender (rmmod b43), se suspende bien y se levanta bien.
El software que utiliza para la suspension es pm-suspend, que se puede modificar el fichero de configuración en /etc/pm/config.d/foobar (foobar o como sea, coje todos los ficheros de ese directorio), añadiendo:
SUSPEND_MODULES="b43"
Pero no me hace ni caso...
He pensado en modificar los scripts a mano, pero me parece una chapuza...
¿ Alguna idea o reporto el bug ?
Graciassssssss [Ooooo]
En Ubuntu existe el directorio /etc/acpi/suspend.d/ donde se pueden poner scripts que se ejecutan al suspender.

Un saludo,
bastian
*creo* que ppc no utiliza acpi, utiliza apm.
De todas maneras:
ls -R /etc/acpi/
/etc/acpi/:
events.ignore

/etc/acpi/events.ignore:
events.ignore

He estado buscando, y en /usr/lib/pm-utils/sleep.d/, hay un script (50modules), que en teoria hace lo que yo quiero... pero pasa de mi :S
Al final chapuceo veras... x'D
Gracias bastian por contestar!
También tengo algo parecido en /etc/apm.
Yo sin embargo no tengo /etc/apm x'D
Vaya jaleo de gestion de energia por dios... el caso es que con Fedora 9 p.ej iba bien...y con Debian, y con Ubuntu, y con Gentoo... :S
En fin, lo tendre que hacer "a mano" de momento :S
Es raro que no te funcione el fichero en /etc/pm/config.d... (a mi desde luego me lo pilla bien). De todas maneras se me ocurre una solución "cutre".

Cuando suspendas tu ibook te debería ejecutar por orden los scripts que se encuentran en /usr/lib/pm-utils/sleep.d/

Yo problemas con el módulo b43 no tengo, en cambio sí con los parámetros del HD tras suspenderlo, por lo que creé un script llamado 85hdparm.

En tu caso podrías crear uno como este, llamado por ejemplo 55b43 (te interesaría que se cargara antes que NetworkManager, en mi caso 10NetworkManager).

#!/bin/sh

. "${PM_FUNCTIONS}"

case "$1" in
        hibernate|suspend)
                modprobe -r b43
        thaw|resume)
                modprobe b43
                ;;
         *) exit $NA
                ;;
esac


Es una solución cutre, pero bueno, al menos no tocas nada de los scripts existentes.

Por cierto, aunque es algo obvio no olvides darle permisos de ejecución ;)

Un saludo.

EDITO: Si no lo has hecho antes revisa el fichero /var/log/pm-suspend.log y la salida de dmesg.

Initial commandline parameters:
Adding parameters
Fri Jun 27 12:55:35 CEST 2008: Running hooks for suspend.
/usr/lib/pm-utils/sleep.d/00clear suspend: disabled.
/usr/lib/pm-utils/sleep.d/05led suspend: not applicable.
/usr/lib/pm-utils/sleep.d/10NetworkManager suspend: success.
/usr/lib/pm-utils/sleep.d/49bluetooth suspend: not applicable.
/usr/lib/pm-utils/sleep.d/50modules suspend: success.
/usr/lib/pm-utils/sleep.d/85hdparm suspend: not applicable.
/usr/lib/pm-utils/sleep.d/90clock suspend: success.
/usr/lib/pm-utils/sleep.d/94cpufreq suspend: success.
/usr/lib/pm-utils/sleep.d/95led suspend: not applicable.
/usr/lib/pm-utils/sleep.d/99video suspend: disabled.
Fri Jun 27 12:55:38 CEST 2008: suspending
Switching from vt7 to vt1
switching back to vt7
Fri Jun 27 12:55:52 CEST 2008: Awake.
Fri Jun 27 12:55:52 CEST 2008: Running hooks for resume
/usr/lib/pm-utils/sleep.d/99video resume: disabled.
/usr/lib/pm-utils/sleep.d/95led resume: not applicable.
/usr/lib/pm-utils/sleep.d/94cpufreq resume: success.
/usr/lib/pm-utils/sleep.d/90clock resume: success.
/usr/lib/pm-utils/sleep.d/85hdparm resume: Setting parameters of disc:
/dev/hda:
setting 32-bit IO_support flag to 3
setting multcount to 16
setting using_dma to 1 (on)
setting Advanced Power Management level to 0xfe (254)
setting drive write-caching to 0 (off)
multcount     = 16 (on)
IO_support    =  3 (32-bit w/sync)
using_dma     =  1 (on)
write-caching =  0 (off)
  /dev/hda.
success.
/usr/lib/pm-utils/sleep.d/50modules resume: success.
/usr/lib/pm-utils/sleep.d/49bluetooth resume: not applicable.
/usr/lib/pm-utils/sleep.d/10NetworkManager resume: success.
/usr/lib/pm-utils/sleep.d/05led resume: not applicable.
Lo habia pensado, pero deberia de funcionar con lo del config... :S
Seguiré mirando.
Gracias apmomp!
Edito:
Funciona correctamente... a veces :S
He echo el script (modificando alguna cosa que esta mal :P), y "a mano" con pm-suspend, bien, pero he cerrado la tapa y al levantarla... igual :S
En el log no pone nada... igual se queda cuajado antes de poder escribir al disco :S
PD.- En el messages tampoco pone na :S
Reporta hombre, reporta. Si el fallo es tuyo (y no veo como, la cosa no tiene mucho margen de maniobra) te lo dirán y ya está, no te colgarán por ello. Y si es fallo de la distro me consta que los chico de Novell responden rápido y se lo curran.
Yo empecé con con la 10.1 y he participado en 90 bugs, la mayoría los he reportado. Sólo uno (poco grave y relacionado con KDE3, están más centrado en KDE4) se ha quedado colgado. Además por ser un "contribuidor activo" (reportar dos o tres bugs) luego te envían gratuitamente la versión en caja de la distro con manuales impresos y demás (no es nada oficial, pero a mi me lo han ofrecido para la 10.2, 10.3 y 11.0).
8 respuestas