Hi Lazlo,

I have tried this with both the very old OVMF-X64-r15214.zip hosted on SourceForge: edk2.git-ovmf-x64-0-20180226.b3485.gb1956b5d42.noarch.rpm

And what I believe is the most recent OVMF hosted in the kraxel repo: edk2.git-ovmf-x64-0-20180226.b3485.gb1956b5d42.noarch.rpm

And I see the same behavior in both.

The USB device is a proprietary CDC_ACM device. I have tested on this motherboard: http://www.supermicro.com/products/motherboard/atom/x10/a1sri-2758f.cfm whose UEFI firmware does appear to be based on EDK and everything works as expected.

Thanks,
Rob

On Tue, Apr 3, 2018 at 7:49 AM, Laszlo Ersek <[email protected]> wrote:
Hi Rob,

On 04/03/18 00:12, Rob Taglang wrote:
 Hello,

I can pass a host USB device to QEMU boot with OVMF, and it shows up as a EFI_USB_IO_PROTOCOL device and the interface descriptors and endpoints
 are detected correctly. A UsbControlTransfer operation succeeds.
However, UsbBulkTransfer returns EFI_OUT_OF_RESOURCES regardless of how
 much memory I allocate for QEMU.

This application does work correctly on real hardware. Is this expected
 behavior in OVMF?

I seem to recall recent patches for the core USB drivers in edk2 that
modified various timeouts and transfer block sizes. For example:

  [edk2] [MdeModulePkg/Usb v2 0/1] Calculating the count of blocks to
                                   transfer

Committed at
<https://github.com/tianocore/edk2/commit/824b6e3b5fa080df36626db3eb8465c25a12c053>.

Can you try a fresh edk2 build, and/or state git commit hashes at which
the tree does or does not work for you?

It would also be interesting to know the exact USB device (vendor, model etc) that produces this issue for you. Chances are the edk2 USB drivers
would have the same issue if they encountered your device on the bare
metal (i.e. with edk2 running as physical platform firmware).

Thanks!
Laszlo



_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to