Skip to content

Failed to get device for CH559 #16

@maxgerhardt

Description

@maxgerhardt

I've put my device into USB bootloader mode and I've previously installed libusb-win32 drivers via Zadig.

When I try to upload the firmware I get

>python  -m ch55xtool  -f .pio\build\ch559\firmware.bin -r
Failed to get device, please check your libusb installation.

When I call into the tool by https://github.com/LoveMHz/vnproch55x, directly after that, with no USB device reconnected or anything

>C:\Users\Max\Desktop\tools\win\vnproch55x.exe .pio\build\ch559\firmware.bin
------------------------------------------------------------------
CH55x Programmer by VNPro
------------------------------------------------------------------
Found Device CH559
Bootloader: 2.3.1
ID: 1B AC 4B 41
XOR Mask: 53 53 53 53 53 53 53 AC
Write 194 bytes from bin file.
..................................................
Write complete!!!
Verify chip
..................................................
Verify complete!!!
------------------------------------------------------------------

It can do it, as well as when I use the Python version of

>python C:\Users\Max\chflasher\chflasher.py .pio\build\ch559\firmware.bin
Could not access USB Device
Traceback (most recent call last):
  File "C:\Users\Max\chflasher\chflasher.py", line 36, in <module>
    dev.set_configuration()
  File "C:\Users\Max\AppData\Local\Programs\Python\Python38\lib\site-packages\usb\core.py", line 905, in set_configuration
    self._ctx.managed_set_configuration(self, configuration)
  File "C:\Users\Max\AppData\Local\Programs\Python\Python38\lib\site-packages\usb\core.py", line 113, in wrapper
    return f(self, *args, **kwargs)
  File "C:\Users\Max\AppData\Local\Programs\Python\Python38\lib\site-packages\usb\core.py", line 159, in managed_set_configuration
    self.backend.set_configuration(self.handle, cfg.bConfigurationValue)
  File "C:\Users\Max\AppData\Local\Programs\Python\Python38\lib\site-packages\usb\backend\libusb1.py", line 812, in set_configuration
    _check(self.lib.libusb_set_configuration(dev_handle.handle, config_value))
  File "C:\Users\Max\AppData\Local\Programs\Python\Python38\lib\site-packages\usb\backend\libusb1.py", line 604, in _check
    raise USBError(_strerror(ret), ret, _libusb_errno[ret])
usb.core.USBError: [Errno 5] Input/Output Error

but when I use the precompile .exe version

>C:\Users\Max\chflasher\chflasher.exe .pio\build\ch559\firmware.bin
Found CH559
Bootloader version: 2.31
Flash Erased
Filesize: 194 bytes
Error: Something wrong with the bin file

(a related bug for that is opened at atc1441/chflasher#4)

In any case, with the tool in this repository I can't get my device recognized.

It is interesting that the chflasher tool is also written in Python and the script also doesn't see my device..

Any ideas?

Running on Windows 10, Python 3.8.6, pyUSB 1.1.1, Zadig libusb-win32 drivers were installed for the device.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions