Fix: Old firmware BMP identification via libusb #1989
+83
−26
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Detailed description
In this PR we address an issue uncovered while poking at a BMP running pre-v1.7 firmware where the version string is not embedded in the product string. With probes in this configuration, BMDA will correctly find them but then display "Probe" as the version string and "Black Magic" as the product string due to getting handling of the versionless string wrong.
We address this by porting the Windows BMP-only probe discovery product string parsing to the libusb probe discovery logic, which also allows us to properly address probes that use alternative platforms such as Blue Pills and Black Pills and which may not have a version string if their firmware is too old, thus solving the problem.
Your checklist for this pull request
Closing issues