There is some info on open source applications on this page:
https://github.com/boseji/CH341-Store#ch341a-programmer-application
Apart some schematics the DRIVERs provided there are useless.
The linux version dates kernel 2.6.x while even recent 4.x LTS
releases still contains the issues with CH341 uarts.
I am still looking for a well known good patch to solve issues
with these USB IDs
static const struct usb_device_id id_table[] = {
{ USB_DEVICE(0x4348, 0x5523) },
{ USB_DEVICE(0x1a86, 0x7522) },
{ USB_DEVICE(0x1a86, 0x7523) },
{ USB_DEVICE(0x1a86, 0x5523) },
{ },
};