Guess-helper

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
K (Änderungen von Benutzer:213.218.127.86 rückgängig gemacht und letzte Version von Benutzer:Hulk wiederhergestellt)
(286.285714285714)
Zeile 1: Zeile 1:
<pre>
+
dev8fl  <a href="http://dggjioenqiue.com/">dggjioenqiue</a>, [url=http://ttirhfiulzsm.com/]ttirhfiulzsm[/url], [link=http://xaizjgdbifgo.com/]xaizjgdbifgo[/link], http://ueyxruuiccwq.com/
#!/bin/sh
+
#
+
#  guess-helper
+
#  Copyright (C) 2004 Tobias Grimm <tg@e-tobi.net>
+
#
+
#  $Id: guess-helper,v 1.10 2004/07/09 12:32:15 bistr-o-math Exp $
+
#
+
 
+
# prepare to use gettext, if installed:
+
if [ -x /usr/bin/gettext ]
+
then
+
  export TEXTDOMAIN=guess-helper
+
  echo="gettext -s"
+
else
+
  echo="echo"
+
fi
+
 
+
# clear console window and print header line
+
ClearScreen ()
+
{
+
  clear
+
  echo
+
  echo guess-helper
+
  echo ------------
+
  echo
+
}
+
 
+
# AskQuestion "Do you like Debian?" Y n  > Do you like Debian? [Y/n]
+
AskQuestion ()
+
{
+
  if [ -x /usr/bin/gettext ]
+
  then
+
    question=`gettext "$1"`
+
  else
+
    question=$1   
+
  fi
+
 
+
  shift
+
 
+
  answers=""
+
  for answer in $*
+
  do
+
    if [ -x /usr/bin/gettext ]
+
    then
+
      answer=`gettext "$answer"`
+
    fi
+
    answers="$answers $answer"
+
  done
+
 
+
  choices="" 
+
  for answer in $answers
+
  do
+
    if [ "$choices" = "" ]
+
    then
+
      choices="[$answer"
+
    else
+
      choices="$choices/$answer"
+
    fi
+
  done
+
  choices="$choices]"
+
 
+
  answers=`$echo $answers | tr '[:lower:]' '[:upper:]'`
+
 
+
  result=0
+
 
+
  while [ $result -eq 0 ]
+
  do
+
    echo -n "$question" "$choices "
+
    read input
+
     
+
    if [ "$input" = "" ]
+
    then
+
      result=1
+
    else
+
      input=`echo $input | tr '[:lower:]' '[:upper:]'`
+
      i=1
+
      for answer in $answers
+
      do
+
        if [ "$answer" = "$input" ]
+
then
+
  result=$i
+
fi
+
i=`expr $i + 1`
+
      done
+
    fi
+
  done
+
 
+
  return $result
+
}
+
 
+
# Translate and print text lines
+
EchoTextLines ()
+
{
+
  textLines=""
+
 
+
  while [ "$1" ]
+
  do
+
    textLines="$textLines$1"
+
    shift
+
  done
+
 
+
  $echo -ne "$textLines"
+
}
+
 
+
# show next wakeup time settings and ask for reboot
+
ShowBiosSettings ()
+
{
+
  ClearScreen
+
  EchoTextLines \
+
    "On the next reboot, please enter the BIOS settings and change\n" \
+
    "the wakeup time settings to the following values:\n"
+
  echo
+
  $echo -n "Day      = " ; echo "$1"
+
  $echo -n "Hour      = " ; echo "$2"
+
  $echo -n "Minute    = " ; echo "$3"
+
  $echo -n "Second    = " ; echo "$4"
+
  if [ $5 -eq 1 ]
+
  then
+
    $echo "Enabled  = Yes"
+
  else
+
    $echo "Enabled  = No"
+
  fi
+
  echo
+
  AskQuestion "Restart or Abort?" "A" "r"
+
  if [ $? -eq 2 ]
+
  then
+
    echo
+
    EchoTextLines \
+
      "After changing the wakeup time in the BIOS settings and rebooting the PC,\n"\
+
      "please run this script again (PC will reboot in 10 seconds...)\n"
+
    sleep 10
+
    shutdown -r now
+
    exit 0
+
  else
+
    echo
+
    $echo "Script aborted !!!"
+
    echo
+
    exit 0
+
  fi
+
}
+
 
+
ReadNvram ()
+
{
+
  cat_nvram $catOptions > ~/guess-directisa/$1    2>~/guess-directisa/cat_nvram.log
+
  [ -c /dev/nvram ] && \
+
  cat /dev/nvram        > ~/guess-nvram-module/$1 2>~/guess-nvram-module/cat.log
+
  if [ ! -s ~/guess-directisa/$1 ] && [ ! -s  ~/guess-nvram-module/$1 ] ; then
+
    EchoTextLines\
+
      "cat_nvram and cat /dev/nvram failed.\n"
+
      "Please check the cat_nvram.log for the details, fix the errors and run\n"
+
      "guess-helper again.\n"
+
    # if they exist, they are empty. Remove them.
+
    rm -fr ~/guess-directisa/$1 ~/guess-nvram-module/$1
+
    exit 1 
+
  fi
+
}
+
 
+
step0file=guess-helper.conf
+
step1file=31.23.59.59+
+
step2file=11.12.13.14+
+
step3file=01.00.00.00+
+
step4file=01.00.00.00-
+
 
+
# check for needed binaries
+
if ! (which cat_nvram >/dev/null && \
+
      which cat      >/dev/null && \
+
      which guess    >/dev/null    ) ; then
+
  EchoTextLines \
+
    "Please check that the tools cat_nvram, cat and guess are installed.\n\n"\
+
    "guess-helper aborted!\n"
+
  exit 1
+
fi
+
 
+
if [ ! -f ~/guess-directisa/$step0file ]
+
then
+
  ClearScreen
+
  EchoTextLines \
+
    "The aim of this script is to help you figuring out the addresses of the\n"\
+
    "wakeup time in the NVRAM of your PC. You will have to do this only,\n"\
+
    "if your mainboard couldn't be detected by nvram-wakeup.\n"\
+
    "\n"\
+
    "In several steps it will be necessary to reboot the PC, change the\n"\
+
    "wakeup time in the BIOS and then run guess-helper again.\n"\
+
    "\n"\
+
    "This script will create several temporary files and a config file for\n"\
+
    "nvram-wakeup. This will be done in your home directory.\n"
+
  echo
+
  AskQuestion "Continue with the first step of the nvram-wakeup address detection?" "N" "y"
+
  [ $? -eq 1 ] && exit
+
  ClearScreen
+
  mkdir -p ~/guess-directisa
+
  EchoTextLines \
+
    "Please select the chipset of your Board -\n"\
+
    "  [U] Unknown (i.e, disable access to upper nvram);\n"\
+
    "  [I] Intel;\n"\
+
    "  [V] VIA VT82Cxxx (xxx=686A,686B,596,...), nVidia nForce2, ATI RADEON 9100 IGP; \n"\
+
    "  [3] VIA VT8233/35/37;\n"\
+
    "  [D] DS1685\n"
+
   
+
  AskQuestion "Select one of the above:" "U" "i" "v" "3" "d"
+
  case $? in
+
    2)
+
      catOptions="INTEL"
+
      ;;
+
    3)
+
      catOptions="VT82Cxxx"
+
      ;;
+
    4)
+
      catOptions="VT8235_37"
+
      ;;
+
    5)
+
      catOptions="DS1685"
+
      ;;
+
  esac
+
  echo catOptions=\"$catOptions\" >~/guess-directisa/$step0file
+
  ShowBiosSettings 31 23 59 59 1
+
else
+
  . ~/guess-directisa/$step0file
+
  if [ ! -f ~/guess-directisa/$step1file ]
+
  then
+
    [ -c /dev/nvram ] && mkdir -p ~/guess-nvram-module
+
    ReadNvram $step1file
+
    ShowBiosSettings 11 12 13 14 1
+
  else   
+
    if [ ! -f ~/guess-directisa/$step2file ]
+
    then
+
      ReadNvram $step2file
+
      ShowBiosSettings 01 00 00 00 1
+
    else   
+
      if [ ! -f ~/guess-directisa/$step3file ]
+
      then
+
        ReadNvram $step3file
+
        ShowBiosSettings 01 00 00 00 0
+
      else
+
        ClearScreen
+
        ReadNvram $step4file
+
+
cd ~/guess-directisa
+
guess > nvram-wakeup.conf 2> guess-error.log
+
[ "$catOptions" = "" ] || echo upper_method = $catOptions >> nvram-wakeup.conf
+
cd ~/guess-nvram-module
+
guess > nvram-wakeup.conf 2> guess-error.log
+
cd ..
+
+
        EchoTextLines \
+
          "The nvram-wakeup address detection is finished now.\n"\
+
  "If everything went well, you will find the detected nvram-wakeup\n"\
+
  "settings in the file ~/guess-directisa/nvram-wakeup.conf. This file\n"\
+
  "has been generated using the 'directisa' access method.\n"
+
[ -c /dev/nvram ] && EchoTextLines \
+
  "In the directory ~/guess-nvram-module you will find the results using\n"\
+
  "the 'nvram-kernel-module' access method. It's up to you to decide,\n"\
+
  "what access method worked.\n"
+
EchoTextLines \
+
  "Check the files nvram-wakeup.conf and guess-error.log to see if\n"\
+
  "everything went well. In order to use the generated conf file, you\n"\
+
  "have to pass it as a command line parameter with the option -C to\n"\
+
  "nvram-wakeup. Before doing this, you should copy it to /etc.\n"\
+
          "If the settings in your nvram-wakup.conf seem to work, please send\n"\
+
  "this file to:\n"
+
        echo
+
        echo "Sergei.Haller@math.uni-giessen.de"
+
        echo
+
        $echo "By doing so, you are helping to keep nvram-wakeup support more boards."
+
      fi
+
    fi
+
  fi
+
fi
+
</pre>
+
 
+
[[Kategorie:Software]][[Kategorie:Skripte]]
+

Version vom 2. August 2009, 06:45 Uhr

dev8fl <a href="http://dggjioenqiue.com/">dggjioenqiue</a>, [url=http://ttirhfiulzsm.com/]ttirhfiulzsm[/url], [link=http://xaizjgdbifgo.com/]xaizjgdbifgo[/link], http://ueyxruuiccwq.com/