Hi RichardHo, This driver has interested me. I've ported your driver to tinh_ampere_edk2 ( https://github.com/tinhnampere/edk2/tree/support_usbnet ) and tinh_ampere_edk2_platform ( https://github.com/tinhnampere/edk2-platforms/tree/support_usbnet ). I'm having the same issue with our USB CDC ECM driver, which we've already published here Ampere USB CDC Net ( https://github.com/AmpereComputing/edk2-platforms/tree/ampere/Platform/Ampere/AmperePlatformPkg/Drivers/UsbCdcEthernetDxe ). That is a bug in polling performance; we also have a thread with the same issue USB Net for Aarch64 platform ( https://edk2.groups.io/g/devel/topic/30905775#9791, )
Currently, on the Jade platform (use your USB net driver), performance is quite low and the OS cannot be booted. The root cause is that we spend a long time waiting for USB UsbBulkTransfer to complete, but if there is no data to communicate -> it will always time out. I have no idea why the polling time of MNP is 10 ms #define MNP_SYS_POLL_INTERVAL (10 * TICKS_PER_MS) // 10 milliseconds, But I don't see why it should be changed; it could have some unexpected consequences for other platforms. I have a workaground for Ampere usb net driver: I include a function like "filter," "slow down," or something similar. If there are a lot of transaction timeouts, I reject some income requests from the upper layer. I've already tried it on your driver tinh_ampere_edk2 ( https://github.com/tinhnampere/edk2/tree/support_usbnet ) , and it works . Anyway, hope you can solve this problem; I think many platforms are experiencing the same issue. Thanks, Tinh Nguyen -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#98205): https://edk2.groups.io/g/devel/message/98205 Mute This Topic: https://groups.io/mt/95531719/21656 Group Owner: [email protected] Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
