You are not logged in.
Way to go! ![]()
Just grabbing the kernel sources now, here's hoping its all good!
Many thanks ![]()
Offline
tristand wrote:
OK, I'm not getting the expected results. After building the module (no errors) and inserting it, /proc/fsb normally reports 255 63. I have also seen 101 37 or 195 3. Any ideas what could be going on?
cat /proc/eee/fsb also takes 2-3 seconds to complete, is this expected?
That's definitely unusual, and not at all what should be happening. None of those numbers seem to make much sense in the context of PLL N/M settings. Could you please create an issue on the project website (http://code.google.com/p/eeepc-linux/) for this problem?
In the issue report, please include the output you get when running the command hexdump -C /proc/eee/pll as well.
Thanks!
Offline
K I saw some posts about the speed being reported as the same. Basically with or without p4-clockmod modprobed, cat'ing /proc/cpuinfo lies..
So I followed: http://wiki.eeeuser.com/howto:rebuildthekernel
built the kernel and then ran make modules_install
then I compiled this and used insmod to get it ready...
I downloaded Geekbench and ran it, first at 70MHz FSB (630MHz), then at 85MHz FSB (765MHz), then at 100MHz FSB (900MHz)
Would be useful to have like a little CPU app that'll report 'correctly'...
Anyways, here's the results:
Integer
Blowfish
single-threaded scalar 456 |
multi-threaded scalar 489 |
Text Compress
single-threaded scalar 412 |
multi-threaded scalar 400 |
Text Decompress
single-threaded scalar 387 |
multi-threaded scalar 408 |
Image Compress
single-threaded scalar 421 |
multi-threaded scalar 413 |
Image Decompress
single-threaded scalar 330 |
multi-threaded scalar 339 |
Crafty Chess
single-threaded scalar 582 ||
multi-threaded scalar 608 ||
Lua
single-threaded scalar 636 ||
multi-threaded scalar 631 ||
Floating Point
Mandelbrot
single-threaded scalar 495 |
multi-threaded scalar 503 ||
Dot Product
single-threaded scalar 712 ||
multi-threaded scalar 761 |||
single-threaded vector 476 |
multi-threaded vector 555 ||
LU Decomposition
single-threaded scalar 364 |
multi-threaded scalar 392 |
Primality Test
single-threaded scalar 496 |
multi-threaded scalar 401 |
Sharpen Image
single-threaded scalar 1110 ||||
multi-threaded scalar 1122 ||||
Blur Image
single-threaded scalar 1041 ||||
multi-threaded scalar 1036 ||||
Memory
Read Sequential
single-threaded scalar 698 ||
Write Sequential
single-threaded scalar 557 ||
Stdlib Allocate
single-threaded scalar 531 ||
Stdlib Write
single-threaded scalar 298 |
Stdlib Copy
single-threaded scalar 587 ||
Stream
Stream Copy
single-threaded scalar 464 |
single-threaded vector 491 |
Stream Scale
single-threaded scalar 480 |
single-threaded vector 471 |
Stream Add
single-threaded scalar 495 |
single-threaded vector 574 ||
Stream Triad
single-threaded scalar 541 ||
single-threaded vector 406 |
Integer Score: 465 |
Floating Point Score: 676 ||
Memory Score: 534 ||
Stream Score: 490 |
Overall Geekbench Score: 555 ||Integer
Blowfish
single-threaded scalar 555 ||
multi-threaded scalar 595 ||
Text Compress
single-threaded scalar 512 ||
multi-threaded scalar 491 |
Text Decompress
single-threaded scalar 481 |
multi-threaded scalar 516 ||
Image Compress
single-threaded scalar 512 ||
multi-threaded scalar 503 ||
Image Decompress
single-threaded scalar 402 |
multi-threaded scalar 412 |
Crafty Chess
single-threaded scalar 706 ||
multi-threaded scalar 735 ||
Lua
single-threaded scalar 773 |||
multi-threaded scalar 770 |||
Floating Point
Mandelbrot
single-threaded scalar 602 ||
multi-threaded scalar 611 ||
Dot Product
single-threaded scalar 865 |||
multi-threaded scalar 924 |||
single-threaded vector 577 ||
multi-threaded vector 675 ||
LU Decomposition
single-threaded scalar 461 |
multi-threaded scalar 482 |
Primality Test
single-threaded scalar 582 ||
multi-threaded scalar 484 |
Sharpen Image
single-threaded scalar 1349 |||||
multi-threaded scalar 1361 |||||
Blur Image
single-threaded scalar 1265 |||||
multi-threaded scalar 1261 |||||
Memory
Read Sequential
single-threaded scalar 852 |||
Write Sequential
single-threaded scalar 675 ||
Stdlib Allocate
single-threaded scalar 650 ||
Stdlib Write
single-threaded scalar 362 |
Stdlib Copy
single-threaded scalar 715 ||
Stream
Stream Copy
single-threaded scalar 561 ||
single-threaded vector 599 ||
Stream Scale
single-threaded scalar 594 ||
single-threaded vector 581 ||
Stream Add
single-threaded scalar 615 ||
single-threaded vector 704 ||
Stream Triad
single-threaded scalar 681 ||
single-threaded vector 507 ||
Integer Score: 568 ||
Floating Point Score: 821 |||
Memory Score: 650 ||
Stream Score: 605 ||
Overall Geekbench Score: 676 ||Integer
Blowfish
single-threaded scalar 653 ||
multi-threaded scalar 701 ||
Text Compress
single-threaded scalar 607 ||
multi-threaded scalar 573 ||
Text Decompress
single-threaded scalar 578 ||
multi-threaded scalar 599 ||
Image Compress
single-threaded scalar 603 ||
multi-threaded scalar 592 ||
Image Decompress
single-threaded scalar 473 |
multi-threaded scalar 485 |
Crafty Chess
single-threaded scalar 837 |||
multi-threaded scalar 869 |||
Lua
single-threaded scalar 921 |||
multi-threaded scalar 910 |||
Floating Point
Mandelbrot
single-threaded scalar 708 ||
multi-threaded scalar 719 ||
Dot Product
single-threaded scalar 1019 ||||
multi-threaded scalar 1087 ||||
single-threaded vector 678 ||
multi-threaded vector 794 |||
LU Decomposition
single-threaded scalar 586 ||
multi-threaded scalar 582 ||
Primality Test
single-threaded scalar 710 ||
multi-threaded scalar 585 ||
Sharpen Image
single-threaded scalar 1587 ||||||
multi-threaded scalar 1606 ||||||
Blur Image
single-threaded scalar 1491 |||||
multi-threaded scalar 1486 |||||
Memory
Read Sequential
single-threaded scalar 1010 ||||
Write Sequential
single-threaded scalar 794 |||
Stdlib Allocate
single-threaded scalar 761 |||
Stdlib Write
single-threaded scalar 428 |
Stdlib Copy
single-threaded scalar 842 |||
Stream
Stream Copy
single-threaded scalar 680 ||
single-threaded vector 725 ||
Stream Scale
single-threaded scalar 722 ||
single-threaded vector 698 ||
Stream Add
single-threaded scalar 760 |||
single-threaded vector 851 |||
Stream Triad
single-threaded scalar 832 |||
single-threaded vector 620 ||
Integer Score: 671 ||
Floating Point Score: 974 |||
Memory Score: 767 |||
Stream Score: 736 ||
Overall Geekbench Score: 802 |||Or the abbreviated version:
Score - Pre-module install at 70MHz FSB: 553 Score - Post-module install at 70MHz FSB (630MHz):555 Score - At 85MHz FSB (765MHz): 676 Score - At 100MHz FSB (900MHz): 802
I expected the scores for pre / post installing the module to be the same, so Im glad they are, and its good to see how well the performance increases. Now to give OpenArena a whirl and see how good that goes, as well as some of the h.264 videos ![]()
Temperature currently: 48
Max temperature while running 6x Geekbenches concurrently (over several minutes): 55
Most of the time it sat around 54, peaked a few times to 55 degrees, but yeah, nothing major. My previous Acer laptop wouldnt go down below 49, on a cold day, averaged around 56, and peaked around 62, so Im quite happy with 55 on my EeePC! ![]()
Again, many thanks to the dev kiwidrew for creating this, much appreciated! ![]()
Last edited by Chilling_Silence (2007-12-04 7:20:55 am)
Offline
Don't want to sound like a total noob (I'm not), but the module will not compile if you follow the instructions in the README. I get an error:-
make: *** /lib/modules/2.6.21.4-eeepc/build : No such file or directory. Stop.
I'm guessing I need to have kernel source installed and building first (only a guess). Any advice, please?
Offline
Right, I have solved my problem. I did a mod to my eee to add a keyboard light (see http://forum.eeeuser.com/viewtopic.php?id=3735) which involved using the SMBus to ad an IO expander. I loaded the modules i2c_dev, i2c_i801 and pcf8574 modules at boot.
If I remove these modules after boot, the eee module does not work. If I do not load them at power up, it is fine. I would love some advice as to why this is happening! With them loaded at boot I can still read the PLL using i2cdump.
If i try to read the pll using your eee module when I have the other i2c modules loaded the I2C bus is left messed up - it takes a few attempts to read the PLL using i2cdump.
Help!
Offline
I have done some power consumption tests and am not too pleased with the results. This is what I found:
N M mA 90 24 1271 85 24 1248 70 24 1223 65 24 1216 60 24 1210 55 24 1199 50 24 1193 45 24 1185 40 24 1177 35 24 1170 30 24 1161
I also found it unstable at lower speeds - random crashing. So it doesn't seem that changing these values affects current consumption much. Shame!
I also tested the sleep mode current consumption - it's 235mA. That's a huge amount of power - over 2 watts! Asus have done something badly wrong with their suspend system!
It seems unlikely that I can use this method to increase operating ime, I just hope we can figure out how to reduce the sleep mode current consumption.
Offline
There other elements in EeePC which have to drain some power at constant. Perhaps reducing CPU usage can not change overall results too much as CPU takes a little to begin with?
What it takes when CPU is halted?
Last edited by Radek (2007-12-04 12:27:34 pm)
Offline
Hi Jon,
Yes, you'll need to grab the full kernel source, the headers just wont do. All up you'll need around 350 -> 400MB HDD space on it temporarily, Im guessing you can delete it just fine afterwards.
-- Quick howto --
This is all going from memory, commands may not be precise, Im re-writing this here, but they should be. After running Make, when prompted just press Enter so it selects N for No. It'll take around 30 mins after this for it to compile the kernel. You SHOULD be able to copy / paste the entire CODE below into a .sh file and type: sh filename.sh, and it'll do *everything*, no reboot needed (make modules_install might not be needed either).
Prior to this, you probably need to run something like this to add a standard debian repository & get the build-essential tools:
sudo bash echo "deb http://http.us.debian.org/debian stable main" >> /etc/apt/sources.list apt-get update apt-get install build-essential
Heres the script to install the module:
#!/bin/bash sudo bash cd /usr/src wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.21.4.tar.bz2 wget http://download.filesystems.org/unionfs/unionfs-2.1/unionfs-2.1.8_for_2.6.21.7.diff.gz gunzip unionfs-2.1.8_for_2.6.21.7.diff.gz tar xvjf linux-2.6.21.4.tar.bz2 cd linux-2.6.21.4 patch -p1 <../unionfs-2.1.8_for_2.6.21.7.diff cp /boot/config-2.6.21.4-eeepc .config make make modules_install cd /root wget http://eeepc-linux.googlecode.com/files/eeepc-linux-0.1.tar.gz tar xvzf eeepc-linux-0.1.tar.gz cd eeepc-linux/module/ make insmod eee.ko echo 85 24 0 > /proc/eee/fsb sleep 2 echo 100 24 0 > /proc/eee/fsb echo "Congrats - Should now be running at 100MHz - Now to get Geekbench and test" cd /root wget http://www.primatelabs.ca/download/Geekbench2-Linux.tar.gz tar xvzf Geekbench2-Linux.tar.gz cd Geekbench2-Linux ./geekbench
If you get a score of around 800 using Geekbench then you're all good!
Now it might pay to do a few things like:
modprobe thermal apt-get install gkrellm
Then turn on the Temperature monitor for it ![]()
Hope this helps
Chill.
Last edited by Chilling_Silence (2007-12-04 11:01:49 pm)
Offline
tristand wrote:
Right, I have solved my problem. I did a mod to my eee to add a keyboard light (see http://forum.eeeuser.com/viewtopic.php?id=3735) which involved using the SMBus to ad an IO expander. I loaded the modules i2c_dev, i2c_i801 and pcf8574 modules at boot.
If I remove these modules after boot, the eee module does not work. If I do not load them at power up, it is fine. I would love some advice as to why this is happening! With them loaded at boot I can still read the PLL using i2cdump.
If i try to read the pll using your eee module when I have the other i2c modules loaded the I2C bus is left messed up - it takes a few attempts to read the PLL using i2cdump.
Help!
Right, that's what I was starting to suspect -- the same thing happened to me once while I was working on the module. At the moment I'm cheating and using ACPI to do the "dirty work" for me, which includes talking to the SMBus. Unfortunately the ACPI code and the i2c_i801 code step all over each other and the SMBus chip gets quite confused.
I originally went the ACPI route because there was some tricky stuff going on with the embedded controller... but that turns out to be a bit of a red herring, because telling the embedded controller we're running at 100Mhz FSB just makes the system unstable. I'm already planning version 0.2 of the eee module, which will do away with ACPI and use i2c_i801 to communicate with the PLL chip.
Offline
Actually if you are interested in lowering power consumption, you should look into undervolting the processor not just underclocking. This is where the real payoff in battery life and heat reduction is going to come into play. On two of my core 2 duo based systems dropping the voltage got me from 70c load temps to 60c load temps. Another perk is that your fan will not come on as much. I'm not sure if the Linux PHC stuff is going to work with the eee but it should be a good starting point. https://www.dedigentoo.org/trac/linux-p … ubuntu_001
I
Offline
The Celeron M doesn't have SpeedStep so software undervolting is not possible, an BIOS mod might be douable though
Offline
i've added xandros repositories and installed cpp, gcc, libc6-dev, and make. when i go to the module directory and run make i get this:
make -C /lib/modules/2.6.21.4-eeepc/build M=/home/user/eeepc-linux/module modules
make: *** /lib/modules/2.6.21.4-eeepc/build: No such file or directory. Stop.
make: *** [all] Error 2
can you help me with what i need to do to correct this?
thanks
Offline
bjaurelio,
You've just volunteered yourself to be the first person to test the script I just wrote, about 4 posts above yours:
http://forum.eeeuser.com/viewtopic.php?pid=40036#p40036
Let me know how you go ![]()
Last edited by Chilling_Silence (2007-12-04 10:53:52 pm)
Offline
tristand wrote:
I have done some power consumption tests and am not too pleased with the results. This is what I found:
Code:
N M mA 90 24 1271 85 24 1248 70 24 1223 65 24 1216 60 24 1210 55 24 1199 50 24 1193 45 24 1185 40 24 1177 35 24 1170 30 24 1161I also found it unstable at lower speeds - random crashing. So it doesn't seem that changing these values affects current consumption much. Shame!
I also tested the sleep mode current consumption - it's 235mA. That's a huge amount of power - over 2 watts! Asus have done something badly wrong with their suspend system!
It seems unlikely that I can use this method to increase operating ime, I just hope we can figure out how to reduce the sleep mode current consumption.
The good news is that overclocking/rightclocking doesn't increase the the current consumption by much...
Were these figures with the CPU idling, btw?
Offline
Chilling_Silence:
Followed your script, some reason though it rebooted at the end.
Ran the echo to fsb lines again and get similar results in geekbench now
Bertie
Edit: For some reason it then locked up and at restart complained about Boot Boost in bios screen. And the speed is reset to default.
Last edited by bertie (2007-12-05 12:12:50 pm)
Offline
Hi Bertie,
Thanks for giving it a run through! ![]()
I had a problem when running openarena from my thumbdrive, it hung, but I just left it on all night at 900MHz running glxgears, set gkrellm to alert me if it hit 60 (Hooked it up to my speaker system so it DEFINITELY woulda woken me up, and probably the rest of the house). I dont believe it made it above 58 degrees!
What BIOS do you have? You understand that you will have to run this on every boot to get it to 900MHz or it'll revert back to 630MHz? Here's what I have in a little .sh script (after typing "sudo bash"):
cd /root/eeepc-linux/module/
insmod eee.ko
echo 85 24 0 > /proc/eee/fsb
sleep 2
echo 100 24 0 > /proc/eee/fsb
echo "Speedup complete, now running at 100MHz"
Offline
Compiling the module on the EEE is painfull (you don"t have to compile the kernel).
It's more convenient to compile it in a virtual machine if you haven't a Linux box.
Or just share the module ...
Last edited by Kibobo (2007-12-05 2:30:58 pm)
Offline
After 5 seconds of compiling: http://kibobo.free.fr/EEE/acpi/eee.ko
Don't forget to do 'depmod -a' after copying the module in your EEE (/lib/modules/2.6.21.4-eeepc/kernel/drivers/acpi/ for example) if you want to use modprobe (and adding eee to the /etc/modules file).
Last edited by Kibobo (2007-12-05 2:40:57 pm)
Offline
What is the progress of this?
I compiled and tested the module and was quite happy with it. Then again I decided not to redistribute my ko file as per request of kiwidrew in the startpost.
Kiwidrew: what about the maturing and your action to add to cpufreq?
Offline
Kibobo wrote:
After 5 seconds of compiling: http://kibobo.free.fr/EEE/acpi/eee.ko
Don't forget to do 'depmod -a' after copying the module in your EEE (/lib/modules/2.6.21.4-eeepc/kernel/drivers/acpi/ for example) if you want to use modprobe (and adding eee to the /etc/modules file).
Tried your module, stepping to 85 appears to work (geekbench 684!), but on my machine when I try to goto 100, EEE freezes ![]()
Edit:It will go to 95, but not 100 ...
Edit2: At 95 I get geekbench score of 766 ...
Last edited by bullwood42 (2007-12-05 4:25:31 pm)
Offline
For some reason couldn't get my compiler to work right, so I just grabbed Kibobo's compile. After insmod'ing, I got it to 85 fine, but 100 scrambled my screen and locked me.
Figured I'd try with the kernel recompile, and a fresh restore of Xandros (I've been hackin the hell outta this beast). Updated my repo's, grabbed build-essential, and compiled a kernel and the fsb module. Basically walked through Chill's script, and now I lock at 85!
Restoring Xandros AGAIN, and trying to just compile the module and test. Hope this one works, not sure what else I'd be doing wrong...![]()
UPDATE:
Well, ended up just downloading the module again, and then insmod. Worked like a champ at 85, 95, and finally 100MHz. Not sure what's so different this time, but the important thing is it works. Geekbench gave me a score of 814, I'll take it. ![]()
Last edited by jeff3point0 (2007-12-05 5:38:38 pm)
Offline
You guys are going to something like 85 first, and then to 100?
What temperature is your system at, try this:
modprobe thermal
cat /proc/acpi/thermal_zone/TZ00/temperature
Then go to 85, then:
cat /proc/acpi/thermal_zone/TZ00/temperature
Then goto 100 and see...
Offline
eFfeM wrote:
What is the progress of this?
I compiled and tested the module and was quite happy with it. Then again I decided not to redistribute my ko file as per request of kiwidrew in the startpost.
Kiwidrew: what about the maturing and your action to add to cpufreq?
Planning to get on to it this weekend. (I hope!)
I'm really happy that the testing so far has been largely successful and nobody's bricked their eee at all.
I'm very anxious to get cpufreq support working, because I don't like echo'ing stuff into a /proc file very much...
I'd still like to find out what the flag sent to the EC does, though. I'm considering just removing it from version 0.2, but it'd be nice to find out *why* Asus even had it there in the first place... so anybody who wants to run at 100Mhz with an EC flag of 1? Just do:
echo 85 24 0 > /proc/eee/fsb
echo 100 24 1 > /proc/eee/fsb
Does it mess with the video card? Does it increase or reduce power consumption? Does it make the SD card reader work better or worse? Does it make the eee start up in 100Mhz mode automatically? Does it affect suspend-to-RAM?
So far I've discovered that it makes the VGA output to an external monitor go slightly fuzzy...
Offline
lonerebel wrote:
Actually if you are interested in lowering power consumption, you should look into undervolting the processor not just underclocking. This is where the real payoff in battery life and heat reduction is going to come into play. On two of my core 2 duo based systems dropping the voltage got me from 70c load temps to 60c load temps. Another perk is that your fan will not come on as much. I'm not sure if the Linux PHC stuff is going to work with the eee but it should be a good starting point. https://www.dedigentoo.org/trac/linux-p … ubuntu_001
I
Unfortunately, I think that the CPU's VID pins are wired directly into the power regulator chip, and there's no way to override that in software at all. As far as I know the only way would be to mod the regulator chip... definitely doable if you're keen. ![]()
Offline