Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 108500

Summary: Enabling SMP in kernel results in no keyboard/mouse
Product: Gentoo Linux Reporter: Mark Knecht <markknecht>
Component: [OLD] Core systemAssignee: Gentoo Kernel Bug Wranglers and Kernel Maintainers <kernel>
Status: RESOLVED FIXED    
Severity: major    
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: config file used to build kernel
dmesg results immediately after boot with SMP kernel

Description Mark Knecht 2005-10-08 07:38:01 UTC
I have an Intel P4HT machine. All Gentoo kernels have built fine and the machine
runs like a dream. However, if I enable SMP support then the kernel boots but
the keyboard and mouse are non-operable. No other changes were made between the
working and non-working setups other than enabling SMP.

This problem is not new to 2.6.13-gentoo-r3. I've tried it in 2.6.13-gentoo-r2
and earlier kernels also. I'm simply reporting it now.

Reproducible: Always
Steps to Reproduce:
1. Enable SMP support in make menuconfig
2. Build and boot into gdm. Machine is not usable.

Actual Results:  
Machine boots but keyboard and mouse do not operate.

Expected Results:  
Keyboard and mouse should operate

I will attach the kernel's .config file

dragonfly ~ # emerge info
Portage 2.0.51.22-r3 (default-linux/x86/2005.0, gcc-3.3.6, glibc-2.3.5-r2,
2.6.13-gentoo-r3 i686)
=================================================================
System uname: 2.6.13-gentoo-r3 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz
Gentoo Base System version 1.12.0_pre8
dev-lang/python:     2.3.5-r2
sys-apps/sandbox:    1.2.12
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.15.92.0.2-r10
sys-devel/libtool:   1.5.18-r1
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium4 -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env
/usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env
/usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=pentium4 -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="ftp://gentoo.ccccom.com http://gentoo.osuosl.org/
http://gentoo.seren.com/gentoo ftp://gentoo.mirrors.tds.net/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/home/portage_temp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/root/EBUILDS"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 X alsa apache2 audiofile avi berkdb bitmap-fonts bonobo caps cdr crypt
cups curl dvd dvdr dvdread eds emboss encode esd fam firebird flac fluidsynth
foomaticdb fortran gd gdbm gif gimp gimpprint gnome gpm gstreamer gtk gtk2
gtkhtml i8x0 imagemagick imlib ipv6 jack jack-tmpfs java jpeg kde ladcca ladspa
libg++ libwww lirc mad mikmod mjpeg mmx motif mp3 mpeg mysql mythtv ncurses nls
nptl nptlonly ogg oggvorbis opengl oss pam pdflib perl png ppds python qt
quicktime readline samba sdl sndfile spell sse sse2 ssl svga tcltk tcpd threads
tiff transcode truetype truetype-fonts type1-fonts usb userlocales v4l v4l2
vorbis xine xml xml2 xmms xscreensaver xv xvid zlib userland_GNU kernel_linux
elibc_glibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS

dragonfly ~ #

dragonfly ~ # cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 15
model           : 3
model name      : Intel(R) Pentium(R) 4 CPU 3.00GHz
stepping        : 3
cpu MHz         : 2995.421
cache size      : 1024 KB
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 cid
bogomips        : 5997.98

dragonfly ~ #

dragonfly ~ # lspci
0000:00:00.0 Host bridge: Intel Corporation 82865G/PE/P DRAM Controller/Host-Hub
Interface (rev 02)
0000:00:02.0 VGA compatible controller: Intel Corporation 82865G Integrated
Graphics Controller (rev 02)
0000:00:1d.0 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI
Controller #1 (rev 02)
0000:00:1d.1 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI
Controller #2 (rev 02)
0000:00:1d.2 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI
Controller #3 (rev 02)
0000:00:1d.3 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI
Controller #4 (rev 02)
0000:00:1d.7 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB2 EHCI
Controller (rev 02)
0000:00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev c2)
0000:00:1f.0 ISA bridge: Intel Corporation 82801EB/ER (ICH5/ICH5R) LPC Interface
Bridge (rev 02)
0000:00:1f.1 IDE interface: Intel Corporation 82801EB/ER (ICH5/ICH5R) IDE
Controller (rev 02)
0000:00:1f.3 SMBus: Intel Corporation 82801EB/ER (ICH5/ICH5R) SMBus Controller
(rev 02)
0000:00:1f.5 Multimedia audio controller: Intel Corporation 82801EB/ER
(ICH5/ICH5R) AC'97 Audio Controller (rev 02)
0000:01:01.0 Multimedia video controller: Internext Compression Inc iTVC16
(CX23416) MPEG-2 Encoder (rev 01)
0000:01:02.0 Multimedia video controller: Internext Compression Inc iTVC16
(CX23416) MPEG-2 Encoder (rev 01)
0000:01:03.0 Ethernet controller: Realtek Semiconductor Co., Ltd.
RTL-8139/8139C/8139C+ (rev 10)
dragonfly ~ #
Comment 1 Mark Knecht 2005-10-08 07:39:10 UTC
Created attachment 70156 [details]
config file used to build kernel
Comment 2 Daniel Drake (RETIRED) gentoo-dev 2005-10-10 09:06:39 UTC
Please confirm that the config you are using is exactly the same in both cases
(with the only difference of CONFIG_SMP).

Are these keyboards/mice usb or ps/2? Are you able to try ones of the different
type?
Comment 3 Mark Knecht 2005-10-10 09:14:24 UTC
I definately enabled SMP. I believe left it at 8 CPUs. I believe I also enabled
the SMT schedular support since it was a P4HT processor. I don't think I tried
it without the SMT scheduler. I should.

[*] Symmetric multi-processing support
  &#9474; &#9474;        (8)   Maximum number of CPUs (2-255) (NEW)                        
                 
  &#9474; &#9474;        [ ]   SMT (Hyperthreading) scheduler support (NEW)  

The keyboard/mouse was a wireless Logitec unit. It hooks into the ps2 ports and
has a wireless tranmitter that goes to the mouse and keyboard. I could grab a
standard ps2 mouse/keyboard and try that also.
Comment 4 Daniel Drake (RETIRED) gentoo-dev 2005-10-10 09:31:37 UTC
(In reply to comment #3)
> I definately enabled SMP. I believe left it at 8 CPUs. I believe I also enabled
> the SMT schedular support since it was a P4HT processor. I don't think I tried
> it without the SMT scheduler. I should.

Yep - I was mainly asking to make sure you werent making any other configuration
changes between the working and non-working setups... (incase SMP isnt the culprit)

> The keyboard/mouse was a wireless Logitec unit. It hooks into the ps2 ports and
> has a wireless tranmitter that goes to the mouse and keyboard. I could grab a
> standard ps2 mouse/keyboard and try that also.

If possible, that would be useful. If you have the option of plugging any into
USB, that would also be useful.

Is this machine networked? If so, would it be possible to SSH in and obtain a
copy of "dmesg" from a SMP bootup where the keyboard is unusable?
Comment 5 Mark Knecht 2005-10-10 09:35:21 UTC
I will go through the process again this morning. I am sure there were no
changes other thna the ones I outlined. I do not have a USB mouse or keyboard.
(That I remember. I'll look around.) 

ssh'ing in makes sense. If it hangs up again I'll try that and drop whatever I
find back here.
Comment 6 Mark Knecht 2005-10-10 11:08:41 UTC
OK, the probelm is caused by enabling SMP. I did not enable the HT scheduler and
got the same problem.

Interesting info. The wireless keyboard adapter is actually a USB device that
had a USB-ps2 dongle on it. When I unplugged the dongle and plugged the keyboard
directly into a USB port the keyboard worked. I plugged it back into the ps2
port and it failed. One more time into USB port where it worked, so it appears
that it's a ps2 issue, probably based around this dongle.

The dongle is purple, has a part number 501321-0000 and the letters 'HC' and 'SH'.

I will attach the dmesg info. (pre experiement unfortunately)
Comment 7 Mark Knecht 2005-10-10 11:09:32 UTC
Created attachment 70302 [details]
dmesg results immediately after boot with SMP kernel
Comment 8 Daniel Drake (RETIRED) gentoo-dev 2005-10-25 12:43:06 UTC
PS/2 generally isn't hotpluggable, so you should boot up with it already plugged
in (but I guess you were doing this already).

These 2 lines look suspicious:

PNP: No PS/2 controller found. Probing ports directly.
i8042.c: Can't read CTR while initializing i8042.

Would it be possible to see "dmesg" output from a boot where SMP is not enabled
(i.e. keyboard/mouse works ok)?

Also, if you have time, it would be useful if you could see if this issue exists
on the latest development kernel (currently vanilla-sources-2.6.14_rc5)...
Comment 9 Daniel Drake (RETIRED) gentoo-dev 2005-10-29 07:00:44 UTC
gentoo-sources-2.6.14 is out, please do future tests with this kernel (or newer!).
Comment 10 Mark Knecht 2005-10-29 10:39:32 UTC
OK, I tested with 2.6.14-gentoo. Same problems

1) Standard ps2 keyboard - not functional
2) Logitech USB keyboard using USB-ps2 dongle - not functional
3) Logitech USB keyboard plugged into a USB port - works great

Awhile back I asked about this on the LKML. Someone suggested I try an option
called usb-handoff. This fixes the problem:

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/hda5
#          initrd /initrd-version.img
#boot=/dev/hda
#hiddenmenu
default=1
timeout=12
splashimage=(hd0,0)/grub/splash.xpm.gz

title Gentoo Sources (2.6.13-gentoo-r3-ht)
        root (hd0,0)
        kernel (hd0,0)/bzImage-2.6.13-gentoo-r3-ht ro root=/dev/hda8

title Gentoo Sources (2.6.14-gentoo-ht)
        root (hd0,0)
        kernel (hd0,0)/bzImage-2.6.14-gentoo-ht ro root=/dev/hda8 usb-handoff

Now the Logitech with the dongle and the standard keyboard both work when
booting up under an SMP kernel.

I'll leave it to you to decide how to change the bug status. Thanks!
Comment 11 Daniel Drake (RETIRED) gentoo-dev 2005-10-29 11:17:02 UTC
That'll be it. To work around this you might try a BIOS upgrade, or disabling
"USB Legacy", "USB Keyboard", and "USB Mouse" support in the bios, if any of
those options are available.

I'll mark this as fixed, usb-handoff will become on-by-default somewhere in the
near future.