[SOLVED] My Dell D620 laptop hangs/freezes randomly on slackware64 14.2
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Happy to hear that you've found the right parameter for making your system stable.
For the standard Slackware installation the following lilo append line should then be used to instruct the kernel to "talk the same acpi language(OSI)" as the BIOS acpi, for systems that aren't stable otherwise:
Ok, tough luck, the computer hanged again after a whole weekend of stability. I also get some acpi-related errors :
Code:
[ 0.217422] ACPI: Added _OSI(Module Device)
[ 0.217507] ACPI: Added _OSI(Processor Device)
[ 0.217592] ACPI: Added _OSI(3.0 _SCP Extensions)
[ 0.217677] ACPI: Added _OSI(Processor Aggregator Device)
[ 0.217764] ACPI: Added _OSI(Linux)
[ 0.233828] ACPI: Interpreter enabled
[ 0.233934] ACPI: (supports S0 S3 S4 S5)
[ 0.234003] ACPI: Using IOAPIC for interrupt routing
[ 0.234122] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[ 0.280537] acpi LNXIOBAY:00: ACPI dock station (docks/bays count: 1)
[ 0.285125] acpi PNP0C15:00: ACPI dock station (docks/bays count: 2)
[ 0.293545] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[ 0.293642] acpi PNP0A03:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI]
[ 0.293782] acpi PNP0A03:00: _OSC failed (AE_NOT_FOUND); disabling ASPM
[ 0.293877] acpi PNP0A03:00: [Firmware Info]: MMCONFIG for domain 0000 [bus 00-3f] only partially covers this bridge
[ 0.065000] tsc: Marking TSC unstable due to check_tsc_sync_source failed
Reading here tells me that i might go for acpi_osi='Windows XP' but i'm puzzled about acpi_osi!= and acpi_rev_override. And I do not know how my kernel decides to add all those other OSI strings before the one I told it to add.
EDIT : i'm not even sure i set the parameter correctly :
Reading here tells me that i might go for acpi_osi='Windows XP' but i'm puzzled about acpi_osi!= and acpi_rev_override. And I do not know how my kernel decides to add all those other OSI strings before the one I told it to add.
The manjaro article is well composed and contains all the "guess-work" acpi_osi= parameters you could try. And it's acpi_osi=! and not acpi_osi!= to disable all the built-in OS vendor strings.
Here you have a short explanation about the OSI strings (first answer): https://unix.stackexchange.com/quest...ight-vendor-do
Quote:
Originally Posted by Twigster
EDIT2 : this documentation seems to say that acpi_osi=Linux is bad practice?
I saved the kernel doc link you provided for my reply, meanwhile you already found it yourself. No, acpi_osi=Linux is not bad practice, it should be the desired option for Linux compatibility, that's if the vendor implemented&tested Linux in their acpi design. It doesn't look to be the case for your system and I'd suggest to try acpi_osi=Windows XP
I guess you need to use quotes for the proper syntax, like acpi_osi="Windows XP" (kernel doc) or acpi_osi='Windows XP' (manjaro article).
This works, but the manjaro reference tells me it's not the correct _OSI string. No big deal, right?
I had no experience with space divided kernel boot parameters before and couldn't find a proper lilo doc source (missed the manual you provided), thus, considered that the quotes would do the job. With your experience now I also learned something. Thanks!
Where does the manjaro reference specify that the _OSI string isn't correct?
It only states:
Quote:
Unlike the Windows kernel, the Linux kernel can determine what “power calls” are sent to the bios by the use of these OSI Strings in the acpi kernel parameter. By adding these parameters, you can basically tell Linux to “mimic” the acpi calls sent by another OS.
When you purchased your laptop, it probably came with Windows pre-installed. The version of Windows that was installed is your first clue in figuring out which OSI String your acpi kernel parameter needs.
If you have a sticker on your laptop, displaying: "Designed for Windows XXX", then the Windows XXX version is the one the system manufacturer designed & tested the acpi implementation for (for example, the sticker might contain both XP & 2000). I suggested to use Windows XP because I recall the D620 I was using came with Windows XP preloaded and had that M$ sticker glued on it.
EDIT >
Actually the manjaro article lists valid OSI Strings in the table they present and for Windows XP the OSI String should be "Windows 2001".
I wanted to learn what the valid strings are and took a look in the kernel source code. Not really successful in identifying the valid list but found some references:
- an older patch with the rationale: "_OSI handling code grows giant and it's time to move them into one file" https://lore.kernel.org/patchwork/patch/673265/
- and the only list of "Windows XXXX" strings I could find ATM in the source of 4.4.197 is contained in the blacklist.c file, however "Windows 2001" is not present. https://git.kernel.org/pub/scm/linux...t.c?h=v4.4.197
- if you have more time, you could further inspect the source files from: https://git.kernel.org/pub/scm/linux...cpi?h=v4.4.197 < EDIT
Should you fail to get your system stable with acpi_osi="Windows XXXX" and don't really care about the acpi PM calls, then try using acpi_osi=!
If your system is recognizing the video adapter and becomes stable, then you've got a solution ... finally
Last edited by abga; 10-22-2019 at 01:41 PM.
Reason: EDIT
Maybe it is just because we are still at the beginning of the digital age but there is a big difference between it and other electronics fields. For example I have some audiophile quality old tube gear from the 1950s that not only still works but is STILL audiophile in quality, yet recently (and much against my skinflint instincts) I tossed out several Socket 7 and Socket 370 laptops and PCs. They just have far too many restrictions and lacking features to effectively run modern software, especially web-related software. Now the oldest gear I have is a single core AMD FX-57 box and a Core 2 Duo T-60 Thinkpad laptop. The laptop cost me $90.00 USD used and I spent another 50 bucks on a high speed, large storage Seagate hard drive.
I actually sought out the T-60 because it's release was prior to the security-compromising inclusion of MCH. The version I got also has the benefit of a high performance nVidia Quadro graphics system. It is only a very short time newer than the Dell D620 but I didn't have to jump through any hoops, didn't have to research to discover any compromises or losses to get even a vanilla kernel working. The sole addon was simply the firmware blob for the wireless chip. which I rarely use.
Conclusive Suggestion and TLDR - It might just be time to upgrade your hardware, even if only a little bit.
I had no experience with space divided kernel boot parameters before and couldn't find a proper lilo doc source (missed the manual you provided), thus, considered that the quotes would do the job. With your experience now I also learned something. Thanks!
No worries, I just wish the manual had an example of quote escaping, or a sentence mentioning it =)
Quote:
If you have a sticker on your laptop, displaying: "Designed for Windows XXX", then the Windows XXX version is the one the system manufacturer designed & tested the acpi implementation for (for example, the sticker might contain both XP & 2000). I suggested to use Windows XP because I recall the D620 I was using came with Windows XP preloaded and had that M$ sticker glued on it.
You are correct, and I do have a Windows XP sticker on it.
Quote:
Should you fail to get your system stable with acpi_osi="Windows XXXX" and don't really care about the acpi PM calls, then try using acpi_osi=!
So If I do acpi_osi=!, the kernel says it's not Linux, nor Windows?
Not sure what I need to do; putting in the append acpi_osi=! or acpi_osi=!* didnt solve the freeze
Quote:
Maybe it is just because we are still at the beginning of the digital age but there is a big difference between it and other electronics fields. For example I have some audiophile quality old tube gear from the 1950s that not only still works but is STILL audiophile in quality, yet recently (and much against my skinflint instincts) I tossed out several Socket 7 and Socket 370 laptops and PCs. They just have far too many restrictions and lacking features to effectively run modern software, especially web-related software. Now the oldest gear I have is a single core AMD FX-57 box and a Core 2 Duo T-60 Thinkpad laptop. The laptop cost me $90.00 USD used and I spent another 50 bucks on a high speed, large storage Seagate hard drive.
I actually sought out the T-60 because it's release was prior to the security-compromising inclusion of MCH. The version I got also has the benefit of a high performance nVidia Quadro graphics system. It is only a very short time newer than the Dell D620 but I didn't have to jump through any hoops, didn't have to research to discover any compromises or losses to get even a vanilla kernel working. The sole addon was simply the firmware blob for the wireless chip. which I rarely use.
Conclusive Suggestion and TLDR - It might just be time to upgrade your hardware, even if only a little bit.
When I registered here, I went out of my usual ghost reading ways and took this investigation as a hobby because I have spare time. It is only because Steam dropped Windows XP support this year that I swapped to Linux. What makes this problem interesting is the digging and learning along the way. Good for you that you didn't have any hiccups with your T-60.
So If I do acpi_osi=!, the kernel says it's not Linux, nor Windows?
Not sure what I need to do; simply putting in the append acpi_osi=! made dmesg print "disabling all OSI vendor strings" and then it still added Module Device, Processor, etc, and still crashed.
That's interesting, so disabling all specific built-in OS vendor strings (& functions/workarounds) still makes the system unstable.
You could go even further and try disabling all strings: https://www.kernel.org/doc/Documenta...parameters.txt
acpi_osi= # disable all strings
In #35 you stated that you tried both acpi_osi="Windows XP" & acpi_osi="Windows 2001" and that "it worked". Was your system stable? If positive, then use them (one of them), end of story.
You mentioned acpi_osi="Windows 2001" was not showing up in the kernel log and I couldn't find "Windows 2001" in the kernel source files (blacklist.c) I presented the link for in my post #37 (nor "Windows XP"), but entries starting with "Windows 2006" - which according to the manjaro article should correspond for Windows Vista. This is why I suggested to further inspect the source files and look for valid parameters.
What I deduce from this is that for the hardware to support Windows XP, It has to know the OSI string 'Windows 2001'. I find it hard to believe that there is no way in the Linux kernel to tell it to behave like a (old) widespread OS like Windows XP.
What I deduce from this is that for the hardware to support Windows XP, It has to know the OSI string 'Windows 2001'. I find it hard to believe that there is no way in the Linux kernel to tell it to behave like a (old) widespread OS like Windows XP.
Was that your log showing...
Code:
[ 0.216771] ACPI: Added _OSI(Windows XP)
...because it would appear to me that "Windows XP" is the string the BIOS expects. I most certainly could be wrong.
When I registered here, I went out of my usual ghost reading ways and took this investigation as a hobby because I have spare time. It is only because Steam dropped Windows XP support this year that I swapped to Linux. What makes this problem interesting is the digging and learning along the way. Good for you that you didn't have any hiccups with your T-60.
My post wasn't to toot my own horn but merely an FYI that if you found altering acpi functionality to be a serious loss I thought you might like to know it wouldn't be expensive to solve that. Best Wishes, brother.
My post wasn't to toot my own horn but merely an FYI that if you found altering acpi functionality to be a serious loss I thought you might like to know it wouldn't be expensive to solve that. Best Wishes, brother.
I hear you, I bought the laptop for 50€ anyway, not much cheaper than yours =)
Quote:
Was that your log showing...
Code:
[ 0.216771] ACPI: Added _OSI(Windows XP)
...because it would appear to me that "Windows XP" is the string the BIOS expects. I most certainly could be wrong.
Oh, so I can tell the kernel to add any OSI string I like, but I will get a confirmation message only when the string exists?
Quote:
In #35 you stated that you tried both acpi_osi="Windows XP" & acpi_osi="Windows 2001" and that "it worked". Was your system stable? If positive, then use them (one of them), end of story.
I realize my sentence wasn't clear. What I meant was that I could see in dmesg that the kernel accepted the OSI string "Windows XP", however I could still produce the problematic freeze behaviour.
.. Still freezes. Computer behaviour changed slightly though, much slower to boot/much more sluggish when displaying pages and pop ups. It boots so slow that I can read all the text messages before X starts. I've noticed some other ACPI messages in dmesg, but I'm not 100% sure they weren't there before. Here's the dmesg log (where you can see how slow it starts, even copypasting it took 2seconds). I've seen some acpi stuff, but I won't investigate tonight.
Last edited by Twigster; 10-22-2019 at 07:01 PM.
Reason: I'm editing a million times as I collect information + I post on two computers
Oh, so I can tell the kernel to add any OSI string I like, but I will get a confirmation message only when the string exists?
That's what it looks like to me, but I haven't checked the kernel code. You'd think there would be a "I don't know what you're talking about" type of error message when you do provide a string that doesn't work, but I guess this way works as well. ¯\_(ツ)_/¯
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.