On Sat, May 21, 2022 at 7:33 AM Xiaofan Chen <xiaof...@gmail.com> wrote: > > I think it is good to upgrade the version of libusb to 1.0.26 since it > fixed multiple critical issues of 1.0.24 (macOS, Linux and Windows). > > Same thing that it is good to upgrade hidapi to 0.11.2 release. > > Then it is good to revisit libftdi which is skipped now. > > avrdude native Windows mingw github action for reference: > it has support for MSYS2 libusb-1.0, libftdi and hidapi, which is > usually quite up to date. > https://github.com/avrdudes/avrdude/blob/main/.github/workflows/build.yml >
libusb change log for reference. 2022-04-10: v1.0.26 * Fix regression with transfer free's after closing device * Fix regression with destroyed context if API is misused * Workaround for applications using missing default context This is quite relevant to OpenOCD users who are not using git head but the release version.. Ref: https://sourceforge.net/p/openocd/tickets/308/ * Fix hotplog enumeration regression * Fix Windows isochronous transfer regression since 1.0.24 * Fix macOS exit crash in some multi-context cases * Build fixes for various platforms and configurations * Fix Windows HID multi-interface product string retrieval * Update isochronous OUT packet actual lengths on Windows * Add interface bound checking for broken devices * Add umockdev tests on Linux 2022-01-31: v1.0.25 * Linux: Fix regression with some particular devices * Linux: Fix regression with libusb_handle_events_timeout_completed() * Linux: Fix regression with cpu usage in libusb_bulk_transfer The above two are very relevant for Linux users. * Darwin (macOS): Add support for detaching kernel drivers with authorization. * Darwin (macOS): Do not drop partial data on timeout. * Darwin (macOS): Silence pipe error in set_interface_alt_setting(). * Windows: Fix HID backend missing byte * Windows: Fix segfault with libusbk driver * Windows: Fix regression when using libusb0 driver The above two can be pretty relevant for Windows users who are still using libusb0 (not recommended) or libusbk instead of WinUSB. * Windows: Support LIBUSB_TRANSFER_ADD_ZERO_PACKET on winusb * New NO_DEVICE_DISCOVERY option replaces WEAK_AUTHORITY option * Various other bug fixes and improvements -- Xiaofan