Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Assistance Kernel & Hardware
  • Search

user undervolting

Kernel not recognizing your hardware? Problems with power management or PCMCIA? What hardware is compatible with Gentoo? See here. (Only for kernels supported by Gentoo.)
Post Reply
Advanced search
340 posts
  • Page 5 of 14
    • Jump to page:
  • Previous
  • 1
  • …
  • 3
  • 4
  • 5
  • 6
  • 7
  • …
  • 14
  • Next
Author
Message
bdz
Apprentice
Apprentice
User avatar
Posts: 237
Joined: Fri Jul 15, 2005 7:22 pm
Location: Montpellier (France)

  • Quote

Post by bdz » Tue Oct 11, 2005 10:02 pm

I have the same concern as you. As I only have Linux on my laptop I cannot play with a user friendly windoz GUI to find the best values for my CPU. And compiling a new kernel and rebooting for each value I want to try is not something I want to do.

Maybe it is possible to try your idea of a frequency table with multiple entries for the same frequency and use the userspace governor to select a voltage value. But I guess that the frequencies must not be exactly identical. Otherwise the governor will always pick the same one.
Maybe using frequencies like 800, 801, 802, etc... would do the trick.

I'm currently trying another solution: modify the kernel source code to create a file in /sys/devices/system/cpu/cpu0/cpufreq/ that will contain custom voltage settings. And then have the speedstep-centrino driver using the values in this file to set the CPU voltage.
This way it would be possile to change the voltage from userspace without rebooting.

However I don't know anything about kernel hacking. So maybe it will take me more time to do this than to try every possible voltage settings with the "compile your kernel and reboot" technique. But it will be more fun.

About the freq/volt pairs for the 533 FSB processors. Here are the default values retreived from ACPI on my CPU (1.6 GHz, 533 MHz FSB):

Code: Select all

speedstep-centrino: adding state 6 with frequency 1596000 and control value 0c29
speedstep-centrino: adding state 7 with frequency 1330000 and control value 0a22
speedstep-centrino: adding state 8 with frequency 1064000 and control value 081a
speedstep-centrino: adding state 9 with frequency 798000 and control value 0612
So if you decode the hex values it looks like 133 is the correct value to use:

Code: Select all

0c29: 12*133 = 1596 MHz, 41*16+700 = 1356 mV
0a22: 10*133 = 1330 MHz, 34*16+700 = 1244 mV
081a: 8*133  = 1064 MHz, 26*16+700 = 1116 mV
0612: 6*133  = 798  MHz, 18*16+700 = 988  mV
Top
beatryder
Veteran
Veteran
User avatar
Posts: 1138
Joined: Fri Apr 08, 2005 12:27 am
Contact:
Contact beatryder
Website

  • Quote

Post by beatryder » Wed Oct 12, 2005 5:28 am

how did you get that information?
Dont make it idiot proof, make it work.
Neucode.org
<suppressed key>
Top
bdz
Apprentice
Apprentice
User avatar
Posts: 237
Joined: Fri Jul 15, 2005 7:22 pm
Location: Montpellier (France)

  • Quote

Post by bdz » Wed Oct 12, 2005 7:50 am

I activated the cpufreq debug log in my kernel config and added the kernel parameter that enables these log in my grub.conf.
I'm not in front of my laptop right now and I don't remenber the exact names of these things.
But the kernel config item is near the other cpufreq items. And the kernel boot param is described in the help of the kernel config item. I used a value of 2 for this param.
Then after rebooting a "dmesg grep -i centrino" will show this information
Top
dgaffuri
Advocate
Advocate
Posts: 2078
Joined: Sun Jun 05, 2005 12:44 am
Location: Italy

  • Quote

Post by dgaffuri » Wed Oct 12, 2005 8:27 am

bdz wrote:I'm currently trying another solution: modify the kernel source code to create a file in /sys/devices/system/cpu/cpu0/cpufreq/ that will contain custom voltage settings. And then have the speedstep-centrino driver using the values in this file to set the CPU voltage.
This way it would be possile to change the voltage from userspace without rebooting.

However I don't know anything about kernel hacking. So maybe it will take me more time to do this than to try every possible voltage settings with the "compile your kernel and reboot" technique. But it will be more fun.
Take a look at LKML archives. At the beginning of august there was someone who proposed a similar thing and posted the patches, search for PowerOP. I don't know if it's planned to go in mainstream.
Adopt an unanswered post
If you feel that your problem has been solved please edit the top post and add [solved] to the subject
Top
bdz
Apprentice
Apprentice
User avatar
Posts: 237
Joined: Fri Jul 15, 2005 7:22 pm
Location: Montpellier (France)

  • Quote

Post by bdz » Wed Oct 12, 2005 9:33 am

Thank you for the information. I will have a look a this patch.
Top
jlinkels
n00b
n00b
Posts: 8
Joined: Fri Oct 07, 2005 12:09 pm

  • Quote

Post by jlinkels » Thu Oct 13, 2005 2:41 am

Some update:

I have changed the minimum speed setting to 533 MHz (4x bus clock) by putting this table in speedstep-centrino.c:

Code: Select all

static struct cpufreq_frequency_table dothan_1867[] =
{
        OP( 533, 750, 750, 750, 750),
        OP( 800, 750, 750, 750, 750),
        OP(1067, 1084, 1084, 1084, 1084),
        OP(1333, 1116, 1116, 1116, 1116),
        OP(1600, 1116, 1116, 1116, 1116),
        OP(1867, 1132, 1132, 1132, 1132),
        { .frequency = CPUFREQ_TABLE_END }
};
I booted with the boot parameter cpufreq.debug=7.

Code: Select all

root@jlinkels_lt:/sys/devices/system/cpu/cpu0/cpufreq# cat  scaling_governor
userspace
I set the frequency to 533 MHz manually:

Code: Select all

root@jlinkels_lt:/sys/devices/system/cpu/cpu0/cpufreq# echo "533000" > scaling_setspeed
After I did that again, the output of kern.log showed:

Code: Select all

Oct 12 22:10:46 jlinkels_lt kernel: userspace: cpufreq_set for cpu 0, freq 533000 kHz
Oct 12 22:10:46 jlinkels_lt kernel: cpufreq-core: target for CPU 0: 533000 kHz, relation 0
Oct 12 22:10:46 jlinkels_lt kernel: freq-table: request for target 533000 kHz (relation: 0) for cpu 0
Oct 12 22:10:46 jlinkels_lt kernel: freq-table: target is 0 (533000 kHz, 1027)
Oct 12 22:10:46 jlinkels_lt kernel: speedstep-centrino: no change needed - msr was and needs to be 403
This looks very much like the cpu is running on 533 MHz with a core voltage of 750 mV. In any case, the IA32_PERF_CTL register returns 0403, which means that it really contains 0403.
04: 4 x 133 Mhz = 533 MHz
03: 16*3 + 700 mV = 748 mV

Could that be right? The reason that I am so doubtful is that this gives *exactly* the same output as if the processor is running on 800 MHz / 988 mV!!

Code: Select all

root@jlinkels_lt:/sys/devices/system/cpu/cpu0/cpufreq# acpi -V
     Battery 1: charged, 98%
     Thermal 1: active[3], 40.0 degrees C
     Thermal 2: ok, 52.0 degrees C
     Thermal 3: ok, 28.0 degrees C
  AC Adapter 1: on-line
Could there be an additional piece of intelligence in the CPU which makes the CPU doing different things from the IA32_PERF_CTL register?? Is there any way I can find out whether the CPU is running at 533 MHz?

As for the "on the fly" changing of the core voltage:
The correct way to do such things seems to be to communicate thru a file in the /sys/devices/system directory or so. The module would use a call to sysctl() to read or write from this file. I didn't need it so far (my CPU seems to run fine on 750 mV, if it really is doing so!).

I found the information here, but it requires careful studying to see what is going on.

Please comment
jlinkels
Top
bdz
Apprentice
Apprentice
User avatar
Posts: 237
Joined: Fri Jul 15, 2005 7:22 pm
Location: Montpellier (France)

  • Quote

Post by bdz » Thu Oct 13, 2005 10:22 am

jlinkels wrote: Could that be right? The reason that I am so doubtful is that this gives *exactly* the same output as if the processor is running on 800 MHz / 988 mV!!
...
Could there be an additional piece of intelligence in the CPU which makes the CPU doing different things from the IA32_PERF_CTL register?? Is there any way I can find out whether the CPU is running at 533 MHz?
Running a small CPU benchmark tool at 800 MHz and at 533 MHz will tell you if the CPU is actually using the specified frequency. I'm thinking to something like the BogoMips that is displayed at boot time. There exist a standalone program that can be used to compute this value. But any benchmark using only CPU will do it.
jlinkels wrote: I found the information here, but it requires careful studying to see what is going on.
I have carefully read this patch and I did not found anything wrong.
This is more or less the same kind of code that what I came up to. A little bit more sofisticated than mine to be honest. But I like simple things, so I will continue trying my own patch.
Top
jlinkels
n00b
n00b
Posts: 8
Joined: Fri Oct 07, 2005 12:09 pm

  • Quote

Post by jlinkels » Mon Oct 17, 2005 12:29 am

Some more update:

So to see, the my system is not running on 533 MHz. This is the output of /proc/cpuinfo:

Code: Select all

jlinkels@jlinkels_lt:~# cat /proc/cpuinfo
[...]
vendor_id       : GenuineIntel
cpu family      : 6
model           : 13
model name      : Intel(R) Pentium(R) M processor 1.86GHz
stepping        : 8
cpu MHz         : 532.048
cache size      : 2048 KB
[...]
bogomips        : 1050.91
Yes, that looks like 533 MHz. However when I run "mhz" from the lmbench benchmark suite, it indicated that the CPU was running on 798 Mhz. Now that could have been the quantum effect (as soon as you try to observe a particle, it state is altered) since the governor might have tried to increase the CPU frequency. This actually happened when I run "mhz" a few times in a quick fashion. The CPU frequency was pushed upwards. And came down again.

However, without running "mhz", and with the output of /proc/cpuinfo as above, I cat-ed /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq which showed:

Code: Select all

root@jlinkels_lt:/sys/devices/system/cpu/cpu0/cpufreq# cat cpuinfo_cur_freq
798000
and to my surprise when I asked for /proc/cpuinfo again, it showed:

Code: Select all

root@jlinkels_lt:/sys/devices/system/cpu/cpu0/cpufreq# cat /proc/cpuinfo
[...]
vendor_id       : GenuineIntel
cpu family      : 6
model           : 13
model name      : Intel(R) Pentium(R) M processor 1.86GHz
stepping        : 8
cpu MHz         : 798.073
cache size      : 2048 KB
[...]
bogomips        : 1576.37
After this the CPU frequency would not go down anymore. This is logical, as speedstep-centrino asks for the current value of the IA32_PERF_CTL register and finds 0x0403. This is the same value as the speedstep-centrino wants to write there, so it draws the conclusion that nothing has to be written.

Surprisingly, when I do not cat cpufreq_cur_frequency in between, the governor nicely scales the frequency up and down until /proc/cpuinfo shows 533 Mhz again.

This behavior (showing a low frequency value in the beginning, and then locking at a certain minimum) is in line with other reports in this thread. My conclusion so far is:
- The CPU never actually scales down to 533 MHz. (or 400 MHz on a 400 MHz system), being 1x bus frequency
- For some time /proc/cpuinfo is not synchronized with cpuinfo_cur_frequency
- There seems to be a mechanism which has to sync what the kernel thinks the CPU frequency is and the actual frequency. By trying to put an impossible value in the CPU control register, these value get out of sync.

Too bad...

Now since speedstep-centrino does write the value for voltage = 748 mV into the CPU, I am wondering whether this voltage is actually used, or that the entire write to IA32_PERF_CTL is ignored. Which would be very bad, because that means that still to high a value for the core voltage is used. I have my doubts whether that voltage is used. First, acpi -V shows the same temperature values as before (when I used the ACPI tables) and the fan keeps running and secondly, even with 748 mV at 800 MHz the computer remained as stable as a rock.

The only thing which I will still do is removing the 533 MHz from the speedstep-centrino table and see whether this some influence on the temperature on 800 MHz. 800 MHz is a valid P-setting, and I expect the requested core voltage to be used.

If anyone else has other experiences, or has obtained new results, please post here.

jlinkels
Top
jlinkels
n00b
n00b
Posts: 8
Joined: Fri Oct 07, 2005 12:09 pm

  • Quote

Post by jlinkels » Mon Oct 17, 2005 2:29 pm

The plot thickens....

I have been running this configuration for a week now, and frequencies always were according to my last post. I have ksystemguard always running to see something unusual. Without changing anything, this morning /proc/cpuinfo showed:

Code: Select all

jlinkels@jlinkels_lt:~$ cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 13
model name      : Intel(R) Pentium(R) M processor 1.86GHz
stepping        : 8
cpu MHz         : 228.008
cache size      : 2048 KB
[...]
bogomips        : 449.38

and:

jlinkels@jlinkels_lt:~$ /usr/lib/lmbench/mhz
791 MHz, 1.26 nanosec clock
Which means the CPU still runs at 800 MHz

I could understand why /proc/cpufreq yielded 533 MHz, that is the lowest value in speedstep-centrino. But where 228 MHz comes from :?: :?: :?: :?: :?:

(Yeah, I know it is 533/2 :) )

jlinkels
Top
bdz
Apprentice
Apprentice
User avatar
Posts: 237
Joined: Fri Jul 15, 2005 7:22 pm
Location: Montpellier (France)

  • Quote

Post by bdz » Mon Oct 17, 2005 7:06 pm

Some results from my tests:

Using my sysfs file patch I've been able to change the voltage of my CPU. I'm surprised by the very low values I can use. So even if the CPU doesn't crash with these values I'm not sure that it would be very stable in the long term if I keep them that low.
I also found that using the CPU temperature is not a very good way to know if the CPU uses the voltage I set, at leat for the low frequencies.
Looking at the current drown from the battery is more accurate.

Here is a summary of the measures I have done with the default and lowest voltage.

Code: Select all

+-------+-------+------+--------+--------+--------+--------+--------+--------+--------+--------+
|   F   | Vacpi | Vmin | T1acpi | T1min  | T2acpi | T2min  | I1acpi | I1min  | I2acpi | I2min  |
| (MHz) | (mV)  | (mV) |  (°C)  |  (°C)  |  (°C)  |  (°C)  |  (mA)  |  (mA)  |  (mA)  |  (mA)  |
+-------+-------+------+--------+--------+--------+--------+--------+--------+--------+--------+
| 798   | 988   | 700  | 37/40  | 37/40  | 42/43  | 39/39  |  980   |  865   |  1220  |  1010  |
| 1064  | 1116  | 748  | 40/41  | 37/40  | 47/47  | 41/41  |  1110  |  880   |  1430  |  1070  |
| 1330  | 1244  | 828  | 43/44  | 37/40  | 53/53  | 42/42  |  1250  |  905   |  1730  |  1145  |
| 1596  | 1356  | 924  | 47/48  | 38/38  | 60/61  | 45/45  |  1420  |  950   |  2120  |  1250  |
+-------+-------+------+--------+--------+--------+--------+--------+--------+--------+--------+
Here is the meaning of the colum headers:
  • Vacpi: Default voltage set by ACPI
    Vmin: Min voltage I'm able to set before the CPU freeze
    T1acpi: Temperature at Vacpi and 0% CPU
    T1min: Temperature at Vmin and 0% CPU
    T2acpi: Temperature at Vacpi and 100% CPU
    T2min: Temperature at Vmin and 100% CPU
    I1acpi: Current at Vacpi and 0% CPU
    I1min: Current at Vmin and 0% CPU
    I2acpi: Current at Vacpi and 100% CPU
    I2min: Current at Vmin and 100% CPU
I have not tested the min voltages during a very long time (no more than a few hours). So I'm not sure that the CPU is very stable at these settings.
Actually I suspect that at least the values for 1.6 and 1.3 GHz are too low because I've seen some strange things in glxgears display that let me think that the CPU sometimes computes wrong values.
I'm currently searching for a better way than glxgears to check the correct behavior of the CPU.
Top
Skystorm
n00b
n00b
Posts: 24
Joined: Fri Aug 15, 2003 1:24 pm
Location: Göteborg, Sweden
Contact:
Contact Skystorm
Website

  • Quote

Post by Skystorm » Mon Oct 17, 2005 11:23 pm

bdz wrote:I'm currently searching for a better way than glxgears to check the correct behavior of the CPU.
You might want to try mprime, the equivalent of Prime95 from the Windows world. As far as I've read it's contained in the sci-mathematics/gimps package.

I haven't looked into undervolting under Linux, but for Windows Prime95's torture test mode is the quasi standard for overclocking/undervolting stability testing. It worked perfectly for me, undervolting my Centrino based laptop in my dual-boot Windows.
Top
jlinkels
n00b
n00b
Posts: 8
Joined: Fri Oct 07, 2005 12:09 pm

  • Quote

Post by jlinkels » Tue Oct 18, 2005 12:27 am

bdz,

Those are quite an impressive test results you showed. Great work. Where do you get the temperatures and currents from? Are they somewhere available in the /sys directory? Or did you probe for them somewhere deep in the hardware?

Do you intend to share your patch? I have a Sonoma 1.86 and I would like to try the same. (But avoid reinventing the wheel :) )

Given these results, and the higher temperature at full load and high CPU frequency, it might finally become true that computers explode when they are overloaded. (Like in old SF movies)

jlinkels
Top
bdz
Apprentice
Apprentice
User avatar
Posts: 237
Joined: Fri Jul 15, 2005 7:22 pm
Location: Montpellier (France)

  • Quote

Post by bdz » Tue Oct 18, 2005 6:37 am

I get temperature and current from "acpi -V" and "cat /proc/acpi/battery/BAT1/state". So it is not very accurate results.

I can share my patch. But it would need some polishing. And the one you put a link to is not very different than mine and is more user friendly.
Top
jlinkels
n00b
n00b
Posts: 8
Joined: Fri Oct 07, 2005 12:09 pm

  • Quote

Post by jlinkels » Wed Oct 19, 2005 2:51 am

bdz,

Thanks for the pointer. I never run the machine long enough on a battery to find this. The battery is exhausted before I can open a console in X. (Well, not literally)

What laptop do you have actually? I have a HP/Compaq NC6230.

I don't understand the high power consumption of this machine.

When I have switched off the backlight (pressing the small lid switch just under the screen DOES switch off the backlight, doesn´t it??) and wireless, at 800 MHz I still draw a current of 1250 mA. This increases to only 1420 mA when I switch the CPU to 1867 MHz. (Or I should say, the decrease is not sufficient?)

Just to be sure, I removed the 533 MHz setting from speedstep-centrino, leaving only "correct" states in. According to kern.log, a value of 0603 is written to IA32_PERF_CTL. If I run a small benchmark, CPU speed is showed correctly.

Can the CPU be defective or so??

Where the heck does the power go?

I still have to install the x.org server. The Radeon driver used here can throttle the speed of the graphic chip. Furthermore I might have to create the sysctl interface and do the same what you did and set the voltages manually to see if that has any influence.

Fot the time being I am not very happy with a battery life of 2 hours :(

jlinkels
Top
bdz
Apprentice
Apprentice
User avatar
Posts: 237
Joined: Fri Jul 15, 2005 7:22 pm
Location: Montpellier (France)

  • Quote

Post by bdz » Wed Oct 19, 2005 10:19 am

jlinkels wrote:bdz,
What laptop do you have actually? I have a HP/Compaq NC6230.jlinkels
I have a MSI S260
jlinkels wrote:When I have switched off the backlight (pressing the small lid switch just under the screen DOES switch off the backlight, doesn´t it??) and wireless, at 800 MHz I still draw a current of 1250 mA. This increases to only 1420 mA when I switch the CPU to 1867 MHz. (Or I should say, the decrease is not sufficient?)
...
Can the CPU be defective or so??
You have a difference of 170 mA between 800MHz and 1867MHz. This is a very small difference compared to what I've seen on my laptop at default ACPI voltage (440 mA) but not compared to what I have with reduced voltages (85 mA)
So if you have reduced both 800MHz and 1867MHz voltages maybe there is nothing wrong with your CPU and it is another part of your computer that draw a lot of current.
Maybe you should measure the current with the original voltages to check that.
jlinkels wrote: Where the heck does the power go?
Very good question.
AFAIK the big power consumers are (in random order) screen backlight, CPU, hard drive, video card and chipset.
And the other parts that can use some current are CD/DVD drive, ethernet card, WiFi card, Fan, and any PCMCIA or USB device.
My laptop uses the video card integrated in the i915 chipset. Maybe it explains why it uses less power than your laptop. (but it surely has very poor 3D performances compared to your Radeon card)
And the screen is smaller also : 12 inch 1280x800.
jlinkels wrote: Fot the time being I am not very happy with a battery life of 2 hours :(
Same thing for me. Even if my laptop does not use a lot of current it has a very small battery of 2200 mAh only. so my battery life is also around 2H.
That's why I'm very interested by this undervolting thing. But from my results it will give me something like 15 minutes increase in battery life. Not so much :(

When I will have finished with undervolting tests I will give a try to laptop-mode to reduce the power used by the hard drive. And maybe try this CPU throtling thing.

But first I have to write some script that collect the measures and generates reports automatically because doing this manually starts becoming painful.
I will also try to share my sysfs patch. I have almost finished to clean up all the dirty parts. (I don't know where to host it though)
Top
jlinkels
n00b
n00b
Posts: 8
Joined: Fri Oct 07, 2005 12:09 pm

  • Quote

Post by jlinkels » Wed Oct 19, 2005 1:43 pm

Yeah, that makes sense to put a 2200 mAh battery in a laptop which draws 1500 mA in normal operation, doesn't it? 8O

About throttling, do you mean clock modulation? That is a weird thing. According to Intel it is mainly used for thermal management. For me thermal = power, so I would expect power saving here. After all, if yo have an 800 MHz clock, and you stop it 75% of the time, you only have 200 e6 clock cycles per second, isn't it?

That seems to be dead wrong!

First, it is claimed that "when reducing the number of clock cycles, a given task takes longer, hence the total power consumption during performing that task is more". Take a look at this thread.

Secondly, throttling is quite easy from userspace. See this how-to. I tried it yesterday once I learned from you how to measure the battery current. I set the CPU to 25% duty cycle. Current consumption went up from 1600 mA to 1800 mA!

Great, while the PC is doing nothing more than waiting for some keystrokes!

There is one other thing which might be interesting (item #478 on my to-do list). The Sonoma has two output signals which are used to switch the bus speed between 100 and 133 MHz (BSEL[0:1] I believe). These are OUTPUTS, en hence must be controlled from somewhere in side the processor. The Intel 915 chipset accordingly has 2 input pins for this purpose. These pins should be connected to each other. The P4 has a register to set the bus speed. If the Sonoma has these two outputs, I expect it to have such a register as well. Unfortunately it is hopelessly undocumented. The register is not mentioned for the Sonoma, maybe it is the same register as in the P4, maybe not.

Isn't it weird that you have to do so much effort to let your processor run as slow as possible?

jlinkels
Top
bdz
Apprentice
Apprentice
User avatar
Posts: 237
Joined: Fri Jul 15, 2005 7:22 pm
Location: Montpellier (France)

  • Quote

Post by bdz » Wed Oct 19, 2005 4:04 pm

Thank you for the information and your test results on throttling. I was already suspecting that this was a sucking feature. You confirm my thought.

About the BSEL[0:1] pins, my idea was that they are hard wired inside the CPU. Maybe they are programable in some way but I've never read anything about that.
Anyway, on my laptop it will be useless because there is a hardware switch on the mainborad to select 100 or 133 MHz CPU input clock frequency.

And yeah, I understand why they make overclocking the CPU difficult. But why doing the same for underclocking/undervolting it? Maybe to sell more ULV CPU...
Top
bdz
Apprentice
Apprentice
User avatar
Posts: 237
Joined: Fri Jul 15, 2005 7:22 pm
Location: Montpellier (France)

  • Quote

Post by bdz » Wed Oct 19, 2005 10:18 pm

I checked the CPU throttling. On my laptop it does not increase the current consumption. But it does not reduce it either.

About my kernel patch to change the voltage through a sysfs file: I have added a page with all the details on the Gentoo wiki:
http://gentoo-wiki.com/HOWTO_Undervolt_a_Pentium_M_CPU
Feel free to enhance it if you like.
Top
Martini
Tux's lil' helper
Tux's lil' helper
Posts: 141
Joined: Mon Sep 30, 2002 2:34 pm

  • Quote

Post by Martini » Thu Oct 20, 2005 6:04 pm

Hi

bdz, thank you for this patch. I will try this now. I have the same Notebook (MSI S260 ,1600Mhz).
I have modified the speedstep_centrino.c file by Hand. Voltage down to 0.85V runs stable at 800MHz.
It's a good idea to regulate the core voltage via sysfs, great.

But another: can your share your kernel config and eventually your suspend scripts? I have problems with suspend to mem. After a hour in sleep-mode (suspend to ram) the notebook don't wake up. But after 10 or 15 min of sleeping waking up works.
I'm not using a swsuspend2 patched kernel. gentoo-sources 2.6.13-r3.

Thank you
Martin

Edit: patching works but compiling shows this: :?

Code: Select all

LD      init/built-in.o
LD      vmlinux
arch/i386/kernel/built-in.o(.text+0xb597): In function `store_user_voltage':
: undefined reference to `strtoul'
make: *** [vmlinux] Fehler 1
BTW: have you patched your fan controller? This works fine. The fan blows only over 60 degrees C.
Infos are here: (sorry its german)
http://www.msi-forum.de/thread.php?post ... post147997
Last edited by Martini on Fri Oct 21, 2005 5:20 pm, edited 1 time in total.
Top
bdz
Apprentice
Apprentice
User avatar
Posts: 237
Joined: Fri Jul 15, 2005 7:22 pm
Location: Montpellier (France)

  • Quote

Post by bdz » Thu Oct 20, 2005 6:41 pm

Martini wrote:Hi
bdz, thank you for this patch.
You're welcome :)
Martini wrote:I have the same Notebook (MSI S260 ,1600Mhz).
That's great! What do you think about creating a thread dedicated to this laptop on the Gentoo forum?
A maybe a page on the wiki later on?
Martini wrote:But another: can your share your kernel config and eventually your suspend scripts? I have problems with suspend to mem. After a hour in sleep-mode (suspend to ram) the notebook don't wake up. But after 10 or 15 min of sleeping waking up works.
I'm not using a swsuspend2 patched kernel. gentoo-sources 2.6.13-r3.
This is a bit off-topic for this thread. These files are rather big. If you create a thread I will post in it. Or you can contact me by mp or Jabber and I will send them by e-mail
(My Jabber ID should be somewhere at the bottom of all my post)
Top
Martini
Tux's lil' helper
Tux's lil' helper
Posts: 141
Joined: Mon Sep 30, 2002 2:34 pm

  • Quote

Post by Martini » Thu Oct 20, 2005 7:33 pm

Hi

Yes, you are right. It's offtopic. I've started a thread about MSI S260 here:
http://forums.gentoo.org/viewtopic-p-28 ... ml#2815242

Thank you
Martin
Top
bdz
Apprentice
Apprentice
User avatar
Posts: 237
Joined: Fri Jul 15, 2005 7:22 pm
Location: Montpellier (France)

  • Quote

Post by bdz » Thu Oct 20, 2005 10:54 pm

Martini wrote:Edit: patching works but compiling shows this: :?

Code: Select all

LD      init/built-in.o
LD      vmlinux
arch/i386/kernel/built-in.o(.text+0xb597): In function `store_user_voltage':
: undefined reference to `strtoul'
make: *** [vmlinux] Fehler 1
Your error happens at link time not when compiling the modified speedstep-centrino.c file. (or maybe there are some other errors above this one?)
And you use exactly the same kernel version as me.

If this is the only error I guess that maybe you have not done a "make clean" before building your kernel.
You should try this way:
  • - Backup your .config
    - "make clean"
    - Restore your .config from backup
    - "make oldconfig"
    - "make && make modules_install"
    - then proceed as usual to install the new kernel
Edit:
I assumed that you don't use genkernel tell me if I'm wrong
I have added the script I use to measure temperature and current on the wiki page
Top
Martini
Tux's lil' helper
Tux's lil' helper
Posts: 141
Joined: Mon Sep 30, 2002 2:34 pm

  • Quote

Post by Martini » Fri Oct 21, 2005 10:49 am

Hi bdz

I have tested with:

make clean -> compiling --> same error
make mrproper -> restore old config -> compiling --> same error
deleted kernelsource -> emerge gentoo-sources -> patching -> restore old config -> compiling --> same error

I don't see other errors before. That's strange. 8O
I never used genkernel.
I will testing it further tonight at home. A little bit stress here at work. :(

Thank you
Top
bdz
Apprentice
Apprentice
User avatar
Posts: 237
Joined: Fri Jul 15, 2005 7:22 pm
Location: Montpellier (France)

  • Quote

Post by bdz » Fri Oct 21, 2005 10:59 am

I will try to reapply my patch on clean kernel sources and compile with your .config

As you have modified it by hand, can you give me your speedstep-centrino.c file so that I can compare with mine?
Top
Martini
Tux's lil' helper
Tux's lil' helper
Posts: 141
Joined: Mon Sep 30, 2002 2:34 pm

  • Quote

Post by Martini » Fri Oct 21, 2005 5:10 pm

Hi bdz
bdz wrote:I will try to reapply my patch on clean kernel sources and compile with your .config

As you have modified it by hand, can you give me your speedstep-centrino.c file so that I can compare with mine?
Thats great, thank you!
My speedstep_centrino.c is here


edit:
Found it! I have deactivated X86_SPEEDSTEP_CENTRINO_ACPI in my kernel config for my hand modified speedstep_centrino.c file. Now the linker error goes away. :wink:
Testing now different voltage/freq combinations. :D
Thanks, bdz!
Top
Post Reply

340 posts
  • Page 5 of 14
    • Jump to page:
  • Previous
  • 1
  • …
  • 3
  • 4
  • 5
  • 6
  • 7
  • …
  • 14
  • Next

Return to “Kernel & Hardware”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic