From owner-freebsd-bugs Tue Oct 3 1:30: 7 2000 Delivered-To: freebsd-bugs@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 9BA5837B66C for ; Tue, 3 Oct 2000 01:30:00 -0700 (PDT) Received: (from gnats@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id BAA15851; Tue, 3 Oct 2000 01:30:00 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: from guru.mired.org (okc-27-149-77.mmcable.com [24.27.149.77]) by hub.freebsd.org (Postfix) with SMTP id 7995837B503 for ; Tue, 3 Oct 2000 01:23:34 -0700 (PDT) Received: (qmail 3173 invoked by uid 100); 3 Oct 2000 08:23:28 -0000 Message-Id: <20001003082328.3172.qmail@guru.mired.org> Date: 3 Oct 2000 08:23:28 -0000 From: mwm@mired.org Reply-To: mwm@mired.org To: FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.2 Subject: conf/21722: The mixer settings are lost on sysetm reboot.s Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 21722 >Category: conf >Synopsis: The mixer settings are lost on sysetm reboot.s >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Oct 03 01:30:00 PDT 2000 >Closed-Date: >Last-Modified: >Originator: Mike Meyer >Release: FreeBSD 5.0-CURRENT i386 >Organization: Meyer Consulting >Environment: A system with at least one sound card. >Description: The system mixer settings - possibly carefully tuned by the user - are lost whenever the system goes through a hard shutdown. >How-To-Repeat: Reboot your system so that the mixer settings are at the default values. Find a line input source that's not acceptable at those values, and adjust the mixer settings. Now reboot again, and notice that the values you had saved were gone. >Fix: The following patch (apply in /etc) adds an rc.conf knob to save the mixer settings in /var/db on shutdown, and restore from those files on restart. And I forgot to test the "mixer numbers" case, but shutting down now to do it would lose the PR entry, so... --- rc Tue Oct 3 03:14:55 2000 +++ /etc/rc Tue Oct 3 03:10:50 2000 @@ -276,6 +276,19 @@ ;; esac +# +# If we have saved mixer state and the user wants it restored, do it. +# +case ${mixer_devices} in +[Nn][Oo] | '') + ;; +*) + for settings in /var/db/mixer*.settings; do + mixer -f `echo $settings | sed -e 's/.settings//' -e 's;/var/db;/dev;'` `cat $settings` >/dev/null + done + ;; +esac + # Remove X lock files, since they will prevent you from restarting X11 # after a system crash. # --- rc.shutdown Tue Oct 3 03:14:55 2000 +++ /etc/rc.shutdown Tue Oct 3 03:09:30 2000 @@ -43,6 +43,25 @@ ;; esac +# Save the mixer settings - if the user wants it. +# +case ${mixer_devices} in +[Nn][Oo] | '') + ;; +[Yy][Ee][Ss]) + echo "Saving mixer settings." + rm /var/db/mixer*.settings + /usr/sbin/mixer -s > /var/db/mixer.settings + ;; +*) + echo "Saving mixer settings." + rm /var/db/mixer*.settings + for dev in ${mixer_devices}; do + /usr/sbin/mixer -f /dev/mixer${dev} -s > /var/db/mixer${dev}.settings + done + ;; +esac + # Check if /var/db/mounttab is clean. case $1 in reboot) --- defaults/rc.conf Fri Sep 1 08:37:25 2000 +++ /etc/defaults/rc.conf Tue Oct 3 02:31:22 2000 @@ -298,6 +298,7 @@ start_vinum="" # set to YES to start vinum entropy_file="/var/db/entropy" # Set to NO to disable caching entropy through reboots +mixer_devices="NO" # NO to disable saving, YES for /dev/mixer, or list of mixer numbers ############################################################## ### Define source_rc_confs, the mechanism used by /etc/rc.* ## >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message