Message ID | 87ws98r0fl.fsf@olivierberger.com (mailing list archive) |
---|---|
State | Rejected, archived |
Headers | show |
On Saturday 25 April 2009 21:35:42 Olivier Berger wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Hi. > > Following advice from Thomas Renninger, I hereby propose a patch for the > ACPI blacklisting kernel code, that I've successfully applied to kernel > 2.6.26-15, that allows ACPI detection on Asus P4B266 mainboards. Hmm, there seem to be different models of this motherboard series: P4B266 P4B266-C P4B266-E P4B266-M P4B266-SE P4B266 and P4B266-SE seem to have a similar BIOS history and the latest for both is: Beta Version 1011.003 The rest has a similar version string, but different latest BIOS versions (e.g. 1007) The dmi blacklisting currently done in the kernel is probably matching all of above and is rather unfortunate. We could have: - A BIOS update which makes all of above models work with acpi(=force) well. Then your patch is perfect. - One or more of above (latest) BIOSes does not work well with acpi=force still. Then we'd get regressions and some people will moan about that and the patch will get reverted. In this case we should find out which kind of BIOS/mainboard it is and enhance the blacklisting to only match this(these) -> dmidecode is needed to be able to blacklist more fine grained. > Maybe there could be a smarter version that would allow blacklisting for > same mainboards with older BIOS versions than the one I'm using, but I > don't know if/how that'd be possible. So the patch I propose is pretty > obvious. > > FYI, here are some reports that mention acpi=force working succesfully > for P4B266 mainboards (in english and german) : > > http://forums.fedoraforum.org/showpost.php?p=669615&postcount=5 / http://fedoraforum.org/forum/showpost.php?p=669615&postcount=5 > https://lists.ubuntu.com/archives/kernel-bugs/2006-November/023486.html / https://bugs.launchpad.net/linux/+bug/43961/comments/145 > http://forum.ubuntuusers.de/topic/automatische-abschaltung/#post-249151 > http://www.pc-forum24.de/suse-system-installieren/3031-suse-10-2-laesst-sich-nicht-ausschalten.html#post13729 > > I hope this won't break things for different BIOS versions than mine, That's the risk and we should try to find out more first. I wonder whether it's worth that at all, one of the latest BIOSes is from: 2003/06/10 > and that this will on the other hand allow lots of users to benefit from > working ACPI. It should be best if you state in above references that these guys must use acpi=force. Others should find it then via google. That's the easiest and safest way. I tried to find out who and why this got added, but this exists even before git history... Thomas -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Thomas Renninger <trenn@suse.de> writes: > On Saturday 25 April 2009 21:35:42 Olivier Berger wrote: >> >> Hi. >> >> Following advice from Thomas Renninger, I hereby propose a patch for the >> ACPI blacklisting kernel code, that I've successfully applied to kernel >> 2.6.26-15, that allows ACPI detection on Asus P4B266 mainboards. > Hmm, there seem to be different models of this motherboard series: > P4B266 > P4B266-C > P4B266-E > P4B266-M > P4B266-SE > > P4B266 and P4B266-SE seem to have a similar BIOS history and the latest > for both is: Beta Version 1011.003 > Where is this information available (other than on Asus support site) , btw ? > The rest has a similar version string, but different latest BIOS versions > (e.g. 1007) > > The dmi blacklisting currently done in the kernel is probably matching > all of above and is rather unfortunate. > We could have: > - A BIOS update which makes all of above models work with acpi(=force) > well. Then your patch is perfect. > > - One or more of above (latest) BIOSes does not work well with acpi=force > still. > Then we'd get regressions and some people will moan about that and > the patch will get reverted. In this case we should find out which > kind of BIOS/mainboard it is and enhance the blacklisting to only > match this(these) -> dmidecode is needed to be able to blacklist more > fine grained. > Isn't there any possibility to compare BIOS versions in the blacklisting code ? >> Maybe there could be a smarter version that would allow blacklisting for >> same mainboards with older BIOS versions than the one I'm using, but I >> don't know if/how that'd be possible. So the patch I propose is pretty >> obvious. >> >> FYI, here are some reports that mention acpi=force working succesfully >> for P4B266 mainboards (in english and german) : >> >> http://forums.fedoraforum.org/showpost.php?p=669615&postcount=5 / http://fedoraforum.org/forum/showpost.php?p=669615&postcount=5 >> https://lists.ubuntu.com/archives/kernel-bugs/2006-November/023486.html / https://bugs.launchpad.net/linux/+bug/43961/comments/145 >> http://forum.ubuntuusers.de/topic/automatische-abschaltung/#post-249151 >> http://www.pc-forum24.de/suse-system-installieren/3031-suse-10-2-laesst-sich-nicht-ausschalten.html#post13729 >> >> I hope this won't break things for different BIOS versions than mine, > That's the risk and we should try to find out more first. > > I wonder whether it's worth that at all, one of the latest BIOSes is from: > 2003/06/10 Of course it's an old mainboard... but I suppose there are still quite a bunch in operation. > >> and that this will on the other hand allow lots of users to benefit from >> working ACPI. > It should be best if you state in above references that these guys > must use acpi=force. > Others should find it then via google. > That's the easiest and safest way. Well... adding burden on users instead of clean patch ;) > I tried to find out who and why this got added, but this exists even before > git history... > Same for my searches :( So... there ain't a way to provide an improved patch that wouldn't change anything but for tested BIOS versions (btw, mine is : BIOS Information Vendor: Award Software, Inc. Version: ASUS P4B266 ACPI BIOS Revision 1010 Release Date: 08/06/2002 ) ? That would be sad if the current blacklisting wasn't able to do such checks on versions :( Anyway, I suppose I will follow your advice and try and report people of the acpi=force as I already started to do in http://www.olivierberger.com/weblog/index.php?post/2009/03/28/Proper-power-management-on-Asus-P4B266-mainboard Thanks for your helps. Best regards,
On Tuesday 28 April 2009 08:09:16 Olivier Berger wrote: > Thomas Renninger <trenn@suse.de> writes: > > > On Saturday 25 April 2009 21:35:42 Olivier Berger wrote: > >> > >> Hi. > >> > >> Following advice from Thomas Renninger, I hereby propose a patch for the > >> ACPI blacklisting kernel code, that I've successfully applied to kernel > >> 2.6.26-15, that allows ACPI detection on Asus P4B266 mainboards. > > Hmm, there seem to be different models of this motherboard series: > > P4B266 > > P4B266-C > > P4B266-E > > P4B266-M > > P4B266-SE > > > > P4B266 and P4B266-SE seem to have a similar BIOS history and the latest > > for both is: Beta Version 1011.003 > > > > Where is this information available (other than on Asus support site) , btw ? From the Asus support site. > > > The rest has a similar version string, but different latest BIOS versions > > (e.g. 1007) > > > > The dmi blacklisting currently done in the kernel is probably matching > > all of above and is rather unfortunate. > > We could have: > > - A BIOS update which makes all of above models work with acpi(=force) > > well. Then your patch is perfect. > > > > - One or more of above (latest) BIOSes does not work well with acpi=force > > still. > > Then we'd get regressions and some people will moan about that and > > the patch will get reverted. In this case we should find out which > > kind of BIOS/mainboard it is and enhance the blacklisting to only > > match this(these) -> dmidecode is needed to be able to blacklist more > > fine grained. > > > > Isn't there any possibility to compare BIOS versions in the blacklisting > code ? > > >> Maybe there could be a smarter version that would allow blacklisting for > >> same mainboards with older BIOS versions than the one I'm using, but I > >> don't know if/how that'd be possible. So the patch I propose is pretty > >> obvious. > >> > >> FYI, here are some reports that mention acpi=force working succesfully > >> for P4B266 mainboards (in english and german) : > >> > >> http://forums.fedoraforum.org/showpost.php?p=669615&postcount=5 / http://fedoraforum.org/forum/showpost.php?p=669615&postcount=5 > >> https://lists.ubuntu.com/archives/kernel-bugs/2006-November/023486.html / https://bugs.launchpad.net/linux/+bug/43961/comments/145 > >> http://forum.ubuntuusers.de/topic/automatische-abschaltung/#post-249151 > >> http://www.pc-forum24.de/suse-system-installieren/3031-suse-10-2-laesst-sich-nicht-ausschalten.html#post13729 > >> > >> I hope this won't break things for different BIOS versions than mine, > > That's the risk and we should try to find out more first. > > > > I wonder whether it's worth that at all, one of the latest BIOSes is from: > > 2003/06/10 > > Of course it's an old mainboard... but I suppose there are still quite a > bunch in operation. Yep and it would be worse if some are not anymore after this change, than if some (a lot probably are already using this) need acpi=force. > > > >> and that this will on the other hand allow lots of users to benefit from > >> working ACPI. > > It should be best if you state in above references that these guys > > must use acpi=force. > > Others should find it then via google. > > That's the easiest and safest way. > > Well... adding burden on users instead of clean patch ;) > > > I tried to find out who and why this got added, but this exists even before > > git history... > > > > Same for my searches :( > > So... there ain't a way to provide an improved patch that wouldn't > change anything but for tested BIOS versions (btw, mine is : > BIOS Information > Vendor: Award Software, Inc. > Version: ASUS P4B266 ACPI BIOS Revision 1010 > Release Date: 08/06/2002 > ) ? > > That would be sad if the current blacklisting wasn't able to do such > checks on versions :( You could either: 1) add a whitelist into the blacklist 2) better limit the blacklist The first won't break machines, but is ugly. For the second you must know which BIOS(es) fix the acpi parts to not cause regressions and then list all broken BIOS revisions, e.g.: { .callback = force_acpi_ht, .ident = "ASUS P4B266", .matches = { DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."), DMI_MATCH(DMI_BOARD_NAME, "P4B266"), DMI_MATCH(DMI_BOARD_VERSION, "ASUS P4B266 ACPI BIOS Revision 1007"), }, }, { .callback = force_acpi_ht, .ident = "ASUS P4B266", .matches = { DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."), DMI_MATCH(DMI_BOARD_NAME, "P4B266"), DMI_MATCH(DMI_BOARD_VERSION, "ASUS P4B266 ACPI BIOS Revision 1008"), }, }, BTW, the same seem to have happened for the ASUS A7V: /* * Boxes that need ACPI PCI IRQ routing disabled */ { .callback = disable_acpi_irq, .ident = "ASUS A7V", .matches = { DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC"), DMI_MATCH(DMI_BOARD_NAME, "<A7V>"), /* newer BIOS, Revision 1011, does work */ DMI_MATCH(DMI_BIOS_VERSION, "ASUS A7V ACPI BIOS Revision 1007"), }, }, One could argue that people have to upgrade to the latest BIOS and your patch is ok. This is IMO a valid argument, but it could be that people with a P4B266-SE board cannot upgrade to version 1010. I'd say, better leave the fingers off... > Anyway, I suppose I will follow your advice and try and report people of > the acpi=force as I already started to do in > http://www.olivierberger.com/weblog/index.php?post/2009/03/28/Proper-power-management-on-Asus-P4B266-mainboard Everyone with such problems should easily be able to google the acpi=force param for this board then. Thanks, Thomas -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Thomas Renninger <trenn@suse.de> writes: >> >> That would be sad if the current blacklisting wasn't able to do such >> checks on versions :( > You could either: > 1) add a whitelist into the blacklist > 2) better limit the blacklist > The first won't break machines, but is ugly. I suppose some new algorithm would need to be written for that, and no easy "struct definition" (like what is currently there) will be enough ? > For the second you must know which BIOS(es) fix the acpi parts to not cause > regressions and then list all broken BIOS revisions, e.g.: > { > .callback = force_acpi_ht, > .ident = "ASUS P4B266", > .matches = { > DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."), > DMI_MATCH(DMI_BOARD_NAME, "P4B266"), > DMI_MATCH(DMI_BOARD_VERSION, "ASUS P4B266 ACPI BIOS Revision 1007"), > }, > }, > { > .callback = force_acpi_ht, > .ident = "ASUS P4B266", > .matches = { > DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."), > DMI_MATCH(DMI_BOARD_NAME, "P4B266"), > DMI_MATCH(DMI_BOARD_VERSION, "ASUS P4B266 ACPI BIOS Revision 1008"), > }, > }, > > BTW, the same seem to have happened for the ASUS A7V: > /* > * Boxes that need ACPI PCI IRQ routing disabled > */ > { > .callback = disable_acpi_irq, > .ident = "ASUS A7V", > .matches = { > DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC"), > DMI_MATCH(DMI_BOARD_NAME, "<A7V>"), > /* newer BIOS, Revision 1011, does work */ > DMI_MATCH(DMI_BIOS_VERSION, > "ASUS A7V ACPI BIOS Revision 1007"), > }, > }, > Well, that lacks some version comparison operator to look clean to me... which looks far from trivial considering the version formats probably quite creative ;) > One could argue that people have to upgrade to the latest BIOS > and your patch is ok. This is IMO a valid argument, but it could be > that people with a P4B266-SE board cannot upgrade to version 1010. > I'd say, better leave the fingers off... Yup. > >> Anyway, I suppose I will follow your advice and try and report people of >> the acpi=force as I already started to do in >> http://www.olivierberger.com/weblog/index.php?post/2009/03/28/Proper-power-management-on-Asus-P4B266-mainboard > Everyone with such problems should easily be able to google the acpi=force > param for this board then. > I'm thinking about some kind of warning message that might be provided by the kernel. Currently, the blacklisting issues something like : xxx detected : force use of acpi=ht Maybe in some greylisted cases (like such ASUS P4B266), an additional message may be issued, something like : xxx detected : may work with acpi=force (test at own risk) or something like that ? Btw, while we're at it, the first message is not so clear to me "force use of acpi=ht" : I think it could be interpreted as "you may force ACPI to work by passing acpi=ht" or something like that, as it tends to indicate that it refers to an 'acpi=' parameter. Maybe something like "forced 'ht' mode for acpi" or a similar variant would be less ambiguous (pardon me, I'm not so sure what 'ht' means here, btw). Hope this helps,
T24gVHVlc2RheSAyOCBBcHJpbCAyMDA5IDE5OjE1OjQ3IE9saXZpZXIgQmVyZ2VyIHdyb3RlOgo+ IFRob21hcyBSZW5uaW5nZXIgPHRyZW5uQHN1c2UuZGU+IHdyaXRlczoKCgo+IEknbSB0aGlua2lu ZyBhYm91dCBzb21lIGtpbmQgb2Ygd2FybmluZyBtZXNzYWdlIHRoYXQgbWlnaHQgYmUgcHJvdmlk ZWQKPiBieSB0aGUga2VybmVsLgo+IAo+IEN1cnJlbnRseSwgdGhlIGJsYWNrbGlzdGluZyBpc3N1 ZXMgc29tZXRoaW5nIGxpa2UgOiAKPiAgeHh4IGRldGVjdGVkIDogZm9yY2UgdXNlIG9mIGFjcGk9 aHQgCj4gCj4gTWF5YmUgaW4gc29tZSBncmV5bGlzdGVkIGNhc2VzIChsaWtlIHN1Y2ggQVNVUyBQ NEIyNjYpLCBhbiBhZGRpdGlvbmFsCj4gbWVzc2FnZSBtYXkgYmUgaXNzdWVkLCBzb21ldGhpbmcg bGlrZSA6Cj4gIHh4eCBkZXRlY3RlZCA6IG1heSB3b3JrIHdpdGggYWNwaT1mb3JjZSAodGVzdCBh dCBvd24gcmlzaykKPiBvciBzb21ldGhpbmcgbGlrZSB0aGF0ID8KU291bmRzIGxpa2UgYSBnb29k IGlkZWEuClNvbWV0aGluZyBsaWtlIHRoYXQgKG5vdCB0ZXN0ZWQgYXQgYWxsKS4KSSBjb3VsZCBp bWFnaW5lIExlbiBhZGRzIHRoaXMgb25lIGlmIHlvdSBnaXZlIGl0IGEgdHJ5IGFuZCBzZWUKdGhl IG1lc3NhZ2UgcG9wcGluZyB1cCBpbiBkbWVzZy4KCkFDUEk6IFNvbWUgbGF0ZXN0IFA0QjI2NiBC SU9TZXMgcHJlZmVyIGFjcGksIGJ1dCBnZXQgYmxhY2tsaXN0ZWQsIG5vdGlmeSB1c2VyCgoKU2ln bmVkLW9mZi1ieTogVGhvbWFzIFJlbm5pbmdlciA8dHJlbm5Ac3VzZS5kZT4KCi0tLQogYXJjaC94 ODYva2VybmVsL2FjcGkvYm9vdC5jIHwgICAgMyArKysKIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2Vy dGlvbnMoKykKCkluZGV4OiBsaW51eC0yLjYvYXJjaC94ODYva2VybmVsL2FjcGkvYm9vdC5jCj09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tIGxpbnV4LTIuNi5vcmlnL2FyY2gveDg2L2tlcm5lbC9hY3BpL2Jvb3QuYwor KysgbGludXgtMi42L2FyY2gveDg2L2tlcm5lbC9hY3BpL2Jvb3QuYwpAQCAtMTQ5Niw2ICsxNDk2 LDkgQEAgc3RhdGljIGludCBfX2luaXQgZm9yY2VfYWNwaV9odChjb25zdCBzdAogCWlmICghYWNw aV9mb3JjZSkgewogCQlwcmludGsoS0VSTl9OT1RJQ0UgIiVzIGRldGVjdGVkOiBmb3JjZSB1c2Ug b2YgYWNwaT1odFxuIiwKIAkJICAgICAgIGQtPmlkZW50KTsKKwkJaWYgKCFzdHJjbXAoZC0+aWRl bnQsICJBU1VTIFA0QjI2NiIpKQorCQkJcHJpbnRrKEtFUk5fTk9USUNFICJMYXRlc3QgQklPU2Vz IG1pZ2h0IHdvcmsgYmV0dGVyIgorCQkJICAgICAgICIgd2l0aCBhY3BpPWZvcmNlXG4iKTsKIAkJ ZGlzYWJsZV9hY3BpKCk7CiAJCWFjcGlfaHQgPSAxOwogCX0gZWxzZSB7CgAK -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Thomas Renninger <trenn@suse.de> writes: > On Tuesday 28 April 2009 19:15:47 Olivier Berger wrote: >> Thomas Renninger <trenn@suse.de> writes: > > >> I'm thinking about some kind of warning message that might be provided >> by the kernel. >> >> Currently, the blacklisting issues something like : >> xxx detected : force use of acpi=ht >> >> Maybe in some greylisted cases (like such ASUS P4B266), an additional >> message may be issued, something like : >> xxx detected : may work with acpi=force (test at own risk) >> or something like that ? > Sounds like a good idea. > Something like that (not tested at all). > I could imagine Len adds this one if you give it a try and see > the message popping up in dmesg. I can confirm this works. Here's the dmesg : Apr 29 23:17:42 asustour kernel: [ 0.000000] ASUS P4B266 detected: force use of acpi=ht Apr 29 23:17:42 asustour kernel: [ 0.000000] Latest BIOSes might work better with acpi=force Hope this is would be at least better than previous state. Thanks for your help. Best regards,
Hi. Olivier Berger <oberger@ouvaton.org> writes: > Thomas Renninger <trenn@suse.de> writes: > >> On Tuesday 28 April 2009 19:15:47 Olivier Berger wrote: >>> Thomas Renninger <trenn@suse.de> writes: >> >> >>> I'm thinking about some kind of warning message that might be provided >>> by the kernel. >>> >>> Currently, the blacklisting issues something like : >>> xxx detected : force use of acpi=ht >>> >>> Maybe in some greylisted cases (like such ASUS P4B266), an additional >>> message may be issued, something like : >>> xxx detected : may work with acpi=force (test at own risk) >>> or something like that ? >> Sounds like a good idea. >> Something like that (not tested at all). >> I could imagine Len adds this one if you give it a try and see >> the message popping up in dmesg. > > I can confirm this works. > May I ask you to review the patch provided here : http://marc.info/?l=linux-acpi&m=124094144423277&w=2 ? I'm asking directly as I saw no response on the list. Sorry to bother you. Thanks in advance. Best regards,
The P4B266 DMI entry went into ./arch/i386/kernel/dmi_scan.c back in Aug-2003. That was when I was just starting to maintain ACPI, and I took a bunch of blacklist entries from SuSE because they were already shipping with ACPI enabled. In the short term, it may have been the right thing to do, but in the long term it was a mistake and I regret doing it. Blacklist entries paper-over real bugs, and unless we are lucky enough that somebody like you, Oliver, steps forward, blacklist entries are nearly impossible to ever remove. So I'm inclined to apply your original patch to delete the blacklist entry entirely. If somebody with one of those boxes has a regression, we'll go fix their box -- which we may have acutally fixed years ago and not known it... thanks, -Len -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Olivier, If you can send me a properly formatted patch to remove the dmi entry, (Documentation/SubmittingPatches) including your signed-off, i'll apply it. thanks, Len Brown, Intel Open Source Technology Center -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
--- linux-2.6-2.6.26/arch/x86/kernel/acpi/boot.c.orig 2009-04-25 18:02:10.000000000 +0200 +++ linux-2.6-2.6.26/arch/x86/kernel/acpi/boot.c 2009-04-25 18:03:01.000000000 +0200 @@ -1106,14 +1106,6 @@ }, { .callback = force_acpi_ht, - .ident = "ASUS P4B266", - .matches = { - DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."), - DMI_MATCH(DMI_BOARD_NAME, "P4B266"), - }, - }, - { - .callback = force_acpi_ht, .ident = "ASUS P2B-DS", .matches = { DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."),