When I first got my WCH LinkE, it appeared to be bricked. It wouldn't enumerate on Linux.
However, it would enumerate on Windows, and using the Windows updater I updated the WCH LinkE and then it would enumerate on Linux. I'm not sure what versions they were at though.
Thanks, I'll check and report back. When you say "wouldn't enumerate on Linux", were you looking for the serial device (e.g. /dev/ttyACM0) or were you looking at lsusb output and checking the /dev/bus/usb tree?
Slightly later: lsusb /does/ report a device, but the kernel doesn't know what to do with it.
Bus 002 Device 015: ID 4348:55e0 WinChipHead
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 255 Vendor Specific Class
[Mar20 07:34] usb 2-1.5: new full-speed USB device number 15 using ehci-pci
[ +0.108750] usb 2-1.5: New USB device found, idVendor=4348, idProduct=55e0, bcdDevice= 1.00
[ +0.000012] usb 2-1.5: New USB device strings: Mfr=0, Product=0, SerialNumber=0
"Winchiphead CH341 Driver
This driver is for the Winchiphead CH341 USB-RS232 Converter. This chip also implements
an IEEE 1284 parallel port, I2C and SPI, but that is not supported by the driver. The protocol
was analyzed from the behaviour of the Windows driver, no datasheet is available at present."
Unfortunately 4348:55e0 is not an ID that the Linux kernel knows about: the CH341 driver responds to 4348:5523. In the past I've tinkered a little with the CH341's I2C etc. capabilities
https://github.com/MarkMLl/i2c-ch341-usb but I think that relies on the standard IDs.
I note that the part-decoded WCH-Link protocol is described as I2C-like, and when I have time I'll take a closer look at that and see what ID it expects: it might be that in combination with the project above the programmer could be reflashed with no additional hardware.
I've got a response from support@mounriver.com but so far they don't really seem to understand that their software can brick the programmer: they still think that the IDE should be able to upgrade the firmware, but while there's some slim possibility that libusb could do something with that device as it stands... without a module/driver that knows about that non-standard ID I don't think that will happen.
In any event, this gives some indication of how Windows might be able to recover: but I bet that it relies on a driver having been installed.
MarkMLl