Skip to content
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

Open
enrikb opened this issue Sep 6, 2020 · 0 comments
Open

Flashing in DFU mode very unstable #97

enrikb opened this issue Sep 6, 2020 · 0 comments

Comments

@enrikb
Copy link
Contributor

enrikb commented Sep 6, 2020

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant