I think I finally understand what’s happening on MacOS / Ruida / USB.
Apple has a bug in the driver that talks to the FTDI chip - it’s ignoring what’s called ‘hardware flow control’. Similar to a conversation between people, it’s possible for one computer to send data to another too quickly. If the receiver starts to backlog, it can turn on a signal that says, “hold on” to the sender, then when it gets caught up, it turns off that signal and the sender resumes.
After a lot of digging, I found a couple posts online that show evidence that Big Sur is not paying attention to that signal on FTDI devices, which means if it sends too fast and the Ruida asks it to slow down, it ignores it and the Ruida drops some of the data, messing up the transfer.
I’ve added code to the MacOS version that self-throttles the transfers to keep them under the maximum rate for the Ruida and this works on all the hardware I have here to test with.
This is a Mac build with a fix in place that’s working on all the hardware I’ve tried it on:
https://drive.google.com/file/d/1-dM5VeTl6MHX2xeMB77cO-Nrdazl6W4i/view?usp=sharing
Can anyone on this thread please try it and report back if it’s working or not, and with what hardware and MacOS version?