[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.
# create a working directory in /tmp
mkdir /tmp/work && cd /tmp/work
# then download the kernel and kernel modules packages, together with the associated asc files:
wget https://mirror.de.leaseweb.net/slackware/slackware64-current/slackware64/a/kernel-huge-4.19.81-x86_64-1.txz
wget https://mirror.de.leaseweb.net/slackware/slackware64-current/slackware64/a/kernel-huge-4.19.81-x86_64-1.txz.asc
wget https://mirror.de.leaseweb.net/slackware/slackware64-current/slackware64/a/kernel-modules-4.19.81-x86_64-1.txz
wget https://mirror.de.leaseweb.net/slackware/slackware64-current/slackware64/a/kernel-modules-4.19.81-x86_64-1.txz.asc
#then download and import the Slackware official GPG signature:
wget http://www.slackware.com/gpg-key -O slack-gpg-key
gpg --import slack-gpg-key
rm slack-gpg-key
#Now verify the integrity of the kernel-huge-4.19.81-x86_64-1.txz and kernel-modules-4.19.81-x86_64-1.txz packages:
gpg --verify kernel-huge-4.19.81-x86_64-1.txz.asc
gpg --verify kernel-modules-4.19.81-x86_64-1.txz.asc
# in the outputs you should see a line containing:
Good signature from "Slackware Linux Project <security@slackware.com>"
# move (backup) the actual symlinks from /boot
mkdir /boot/back
mv /boot/System.map /boot/back
mv /boot/vmlinuz-huge /boot/back
# install the new kernel & modules packages from -current
installpkg kernel-huge-4.19.81-x86_64-1.txz
installpkg kernel-modules-4.19.81-x86_64-1.txz
# backup your actual /etc/lilo.conf file
cp /etc/lilo.conf /etc/lilo.conf.bak
# edit your /etc/lilo.conf file, point the original image to the old kernel (and not the symlink)
# Linux bootable partition config begins
image = /boot/vmlinuz-huge-4.4.190
root = /dev/sda1
label = Slack-Old
read-only
# create a new image section, pointing to the new kernel:
image = /boot/vmlinuz-huge-4.19.81
root = /dev/sda1
label = Slack-New
read-only
# then execute /sbin/lilo to update the boot loader
###################################################
# to clean up the mess, revert to original state
# remove the -current kernel & modules
removepkg kernel-huge-4.19.81-x86_64-1
removepkg kernel-modules-4.19.81-x86_64-1
# restore the original symlinks
mv /boot/back/System.map /boot/
mv /boot/back/vmlinuz-huge /boot/
rm -rf /boot/back/
# restore the original /etc/lilo.conf file
rm -f /etc/lilo.conf
mv /etc/lilo.conf.bak /etc/lilo.conf
# then execute /sbin/lilo to update the boot loader
For browsing the source files for the stable kernel releases, you can click on the [browse] link corresponding to the version you want to check: https://www.kernel.org/
If you want to compile your own 5.x.x kernel, here you have a how-to: https://www.linuxquestions.org/quest...8/#post6052734
I'd suggest to go for the stable 5.3.x (the latest is 5.3.8) and avoid the development version 5.4.
I could provide you with the kernel config file I used for building the kernel for the Atom Acer Aspire One, but you'll need to change the CPU type, enable 64 bit and also enable PCMCIA ... and remove an AcerPM driver. It's tailored for that system and my specific needs, plenty of DVB adapters enabled, almost the whole (advanced) networking stuff enabled, etc.
Note that if you follow the compilation instructions I presented, you won't build a package and with the last two make install commands:
Code:
make modules_install
make install
- you'll get the modules installed in /lib/modules/5.3.1/
- and the kernel vmlinuz & System.map in /boot
- to preserve the original vmlinuz & System.map symlinks, just follow the /boot/back section from post #76
- add the new compiled kernel vmlinuz (you could rename it in vmlinuz-5-3-x) in your /etc/lilo.conf in the way presented in post #76
------------------
- to clean up 5.3.x , remove vmlinuz & System.map from /boot, restore the originals from /boot/back and delete the /lib/modules/5.3.1/ folder
- update /etc/lilo.conf and remove the 5.3.x references
There shouldn't be an issue running a newer kernel on Slackware 14.2
It's been some weeks now since I'm running the 5.3.1 on the Acer Atom notebook (which runs Slackware 14.2) and I'm planning to move the 5.3.1 kernel on all other systems I own (all of them running Slackware 14.2).
You should only use the kernel-headers package that is provided by Slackware (through updates), as those headers are important for the toolchain.
model name : Intel(R) Core(TM)2 CPU T5500 @ 1.66GHz
microcode : 0x57
That info was provided before the BIOS update (which usually contains also a microcode).
According to this link, your CPU ID/signature should be 06F2h http://www.cpu-world.com/sspec/SL/SL9U4.html
If I'm about to take that ID as correct, there is a newer microcode available for your CPU:
I have one computer which is running Slackware 14.2, and the 4.19.68 kernel from Slackware-current (ASUS 1005HAB). Installing the foreign kernel was easy: I downloaded the set of 4.19.68 kernel packages, and ran 'upgradepkg' on the packages I wanted installed --- the next few steps depend upon whether one runs the huge kernel or the generic kernel.
(Many people will say that one should _not_ upgrade a kernel in the manner I do. However, I have been using this method for about two decades on a small flock of computers running 'Slackware-stable', and have been pleased with the results. In only one instance have I wanted to revert to the previous kernel, and this was when the 4.4.172 kernel brought the blank-screen video problem to the ASUS 1005HAB; after I downloaded a copy of the previous kernel, re-installing it was easy.)
During the time I have been running this ASUS 1005HAB it has had two video problems. The blank-screen problem was entirely fixed by installing kernels of the 4.19.x series. The other problem (which sounds like what your Dell D620 is doing) was not changed in any way that I can detect; as far as I can tell, this problem is related to one or more of: the i915 module, the Intel video 'card' [1], and the ACPI system.
1. So far, these Intel video cards are known to be associated with the problem: GMA 950, GMA 3100, GMA X3000.
If you go for you own kernel compilation, there are some details to consider:
- just stumbled upon this gentoo wiki page containing a lot of useful info about the Intel driver (how to enable it & compile the kernel): https://wiki.gentoo.org/wiki/Intel
- you should maybe inspect the .config files from the Slackware kernel (both 14.2 and - current) and check if the i915 options are enabled in the way presented by the gentoo wiki page
- the .config for -current is here: https://mirror.de.leaseweb.net/slack...ernel-configs/
- and the .config for 14.2 is here: https://mirror.de.leaseweb.net/slack...config-x86_64/ EDIT>
- for the latest Slackware 14.2 kernel (4.4.190) you should already have the config file in your /boot directory. You can also extract it from: https://mirror.de.leaseweb.net/slack...linux-4.4.190/
- file:
kernel-huge-4.4.190-x86_64-1.txz
- containing:
boot\config-huge-4.4.190.x64 <EDIT
- this is the official page where Intel develops the driver and all the necessary system components (stack). It appears that all the modifications they make are updated upstream (kernel.org) https://01.org/linuxgraphics
- they do present their own Linux Kernel - 4.16. - looks dated 02 Apr 2018, downloaded it and ran " make defconfig", inspected the .config and CONFIG_DRM_I915 (+ other related options) looks enabled https://01.org/linuxgraphics/downloa...s-stack-recipe
Last edited by abga; 11-03-2019 at 05:27 PM.
Reason: EDIT
@abga Could you explain why there seems to exist a 5c and a 5d microcode for the same cpu? Just for culture
Code:
~# dmesg | grep micro
[ 0.000000] microcode: microcode updated early to revision 0x5c, date = 2010-10-02
[ 0.694212] MDS: Vulnerable: Clear CPU buffers attempted, no microcode
[ 1.252514] microcode: sig=0x6f2, pf=0x20, revision=0x5c
[ 1.252679] microcode: Microcode Update Driver: v2.2.
@baumei : Thanks for the instructions. You could very well be right about the cause being i915 or ACPI related. I will report once I manage to use a 5.3 kernel (didn't have time today)
Ok, so if I understood correctly :
- i915 developments made on 01.org/linuxgraphics are available only through the intel graphics stack kernel or through kernel.org;
- despite i915 being a module, it needs to be built with the whole kernel (make modules_install)
- i915 version/patchlevel in i915_drv.h might not change even if i915 code evolves
- what is shown in linux/drivers/gpu/i915 is copied from the (private?)01.org/linuxgraphics repository where driver development happens and there is no other release made for the i915 driver
- some specific options detailed in the gentoo link are required to make i915 work properly when building from kernel.org
Sorry if I ask stupid things but I'm discovering all this
Quote:
you should maybe inspect the .config files from the Slackware kernel (both 14.2 and - current) and check if the i915 options are enabled in the way presented by the gentoo wiki page
We're told :
Quote:
Since kernel version 4.4 the driver has been moved and the legacy fbdev support is now CONFIG_DRM_FBDEV_EMULATION=y.
~# cat /boot/config-huge-4.19.81.x64 | grep FBDEV
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
# CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set
Edit : I can't find the "High memory support" option in make xconfig and make menuconfig : when I search for 'HIGHMEM' I do find an option, but it's not on the menu
IIRC isn't there a "master option" that states something like "Show all Options"? I don't know if that is relevant here but it seems a good one to check off.
Ok, so if I understood correctly :
1. - i915 developments made on 01.org/linuxgraphics are available only through the intel graphics stack kernel or through kernel.org;
2. - despite i915 being a module, it needs to be built with the whole kernel (make modules_install)
3. - i915 version/patchlevel in i915_drv.h might not change even if i915 code evolves
4. - what is shown in linux/drivers/gpu/i915 is copied from the (private?)01.org/linuxgraphics repository where driver development happens and there is no other release made for the i915 driver
5. - some specific options detailed in the gentoo link are required to make i915 work properly when building from kernel.org
Sorry if I ask stupid things but I'm discovering all this
1. As far as I understood it, 01.org is the home of the Intel devs and all their developements are merged upstream into the kernel (kernel .org) Now, how this is done - through kernel commits - how actual the updates are - ask them... https://unix.stackexchange.com/quest...rs-from-01-org
2. Yes, it's part of the kernel. You could change the code, update it yourself, without breaking it and only compile & install it. It's easier to get an updated kernel and build it together with the modules (incl. i915).
3. Again, address this with the kernel devs / 01.org devs (they should be the same)
4. Good question. I have no clue how actual the code from kernel.org is. At least at kernel.org you can see the commits and follow the code change on the i915 driver. 01.org has a github presence, but it doesn't look to contain anything related to the driver. https://github.com/01org
Again, you should address this question with the kernel folks / 01.org folks.
5. Yes, the gentoo article is focusing on the upstream kernel.org code. I just provided you the link for the knowledge that is shared there. I also advised you to compare those instructions with the way the Slackware kernel is built, because there could be some differences. I don't say that the Slackware kernel isn't properly built, it works well for most of us, but there could be some differences that might resolve your issue. (I haven't got time to check it myself...)
Quote:
Originally Posted by Twigster
Edit : I can't find the "High memory support" option in make xconfig and make menuconfig : when I search for 'HIGHMEM' I do find an option, but it's not on the menu
:/usr/src/linux-5.3.8# make defconfig
*** Default configuration is based on 'x86_64_defconfig'
#
# No change to .config
#
/usr/src/linux-5.3.8# cat .config | grep HIGHMEM
/usr/src/linux-5.3.8#
@enorbet : you were right you can enable 'show all options', my bad. Now I can't click any of the High memory options
Code:
CONFIG_HIGHMEM4G:
Select this if you have a 32-bit processor and between 1 and 4
gigabytes of physical RAM.
Defined at arch/x86/Kconfig:1410
So maybe because make defconfig detected my x64 CPU it decided this setting was irrelevant?
EDIT : can I use the slackware 4.19 .config file as a basis for 5.3.8? I noticed that I had a ton more modules in /lib/modules/4* than I got with my 5.3.8 compile result, those are probably enabled in Slackware for a reason.
EDIT 2 : Would the option ACPI_HMAT help you diagnose my problem?
EDIT 3 : there is also the option CONFIG_CPU_FREQ. None of the configurators let me answer 'n' there, I wonder if I should try editing manually the .config to try without that?
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.