 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 <kees@ubuntu.com>
    (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 <bero@arklinux.org>)
   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 <werner@suse.de> 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 <werner@suse.de>
 * 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 <gregorski@leisergmbh.de> 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 <frank.private@t-online.de>:
     http://linuxtv.org/mailinglists/linux-dvb/2001/08-2001/msg00457.html
   (and a following off-list discussion with him and Hans-Hermann Redenius 
   <redenius@uni-oldenburg.de>) gave me the idea to write some small program
   for setting the Wakeup feature.
