[WORKAROUND] Linux 5.5 ch340g protocol errors arduino

When trying to upload sketch into CH340G based arduino nano I got many errors regarding communication:

avrdude: stk500_getsync(): can't communicate with device: resp=0x90
another try:
avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0xfc

Most common responses are: 0x80, 0xfc and 0x90. Sometimes it somehow manages to correctly upload sketch into the board, but it's unlikely scenario.

For now I've tested few boards (some fresh from antistatic package, old and new bootloader) and few usb cables - every has the same issue, so HW problem doesn't seem to be an issue here. I've also tested it on multiple devices (and multiple ports including usb2.0) with - same problem. Also, it worked fine few months ago. I don't have currently access to any non-arch based system, so i was not able to test that.

Full log from arduino-ide: #Nk5L on Kadet's Bin

For now i suspect some problem specific to arch linux with baud rate setting, but cannot confirm it or deny in any meaningful way. Has someone came across this issue?

I've also posted same issue on arch forums - but i don't know how many arduino users read those forums.

Update:
Tested it on void linux - works fine, so arch related issue.

Okay, there is a problem with linux 5.5, which does not work particularly well with ch34x module. Today I tested it on void linux with 5.4.12 kernel and it worked fine, after upgrading to 5.5.2 same issue as arch. So problem is somewhere in the kernel. However self compiled module from GitHub - juliagoda/CH341SER: CH341SER driver with fixed bug works fine - so there is working workaround. Issue seems to be related to USB: serial: ch341: reimplement line-speed handling · torvalds/linux@3571456 · GitHub and should be fixed in some later version. So, I just got really unlucky to hit spot when it does not work.

Thanks so much for taking the time to post an update with your findings @kadet1090!