Eee Atom CPU control - testing

Using applications, configuring, problems
Post Reply
Message
Author
tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

Eee Atom CPU control - testing

#1 Post by tempestuous »

I'm close to releasing an ACPI/hotkeys package for ASUS Eee's with Puppy 4.3.
Forum member jakfish is currently testing with one of the Celeron-powered Eee models, but we can't test CPU control of Atom CPU's.

Are there any Eee-Atom owners who are prepared to do some testing?
Here's what I need:

In Puppy 4.3 with the 2.6.30.5 kernel, first run "lsmod" to check that the new "eeepc-laptop" module has automatically loaded.
If it's listed, great. If not, load it manually -

Code: Select all

modprobe eeepc-laptop
Now check your CPU FSB state with this command

Code: Select all

cat /sys/devices/platform/eeepc/cpufv
The result can be -
770 powersave
769 normal
768 performance

The default value will probably be "769" ... but when running on battery the system might be smart enough (?) to be "770".

Now see if you can force the CPU FSB to one of the other modes -

Code: Select all

echo x > /sys/devices/platform/eeepc/cpufv
where x is -
2 powersave (FSB 100MHz)
1 normal (FSB 133MHz)
0 performance (FSB 140MHz)

Each time check for success with the first command -

Code: Select all

cat /sys/devices/platform/eeepc/cpufv
From what I've read, this process should work OK with Atom-based Eee's.
Apparently Celeron-based Eee's need to use the old process involving the third-party "eee" kernel module ...
but Celeron users could certainly try this new process. The result is likely to be no worse than lack of success, and in a worst case situation where a Celeron unit might react badly and start to get warm, just shut down.
Last edited by tempestuous on Mon 28 Sep 2009, 00:55, edited 3 times in total.

mawebb88
Posts: 246
Joined: Sun 13 Jul 2008, 09:54
Location: France nr Lyon

EeePC specials on an EeePN901(Atom CPU N270 @ 1.6 GHz)

#2 Post by mawebb88 »

Atom CPU N270 @ 1.6 GHz

@tempestuous

Here is my lsmod list (out of the box):

Module Size Used by
cpufreq_ondemand 7232 1
acpi_cpufreq 8440 0
snd_rtctimer 2380 1
parport_pc 29828 0
lp 9476 0
parport 34508 2 parport_pc,lp
snd_pcm_oss 37440 0
snd_seq_dummy 2608 0
snd_seq_oss 27648 0
snd_seq_midi_event 6892 1 snd_seq_oss
snd_seq 48464 6 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
snd_seq_device 6968 3 snd_seq_dummy,snd_seq_oss,snd_seq
snd_mixer_oss 15820 1 snd_pcm_oss
pciehp 35692 0
iptable_mangle 2380 0
iptable_nat 4684 0
nf_nat 17888 1 iptable_nat
ipt_REJECT 2828 1
nf_conntrack_ftp 7120 0
nf_conntrack_irc 5136 0
iptable_filter 2348 1
xt_state 1836 4
nf_conntrack_ipv4 13336 7 iptable_nat,nf_nat
nf_conntrack 63764 6 iptable_nat,nf_nat,nf_conntrack_ftp,nf_conntrack_irc,xt_state,nf_conntrack_ipv4
nf_defrag_ipv4 1708 1 nf_conntrack_ipv4
ip_tables 11228 3 iptable_mangle,iptable_nat,iptable_filter
fan 4048 0
uvcvideo 58936 0
videodev 36768 1 uvcvideo
v4l1_compat 14032 2 uvcvideo,videodev
i2c_i801 9504 0
serio_raw 5168 0
pcspkr 2284 0
rt2860sta 541680 1
atl1e 30688 0
i2c_core 23776 1 i2c_i801
snd_hda_codec_realtek 193584 1
snd_hda_intel 24232 0
snd_hda_codec 64620 2 snd_hda_codec_realtek,snd_hda_intel
snd_pcm 72496 3 snd_pcm_oss,snd_hda_intel,snd_hda_codec
snd_page_alloc 8852 2 snd_hda_intel,snd_pcm
snd_timer 20340 3 snd_rtctimer,snd_seq,snd_pcm
snd 56516 11 snd_pcm_oss,snd_seq_oss,snd_seq,snd_seq_device,snd_mixer_oss,snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_pcm,snd_timer
soundcore 6912 1 snd
shpchp 31616 0
pci_hotplug 28140 2 pciehp,shpchp
intel_agp 25788 1
agpgart 34188 2 intel_agp
video 18560 0
output 2796 1 video
battery 10032 0
thermal 12712 0
evdev 9472 0
eeepc_laptop 11680 0
button 5148 0
hwmon 2344 1 eeepc_laptop
rfkill 10672 3 eeepc_laptop
processor 34592 2 acpi_cpufreq
ac 3952 0
fuse 53800 0
aufs 137092 1
nls_iso8859_1 3724 0
nls_cp437 5356 0
usbhid 26112 0
usb_storage 51584 0
squashfs 22928 5
uhci_hcd 21564 0
ehci_hcd 32856 0
usbcore 138160 6 uvcvideo,usbhid,usb_storage,uhci_hcd,ehci_hcd[

Rgds Mike

mawebb88
Posts: 246
Joined: Sun 13 Jul 2008, 09:54
Location: France nr Lyon

cat > /sys/devices/platform/eeepc/cpufv on Atom Eee

#3 Post by mawebb88 »

@tempestuous

Code: Select all

cat > /sys/devices/platform/eeepc/cpufv
Nothing happens in rxvt until I hit the return key a second time and then I get:

cat: write error: Invalid augument

Rgds MIke

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#4 Post by tempestuous »

Sorry. The command should be -

Code: Select all

cat /sys/devices/platform/eeepc/cpufv
I have edited the first post with the correct information.

User avatar
01micko
Posts: 8741
Joined: Sat 11 Oct 2008, 13:39
Location: qld
Contact:

#5 Post by 01micko »

Hi tempestuous

I have the eee 701sd

Here's the output from 'lsmod'

Code: Select all

# lsmod
Module                  Size  Used by
parport_pc             29828  0 
lp                      9476  0 
parport                34508  2 parport_pc,lp
snd_pcm_oss            37440  0 
snd_seq_dummy           2608  0 
snd_seq_oss            27648  0 
snd_seq_midi_event      6892  1 snd_seq_oss
snd_seq                48464  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
snd_seq_device          6968  3 snd_seq_dummy,snd_seq_oss,snd_seq
snd_mixer_oss          15820  1 snd_pcm_oss
fan                     4048  0 
arc4                    1612  2 
ecb                     2508  2 
rt73usb                25584  0 
rt2x00usb              11308  1 rt73usb
rt2x00lib              29388  2 rt73usb,rt2x00usb
input_polldev           3764  1 rt2x00lib
led_class               4112  1 rt2x00lib
mac80211              166056  2 rt2x00usb,rt2x00lib
cfg80211               64972  2 rt2x00lib,mac80211
crc_itu_t               1836  1 rt73usb
snd_hda_codec_realtek   193584  1 serio_raw               5168  0 
i2c_i801                9504  0 
i2c_core               23776  1 i2c_i801
atl1e                  30688  0 
pcspkr                  2284  0 
snd_hda_intel          24232  0 
snd_hda_codec          64620  2 snd_hda_codec_realtek,snd_hda_intel
snd_pcm                72496  3 snd_pcm_oss,snd_hda_intel,snd_hda_codec
snd_page_alloc          8852  2 snd_hda_intel,snd_pcm
snd_timer              20340  2 snd_seq,snd_pcm
snd                    56516  10 snd_pcm_oss,snd_seq_oss,snd_seq,snd_seq_device,snd_mixer_oss,snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_pcm,snd_timer
soundcore               6912  1 snd
intel_agp              25788  1 
agpgart                34188  2 intel_agp
video                  18560  0 
output                  2796  1 video
battery                10032  0 
thermal                12712  0 
evdev                   9472  0 
eeepc_laptop           11680  0 
hwmon                   2344  1 eeepc_laptop
rfkill                 10672  2 eeepc_laptop
button                  5148  0 
ac                      3952  0 
processor              34592  0 
fuse                   53800  0 
aufs                  137092  1 
nls_iso8859_1           3724  1 
nls_cp437               5356  1 
usbhid                 26112  0 
usb_storage            51584  1 
squashfs               22928  1 
uhci_hcd               21564  0 
ehci_hcd               32856  0 
usbcore               138160  7 rt73usb,rt2x00usb,usbhid,usb_storage,uhci_hcd,ehci_hcd
Note: ATM using an external USB wireless G adapter (as I'm sure you know from the output :wink: )

Happily ( :) ) the eeepc modules are there.

Cheers and thanks for your work.

Mick
Puppy Linux Blog - contact me for access

User avatar
01micko
Posts: 8741
Joined: Sat 11 Oct 2008, 13:39
Location: qld
Contact:

#6 Post by 01micko »

I run that command and I get

Code: Select all

# cat /sys/devices/platform/eeepc/cpufv
769
:?
Puppy Linux Blog - contact me for access

hokal
Posts: 103
Joined: Wed 10 Jun 2009, 12:27
Location: Kempen, Germany, dutch border

#7 Post by hokal »

That's what I get on my eeepc901

# cat /sys/devices/platform/eeepc/cpufv
768

does it ring a bell ?? I have no idea!

aarf

#8 Post by aarf »

and the answer is:
53 :!:
thanks to all participants, be sure to book front row seats for our next jackpot draw coming soon to a lottery stall near you. :P 8)

mawebb88
Posts: 246
Joined: Sun 13 Jul 2008, 09:54
Location: France nr Lyon

#9 Post by mawebb88 »

tempestuous wrote:Sorry. The command should be -

Code: Select all

cat /sys/devices/platform/eeepc/cpufv
I have edited the first post with the correct information.
That gives 768 (same as for hokal)

Rgds Mike

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#10 Post by tempestuous »

OK, I just did some more Googling, and it appears that the values I listed for setting the mode were correct (0/1/2)
but the values returned from the cpufv control file are different -

770 powersave
769 normal
768 performance

I have corrected the first post.

Can everyone please try changing the mode.

User avatar
01micko
Posts: 8741
Joined: Sat 11 Oct 2008, 13:39
Location: qld
Contact:

#11 Post by 01micko »

Hello tempestuous

All commands work as expected on the 701sd.

It is not smart enough to change mode when the plug is pulled and run on battery, even in performance mode. :(

There are no apparent heat issues, running now at 49°C.
Cheers
Puppy Linux Blog - contact me for access

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#12 Post by tempestuous »

01micko, the 701SD has the Celeron processor, right?
So you're saying that the Celeron will successfully change CPU modes using this process?
This is contrary to what I have read on the web. I wonder if the mode is truly changing? Can you detect any difference in the modes ... does the powersave mode actually feel less responsive?

User avatar
01micko
Posts: 8741
Joined: Sat 11 Oct 2008, 13:39
Location: qld
Contact:

#13 Post by 01micko »

Hi tempestuous

Yes it is the Celeron. No it doesn't feel much different. I just tested powersaving compared to performance and there really wasn't any perceivable difference.

Cheers
Puppy Linux Blog - contact me for access

mawebb88
Posts: 246
Joined: Sun 13 Jul 2008, 09:54
Location: France nr Lyon

Tests

#14 Post by mawebb88 »

Ok these are my results on my Atom (EeePC901)

Initially on battery

cat /sys/devices/platform/eeepc/cpufv = 769

After echo 2 > /sys/devices/platform/eeepc/cpufv

770

1 gives 769 and after 0 gives 768

But in all cases of issuing echo x > /sys/devices/platform/eeepc/cpufv

I had to CTL/C in rxvt to get the prompt back.

Rgds Mike

User avatar
01micko
Posts: 8741
Joined: Sat 11 Oct 2008, 13:39
Location: qld
Contact:

#15 Post by 01micko »

Ok, maybe we can snag some more testers with this little gui I knocked up such that you can change the status of your performance without going near the command line.
You will see the status in a splash screen about 5 seconds after clicking your choice. Start it from Menu>>System>>Eee Performance.

Warning: Only for eee pcs. Use at own risk. I have tested it but only on a Celeron, no unusual behaviour. If you Atom guys experience your cpu getting warm or something unusual in 'Top' shut down and uninstall the pet.
Do not use on Eeepc900 with 900 Celeron, freezes cursor as reported by rhadon.

Cheers and many thanks tempestuous for your work with eee pcs.

Update: Version 0.1.1 shows a tool tip. eg:"Powersave should show a value of '770'". Only so we know what we are doing.

Of course you should familiarise yourself with the commands in the main post so you know what is happening.
Attachments
eee.jpg
(14.29 KiB) Downloaded 2253 times
eee-performance-0.1.1.pet
(1.13 KiB) Downloaded 624 times
Last edited by 01micko on Tue 29 Sep 2009, 08:16, edited 1 time in total.
Puppy Linux Blog - contact me for access

User avatar
Sit Heel Speak
Posts: 2595
Joined: Fri 31 Mar 2006, 03:22
Location: downwind

#16 Post by Sit Heel Speak »

I don't have an eee, but am tinkering with a Mini-9 with N270 Atom. Found something yesterday, which may be of interest:

At http://cvs.fedora.redhat.com/viewvc/F-11/mingw32-gcc/

file: gcc-atom.patch

A patch to enable gcc to use -march=atom -mtune=atom

Written by a trio of Intel engineers in merrie olde Cathay.

There is a large hunk in the middle --maybe a thousand lines, text-search the patch on "i386.c" (in Geany) to find the beginning of the vast sea of green-- which will not apply cleanly to the gcc 4.4.1 source if you use the patch command. Perhaps because too big?

So I have applied this big hunk by hand-editing i386.c, in the gcc-4.4.1 source. Then, after deleting this large hunk from the patch, the rest of it applies cleanly to the rest of the gcc source.

Here is the gcc 4.4.1 i386.c, patched by hand, in case anyone with an Atom feels 90% as ambitious as yours truly. I plan to compile a kernel and OpenBox using the patched gcc, in the next few days, in my project to custom-fit the Mini-9 with a Puppy. If anyone comes up with meebo-less Skype for the Atom, please convey it to me.

mawebb88
Posts: 246
Joined: Sun 13 Jul 2008, 09:54
Location: France nr Lyon

Testing

#17 Post by mawebb88 »

01micko wrote:Ok, maybe we can snag some more testers with this little gui I knocked up such that you can change the status of your performance without going near the command line.
You will see the status in a splash screen about 5 seconds after clicking your choice. Start it from Menu>>System>>Eee Performance.

Warning: Only for eee pcs. Use at own risk. I have tested it but only on a Celeron, no unusual behaviour. If you Atom guys experience your cpu getting warm or something unusual in 'Top' shut down and uninstall the pet.

Cheers and many thanks tempestuous for your work with eee pcs.

Update: Version 0.1.1 shows a tool tip. eg:"Powersave should show a value of '770'". Only so we know what we are doing.

Of course you should familiarise yourself with the commands in the main post so you know what is happening.
Thanks for gui. It seems though not to work correctly for me on my eee901. Not sure exactly but it seems necessary to click another button to get the first one to change the green box value.

Rgds Mike

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#18 Post by tempestuous »

Well the question now becomes: do you want a manual CPU FSB control,
or do you want an automatic control, so that the CPU FSB goes into Powersave mode whenever the laptop is on batteries?

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#19 Post by tempestuous »

Now moving on to the fan.
I have already compiled the third-party "eee" kernel module for this purpose, and jakfish reports that it works OK, but it would probably be better to use the fan control functions of the new "eeepc-laptop" module now that Puppy 4.3 contains this module.

Some testing is needed -
normally the fan speed is controlled by bios. Running this command should set the fan control to manual -

Code: Select all

echo 1 > /sys/class/hwmon/hwmon0/pwm1_enable
To check success, run this command -

Code: Select all

cat /sys/class/hwmon/hwmon0/pwm1_enable
where the result should be "1" (manual control enabled)
but if the result is "0" then manual control is disabled, and the bios still has control.

Now that you're in manual mode, do this to set a fan speed -

Code: Select all

echo x > /sys/class/hwmon/hwmon0/pwm1
where x is a value between 0 (fan off) to 255 (full speed, 12V).

Of course, you need to keep an eye on temperature! I haven't been able to Google the exact information, but could users please look in /sys/class/hwmon/hwmon0 and you should see some file relating to temperature.
EDIT: I think it's "temp1_input". If true, you would do this to check temperature

Code: Select all

cat /sys/class/hwmon/hwmon0/temp1_input
EDIT: I was just advised by PM of the correct location of the fan/temp state files.
I have edited the information above.

mawebb88
Posts: 246
Joined: Sun 13 Jul 2008, 09:54
Location: France nr Lyon

My vote

#20 Post by mawebb88 »

tempestuous wrote:Well the question now becomes: do you want a manual CPU FSB control,
or do you want an automatic control, so that the CPU FSB goes into Powersave mode whenever the laptop is on batteries?
Automatic sounds good to me.

Rgds Mike

Post Reply