NVRAM-WakeUp Revision History $Id: HISTORY 926 2010-01-24 11:53:49Z tiber $ + denotes a new feature * denotes a bugfix/some change - denotes a removed feature 2010-01-24: Version 1.1 * Some minor documentation tweaks (Closes http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=484929) * Check if ~/guess-nvram-module exists, before running guess in guess-helper (Closes http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=484929) + Added new boards - Gigabyte G31M-S2L (http://sourceforge.net/tracker/index.php?func=detail&aid=2810386&group_id=35022&atid=412959) - ASRock G31DE - ID: 2799023 (http://sourceforge.net/tracker/?func=detail&aid=2799023&group_id=35022&atid=412959) - GA-E7AUM-DS2H (http://sourceforge.net/tracker/?func=detail&aid=2794688&group_id=35022&atid=412959) - Gigabyte EX58-UD5 (http://sourceforge.net/tracker/?func=detail&aid=2834010&group_id=35022&atid=412959) - ASRock P45TS (http://sourceforge.net/tracker/?func=detail&aid=2826826&group_id=35022&atid=412959) - Leadtek WinFast nVidia CR18D/G (http://sourceforge.net/tracker/?func=detail&aid=2824513&group_id=35022&atid=412959) - ASUS P4P800-E Deluxe rv. 1009 (http://sourceforge.net/tracker/?func=detail&aid=2816578&group_id=35022&atid=412959) - Commell LV-676 (http://sourceforge.net/tracker/?func=detail&aid=2881988&group_id=35022&atid=412959) - MSI G31 M3-F (http://sourceforge.net/tracker/?func=detail&aid=2847240&group_id=35022&atid=412959) - ASRock N68-S (http://sourceforge.net/tracker/?func=detail&aid=2846328&group_id=35022&atid=412959) - ASRock K7VT4APro (http://sourceforge.net/tracker/?func=detail&aid=2834322&group_id=35022&atid=412959) - ASRock N68-S, Bios Version P2.00 (http://sourceforge.net/tracker/?func=detail&aid=2921130&group_id=35022&atid=412959) - ASUSTeK Computer INC. P5QC (http://sourceforge.net/tracker/?func=detail&aid=2920376&group_id=35022&atid=412959) - Shuttle Inc FN78S V10 (http://sourceforge.net/tracker/?func=detail&aid=2910300&group_id=35022&atid=412959) - ASRock G41M-GS (http://sourceforge.net/tracker/?func=detail&aid=2907630&group_id=35022&atid=412959) - VIA KM400-8237 (http://sourceforge.net/tracker/?func=detail&aid=2921850&group_id=35022&atid=412959) - ASUS P5LD2 Deluxe (http://sourceforge.net/tracker/?func=detail&aid=2923487&group_id=35022&atid=412959) - Biostar M7VIG-PRO (ok, no reboot needed) (http://sourceforge.net/tracker/?func=detail&aid=2924202&group_id=35022&atid=412959) 2008-11-23: Version 1.0 * Fixed a 1-byte buffer overflow in xxd() Patch provided by Kees Cook (Closes: http://sourceforge.net/tracker/?func=detail&aid=2782757&group_id=35022&atid=412755) (Closes: http://bugs.edge.launchpad.net/bugs/370261) (Closes: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=529074) + Added new boards - Shuttle FN45 (Shuttle XPC SN45G Barebone) (http://sourceforge.net/tracker/?func=detail&aid=2725339&group_id=35022&atid=412959) - Asus M3A78-EM (http://sourceforge.net/tracker/?func=detail&aid=2689458&group_id=35022&atid=412959) - ASUS M2N-SLI DELUXE (https://sourceforge.net/tracker/?func=detail&aid=2686287&group_id=35022&atid=412959) - Gigabyte GA-M68SM-S2L (http://sourceforge.net/tracker/?func=detail&aid=2635404&group_id=35022&atid=412959) (http://sourceforge.net/tracker/?func=detail&aid=2635295&group_id=35022&atid=412959) - MSI K8MM3-V (MS-7181) (http://sourceforge.net/tracker/index.php?func=detail&aid=2635366&group_id=35022&atid=412959) - AOpen i855GMEm-LFS (http://sourceforge.net/tracker/?func=detail&aid=2568568&group_id=35022&atid=412959) - Gigabyte EG45M-DS2H (http://sourceforge.net/tracker/?func=detail&aid=2564249&group_id=35022&atid=412959) - ASRock P43R1600Twins-WiFi P1.90 (http://sourceforge.net/tracker/?func=detail&aid=2482357&group_id=35022&atid=412959) - HP Vectra VL420 A06, A08 (https://sourceforge.net/tracker/?func=detail&aid=1728527&group_id=35022&atid=412959) 2008-11-23: Version 0.99 (beta) * Dropped -march=i686 CFLAG, so that nvram-wakeup compiles on AMD64 out of the box * Use boards.yaml to manage all board configurations and just generate the C code formerly used in nvram-wakeup-mb.c from this file + Added new boards: - Dell OptiPlex GX260 as provided by Petter Reinholdtsen (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=484680) - MSI MS-6734 09/03/2004 (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=433929) - Micro Star MS-7125 (http://sourceforge.net/tracker/index.php?func=detail&aid=1564608&group_id=35022&atid=412959) - Gigabyte GA-M55PLUS-S3G (http://sourceforge.net/tracker/index.php?func=detail&aid=1591669&group_id=35022&atid=412959) - AOpen EA65-II (http://sourceforge.net/tracker/index.php?func=detail&aid=1604006&group_id=35022&atid=412959) - ASUS A8N-VM CSM (config file only - no autodetect due to duplicate DMI entries!) (http://sourceforge.net/tracker/index.php?func=detail&aid=1539163&group_id=35022&atid=412959) - ASUS A8N-E 2.XX (http://sourceforge.net/tracker/index.php?func=detail&aid=1604940&group_id=35022&atid=412959) - Micro Star MS-7204 (http://sourceforge.net/tracker/index.php?func=detail&aid=1628899&group_id=35022&atid=412959) - ASRock ALiveNF7G-FullHD (http://sourceforge.net/tracker/index.php?func=detail&aid=2043063&group_id=35022&atid=412959) - Gigabyte GA-K8NF9 (http://sourceforge.net/tracker/index.php?func=detail&aid=1982502&group_id=35022&atid=412959) - PCChips m748lmrt (http://sourceforge.net/tracker/index.php?func=detail&aid=1913268&group_id=35022&atid=412959) - Gigabyte P35-DS3 (http://sourceforge.net/tracker/index.php?func=detail&aid=1911833&group_id=35022&atid=412959) - Asrock 4Core1333-eSATA2 BIOS P1.30 (http://sourceforge.net/tracker/index.php?func=detail&aid=1900791&group_id=35022&atid=412959) - AOpen i945GMt-FSA (http://sourceforge.net/tracker/index.php?func=detail&aid=1875412&group_id=35022&atid=412959) - Asrock AM2NF3-VSTA P2.30 (http://sourceforge.net/tracker/index.php?func=detail&aid=1848862&group_id=35022&atid=412959) - MICRO-STAR MS-6728 (http://sourceforge.net/tracker/index.php?func=detail&aid=1821547&group_id=35022&atid=412959) - AsRock ConRoeXFire-eSATA2 (http://sourceforge.net/tracker/index.php?func=detail&aid=1805113&group_id=35022&atid=412959) - AsRock AM2NF3-VSTA P2.00 (http://sourceforge.net/tracker/index.php?func=detail&aid=1804477&group_id=35022&atid=412959) - MSI K8N Neo4-F MS7125 (http://sourceforge.net/tracker/index.php?func=detail&aid=1782399&group_id=35022&atid=412959) - DFI NF4 Lanparty Ultra-D (http://sourceforge.net/tracker/index.php?func=detail&aid=1782397&group_id=35022&atid=412959) - Asrock 775Dual-VSTA with BIOS versions 2.10 and 2.90 (http://sourceforge.net/tracker/index.php?func=detail&aid=1765755&group_id=35022&atid=412959) - DFI Infinity Ultra-U (http://sourceforge.net/tracker/index.php?func=detail&aid=1682947&group_id=35022&atid=412959) - ECS M830LR (http://sourceforge.net/tracker/index.php?func=detail&aid=1766813&group_id=35022&atid=412959) - HP Vectra VL420 (http://sourceforge.net/tracker/index.php?func=detail&aid=1728527&group_id=35022&atid=412959) - Asrock 4CoreDual-VSTA (http://sourceforge.net/tracker/index.php?func=detail&aid=1721485&group_id=35022&atid=412959) - Gigabyte 8I945GZME-RH (http://sourceforge.net/tracker/index.php?func=detail&aid=1666781&group_id=35022&atid=412959) - FX43G with 03/17/2005 BIOS update (http://sourceforge.net/tracker/index.php?func=detail&aid=1664911&group_id=35022&atid=412959) - ASUS P5LD2 (http://sourceforge.net/tracker/index.php?func=detail&aid=1640421&group_id=35022&atid=412959) - K7NF2-RAID (L1.12 and P1.30) (http://sourceforge.net/tracker/index.php?func=detail&aid=1634632&group_id=35022&atid=412959) (http://www.vdr-portal.de/board/thread.php?postid=466399#post466399) - ASUS P5PE-VM (http://sourceforge.net/tracker/index.php?func=detail&aid=1634627&group_id=35022&atid=412959) - Shuttle XPC SB83G5M (http://sourceforge.net/tracker/index.php?func=detail&aid=1534740&group_id=35022&atid=412756) - ASRock AM2NF3-VSTA Bios P2.40 (http://sourceforge.net/tracker/index.php?func=detail&aid=1886735&group_id=35022&atid=412959) - Gigabyte M61P-S3 (http://sourceforge.net/tracker/index.php?func=detail&aid=2253979&group_id=35022&atid=412959) - ASROCK K8NF4G-SATA2 v1.00 / BIOS v P1.70 (http://sourceforge.net/tracker/index.php?func=detail&aid=2124432&group_id=35022&atid=412755) + Added option -n / --nocheck to disable checking if the time is at least 10 minutes in the future. This option maybe especially useful, when testing nvram-wakeup. Suggested by Holger Kubiak - closes (http://sourceforge.net/tracker/index.php?func=detail&aid=1502552&group_id=35022&atid=412757) + Added option -w to allow to configure the wake up ahead time span via the command line * Dropped debian/ dir (Please use the Debian sources instead!) 2005-??-??: Version 0.98 (beta) + Added several new mainboards. See CVS logs for details and credits. Thanks to everyone who sent me his/her board configuration. + Small change in guess-helper: Step4-file (01.00.00.00-) will not be overwritten, when guess-helper is called again after the last step. 2004-07-21: Version 0.97 (beta) + Added support for upper nvram on boards with VIA's VT8233 south bridges. + Added two new configuration file options: chk_method and day_no_bcd (see 'man nvram-wakeup.conf' for more information) + Added man pages for all helper programs and scripts. * Renamed guess-helper.sh to guess-helper. * Fixed a minor bug in the time helper command. + Added several new mainboards. See CVS logs for details and credits. Thanks to everyone who sent me his/her board configuration. 2004-05-22: Version 0.96 (beta) + Added support for upper nvram on boards with VIA's VT8235/37 south bridges. + Added support for upper nvram on boards with nVidia nForce2 chipset. + Added support for upper nvram on boards with ATI RADEON 9100 IGP (=RS300) chipset. + Added several new mainboards. See CVS logs for details and credits. Thanks to everyone who sent me his/her board configuration. + Added a few more examples to be used by hand in the man page. 2004-04-06: Version 0.95a (beta) * two small bugs in guess and guess-helper were fixed. + Added several new mainboards. See CVS logs for details and credits. Thanks to everyone who sent me his/her board configuration. 2004-02-29: Version 0.95 (beta) "Feb 29th - release" * IMPORTANT: the various _date fields changed to _day. _date configuration options are accepted but will be removed in one of the next versions. * IMPORTANT: need_reboot=ALWAYS was changed to need_reboot=ON_ANY_CHANGE since it produced some confusion on the meaning. The value ALWAYS is still accepted but will be removed in one of the next versions. + Added a new option --directisa. This is an alternative for using /dev/nvram See man page for more information. + Added support for upper nvram on boards with Intel's ICH* south bridges, VIA's VT82C686A, VT82C686B, VT82C596 and south bridges with Dallas Semiconductor's DS1685/1687. + Added a LOT of new mainboards and updated/added a LOT of new autodetection strings. See CVS logs for details and credits. Thanks to everyone who sent me his/her board configuration. + Added guess-helper script (by Tobias Grimm), see README.mb for more details. 2003-08-07: Version 0.91 (beta) * IMPORTANT: the option --iwstring is now called --iwname. * Changed `guess' to produce output in configuration file format. + Added a LOT of new mainboards and updated/added a LOT of new autodetection strings. See CVS logs for details and credits. Thanks to everyone who sent me his/her board configuration. * Updated man pages, preventing triggering a bug in troff 1.17.2 + Added some debug output here and there * The vdrshutdown script now supports checks for non-shotdown-conditions like - users are logged in - some process (like movie conversion) is running - whatever else. This conditions are freely configurable. look into the script vdrshutdown for more info. * the reboot images and patches are moved to a separate "package" -- just a tar file 2003-03-04: Version 0.90 (beta) "Birthday release" + Added support for configuration files. (option -C|--configfile) + Added a manual page for the configuration file. + Added support for mainboard autodetection (contributed by Bernhard "Bero" Rosenkraenzer ) this feature uses code from the dmidecode program (https://savannah.nongnu.org/projects/dmidecode/) - got rid of ACTUALLY_WRITE + now write by default. A new option (-N/--nowrite) emulates the old ACTUALLY_WRITE=OFF behaviour. 2003-03-04: Version 0.05 (stable) "Birthday release" + Added several new mainboards. See nvram-wakeup-mb.h for details and credits. Thanks to everyone who sent me his/her board configuration. 2002-04-14: Version 0.04b (beta) + Added several new mainboards. See nvram-wakeup-mb.h for details and credits. Thanks to everyone who sent me his/her board configuration. + Added a new configuration option ADDR_WDAYS to nvram-wakeup-mb.h. It seems that there are boards storing the weekday instead of a date. * Now really fixed the problem with the daylight savings. (I should have read ftp://ftp.gnu.org/pub/gnu/Manuals/glibc/pdf/libc.pdf earlier) 2002-04-03: Version 0.04a (beta) * Fixed the problem with the daylight savings. * Some mainboard updates. See nvram-wakeup-mb.h for details and credits. Thanks to everyone who sent me his/her board configuration. 2002-03-24: Version 0.04 (beta) * IMPORTANT: It turned out that not only the MSI boards need to be rebooted after making a change, but also some other boards in special cases. Therefore the exit states are changed. Now we have: 0 - successful, everything is set properly. don't need to reboot. 1 - successful, everything is set properly. must reboot the changes to take effect. 2 - error occurred. something went wrong. the script vdrshutdown is changed accordingly, but if you're using your own script, you have to look at it. * Completely rewritten many parts of the main program. + We can handle the case now where more than one information (e.g. date and status) is stored in the same byte at different bits. + Started using debug mode for printing debug messages. * Added/Removed/Changed several options in nvram-wakeup-mb.h and added a more detailed documentation of them at the beginning of the file. (See into nvram-wakeup-mb.h for more information.) + Added some more intelligence to `guess'. (still consider `guess' alpha quality) + Added a new rule `devices' to Makefile. It creates /dev/nvram and /dev/rtc if they are missing. + Print rtc time before setting it. (was just forgotten in ver. 0.03) + Added several new mainboards. See nvram-wakeup-mb.h for details and credits. Thanks to everyone who sent me his/her board configuration. + Added support for storing month. (only for the boards with a BIOS which supports it) * Replaced RUN_BEFORE by NEED_TO_SHTDWN, which has a slightly different meaning (see README or nvram-wakeup.h for more details). + Added a new rule to Makefile: install. (The user has to adjust paths in Makefile before installing) * /dev/nvram and /dev/rtc are never opened at the same time now, (this prevented some machines from halting by `halt -p') Thanks to Dr. Werner Fink for the hint. * Don't need write permissions for /dev/nvram if no -s/-d parameter was specified or ACTUALLY_WRITE==OFF 2002-02-04: BUGFIX * Fixed the BCD bug introduced in Version 0.03 2002-02-01: Version 0.03 (beta) * Moved the ACTUALLY_WRITE from nvram-wakeup.h to Makefile + Added a bunch of new boards. See nvram-wakeup-mb.h for details and credits. Thanks to everyone who sent me his/her board configuration. + Added new mb parameters NEED_RTC, RESET_DATE, BCD + Adapted nvram-wakeup to use the BCD notation used on some boards. + README.mb is a new document containing information about how to figure out the addresses of the stored values. + Autodetecting if CMOS clock runs at GMT or local time. Thanks to Dr. Werner Fink * Now we require both nvram and rtc drivers (we need the latter one for detecting if the rtc clock is running in localtime or UTC/GMT) + Added a new command line option: -D (--debug). It enables printing of debug messages. (not many of them now) + New command line option -l (--syslog) to pass all output to syslog. + The vdrshutdown script now makes use of the new -l (--syslog) command line option. + Introduced the variable RUN_BEFORE to use instead of 2*WAKEUP_BEFORE in several places. Now the two things are independant. + Now I tested boot.diff on a SuSE 7.2 system. + If there wouldn't be changed anything in nvram, don't write into it. * Now the exit status is always one of the following: 0 - Successfully finished 1 - We had to set (disable/enable) the wakeup date and time, but they were already set to proper values. We didn't write them again. 2 - Some error occurred. + Modified the script vdrshutdown to take advantage of the new exit status of nvram-wakeup. Especially useful on MSI MS-6351, where you have to reboot after changing nvram. + Added a new program `guess', which should help to retrieve the addresses in nvram guessing them from four given states. Consider this program to be alpha quality. + Added a new program `rtc', the only thing it does: It prints the currently set RTC alarm time. + Added a man page and a new `man' rule in the Makefile + Added a HISTORY file (actually, you are reading it at the moment). 2001-10-17: Version 0.02 (never released). + Added support for clocks running in UTC/GMT time. + Added some new motherboards. * rewritten calculate_read and calculate_write to be more human readable Thanks to Leiser for the idea. 2001-10-10: Version 0.01 (Initial revision). + Could read/write wakeup time via /dev/nvram. + Predefined configurations for two motherboards: MSI MS-6351 and Biostar M6VCG + Accepts command line options -s (--settime), -d (--disable), -h (--help), -v (--version). 2001-08-17: The idea was born + There was a discussion on the linux-dvb mailinglist about ways to poweron a PC automatically. + The message by Frank Klingenhoefer : http://linuxtv.org/mailinglists/linux-dvb/2001/08-2001/msg00457.html (and a following off-list discussion with him and Hans-Hermann Redenius ) gave me the idea to write some small program for setting the Wakeup feature.