^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) .. SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) ==================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) USB Legacy support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) ==================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) :Author: Vojtech Pavlik <vojtech@suse.cz>, January 2004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) Also known as "USB Keyboard" or "USB Mouse support" in the BIOS Setup is a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) feature that allows one to use the USB mouse and keyboard as if they were
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) their classic PS/2 counterparts. This means one can use an USB keyboard to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) type in LILO for example.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) It has several drawbacks, though:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) 1) On some machines, the emulated PS/2 mouse takes over even when no USB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) mouse is present and a real PS/2 mouse is present. In that case the extra
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) features (wheel, extra buttons, touchpad mode) of the real PS/2 mouse may
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) not be available.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) 2) If CONFIG_HIGHMEM64G is enabled, the PS/2 mouse emulation can cause
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) system crashes, because the SMM BIOS is not expecting to be in PAE mode.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) The Intel E7505 is a typical machine where this happens.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) 3) If AMD64 64-bit mode is enabled, again system crashes often happen,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) because the SMM BIOS isn't expecting the CPU to be in 64-bit mode. The
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) BIOS manufacturers only test with Windows, and Windows doesn't do 64-bit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) yet.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) Solutions:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) Problem 1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) can be solved by loading the USB drivers prior to loading the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) PS/2 mouse driver. Since the PS/2 mouse driver is in 2.6 compiled into
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) the kernel unconditionally, this means the USB drivers need to be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) compiled-in, too.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) Problem 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) can currently only be solved by either disabling HIGHMEM64G
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) in the kernel config or USB Legacy support in the BIOS. A BIOS update
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) could help, but so far no such update exists.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) Problem 3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) is usually fixed by a BIOS update. Check the board
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) manufacturers web site. If an update is not available, disable USB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) Legacy support in the BIOS. If this alone doesn't help, try also adding
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) idle=poll on the kernel command line. The BIOS may be entering the SMM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) on the HLT instruction as well.