diff options
Diffstat (limited to 'community/heimdall/reset-device-before-handshake.patch')
-rw-r--r-- | community/heimdall/reset-device-before-handshake.patch | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/community/heimdall/reset-device-before-handshake.patch b/community/heimdall/reset-device-before-handshake.patch deleted file mode 100644 index 6ca2e620cad..00000000000 --- a/community/heimdall/reset-device-before-handshake.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 745dbb46004a328f0db04cc75b6d4124562591a2 Mon Sep 17 00:00:00 2001 -From: Jesse Chan <jc@linux.com> -Date: Tue, 5 May 2020 16:14:46 +0800 -Subject: [PATCH] InitialiseProtocol: reset device before handshake - -Heimdall fails to handshake with device on my Linux installation: -Initialising protocol... -ERROR: libusb error -7 whilst sending bulk transfer. Retrying... -ERROR: libusb error -7 whilst sending bulk transfer. Retrying... -ERROR: libusb error -7 whilst sending bulk transfer. Retrying... -ERROR: libusb error -7 whilst sending bulk transfer. Retrying... -ERROR: libusb error -7 whilst sending bulk transfer. Retrying... -ERROR: libusb error -7 whilst sending bulk transfer. -ERROR: Failed to send handshake! -ERROR: Failed to receive handshake response. Result: -7 -ERROR: Protocol initialisation failed! - -However, with the same USB cable, port and device, Heimdall -successfully handshake with the device on Windows via WinUSB. -This indicates handling of USB devices of host (AMD X570) on -Linux might lead to undesired results. Though, without further -testing, the interference from userspace (Ubuntu 20.04, KDE) can -not be ruled out. - -Thus, this patch calls libusb_reset_device to ensure -the USB port is in a clean state before we send the data. - -Fixes issues with newer devices and hosts. - -Signed-off-by: Jesse Chan <jc@linux.com> ---- - heimdall/source/BridgeManager.cpp | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/heimdall/source/BridgeManager.cpp b/heimdall/source/BridgeManager.cpp -index 1b658c8..1ad217c 100644 ---- a/heimdall/source/BridgeManager.cpp -+++ b/heimdall/source/BridgeManager.cpp -@@ -303,6 +303,11 @@ bool BridgeManager::InitialiseProtocol(void) - memcpy(dataBuffer, "ODIN", 4); - memset(dataBuffer + 4, 0, 1); - -+ if (libusb_reset_device(deviceHandle)) -+ { -+ Interface::PrintError("Failed to reset device!"); -+ } -+ - if (!SendBulkTransfer(dataBuffer, 4, 1000)) - { - Interface::PrintError("Failed to send handshake!"); |