LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 04-20-2018, 10:00 PM   #1
SpacePlod
Member
 
Registered: Jan 2014
Distribution: Slackware
Posts: 115

Rep: Reputation: Disabled
Keyboard Woes: Dell XPS Laptop (14.2 stock install)


So this my second time dealing with keyboard issues and a Dell. My previous woes were solved by the correct use of mkinitrd in this thread.

This situation is a bit different. This is a fresh install of 14.2. The install runs fine, as does Slackware-live. Neither of those have issues with the keyboard.

Once installed, however, I can often get as far as the luksOpen prompt for the encrypted home partition password. The strange part is that sometimes the keyboard will work long enough to get past that and to the login prompt, and then the keyboard no longer responds. Sometimes the keyboard stops responding once it reaches the home partition password, and never makes it to the login prompt.

Interestingly, I found that I can connect an external USB keyboard, and log in using that. Once I startx, the laptop keyboard works fine. Referring back to my previous issue, I used /usr/share/mkinitrd/mkinitrd_command_generator.sh to create an initrd (properly configured with lilo/lilo.conf, etc.). But the problem persists.

My current workaround is to set runlevel to 4. IF I can make it to the login prompt (X login manager), the keyboard works. Unfortunately that only happens about 50% of the time, and I'd really like to solve the underlying issue (as well as have a properly functioning laptop).

I know this is likely startup module related...I'm just at a loss as to how to diagnose it. There are no obvious (to me, anyway) messages in the dmesg output.

Any thoughts on where to look would be appreciated.
 
Old 04-21-2018, 01:20 AM   #2
Fat_Elvis
Member
 
Registered: Oct 2016
Distribution: FreeDOS 1.2
Posts: 309

Rep: Reputation: 92
Which model of XPS is it? I have an old 9350 that runs 14.2 perfectly aside from needing a manual bootloader install.

Interestingly, I have had the dead keyboard problem on some Intel desktop boards with USB keyboards, with the most recent Slackware kernel. Have you recently updated the kernel?
 
Old 04-21-2018, 06:47 AM   #3
Drakeo
Senior Member
 
Registered: Jan 2008
Location: Urbana IL
Distribution: Slackware, Slacko,
Posts: 3,716
Blog Entries: 3

Rep: Reputation: 483Reputation: 483Reputation: 483Reputation: 483Reputation: 483
you may want to use the intrd.img.

and redo your lilo.

as root
run
Code:
/usr/share/mkinitrd/mkinitrd_command_generator.sh
now copy paste it in your terminal
edit your /etc/lilo.conf
Code:
# Linux bootable partition config begins 
 image = /boot/vmlinuz
 root = /dev/sda1 
 label = Slackware 
 read-only 
# Linux bootable partition config ends

# Linux bootable partition config begins 
 image = /boot/vmlinuz-generic
 initrd = /boot/initrd.gz 
 root = /dev/sda1 
 label = Slackware geniric 
 read-only 
# Linux bootable partition config ends
note since slk64 14.2 there is a link to vimlinuz to vimlinuz-huge-xxxxx
and a link from vmlinuz-generic to vmlinuz-generic-xxxxx
so after distro kernel upgrades no need re-edit /etc/lilo.conf
you really need to load some modules early.

Just a guess. Huge can cause small issues as thousands of modules are loaded at start.
as for grub well thats another thread. I use grub also.

Last edited by Drakeo; 04-21-2018 at 06:49 AM.
 
Old 04-21-2018, 07:12 AM   #4
SpacePlod
Member
 
Registered: Jan 2014
Distribution: Slackware
Posts: 115

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by Fat_Elvis View Post
Which model of XPS is it? I have an old 9350 that runs 14.2 perfectly aside from needing a manual bootloader install.
It's an XPS 12 (2 in 1). The model number is "XPS 12 9Q33". It's low on specs, but fine for my limited purposes. Everything installed as normal here. Lilo ran without error with the initrd image, and once past the keyboard issue (if I can get into X with either an external KB or if it makes it to the X login manager) everything runs great.

Quote:
Originally Posted by Fat_Elvis View Post
Interestingly, I have had the dead keyboard problem on some Intel desktop boards with USB keyboards, with the most recent Slackware kernel. Have you recently updated the kernel?
I'm using the stock 14.2 kernel right now (I've tried both huge and generic with initrd). The keyboard also worked fine with the Slackware-live image I tried (no KB issues at all), which I believe was running 4.14.26. I've also tried 4.14.34 with both the huge kernel and generic with an initrd. I don't think it's an issue with the kernel version. I suspect I'm missing something from the initrd, but I can't figure out what.
 
Old 04-21-2018, 07:18 AM   #5
SpacePlod
Member
 
Registered: Jan 2014
Distribution: Slackware
Posts: 115

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by Drakeo View Post
you may want to use the intrd.img.

and redo your lilo.
As I mentioned in the original post, this is exactly what I did based on the previous issue I had. The mkinitrd generator script gave a long list of drivers to add, but it did not solve the issue. I've tried both huge and generic (with initrd) kernel versions and the issue persists, only resolving if I can somehow get into X. I've been careful to ensure lilo.conf points to the correct kernel version / initrd combo (if applicable), and rerun lilo. No joy.

I do appreciate you taking the time to respond though. The solution you described is exactly what I initially expected to work. Thanks.
 
Old 04-22-2018, 12:30 AM   #6
mralk3
Slackware Contributor
 
Registered: May 2015
Distribution: Slackware
Posts: 1,902

Rep: Reputation: 1052Reputation: 1052Reputation: 1052Reputation: 1052Reputation: 1052Reputation: 1052Reputation: 1052Reputation: 1052
It would be very helpful if you could share the exact command you are running to generate your initrd.

On my main laptop (ZaReason Strata 7440) I do not include the external keyboard or mouse modules when generating an initrd. The kernel is smart enough to identify any additional hardware automatically as long as you include the bare minimum kernel modules into your initrd.

On my old Dell Inspiron N4010 if I use the kernel modules for external hardware with the Generic Slackware kernel, it simply won't boot. Also, the Huge kernel will not boot at all and I am forced to generate an initrd for the Generic kernel while in a chroot using the Slackware installation medium.

Anyway, a bit off topic now, here are the steps I follow to generate a initrd on both systems:

Run /usr/share/mkinitrd/mkinitrd_command_generator.sh and pick out the useful bits. The useful portion is in bold.
Code:
mkinitrd -c -k 4.4.128 -f ext4 -r /dev/cryptvg/root -m xhci-pci:ohci-pci:ehci-pci:xhci-hcd:uhci-hcd:ehci-hcd:hid:usbhid:i2c-hid:hid_generic:hid-cherry:hid-logitech:hid-logitech-dj:hid-logitech-hidpp:hid-lenovo:hid-microsoft:hid_multitouch:jbd2:mbcache:ext4 -C /dev/sda2 -L -u -o /boot/initrd.gz
I like to have my Intel video card loaded in the initrd, it's not necessary, but I still do so. I also use the Intel microcode, you can safely ignore this part if you don't use it or if you have a different processor make. Finally, I use LUKS LVM encryption, so I include the relavant part for that to function. Here is the command I use to generate a working initrd on the ZaReason:
Code:
mkinitrd -c -k 4.4.128 -f ext4 -r /dev/cryptvg/root -m jbd2:mbcache:ext4:i915 -C /dev/sda2 -L -u -o /boot/initrd-4.4.128.gz -P /boot/intel-ucode.cpio
The rest of the recommended kernel modules are loaded during the boot stage after I decrypt my hard drive. So this portion:
Code:
xhci-pci:ohci-pci:ehci-pci:xhci-hcd:uhci-hcd:ehci-hcd:hid:usbhid:i2c-hid:hid_generic:hid-cherry:hid-logitech:hid-logitech-dj:hid-logitech-hidpp:hid-lenovo:hid-microsoft:hid_multitouch
The goal of an initrd is just to get your machine to start up, not to load up every kernel module you might need. The kernel will identify the rest of what you need on it's own. So use the initrd to load just what you need to boot.
 
1 members found this post helpful.
Old 04-22-2018, 08:54 AM   #7
Fat_Elvis
Member
 
Registered: Oct 2016
Distribution: FreeDOS 1.2
Posts: 309

Rep: Reputation: 92
AFAIK, most laptop keyboards are PS/2 devices, which usually have less problems than USB connected peripherals.

I've had problems with the Slack installer not loading the correct keymap (all my keyboards are US ASCII), and also specifically with the recent 4.4.111 Slackware kernel, but only with USB keyboards, and not with PS/2.

Your laptop is likely a newer model which may have its own quirks. Would you be willing to try the new 4.14 series kernel from the current branch?

Last edited by Fat_Elvis; 04-22-2018 at 09:04 AM.
 
1 members found this post helpful.
Old 04-22-2018, 09:01 AM   #8
SpacePlod
Member
 
Registered: Jan 2014
Distribution: Slackware
Posts: 115

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by mralk3 View Post
It would be very helpful if you could share the exact command you are running to generate your initrd.
This is what I had been using (from /usr/share/mkinitrd/mkinitrd_command_generator.sh):
Code:
mkinitrd -c -k 4.14.34 -f ext4 -r /dev/sda3 -m xhci-pci:ohci-pci:ehci-pci:xhci-hcd:uhci-hcd:ehci-hcd:hid:usbhid:i2c-hid:hid_generic:hid-cherry:hid-logitech:hid-logitech-dj:hid-logitech-hidpp:hid-lenovo:hid-microsoft:hid_multitouch:jbd2:mbcache:ext4 -u -o /boot/initrd.gz
This is the tail end of lilo.conf. These are the entries that remain. I tried others as well (the 'huge' and 'generic' links in the first two entries point to the correct kernels in /boot, in case anyone wonders):

Code:
image = /boot/vmlinuz-generic  
  root = /dev/sda3
  initrd = /boot/initrd.gz
  label = Linux-4.14.34
  read-only
image = /boot/vmlinuz-huge
  root = /dev/sda3
  label = 4.14.34_huge
  read-only
image = /boot/vmlinuz-generic-4.4.14
  root = /dev/sda3
  initrd = /boot/initrd-4.4.14.gz
  label = Linux-4.4.14
  read-only
This particular run is using kernel 4.14.34 (I tried this with several kernels, including 4.4 series up to 118 and 4.14.26). It's become apparent that the kernel version is not the issue. It's my initrd setup.

Quote:
Originally Posted by mralk3 View Post
<snip>
The goal of an initrd is just to get your machine to start up, not to load up every kernel module you might need. The kernel will identify the rest of what you need on it's own. So use the initrd to load just what you need to boot.
Given your advice above, I tried this:

Quote:
mkinitrd -c -k 4.14.34 -f ext4 -r /dev/sda3 -m jbd2:mbcache:ext4:i915 -u -o /boot/initrd.gz
Re-ran lilo...and for the first time, I was able to complete the login process with a reboot. Prior to this it never worked on a reboot, only *occasionally* on a cold start. So this is a first. Got past the luksOpen and straight to X login. But now the KB is non-responsive on a cold boot (it's probably coincidence that one or the other works). I get to the luksOpen passphrase and no KB. Bummer. Two more power cycles, and I get to the login prompt. No rhyme or reason...probably just a timing issue.

It seems this would be a non-issue if I could bypass the luksOpen and go straight to X login, but I really need /home encrypted on this.

I very much appreciate the suggestions.
 
Old 04-22-2018, 09:03 AM   #9
SpacePlod
Member
 
Registered: Jan 2014
Distribution: Slackware
Posts: 115

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by Fat_Elvis View Post
AFAIK, most laptop keyboards are PS/2 devices, which usually have less problems than USB connected peripherals.

I've had problems with the Slack installer not loading the correct keymap (all my keyboards are US ASCII), and specifically with the recent 4.4.111 Slackware kernel, but only with USB keyboards, and not with PS/2.

Your laptop is likely a newer model which may have its own quirks. mkinitrd-generator seems to be listing a ridiculous number of USB HID drivers. You seem to have some Logitech devices connected. Have you tried booting with everything but the power disconnected?
This laptop is an older XPS model that came with Win8 loaded (3 or 4 years?). There's been nothing connected when I boot this except power, unless I'm booting the install media or Slack-live.
 
Old 04-22-2018, 09:05 AM   #10
Fat_Elvis
Member
 
Registered: Oct 2016
Distribution: FreeDOS 1.2
Posts: 309

Rep: Reputation: 92
Quote:
Originally Posted by SpacePlod View Post
This laptop is an older XPS model that came with Win8 loaded (3 or 4 years?). There's been nothing connected when I boot this except power, unless I'm booting the install media or Slack-live.
Sorry about that, I confused your post with the other poster above. Edited now.

I see that you're already running the 4.14 kernel as well. If there is no problems when X11 is running, it likely has something to do with the console driver.

Wish I could be of more help, but laptop manufacturers these days seem to be deprioritizing compatibility with anything but their preinstalled hardware and software. Some of them won't even boot with an aftermarket drive or wireless adapter installed.

Last edited by Fat_Elvis; 04-22-2018 at 09:11 AM.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Cannot wake from suspend with keyboard or mouse on Dell XPS 17 L702X Ahaaa Linux - Hardware 4 05-02-2012 06:19 PM
Can't install/ boot any Linux distro on my new Dell XPS 702X laptop. klepow Linux - Laptop and Netbook 5 03-27-2012 12:18 AM
Linux and Dell XPS Laptop plythgam Linux - Hardware 5 12-04-2011 08:06 PM
Dell XPS M1210 Keyboard spaceballs Slackware 2 02-21-2007 09:33 PM
Dell XPS m170 laptop blueAlien Slackware 1 05-03-2006 02:12 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 09:28 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration