Android-DFU-Library: Galaxy S9/S7 Verification fail
I am having success with my Pixel 2/Ipad 2 with the DFU update, but for some reason the Galaxy S9 always fails verification.
The biggest difference between the Pixel 2/Galaxy S9 is the speed. The S9 is updating very fast (~6kbps average).
Is there a way to lower the MTU sizes? Any setting I should try?
06-29 02:45:37.517 16130-17796/com.sigsauer.bdx E/DfuImpl: Executing object failed (error 11) (extended error 12): EXTENDED ERROR
06-29 02:45:37.518 16130-17796/com.sigsauer.bdx E/DfuImpl: Extended Error details: Verification failed
Here are my gradle settings:
compileSdkVersion 27
targetSdkVersion 27
implementation "com.android.support:support-v4:27.1.1"
implementation "com.android.support:support-v13:27.1.1"
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'no.nordicsemi.android:dfu:1.6.1'
Here is how I start the update:
public void StartNordicDFU(File myFile, String address, String name)
{
Log.i(TAG,"StartNordicDFU ");
final DfuServiceInitiator starter = new DfuServiceInitiator(address)
.setDeviceName(name)
.setKeepBond(true);
// If you want to have experimental buttonless DFU feature supported call additionally:
starter.setUnsafeExperimentalButtonlessServiceInSecureDfuEnabled(true);
// but be aware of this: https://devzone.nordicsemi.com/question/100609/sdk-12-bootloader-erased-after-programming/
// and other issues related to this experimental service.
// Init packet is required by Bootloader/DFU from SDK 7.0+ if HEX or BIN file is given above.
// In case of a ZIP file, the init packet (a DAT file) must be included inside the ZIP file.
Uri mFileStreamUri = Uri.fromFile(myFile.getAbsoluteFile());
starter.setZip(mFileStreamUri, myFile.getPath());
//starter.setForceDfu(true);
// starter.setDisableNotification(true);
starter.setForeground(true);
if ( android.os.Build.VERSION.SDK_INT > 26) {
starter.createDfuNotificationChannel(this);
}
final DfuServiceController controller = starter.start(this, DfuService.class);
// You may use the controller to pause, resume or abort the DFU process.
}
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Comments: 27 (14 by maintainers)
Commits related to this issue
- Fix for #111 The new API allows you to control the MTU from the initiator. — committed to NordicSemiconductor/Android-DFU-Library by philips77 6 years ago
- Bug fixed: Small delay as a workaround for possible race condition (#111) — committed to NordicSemiconductor/Android-DFU-Library by philips77 6 years ago
I was experiencing this issue on Huawei phones. Using the default PRN value didn’t work, but setting it to 6 fixes it.