RFC: ASIX USB drivers
(and CCing OptionRomPkg maintainers),
ASIX (https://www.asix.com.tw/) has graciously contributed the source code of their latest USB NIC drivers to be up-streamed to TianoCore.
The original contribution (ZIP files) is available here: https://github.com/samerhaj/uefi_drivers/tree/master/UsbNetworking/Asix
I cleaned up the code a bit, and prepared it under this branch on my edk2-platform fork: https://github.com/samerhaj/edk2-platforms/tree/ASIX_USB_Networking
You will find the following new folders under /Drivers/OptionRomPkg/Bus/Usb/UsbNetworking :
- UEFI driver version 2.9.0 for Ax88179 and Ax88178a
- Source provided by ASIX as: https://github.com/samerhaj/uefi_drivers/blob/master/UsbNetworking/Asix/zip/source/AX88179_178a_UEFI_v2.9.0_Source.zip
- Source corresponds to the binary driver available at: https://www.asix.com.tw/products.php?op=pItemdetail&PItemID=131;71;112
- UEFI driver version 2.8.0 for Ax88772c / Ax88772b / Ax88772a
- Source provided by ASIX as: https://github.com/samerhaj/uefi_drivers/blob/master/UsbNetworking/Asix/zip/source/AX88772C_772B_772A_UEFI_v2.8.0_Source.zip
- Source corresponds to the binary driver available at: https://www.asix.com.tw/download.php?sub=driverdetail&PItemID=136
The new Ax88772c driver can effectively replace the existing driver in edk2-platforms/Drivers/OptionRomPkg/Bus/Usb/UsbNetworking/Ax88772b. I compared the code of the new driver with the hisoty of changes to the existing Ax88772b driver (tracing the history back to when OptionRomPkg was under edk2). As far as I can tell, all changes are accounted for in Ax88772c, except the following commits from edk2/OptionRomPkg:
OptionRomPkg: Ax88772b: Fixing compilation
OptionRomPkg: Ax88772b: support for multiple dongles and chips
Ax88772: Add logic to separate packet, fix MTU issue. Ax88772b: Fix driver model unload function, fix SCT test failures.
Can folks please take a look at my branch and comment on anything else that might be missing, and on the readiness of this code to get upstreamed to edk2-platform ? I also appreciate any testing on this code, since I only have an AX88772A with IDs ids:
Vendor0x0B95 - ASIX Electronics Corp.
bcdDevice0x0001 - Device# = 00.01
iManufacturer0x01 - ASIX Elec. Corp.
iProduct0x02 - AX88772A
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.