phc_controls no such device but phc_version is 0.3.2:1

If you have trouble with PHC you can ask and hope for help here.
Post Reply
b3nbranch
Posts: 8
Joined: Mon 7. Sep 2009, 17:55

phc_controls no such device but phc_version is 0.3.2:1

Post by b3nbranch » Mon 7. Sep 2009, 18:13

Hello,

I used the speedstep_centrino version of PHC successfully for a couple of years. When I upgraded to Ubuntu
9.0.4 and its built-in modules, I just gave up on undervolting for several months. Now that the PPA for a PHC
kernel is available, today I've installed that. Things look good up to a point:

Code: Select all

$ uname -a
Linux tbroma 2.6.28-15-generic #50~undervolt2-Ubuntu SMP Fri Aug 21 10:34:50 UTC 2009 i686 GNU/Linux

$ cd /sys/devices/system/cpu/cpu0/cpufreq
$ cat phc_version
0.3.2:1

$ ls -l
total 0
-r--r--r-- 1 root root 4096 2009-09-07 11:34 affected_cpus
-r--r--r-- 1 root root 4096 2009-09-07 11:32 cpuinfo_max_freq
-r--r--r-- 1 root root 4096 2009-09-07 11:34 cpuinfo_min_freq
drwxr-xr-x 2 root root    0 2009-09-07 11:34 ondemand
-rw-r--r-- 1 root root 4096 2009-09-07 11:34 phc_controls
-r--r--r-- 1 root root 4096 2009-09-07 11:34 phc_default_controls
-r--r--r-- 1 root root 4096 2009-09-07 11:34 phc_default_vids
-r--r--r-- 1 root root 4096 2009-09-07 11:34 phc_fids
-r--r--r-- 1 root root 4096 2009-09-07 11:34 phc_version
-rw-r--r-- 1 root root 4096 2009-09-07 11:34 phc_vids
-r--r--r-- 1 root root 4096 2009-09-07 11:34 related_cpus
-r--r--r-- 1 root root 4096 2009-09-07 11:32 scaling_available_frequencies
-r--r--r-- 1 root root 4096 2009-09-07 11:34 scaling_available_governors
-r--r--r-- 1 root root 4096 2009-09-07 11:32 scaling_cur_freq
-r--r--r-- 1 root root 4096 2009-09-07 11:34 scaling_driver
-rw-r--r-- 1 root root 4096 2009-09-07 11:32 scaling_governor
-rw-r--r-- 1 root root 4096 2009-09-07 11:32 scaling_max_freq
-rw-r--r-- 1 root root 4096 2009-09-07 11:34 scaling_min_freq
-rw-r--r-- 1 root root 4096 2009-09-07 11:34 scaling_setspeed

$ cat scaling_driver
acpi-cpufreq

$ lsmod | grep acpi
acpi-cpufreq
but

Code: Select all

$cat phc_controls
cat: phc_controls: No such device
I've seen mention of a 'phc_intel' module on this board but there is no such file or module on my system even
though the PPA kernel is installed and booted. Is this a problem or just old information?

Also, the system is built on an Intel T7400 processor. Here is the output of read_msr.py:

Code: Select all

MSRTOOL V0.1 started...

Displaying data for CPU cpu0
/---------------------------------------
| Current VID: 19
| Current FID: 6
| Target VID:  19
| Target FID:  6
| Highest VID: 40
| Highest FID: 13
| Lowest VID:  19
| Lowest FID:  6
\---------------------------------------



Displaying data for CPU cpu1
/---------------------------------------
| Current VID: 19
| Current FID: 6
| Target VID:  19
| Target FID:  6
| Highest VID: 40
| Highest FID: 13
| Lowest VID:  19
| Lowest FID:  6
\---------------------------------------
Any help is greatly appreciated!

Thanks,
Ben

b3nbranch
Posts: 8
Joined: Mon 7. Sep 2009, 17:55

Re: phc_controls no such device but phc_version is 0.3.2:1

Post by b3nbranch » Tue 8. Sep 2009, 21:06

OK, looking at the Troubleshooting section, I see that the problem might be
a faulty BIOS. :?: Although my system undervolted fine with speedstep-centrino
(I added a table for the T7400), and read_msr provides good values.

In any case, I'm thinking of building a replacement system at the first of the year,
probably using the Zotac 9300-ITX wifi motherboard. Does anybody have any
experience with PHC on this motherboard?

Thanks,
Ben

b3nbranch
Posts: 8
Joined: Mon 7. Sep 2009, 17:55

speedstep-centrino works (was Re: phc_controls no such devic

Post by b3nbranch » Wed 9. Sep 2009, 18:48

I downloaded the source for the PPA kernel, and went through my usual steps to
create a speedstep-centrino module with an undervolted table for my T7400 processor.
It works! :D Hopefully the standard acpi-cpufreq will work in my next system.

Ben

the-fallen
Administrator
Posts: 346
Joined: Wed 9. Jul 2008, 19:57

Re: phc_controls no such device but phc_version is 0.3.2:1

Post by the-fallen » Wed 9. Sep 2009, 19:10

Great to hear that you made it (somehow)

I am sure your next System will work with any newer PHC Versions. Did you already tried to find a BIOS-Update ?

b3nbranch
Posts: 8
Joined: Mon 7. Sep 2009, 17:55

Re: phc_controls no such device but phc_version is 0.3.2:1

Post by b3nbranch » Wed 9. Sep 2009, 19:36

the-fallen wrote:Great to hear that you made it (somehow)

I am sure your next System will work with any newer PHC Versions. Did you already tried to find a BIOS-Update ?
Thanks!

The motherboard is an AOpen mobile-on-the-desktop board, almost 3 years old, and there hasn't
been a new BIOS in a long time. The MOTD products have mostly disappeared, I suppose because
the desktop processors have gotten more efficient. I will do some more research, in a few months,
before I order parts for the next system.

mitramai
Posts: 3
Joined: Mon 21. Sep 2009, 12:26

Re: phc_controls no such device but phc_version is 0.3.2:1

Post by mitramai » Mon 21. Sep 2009, 12:36

@b3nbranch:

Could you please post the tell me how you created a (undervolting) speedstep-centrino module. I would like to try that, even though apci-cpufreq works for me. But I'm not too impressed with the results. Would like to see if it works better with a speedstep-centrino module. But I can't find any instructions or patches for ubuntu 9.04.

the-fallen
Administrator
Posts: 346
Joined: Wed 9. Jul 2008, 19:57

Re: phc_controls no such device but phc_version is 0.3.2:1

Post by the-fallen » Tue 22. Sep 2009, 20:48

mitramai:

there is a speredstep-centrino patch in the forum - but not for the newest Kernel versions. Maybe you can adapt it.

What do you mean with "not very impressed" ?

If the acpi-cpufreq patch is working for you then the speedstep-centrino will not do any better because that what they are doing in general is the same.

mitramai
Posts: 3
Joined: Mon 21. Sep 2009, 12:26

Re: phc_controls no such device but phc_version is 0.3.2:1

Post by mitramai » Fri 2. Oct 2009, 13:37

The Fallen

I used to run Pardus 2008 before, but switched to Ubuntu since I don't kde 4.X. I used a kernel undervolted with PHC-linux-patch. And it ran much cooler than Ubuntu 9.04 does with a patched kernel, using acpi-cpufreq module. Maybe it is because Pardus 2008 was a more thoroughworked distribution (a couple of other things worked straight out of the box in Pardus, but does not work i Ubuntu). But I thought that since my laptop, HP nc4010, works with both acpi-cpufreq and speedstep-centrino (being the default) that maybe I would get better performance with a undervolted speedstep-module. But if you say that they do more or less the same thing, then I guess I was wrong...

the-fallen
Administrator
Posts: 346
Joined: Wed 9. Jul 2008, 19:57

Re: phc_controls no such device but phc_version is 0.3.2:1

Post by the-fallen » Fri 2. Oct 2009, 15:47

Yes, I do not think that will make the difference. A operating system that is "optimized" for energy saving really can save a lot of things. Maybe your prior distribution was a bot more optimized.

There are some things that you can optimize on ubuntu but those information is spread all over the Internet.

If you find some things that work you can post them in this forum. Others may find that useful.

b3nbranch
Posts: 8
Joined: Mon 7. Sep 2009, 17:55

Re: phc_controls no such device but phc_version is 0.3.2:1

Post by b3nbranch » Fri 2. Oct 2009, 15:58

I would say that the acpi and speedstep modules should do the same thing ... neither can convince an
Intel chip to go lower than the minimum VID, or slower than the minimum FID. However, I can use all
8 steps of FID in my chip with speedstep, whereas the acpi will, I believe, use only 4. This is not a big
deal ... the mins and maxs remain the same.

Because the speedstep-centrino patch is not being maintained, I simplified my task in using it by dropping
all the PHC code in that module for creating & using the /sys/devices/system/* files. I had already
determined the best values for my particular chip, so I just made those values the default for a new
table tied to my chip. A diff showing my additions to the standard 2.6.27 version of the module is,

Code: Select all

51d50
< 	CPU_MYMEROM,
62d60
< 	[CPU_MYMEROM]	= { 6, 15, 6 },
293,320d290
< #define OPEX(mhz, base, mv) \
< {								\
< 	.frequency = (mhz) * 1000,				\
< 	.index = ((mhz/(base)) << 8) | ((mv - 700) / 16)	\
< }
< 
< static struct cpufreq_frequency_table mymerom_2168[] = 
< {
< 	OPEX(1000, 166, 1004),					/* FID = 6 (min), 1004 -> VID 19 (min) -> ~960mv */
< 	OPEX(1167, 166, 1020),					/* FID = 7, VID 20 */
< 	OPEX(1333, 166, 1036),					/* FID = 8, VID 21 */
< 	OPEX(1500, 166, 1068),					/* FID = 9, VID 23 */
< 	OPEX(1667, 166, 1084),					/* FID = 10, VID 24 */
< 	OPEX(1833, 166, 1100),					/* FID = 11, VID 25 */
< 	OPEX(2000, 166, 1116),					/* FID = 12, VID 26 */
< 	OPEX(2168, 166, 1132),					/* FID = 13 (max), 1132 -> VID 27 (max) -> ~1050mv */
< 	{ .frequency = CPUFREQ_TABLE_END }
< };
< 
< #undef OPEX 
< 
< #define MYMEROM(cpuid, max, name) \
< {	.cpu_id	= cpuid,	\
< 	.model_name = "Intel(R) Core(TM)2 CPU         " name, \
< 	.max_freq	= (max)*1000,	\
< 	.op_points  = mymerom_##max, \
< }
< 
343d312
< 	MYMEROM(&cpu_ids[CPU_MYMEROM], 2168, "T7400  @ 2.16GHz"),

Post Reply