Incorrect module loaded on Pentium III Mobile

Bug #24353 reported by MJWood0
22
Affects Status Importance Assigned to Milestone
powernowd (Ubuntu)
Invalid
Medium
Unassigned

Bug Description

On my Dell Inspiron 8100 laptop, I have an Intel Pentium III Mobile CPU. The
correct module for this is the speedstep-ich but powernowd is incorrectly
loading the speedstep-smi.

This is causing stuttering mouse behavior whenever the frequency is changed as
well as generating the following error message:
   localhost kernel [4295662.157000] cpufreq: change failed with new_state 1 and
result 0

I am attaching the output of both the /proc/ioports and /proc/cpuinfo.

Forcing the speedstep-ich module to load fixed all problems.

Revision history for this message
MJWood0 (mjwood0) wrote :

Created an attachment (id=4714)
Output of /proc/ioports

Revision history for this message
MJWood0 (mjwood0) wrote :

Created an attachment (id=4715)
Output of /proc/cpuinfo

Revision history for this message
aent (aent) wrote :

How do you work around this bug? (how do you force it to use speedstep-ich?) When I try to insert speedstep-ich it says "No such device"

My laptop is hardly usable with this bug present... a full 1 second freeze every 10 seconds is absolutely horrible.

Revision history for this message
aent (aent) wrote : Output of dmidecode

Attaching output of `dmidecode` as requested in https://wiki.ubuntu.com/LaptopTestingTeam/DellInspiron8100

Revision history for this message
MJWood0 (mjwood0) wrote :

This bug is still marked as unconfirmed yet there are many other bugs with the same symptoms and problems (most with the Dell Latitude C610) with this processor.

Is anything more needed from me to change this bug to confirmed or to get it fixed?

Revision history for this message
Paul Sladen (sladen) wrote :

Can you:

  cat /proc/ioports

it's currently matched against:

  grep -q 'Intel .*ICH' $IOPORTS ; echo $?

can you paste the output of that too.

Revision history for this message
MJWood0 (mjwood0) wrote : Output of cat /proc/ioports

Output of cat /proc/ioports.

Revision history for this message
MJWood0 (mjwood0) wrote :

mjwood@mojave3:~$ grep -q 'Intel .*ICH' $IOPORTS; echo $?
1

Seems I get a '1' back. Not sure what this means.

Revision history for this message
Paul Sladen (sladen) wrote :

Your machine does not appear to have an Intel ICH chipset; this is the reason that if you try to load 'speedstep-ich' manually, it states "No such device."

The choices are therefore either using the SMI interface ('speedstep-smi') or disabling scaling all together on this particular laptop, which we can do based on the dmi data.

This bug is related to:

  https://launchpad.net/distros/ubuntu/+source/linux-source-2.6.15/+bug/16416

Could you try the suggestion of 'i8042.nomux=1' in that bug?

This other possibility is that SMI interface maybe running on non-standard ports; we have:

  0810-0815 : ACPI CPU throttle

listed in /proc/ioports. Could you try:

  sudo modprobe acpi-cpufreq

Revision history for this message
MJWood0 (mjwood0) wrote :

When I try to load 'speedstep-ich' manually, it works just fine. That was the other poster "aent".

When I edit my powernowd config file to always load speedstep-ich, I get perfect processor scaling.

When I load the 'speedstep-smi' module, I get all sorts of odd pauses as the processor trys to scale. Makes things very jerky and unstable. Same goes for acpi-cpufreq.

Let me know if I can do anything more to help.

Revision history for this message
Paul Sladen (sladen) wrote :

To override the driver you can do:

  echo 'FREQDRIVER=speedstep-ich' | sudo tee -a /etc/default/powernowd

Matthew, I guess the thing to do would be add a dmi check for "Dell.*/Inspiron 8100" and override it?

Revision history for this message
Paul Sladen (sladen) wrote :

MJWood0, could you provide both:

  lspci -n
  lspci -v

that "0000:00:1f0" in there is not being decoded and that might map to a string which includes 'ICH'.

Aent: you are experiencing a different issue, please can you file a separate report along with details of your laptop.

Changed in powernowd:
assignee: mjg59 → sladen
status: Unconfirmed → Needs Info
Revision history for this message
aent (aent) wrote :
Download full text (6.3 KiB)

Paul: I am experiencing the same issue. The symptoms, problems, and solutions are all exactly the same. I just wasn't sure how to do it and now that I am doing it correctly, adding that line to the file fixes the issue.

I have the same exact hardware as him (Dell Inspiron 8100), here's my lspci output:

root@laptop:~# lspci -n
0000:00:00.0 0600: 8086:1130 (rev 04)
0000:00:01.0 0604: 8086:1131 (rev 04)
0000:00:1e.0 0604: 8086:2448 (rev 03)
0000:00:1f.0 0601: 8086:244c (rev 03)
0000:00:1f.1 0101: 8086:244a (rev 03)
0000:00:1f.2 0c03: 8086:2442 (rev 03)
0000:01:00.0 0300: 10de:0112 (rev b2)
0000:02:03.0 0401: 125d:1998 (rev 10)
0000:02:06.0 0200: 10b7:6055 (rev 10)
0000:02:06.1 0780: 10b7:1007 (rev 10)
0000:02:0f.0 0607: 104c:ac42
0000:02:0f.1 0607: 104c:ac42
0000:02:0f.2 0c00: 104c:8027
0000:07:00.0 0280: 1814:0201 (rev 01)
root@laptop:~# lspci -v
0000:00:00.0 Host bridge: Intel Corporation 82815 815 Chipset Host Bridge and Memory Controller Hub (rev 04)
        Flags: bus master, fast devsel, latency 0
        Memory at e8000000 (32-bit, prefetchable) [size=64M]
        Capabilities: [88] #09 [e104]
        Capabilities: [a0] AGP version 2.0

0000:00:01.0 PCI bridge: Intel Corporation 82815 815 Chipset AGP Bridge (rev 04) (prog-if 00 [Normal decode])
        Flags: bus master, 66MHz, fast devsel, latency 32
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=32
        I/O behind bridge: 0000c000-0000cfff
        Memory behind bridge: fc000000-fdffffff
        Prefetchable memory behind bridge: e0000000-e7ffffff

0000:00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 03) (prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0
        Bus: primary=00, secondary=02, subordinate=10, sec-latency=32
        I/O behind bridge: 0000e000-0000ffff
        Memory behind bridge: f4000000-fbffffff
        Prefetchable memory behind bridge: 30000000-34ffffff

0000:00:1f.0 ISA bridge: Intel Corporation 82801BAM ISA Bridge (LPC) (rev 03)
        Flags: bus master, medium devsel, latency 0

0000:00:1f.1 IDE interface: Intel Corporation 82801BAM IDE U100 (rev 03) (prog-if 80 [Master])
        Subsystem: Intel Corporation: Unknown device 4541
        Flags: bus master, medium devsel, latency 0
        I/O ports at bfa0 [size=16]

0000:00:1f.2 USB Controller: Intel Corporation 82801BA/BAM USB (Hub #1) (rev 03) (prog-if 00 [UHCI])
        Subsystem: Intel Corporation: Unknown device 4541
        Flags: bus master, medium devsel, latency 0, IRQ 10
        I/O ports at dce0 [size=32]

0000:01:00.0 VGA compatible controller: nVidia Corporation NV11 [GeForce2 Go] (rev b2) (prog-if 00 [VGA])
        Subsystem: Dell: Unknown device 00e6
        Flags: bus master, VGA palette snoop, 66MHz, medium devsel, latency 248, IRQ 11
        Memory at fc000000 (32-bit, non-prefetchable) [size=16M]
        Memory at e0000000 (32-bit, prefetchable) [size=128M]
        Expansion ROM at fd000000 [disabled] [size=64K]
        Capabilities: [60] Power Management version 2
        Capabilities: [44] AGP version 2.0

0000:02:03.0 Multimedia audio controller: ESS Technolog...

Read more...

Revision history for this message
Marek Safar (marek-safar) wrote :

Having same problems (same symptoms, same solution) on my Dell Latitude C810.

Revision history for this message
Alexey Balmashnov (a.balmashnov) wrote :

Another wote from the user of Dell Latitude C600: same problem, same solution.

It was like that on Breezy -> Dapper and now progressing to Edgy :(

Revision history for this message
Jesse Perez (djdarkx2006) wrote :

How do I hardcode "speedstep-ich" into /usr/share/powernowd/cpufreq-detect.sh?

I'm pretty new to Linux and I just need to know so that I can listen to music in XMMS and browse the web at the same time without having glxgears open in a different Workspace or it studdering when I get sent to a new page after clicking a new link. Thanks!

Revision history for this message
Jesse Perez (djdarkx2006) wrote :

Nevermind, I figured it out and now my CPU meter is reading full. Thanks guys!

Revision history for this message
Henry Gomersall (hgomersall) wrote :

It is now no longer possible to load the speedstep-ich module on the Inspiron 8100 under edgy:

sudo modprobe speedstep-ich yields:

FATAL: Error inserting speedstep_ich (/lib/modules/2.6.17-10-386/kernel/arch/i386/kernel/cpu/cpufreq/speedstep-ich.ko): No such device

The problem of reverting to speedstep-smi still exists also.

Revision history for this message
aent (aent) wrote :

Has anyone figured out a workaround it saying no such device in Edgy?

Its extremely annoying and as I mostly use my laptop on battery power, I need the energy savings from the reduced CPU speed.

Why is this still marked as needs info? We've provided all of the info requested...

aent (aent)
Changed in powernowd:
status: Needs Info → Confirmed
Revision history for this message
Craig Hellwege (hellofawedge) wrote :

I have the same issue on my Dell i8100.

Also confirm that Edgy doesn't allow modprobe of the ich (no such device).

So the underlying defect is the incorrect detection of the chipset on the Dell(s)?

Paul Sladen (sladen)
Changed in powernowd:
assignee: sladen → nobody
Revision history for this message
Adam Porter (alphapapa) wrote :

Having the same basic problem on a Dell Inspiron 8130. None of the speedstep modules will load at all; they all say "No such device". Also, when I try to cat /proc/ioports, I get a segfault!

Running Feisty at the moment.

(This is a friend's laptop, so I may not have quick access to it, but let me know how I can help solve this.)

Revision history for this message
tomaszr (tomasz-rosinski) wrote :

look #110504

Revision history for this message
Nobu (benjo316) wrote :

when I put in 'grep -q 'Intel .*ICH' $IOPORTS ; echo $?' it just sits there. when I input Ctrl+c it outputs 130. I don't know the significance of this, but I hope it's useful. It doesn't seem to matter how long I wait, but if you wish I can leave it over night and see what happens. ^.^

Attached output of: 'cat /proc/cpuinfo', 'dmidecode', & 'cat /proc/ioports'.

Revision history for this message
Nobu (benjo316) wrote :

Also, I forgot to add. I'm also running an Inspiron 8100 laptop. It seems to be running fine with the speedstep-smi module loaded, but it's a little slow(No pauses, but the actual speed is down. This is after installing cpufreqd/removing powernowd, then removing cpufreqd/installing powernowd. I had wanted to see if the other worked better. It didn't. x.x). I'm going to reboot my laptop and see if the speed improves a little since I've done this. What would I need to do in order to load the speedstep-smi module at boot? I want to see if it is actually working with that module of if this is just a fluke. ^.^

Revision history for this message
Nobu (benjo316) wrote :

Nope, speedstep-smi doesn't work correctly. Still throws the 'cpufreq: change failed with new_state 1 and result 0' error.

Revision history for this message
Nobu (benjo316) wrote : Re: Incorrect module loaded... (Possible solution) powernowd bug

I've followed a guide on this page http://ubuntuguide.org/wiki/Ubuntu:Feisty#CPU.

Unfortunately it involves removing powernowd. But I believe that removing it isn't necessary(Isn't there a script that powernowd runs which controls what modules are loaded?). It seems to be working(There aren't any more errors coming from cpufreq and according to the scaling monitor it is scaling down when there isn't a need for all the power).

I believe the key is loading the extra modules for each setting(Which I think is often left out) rather than just loading the acpi-cpufreq module.

Anyway, if someone else could confirm this it would be nice. Maybe it could even be fixed before the next release. ^.^

Revision history for this message
Nobu (benjo316) wrote : cpufreq inspiron 8100

Seems my solution has hit a snag... It does work correctly but after shutting down and restarting the laptop it sets the range of the processor to 667 MHz to 667 MHz. Which wouldn't be a problem except your laptop will be running slightly slow. To fix this you just have to type the command 'cpufreq-set -d 667MHz -u 866MHz'. with administrative privileges. Other than that it works fine.

Original Comment: https://bugs.launchpad.net/ubuntu/+source/powernowd/+bug/24353/comments/26

Revision history for this message
Paul Waldo (pwaldo) wrote :

Any new data on this bug? I also experience the problem on my Inspiron 8100 laptop running gutsy:

# modprobe speedstep-ich
FATAL: Error inserting speedstep_ich (/lib/modules/2.6.22-14-generic/kernel/arch/i386/kernel/cpu/cpufreq/speedstep-ich.ko): No such device

Revision history for this message
Bill Morgan (therealbrewer) wrote :

I can confirm that this bug is still present in Hardy (development release). I also have a PIII Dell Inspiron 8100 just like those above. Here's some info:

:~$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 11
model name : Intel(R) Pentium(R) III Mobile CPU 1000MHz
stepping : 1
cpu MHz : 733.000
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr sse up
bogomips : 1462.43
clflush size : 32

: ~$ grep -q 'Intel .*ICH' $IOPORTS ; echo $?
130

here's the cpu part of dmidecode:

Handle 0x0400, DMI type 4, 32 bytes
Processor Information
 Socket Designation: Microprocessor
 Type: Central Processor
 Family: Pentium II
 Manufacturer: Intel
 ID: B1 06 00 00 FF F9 83 03
 Signature: Type 0, Family 6, Model 11, Stepping 1
 Flags:
  FPU (Floating-point unit on-chip)
  VME (Virtual mode extension)
  DE (Debugging extension)
  PSE (Page size extension)
  TSC (Time stamp counter)
  MSR (Model specific registers)
  PAE (Physical address extension)
  MCE (Machine check exception)
  CX8 (CMPXCHG8 instruction supported)
  SEP (Fast system call)
  MTRR (Memory type range registers)
  PGE (Page global enable)
  MCA (Machine check architecture)
  CMOV (Conditional move instruction supported)
  PAT (Page attribute table)
  PSE-36 (36-bit page size extension)
  MMX (MMX technology supported)
  FXSR (Fast floating-point save and restore)
  SSE (Streaming SIMD extensions)
 Version: Not Specified
 Voltage: 3.3 V
 External Clock: 133 MHz
 Max Speed: 1200 MHz
 Current Speed: 733 MHz
 Status: Populated, Enabled
 Upgrade: None
 L1 Cache Handle: 0x0700
 L2 Cache Handle: 0x0701
 L3 Cache Handle: Not Provided

finally,

:~$ cat /proc/ioports | grep CPU
    0810-0815 : ACPI CPU throttle

Here is how I solved it.

:~$ sudo gedit /usr/share/powernowd/cpufreq-detect.sh

then scroll down a bit until you see this if statement:

if [ -f $IOPORTS ] && grep -q 'Intel .*ICH' $IOPORTS ; then
  PIII_MODULE=speedstep-ich
else
  PIII_MODULE=speedstep-smi
fi

and change it to:

if [ -f $IOPORTS ] && grep -q 'Intel .*ICH' $IOPORTS ; then
  PIII_MODULE=speedstep-ich
else
  PIII_MODULE=speedstep-ich
fi

save and reboot, presto.

Revision history for this message
Craig Hellwege (hellofawedge) wrote :

Thanks for the workaround Bill, worked a treat. Now's all that's required is to get the underlying defect fixed!

:) Cheers

Revision history for this message
evolipel (mlepilov) wrote :

Sorry to revive such an ancient bug, but it still exists.

Like everybody else, I'm on a 1ghz PIII Dell Inspiron 8100. If /usr/share/powernowd/cpufreq-detect.sh is left to its default of loading speedstep-smi (which it will), the module will load, but the freezing when scaling down will persist. That's the original point of the bug report, as far as I can tell.

Now, the workaround mentioned doesn't REALLY work on the 8100. That is, if you change /usr/share/powernowd/cpufreq-detect.sh the way Bill Morgan and a few others said, speedstep-ich is never actually loaded. After boot, running

lsmod | grep 'speed'

doesn't show any module loaded besides speedstep_lib, which I'm guessing is a common library between the two speedstep modules.

If you manually boot with the default speedstep-smi, speedstep-smi and speedstep_lib will be present, along, of course, with the freezing issue. However, if you later type "sudo modprobe -r speedstep-smi" and "sudo modprobe speedstep-ich" (that is, to unload one and load the other manually), it will say "no such device," as at least two other people above have mentioned it. I'm guessing the reason why MJWood hasn't experienced this is because he loads the module at startup, which, as I've mentioned, produces no notable errors, but it also doesn't actually load the module.

Now, here's the weird part:

If you, as Bill Morgan mentioned, load speedstep-ich at boot (by changing the aforementioned file), CPU scaling actually works. And it doesn't freeze, at all. No, as I've said, it doesn't actually load the module. Strangely enough, though, everything else works: powernowd scales everything correctly; the little gnome applet shows the CPU at different levels of scaling. Looking at /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq, the CPU scales perfectly under various governors and load levels. All while not freezing anytime it scales up or down in frequency.

I've even tested this by running aircrack-ng and doing a dictionary attack on packets I've captured (of my own network, mind you). Under 733 Mhz (the lower option), I get around 35 keys/second; under 1 Ghz (the higher option), I get around 45 keys/second. Switching between the two frequencies manually causes aircrack-ng to run at these different speeds. So, everything is pointing to the CPU actually scaling just fine, although speedstep-ich doesn't work.

I really don't know why this behavior occurs; maybe speedstep-ich actually does work, but it somehow doesn't show up in lsmod... or load when called by "modprobe"...

Doing stupid things like writing "PIII_MODULE=speedstep_lib" in cpufreq-detect.sh doesn't work. Commenting out all PIII_MODULE=whatever lines (i.e. not loading anything) also doesn't work.

So, it'd be nice to actually get to the bottom of this bug, because the Dell Inspiron 8100 ALMOST worked just fine out of the box. The only things driver-wise that kept it from doing so are

https://bugs.launchpad.net/ubuntu/+source/acpi-support/+bug/34043 and
https://bugs.launchpad.net/ubuntu/+source/powernowd/+bug/223812

Revision history for this message
rusivi2 (rusivi2-deactivatedaccount) wrote :

Thank you for posting this bug.

Does this issue occur in Lucid?

Changed in powernowd (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Phillip Susi (psusi) wrote :

The powernowd package is obsolete, please do not use it. CPU frequency scaling is now handled by the kernel, so if you still have issues on a modern release, file a bug against the linux package.

Changed in powernowd (Ubuntu):
status: Incomplete → Invalid
Revision history for this message
Steve Langasek (vorlon) wrote :

This is not an appropriate way to declare a package "obsolete". If you think a package should not be used, file a bug to get it removed from the archive and *then* invalidate the bugs.

Changed in powernowd (Ubuntu):
status: Invalid → Incomplete
Revision history for this message
Phillip Susi (psusi) wrote :

This package is obsolete and has been removed from the archive. Closing associated bugs.

Changed in powernowd (Ubuntu):
status: Incomplete → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.