0001
0002 .. SPDX-License-Identifier: GPL-2.0
0003
0004 ==================
0005 USB Legacy support
0006 ==================
0007
0008 :Author: Vojtech Pavlik <vojtech@suse.cz>, January 2004
0009
0010
0011 Also known as "USB Keyboard" or "USB Mouse support" in the BIOS Setup is a
0012 feature that allows one to use the USB mouse and keyboard as if they were
0013 their classic PS/2 counterparts. This means one can use an USB keyboard to
0014 type in LILO for example.
0015
0016 It has several drawbacks, though:
0017
0018 1) On some machines, the emulated PS/2 mouse takes over even when no USB
0019 mouse is present and a real PS/2 mouse is present. In that case the extra
0020 features (wheel, extra buttons, touchpad mode) of the real PS/2 mouse may
0021 not be available.
0022
0023 2) If CONFIG_HIGHMEM64G is enabled, the PS/2 mouse emulation can cause
0024 system crashes, because the SMM BIOS is not expecting to be in PAE mode.
0025 The Intel E7505 is a typical machine where this happens.
0026
0027 3) If AMD64 64-bit mode is enabled, again system crashes often happen,
0028 because the SMM BIOS isn't expecting the CPU to be in 64-bit mode. The
0029 BIOS manufacturers only test with Windows, and Windows doesn't do 64-bit
0030 yet.
0031
0032 Solutions:
0033
0034 Problem 1)
0035 can be solved by loading the USB drivers prior to loading the
0036 PS/2 mouse driver. Since the PS/2 mouse driver is in 2.6 compiled into
0037 the kernel unconditionally, this means the USB drivers need to be
0038 compiled-in, too.
0039
0040 Problem 2)
0041 can currently only be solved by either disabling HIGHMEM64G
0042 in the kernel config or USB Legacy support in the BIOS. A BIOS update
0043 could help, but so far no such update exists.
0044
0045 Problem 3)
0046 is usually fixed by a BIOS update. Check the board
0047 manufacturers web site. If an update is not available, disable USB
0048 Legacy support in the BIOS. If this alone doesn't help, try also adding
0049 idle=poll on the kernel command line. The BIOS may be entering the SMM
0050 on the HLT instruction as well.