Post Reply 
 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
USB devices not working on systems with legacy BIOS
2017-02-14, 17:58 (This post was last modified: 2017-02-14 17:59 by NiKiZe.)
Post: #4
RE: USB devices not working on systems with legacy BIOS
(2017-02-14 14:18)eugenio Wrote:  Please take a look at an Intel document tittled Enhanced Host Controller Interface Specification for Universal Serial Bus.

As per the specification all EHCI host controllers have a register used to identify extended capabilities. One of those "extended capabilities" is a synchronization mechanism used to handoff ownership of the USB host controller from BIOS to the operating system.

If the Pre-OS to OS handoff synchronization capability is available, the OS (or iPXE in this case) is also able to handoff ownership of the USB host controller back to BIOS. If iPXE writes clears bit 24 at USBLEGSUP register, the USB host controller will issue an SMI that will be catched by the BIOS code. At that time the BIOS will know that it can regain ownership of the USB host controller hardware.

Taking a look at EHCI source code in iPXE, you can see that there is a function called ehci_remove that calls another funcion called ehci_legacy_release. The comments in the source for ehci_legacy_release read as "Release ownership back to BIOS." and its code writes 0 at USBLEGSUP register if iPXE detected that Pre-OS to OS handoff synchronization mechanism is available.

Eugenio

Awesome! Sounds like you have a patch tested and ready to be sent to the ipxe-dev mailing list?

Use GitHub Discussions
VRAM bin
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: USB devices not working on systems with legacy BIOS - NiKiZe - 2017-02-14 17:58



User(s) browsing this thread: 1 Guest(s)