USB stack

Jordan Justen edited this page Nov 10, 2014 · 2 revisions
Clone this wiki locally

If I have a USB dongle, what drivers do I need?

Below are specific paths to the drivers from the open source packages. You can also put in both EHCI and UHCI, and they will work together to select the best controller to use based on the capabilities of the attached USB devices. You also need the Disk I/O Driver and Partition Driver. The FAT driver is available in both source and binary form. The path to the pre-built FAT binary is shown in the list below.

  MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
  MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.in
  MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
  MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
  MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
  MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf  
  FatBinPkg/EnhancedFatDxe/Fat.inf

USB Dongles can also be used as a recovery device in the PEI Phase. The following PEIMs would also be required if the PEI Phase needs to load a recovery image from a USB Dongle. The CDExpressPei module would only be required for recovery from a USB CD/DVD.

  MdeModulePkg/Bus/Pci/UhciPei/UhciPei.inf
  MdeModulePkg/Bus/Pci/EhciPei/EhciPei.inf
  MdeModulePkg/Bus/Usb/UsbBotPei/UsbBotPei.inf
  MdeModulePkg/Bus/Usb/UsbBusPei/UsbBusPei.inf
  MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf
  FatPkg/FatPei/FatPei.inf