-
Notifications
You must be signed in to change notification settings - Fork 1
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
Use different firmware for each device #1
Comments
Firmware can also be extracted from the sensor itself, if the firmware provides a command to read the flash ( |
Indeed. But the process is a bit more complicated. This might create issues (offsets for example). And we have no option to check if it's valid. |
We actually have the possibility to verify dumps. The IAP firmware verifies the APP firmware on each reset. It does so using a length field and a CRC32 field, which are both stored in flash memory and can thus be dumped. If the firmware dumped from the sensor passes that same check, then it has to be correct. Obviously, this assumes that the IAP firmware was also dumped and reversed. I agree with you in saying that this process is more complicated, but there are sensors which have never received updates and thus no recording of the update can be obtained. |
Can't we force the driver to flash the firmware on those devices? |
The check that triggers the flashing verifies the version reported by the microcontroller. One possibility would be to "wipe" the APP firmware and reset into the IAP firmware, but obviously, if something goes wrong, the device will become unusable. If the device has never been updated, the updating process may have not been tested. |
Could a Windows - Windows dual boot do the trick? (VMs are fine too) |
No, because dual booting would trigger the regeneration of the PSK, but it would not change the version string reported by the microcontroller. |
So you mean that on 53x5 devices updating the PSK doesn't require to update the firmware? |
No, it is not required. The "whitebox" encryption is obviously the same, but the PSK is flashed in a separate region. If the SHA256 of the PSK does not match the expected one, a new PSK is generated, sent whitebox encrypted and flashed on the microcontroller. |
We are currently using same firmware on different devices. If their ID differs, it's obviously for a reason. Only driver code can be shared across different devices.
For each sensor supported by goodix-fp-dump, we should provide a new firmware.
Here are the rules to add a firmware:
CHECKSUMS
file containing the SHA256 sum of firmwares. We should be able to use this file withsha256sum
command.Any suggestion is also accepted.
The text was updated successfully, but these errors were encountered: