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 ~ #
Created attachment 70156 [details] config file used to build kernel
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?
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 │ │ (8) Maximum number of CPUs (2-255) (NEW) │ │ [ ] 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.
(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?
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.
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)
Created attachment 70302 [details] dmesg results immediately after boot with SMP kernel
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)...
gentoo-sources-2.6.14 is out, please do future tests with this kernel (or newer!).
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!
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.