From d1b306757562ffb31c31595e65987aeeaf123f8f Mon Sep 17 00:00:00 2001 From: Dmitry Isaenko Date: Wed, 13 Mar 2019 06:54:37 +0300 Subject: [PATCH] development release with debug tails --- pom.xml | 2 +- src/main/java/nsusbloader/NSLMain.java | 2 +- .../java/nsusbloader/UsbCommunications.java | 30 +++++++++++++++++- src/main/resources/res/app_logo.png | Bin 13651 -> 15469 bytes 4 files changed, 31 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 5665658..02722c0 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ NS-USBloader ns-usbloader - 0.2.2-SNAPSHOT + 0.2.3_DEVELOPMENT-SNAPSHOT https://github.com/developersu/ns-usbloader/ diff --git a/src/main/java/nsusbloader/NSLMain.java b/src/main/java/nsusbloader/NSLMain.java index c1b4828..06720a0 100644 --- a/src/main/java/nsusbloader/NSLMain.java +++ b/src/main/java/nsusbloader/NSLMain.java @@ -12,7 +12,7 @@ import java.util.Locale; import java.util.ResourceBundle; public class NSLMain extends Application { - public static final String appVersion = "v0.2.2"; + public static final String appVersion = "v0.2.3_DEVELOPMENT"; @Override public void start(Stage primaryStage) throws Exception{ diff --git a/src/main/java/nsusbloader/UsbCommunications.java b/src/main/java/nsusbloader/UsbCommunications.java index b8f74f9..393a51c 100644 --- a/src/main/java/nsusbloader/UsbCommunications.java +++ b/src/main/java/nsusbloader/UsbCommunications.java @@ -228,7 +228,15 @@ public class UsbCommunications extends Task { } else printLog("libusb doesn't supports function 'CAP_SUPPORTS_DETACH_KERNEL_DRIVER'. Proceeding.", EMsgType.WARNING); - + // Reset device + result = LibUsb.resetDevice(handlerNS); + if (result == 0) + printLog("Reset device", EMsgType.PASS); + else { + printLog("Reset device returned: " + result, EMsgType.FAIL); + close(); + return null; + } // Set configuration (soft reset if needed) result = LibUsb.setConfiguration(handlerNS, 1); // 1 - configuration all we need if (result != LibUsb.SUCCESS){ @@ -256,7 +264,27 @@ public class UsbCommunications extends Task { printLog("Set active configuration to device.", EMsgType.PASS); } + ////////////////////////////////////////// DEBUG INFORMATION START /////////////////////////////////////////// + // + ConfigDescriptor configDescriptor = new ConfigDescriptor(); + //result = LibUsb.getConfigDescriptor(deviceNS, (byte)0x01, configDescriptor); + result = LibUsb.getActiveConfigDescriptor(deviceNS, configDescriptor); + switch (result){ + case 0: + printLog("DBG: getActiveConfigDescriptor\n"+configDescriptor.dump(), EMsgType.PASS); + break; + case LibUsb.ERROR_NOT_FOUND: + printLog("DBG: getActiveConfigDescriptor: ERROR_NOT_FOUND", EMsgType.FAIL); + break; + default: + printLog("DBG: getActiveConfigDescriptor: "+result, EMsgType.FAIL); + break; + } + + LibUsb.freeConfigDescriptor(configDescriptor); + //*/ + ////////////////////////////////////////// DEBUG INFORMATION END ////////////////////////////////////////////// // Claim interface result = LibUsb.claimInterface(handlerNS, DEFAULT_INTERFACE); if (result != LibUsb.SUCCESS) { diff --git a/src/main/resources/res/app_logo.png b/src/main/resources/res/app_logo.png index 53c27bb4f05c019ff2526a4b20ed783729f870b5..8a9748c8728bb7cedcb04892a46cdcd5a29243dd 100644 GIT binary patch literal 15469 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