http://rzr.online.fr/q/lenovo# Upgraded #LinuxKernel 3.2.4+ on #LenovoG470 , add: #WiFi #BroadCom , rm: #SdCard , support: #DsdT #AcpI #deb
I can also share this improved script :
cd /usr/local/src/acpi_call && make KDIR=/usr/src/linux-headers-3.2.0-rc6lenovo-g470+/ install sh -x /etc/local/bin/fanctrl.sh sudo crontab -e #| @reboot /etc/local/bin/fanctrl.sh /home/rzr/bin/fanctrl.sh Info: Userspace temp/fan regulator More: http://rzr.online.fr/q/lenovo module: https://github.com/mkottman/acpi_call acpi_call 4908 0 acpi_call 4908 0 #info: temp=65000 fan=off [49000<55000] ( 23:49:00 up 1:10, 9 users, load average: 1.65, 0.65, 0.72) #info: temp=65000 fan=on [49000<55000] ( 23:49:10 up 1:10, 9 users, load average: 1.86, 0.73, 0.74) #info: temp=65000 fan=on [49000<55000] ( 23:49:20 up 1:10, 9 users, load average: 2.02, 0.80, 0.77) #info: temp=67000 fan=on [49000<55000] ( 23:49:30 up 1:10, 9 users, load average: 1.86, 0.81, 0.77) #info: temp=67000 fan=on [49000<55000] ( 23:49:40 up 1:10, 9 users, load average: 1.73, 0.81, 0.77) #info: temp=53000 fan=on [49000<55000] ( 23:49:50 up 1:11, 9 users, load average: 1.70, 0.84, 0.78) #info: temp=52000 fan=on [49000<55000] ( 23:50:00 up 1:11, 9 users, load average: 1.44, 0.81, 0.77) #info: temp=49000 fan=on [49000<55000] ( 23:50:10 up 1:11, 9 users, load average: 1.22, 0.78, 0.76) #info: temp=49000 fan=off [49000<55000] ( 23:50:20 up 1:11, 9 users, load average: 1.03, 0.76, 0.76)
More :
Solution: make sure to add acpi keyword after loading kernel
root@lap:/etc/grub.d# diff -u 10_linux 11_linux_dsdt --- 10_linux 2012-06-08 02:21:00.000000000 +0200 +++ 11_linux_dsdt 2012-07-08 01:57:15.138375859 +0200 @@ -1,6 +1,12 @@ +#! /bin/sh -e +# file:///etc/grub.d/01_acpi +# url: http://ubuntuforums.org/showthread.php?t=1865577&highlight=01_acpi.txt + +# Uncomment to load custom ACPI table + + #! /bin/sh set -e - # grub-mkconfig helper script. # Copyright (C) 2006,2007,2008,2009,2010 Free Software Foundation, Inc. # @@ -23,6 +29,21 @@ . "${datarootdir}/grub/grub-mkconfig_lib" + +#{ +GRUB_CUSTOM_ACPI="/boot/dsdt.aml" + +if [ x${GRUB_CUSTOM_ACPI} != x ] && [ -f ${GRUB_CUSTOM_ACPI} ] \ + && is_path_readable_by_grub ${GRUB_CUSTOM_ACPI}; then + echo "Found custom ACPI table: ${GRUB_CUSTOM_ACPI}" >&2 +# prepare_grub_to_access_device `${grub_probe} --target=device ${GRUB_CUSTOM_ACPI}` | sed -e "s/^/ /" + cat << EOF +#acpi (\$root)`make_system_path_relative_to_its_root ${GRUB_CUSTOM_ACPI}` +EOF +fi +#} + + export TEXTDOMAIN=grub export TEXTDOMAINDIR="${datarootdir}/locale" @@ -76,7 +97,7 @@ else title="$(gettext_quoted "%s, with Linux %s")" fi - printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}" + printf "menuentry '${title} DSDT' ${CLASS} {\n" "${os}" "${version}" if ! ${recovery} ; then save_default_entry | sed -e "s/^/\t/" fi @@ -110,10 +131,13 @@ printf '%s\n' "${prepare_boot_cache}" fi message="$(gettext_printf "Loading Linux %s ..." ${version})" + + cat << EOF echo '$message' linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args} EOF + if test -n "${initrd}" ; then message="$(gettext_printf "Loading initial ramdisk ...")" cat << EOF @@ -121,6 +145,12 @@ initrd ${rel_dirname}/${initrd} EOF fi + + cat << EOF +acpi (\$root)`make_system_path_relative_to_its_root ${GRUB_CUSTOM_ACPI}` +EOF + + cat << EOF } EOF @@ -142,7 +172,7 @@ while [ "x$list" != "x" ] ; do linux=`version_find_latest $list` - echo "Found linux image: $linux" >&2 + echo "Found linux image: $linux DSDT" >&2 basename=`basename $linux` dirname=`dirname $linux` rel_dirname=`make_system_path_relative_to_its_root $dirname`
wget -O- http://blog.michael.kuron-germany.de/wp-content/uploads/2011/03/01_acpi.txt | sudo tee /etc/grub.d/01_acpi cd /etc/grub.d/ && sudo chmod a+rx 01_acpi sudo cp -av /etc/local/acpi/DSDT.aml /boot/dsdt.aml sudo update-grub2
for obscure reasons it failed once rebooted :
"error hd0 cannot get c/h/s values"
and fails to load :
"/boot/dsdt.aml"
http://tech.groups.yahoo.com/group/lenovo/files/#dsdt.dsl
while it it there !
less /boot/grub/grub.cfg ### BEGIN /etc/grub.d/11_linux_dsdt ### #acpi ($root)/boot/dsdt.aml menuentry 'Debian GNU/Linux, with Linux 3.2.0-2-rt-amd64 DSDT' --class debian --class gnu-linux --class gnu --class os { insmod gzio insmod part_msdos insmod ext2 set root='(hd0,msdos6)' search --no-floppy --fs-uuid --set=root 6baad664-c3ea-443f-825c-48285b4dc955 acpi ($root)/boot/dsdt.aml echo 'Loading Linux 3.2.0-2-rt-amd64 ...' linux /boot/vmlinuz-3.2.0-2-rt-amd64 root=/dev/sda6 ro echo 'Loading initial ramdisk ...' sudo aptitude install linux-headers-3.2.0-2-rt-amd64 ~/bin/fanctrl.sh
Not a SolutioN: had to disable UID and acpi -e … it boots but not OverRide AnyThing