-
Notifications
You must be signed in to change notification settings - Fork 69
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Flashing in DFU mode very unstable #97
Comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Finally found some time to play with my Solo Hacker.
After building the firmware successfully following the docs, I immediately bricked the device during the first flash try.
Fortunately, I could recover it two days later using one of those cheap ST-Link clones found on ebay...
Then I started playing with DFU mode again to find it very unstable. Every flash program cycle with the full firmware aborted (without error message!) between 10% and 80% of progress.
The root cause of my problems is the fact that USB error exceptions are not handled in the following line:
https://github.com/solokeys/solo-python/blob/76d7255b47cc5697578bce8aac2982daf3aaab04/solo/dfu.py#L141
The ctrl transfer for get status sometimes leads to a USB pipe error, which is not handled and silently aborts the program.
I could fix the issue by catching and ignoring all USB errors at this location, which is of course a very harsh work around.
I think the flash programming especially in DFU mode, where it is very easy to brick the device, should be more robust. At least clear error indications should be given in the case of failure.
The text was updated successfully, but these errors were encountered: