usb-legacy-support.rst 1.8 KB

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