De APM deamon (Advanced Power Management) zorgt ervoor dat je in en uit suspend mode kunt gaan. Als ik in suspend ga en daarna m'n laptop weer ''wakker maak'' dan doen mijn geluidskaart en netwerk het niet meer. Daarom heb ik de volgende twee scripts geschreven. De eerste zorgt ervoor dat de laptop in suspend gaat (inslaap) en de tweede zorgt ervoor dat alles weer goed wordt ingesteld na de suspend (uitslaap). Merk wel op dat voor het laden van de mixer-settings het programma aumix geïnstalleerd moet zijn.
Met de 2.4.x-kernel blijkt dat de modules van de geluidskaart na een suspend nog gewoon werken wanneer ze voor de suspend niet uit het geheugen gehaald zijn. Wanneer ik ze wel uit het geheugen haal voor een suspend dan blijkt dat ik ze na de suspend niet meer kan laden. Het initalisatieproces verloopt dan niet juist.
Het script om in te gaan slapen:
# geluidsinstellingen opslaan echo Saving Mixer Settings aumix -S # geluidskaartmodules uitschakelen echo Unloading Sound Blaster modules rmmod opl3 rmmod opl3sa2 rmmod ad1848 rmmod mpu401 rmmod sound rmmod soundcore # netwerk en PCMCIA uitschakelen /etc/rc.d/init.d/network stop /etc/rc.d/init.d/pcmcia stop # nu gaan slapen apm -s
Het script voor na de suspend:
# netwerk en PCMCIA /etc/rc.d/init.d/pcmcia start /etc/rc.d/init.d/network start # soundblaster inschakelen echo Loading Sound Blaster modules modprobe sound modprobe midi # geluidsinstellingen laden echo Loading mixer settings aumix -L
Een hele andere manier om dit te bewerkstelligen is het maken van profielen. Elke distributie heeft 7 runlevels (0 tot en met 6) die echter niet allemaal gebruikt worden. Waar elke runlevel voor is wordt meestal wel gemeld in /etc/inittab.
Wat moet je nou doen op profielen aan te maken? Eenvoudig: de niet gebruikte runlevels
gaan gebruiken. Je doet dit door scriptjes aan te maken in /etc/rc.d/init.d/
en symlinks hiernaar in /etc/rc.d/rc#.d
, waarbij # de nog niet gebruikte
runlevel is. Meer over hoe dit werkt vind je in paragraaf 8.1.