Skip to contentSkip to conversation

found unsupported CPU with Enhanced SpeedStep

DISCUSSION Jeremy Fitzhardinge 5 participants 7 messages Dec 30, 2004 – Jan 6, 2005 1 message not in the archive

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

#1 lore raw
Quoted 7 lines · Matthew Harrell

Hi. I get the following message so I figured I would send you an email

speedstep-centrino: invalid ACPI data
speedstep-centrino: found unsupported CPU with Enhanced SpeedStep: send /proc/cpuinfo to Jeremy Fitzhardinge <[email protected]>

The cpu info file is attached. Is there a simple change I can do to get this to work on this laptop?

The "invalid ACPI data" suggests that a BIOS update might help. Unfortunately the driver can't do anything for an EST-enabled mobile P4 without the ACPI data.

I don't know too much about ACPI, so I've cc:'d this to the cpufreq mailing list.

J

processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 4
model name : Mobile Intel(R) Pentium(R) 4 CPU 3.06GHz
stepping : 1
cpu MHz : 3057.351
cache size : 1024 KB
physical id : 0
siblings : 2
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pni monitor ds_cpl est tm2 cid xtpr
bogomips : 3710.16

processor : 1
vendor_id : GenuineIntel
cpu family : 15
model : 4
model name : Mobile Intel(R) Pentium(R) 4 CPU 3.06GHz
stepping : 1
cpu MHz : 3057.351
cache size : 1024 KB
physical id : 0
siblings : 2
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pni monitor ds_cpl est tm2 cid xtpr
bogomips : 3710.16

_______________________________________________
Cpufreq mailing list
[email protected]
http://www.linux.org.uk/mailman/listinfo/cpufreq

#2 lore raw
Quoted 9 lines · Jeremy Fitzhardinge
Quoted 7 lines · Matthew Harrell

Hi. I get the following message so I figured I would send you an email

speedstep-centrino: invalid ACPI data
speedstep-centrino: found unsupported CPU with Enhanced SpeedStep: send /proc/cpuinfo to Jeremy Fitzhardinge <[email protected]>

The cpu info file is attached. Is there a simple change I can do to get this to work on this laptop?

Quoted 6 lines

The "invalid ACPI data" suggests that a BIOS update might help. Unfortunately the driver can't do anything for an EST-enabled mobile P4 without the ACPI data.

I don't know too much about ACPI, so I've cc:'d this to the cpufreq mailing list.

Can you make the disassembled DSDT (see http://acpi.sourceforge.net for details and/or http://forums.gentoo.org/viewtopic.php?t=122145 for a howto; proceed until step "7. Diagnosing a Buggy DSDT - Disassemble the DSDT" please) as well as a full dmesg output available on the 'net somewhere, please? If that's not possible, please send these two files off-list to me.

Thanks,
Dominik

#3 lore raw
Quoted 14 lines · Dominik Brodowski
Quoted 13 lines · Jeremy Fitzhardinge
Quoted 7 lines · Matthew Harrell

Hi. I get the following message so I figured I would send you an email

speedstep-centrino: invalid ACPI data
speedstep-centrino: found unsupported CPU with Enhanced SpeedStep: send /proc/cpuinfo to Jeremy Fitzhardinge <[email protected]>

The cpu info file is attached. Is there a simple change I can do to get this to work on this laptop?

The "invalid ACPI data" suggests that a BIOS update might help. Unfortunately the driver can't do anything for an EST-enabled mobile P4 without the ACPI data.

Quoted 9 lines
Quoted 2 lines

I don't know too much about ACPI, so I've cc:'d this to the cpufreq mailing list.

Can you make the disassembled DSDT (see http://acpi.sourceforge.net for details and/or http://forums.gentoo.org/viewtopic.php?t=122145 for a howto; proceed until step "7. Diagnosing a Buggy DSDT - Disassemble the DSDT" please) as well as a full dmesg output available on the 'net somewhere, please? If that's not possible, please send these two files off-list to me.

Could you please send me those files as well?
I would like much the full acpi dump, since it may be in a SSDT table instead.

wget ftp://ftp.kernel.org//pub/linux/kernel/people/lenb/acpi/utils/pmtools-20031210.tar.bz2 tar xjvfp pmtools-20031210.tar.bz2
cd pmtools-20031210/acpidmp
make
sudo ./acpidmp > acpidmp.out
bzip2 acpidmp.out

Cheers,

Signature · 4 lines
Bruno Ducrot

--  Which is worse:  ignorance or apathy?
--  Don't know.  Don't care.
#4 lore raw

:
: Could you please send me those files as well?
: I would like much the full acpi dump, since it may be in a SSDT table : instead.
:

Dominik was pretty helpful. It looks like the _PSD entries are missing from the SSDT table. Many of my errors (and bootup instability) seem to go away when I don't run with hyperthreading on. The processor does seem to scale down the cpu speed but it just doesn't appear to like the interaction between hpyerthreading and speedstep

Here are a bunch of the files I made available to him

http://alecto.bittwiddlers.com/files/inspiron-5160/dmesg
http://alecto.bittwiddlers.com/files/inspiron-5160/dmesg-noht
http://alecto.bittwiddlers.com/files/inspiron-5160/dsdt.dat
http://alecto.bittwiddlers.com/files/inspiron-5160/dsdt.dsl
http://alecto.bittwiddlers.com/files/inspiron-5160/ssdt.dat
http://alecto.bittwiddlers.com/files/inspiron-5160/ssdt.dsl

Does this contain the ACPI dump you were looking for?

Signature · 6 lines
  Matthew Harrell                          Another Month's End:
  Bit Twiddlers, Inc.                      All Targets Met 
  [email protected]                All Systems Working
                                           All Customers Satisfied
                                           All Staff Enthusiastic
                                           All Pigs Fed And Ready To Fly
#5 lore raw
Quoted 7 lines · Matthew Harrell

http://alecto.bittwiddlers.com/files/inspiron-5160/dmesg
http://alecto.bittwiddlers.com/files/inspiron-5160/dmesg-noht
http://alecto.bittwiddlers.com/files/inspiron-5160/dsdt.dat
http://alecto.bittwiddlers.com/files/inspiron-5160/dsdt.dsl
http://alecto.bittwiddlers.com/files/inspiron-5160/ssdt.dat
http://alecto.bittwiddlers.com/files/inspiron-5160/ssdt.dsl

There is four Load statements in the ssdt. I need to look what tables are loaded at run time.

Could you please send to me the result of the attached program when HT mode?

CHeers,

Signature · 4 lines
Bruno Ducrot

--  Which is worse:  ignorance or apathy?
--  Don't know.  Don't care.

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>

#include <sys/types.h>
#include <sys/stat.h>

struct table {
	char * name;
	off_t address;
	ssize_t len;
};
static struct table tables[] = {
	{
		.name = "CPU0IST ",
		.address = 0x3FFEFBE7,
		.len = 0x00000277,
	},
	{
		.name = "CPU1IST ",
		.address = 0x3FFEFB60,
		.len = 0x00000087,
	},
	{
		.name = "CPU0CST ",
		.address = 0x3FFEF988,
		.len = 0x000001D8,
	},
	{
		.name = "CPU1CST ",
		.address = 0x0x3FFEF92C,
		.len = 0x0000005C
	},
	{
		.name = NULL,
		.address = 0,
		.len = -1
	},
};

static int fd;

static int init_sysmem(void)

{
	fd = open("/dev/mem", O_RDONLY);
	return (fd >= 0);
}

static int exit_sysmem(void)

{
	return (close(fd));
}

static int decode(struct table *t)

{
	char *p;
	int i;
	ssize_t count;

	if (fd < 0 || !t)
		return 1;

	printf("%s %lx %x\n", t->name, t->address, t->len);

	if (lseek(fd, t->address, SEEK_SET) != t->address)
		return 1;

	p = malloc(t->len);
	if (!p)
		return 1;
	
	count = read(fd, p, t->len);
	if (count != t->len) {
		free(p);
		return 1;
	}

	for (i = 0; i < t->len; i++) {
		if ((i % 16) == 0)
			printf("\n%p: ", p + i);
		printf("%.2x ", p[i] & 0xff);
	}
	printf("\n");
	
	free(p);
	return 0;
}

int main(void)

{
	struct table *t;

	fd = -1;
	if (!init_sysmem()) {
		fprintf(stderr, "Can't open /dev/mem for read.  Are you root?\n");
		exit(1);
	}

	for (t = &tables[0]; t->name; t++) {
		if (decode(t)) {
			printf("can't decode %s\n", t->name);
		}
	}
	exit_sysmem();

	return 0;
}

_______________________________________________
Cpufreq mailing list
[email protected]
http://www.linux.org.uk/mailman/listinfo/cpufreq

#6 lore raw

: There is four Load statements in the ssdt. I need to look what tables : are loaded at run time.
:
: Could you please send to me the result of the attached program : when HT mode?

Well, I ran it as root both with HT turned on and off. Both times I got this

CPU0IST 3ffefbe7 277
can't decode CPU0IST
CPU1IST 3ffefb60 87
can't decode CPU1IST
CPU0CST 3ffef988 1d8
can't decode CPU0IST
CPU1CST 3ffef92c 5c
can't decode CPU1IST

Some other comments about HT mode. About 50% of the time when HT is turned on the bootup sequence will oops and hang somewhere. I don't know how to get the output from the oops since it never gets to a single user shell. The rest of the time it will boot up fine and work in SMP mode. The frequency scaling seems to work fine but I get a lot of these messages in my log

acpi-cpufreq: Transition failed

I don't seem to get those when not running with HT on.

Let me know if there is a different program I can run to get those tables

Signature · 3 lines
  Matthew Harrell                          There are only 10 types of people in
  Bit Twiddlers, Inc.                       this world: those who understand
  [email protected]                 binary and those who don't.
#7 lore raw
Quoted 8 lines · Matthew Harrell

: There is four Load statements in the ssdt. I need to look what tables : are loaded at run time.
:
: Could you please send to me the result of the attached program : when HT mode?

Well, I ran it as root both with HT turned on and off. Both times I got this

Quoted 8 lines

CPU0IST 3ffefbe7 277
can't decode CPU0IST
CPU1IST 3ffefb60 87
can't decode CPU1IST
CPU0CST 3ffef988 1d8
can't decode CPU0IST
CPU1CST 3ffef92c 5c
can't decode CPU1IST

Well... Originally (before sending you this prog) the latest entry was

        {
                .name = "CPU1CST ",
                .address = 0x40fdd50,
                .len = 100
        },

in order to chekc it worked.

I've taken care that 0x040fd800 is correctly somewhere at the ACPI table:

ducrot@poup$ cat /proc/iomem 
00000000-0009f7ff : System RAM
0009f800-0009ffff : reserved
000a0000-000bffff : Video RAM area
000c9000-000c97ff : Extension ROM
000e0000-000effff : Extension ROM
000f0000-000fffff : System ROM
00100000-040fd7ff : System RAM
  00100000-002aa884 : Kernel code
  002aa885-0035bebf : Kernel data
040fd800-040ff7ff : ACPI Tables
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     Here...

040ff800-040ffbff : ACPI Non-volatile Storage
040ffc00-0fffffff : System RAM
f4000000-f400007f : 0000:00:0e.0
f5000000-f5ffffff : PCI Bus #01
f5000000-f5ffffff : 0000:01:00.0
f8000000-fbffffff : 0000:00:00.0
fc000000-fdffffff : PCI Bus #01
fc000000-fdffffff : 0000:01:00.0
fff80000-ffffffff : reserved

and this worked:
CPU0IST 3ffefbe7 277
can't decode CPU0IST
CPU1IST 3ffefb60 87
can't decode CPU1IST
CPU0CST 3ffef988 1d8
can't decode CPU0CST
CPU1CST 40fdd50 64

040fdd50: 04 5f 53 42 5f 50 43 49 30 49 53 41 5f 4c 4e 4b 040fdd60: 44 0a 00 12 1e 04 0c ff ff 0e 00 0a 03 5c 2f 04 040fdd70: 5f 53 42 5f 50 43 49 30 49 53 41 5f 4c 4e 4b 41 040fdd80: 0a 00 12 1e 04 0c ff ff 0f 00 0a 00 5c 2f 04 5f 040fdd90: 53 42 5f 50 43 49 30 49 53 41 5f 4c 4e 4b 43 0a 040fdda0: 00 12 1e 04 0c ff ff 0f 00 0a 01 5c 2f 04 5f 53 040fddb0: 42 5f 50 43

so I must admit I'm puzzled.

Quoted 11 lines

Some other comments about HT mode. About 50% of the time when HT is turned on the bootup sequence will oops and hang somewhere. I don't know how to get the output from the oops since it never gets to a single user shell. The rest of the time it will boot up fine and work in SMP mode. The frequency scaling seems to work fine but I get a lot of these messages in my log

acpi-cpufreq: Transition failed

I don't seem to get those when not running with HT on.

Let me know if there is a different program I can run to get those tables

BTW, its not related, but there is 1Go ram. You should enable highmem in order to get an extra 128Mo.

Signature · 4 lines
Bruno Ducrot

--  Which is worse:  ignorance or apathy?
--  Don't know.  Don't care.