I am getting a "WARNING: Control transfer #1 failed. Result: -9" problem that looks like it might be causing a failure for heimdall to flash a recovery to my Samsung Galaxy S Duos GT-S7562 phone.

I am running Ubuntu 13.04 (raring ringtail) and Heimdall v1.4 RC1.

I have the phone unplugged and off. Then I turn it on to "download mode" and then press the up key to accept the download mode option. Then I plug it into the usb cable to the computer. Then I run the heimdall detect program and find that the device is detected. Then I run the following to install the custom recovery.

I obtained the "recovery.img" file from a "recovery.tar" file that I got from a root kit zip file.

Is there a way to get around this error? What does "-9" mean as an error code?

~$ sudo heimdall flash --RECOVERY /tmp/recovery.img --verbose 
\ Heimdall v1.4 RC1

Copyright (c) 2010-2012, Benjamin Dobell, Glass Echidna

This software is provided free of charge. Copying and redistribution is encouraged.

If you appreciate this software and you would like to support future development please consider donating:

Initialising connection...
Detecting device...
      Manufacturer: "Sasmsung"
           Product: "MSM7x27"

            length: 18
      device class: 2
               S/N: 0
           VID:PID: 04E8:685D
         bcdDevice: 0100
   iMan:iProd:iSer: 1:2:0
          nb confs: 1

interface[0].altsetting[0]: num endpoints = 1
   Class.SubClass.Protocol: 02.02.01
       endpoint[0].address: 82
           max packet size: 0010
          polling interval: 09

interface[1].altsetting[0]: num endpoints = 2
   Class.SubClass.Protocol: 0A.00.00
       endpoint[0].address: 81
           max packet size: 0200
          polling interval: 00
       endpoint[1].address: 01
           max packet size: 0200
          polling interval: 00
Claiming interface...
Setting up interface...

Checking if protocol is initialised...
Protocol is not initialised.
Initialising protocol...
WARNING: Control transfer #1 failed. Result: -9
WARNING: Control transfer #2 failed. Result: -9
WARNING: Control transfer #3 failed. Result: -9
WARNING: Control transfer #4 failed. Result: -9
WARNING: Control transfer #5 failed. Result: -9
WARNING: Control transfer #6 failed. Result: -9
ERROR: Failed to send data: "ODIN"
Releasing device interface...
  • Update: I was able to print-pit after I changed the USB cable to go directly to my computer instead of through a hub at the same time I tried it from a bare terminal.
    – user29020
    Commented Jan 28, 2014 at 3:39

1 Answer 1


Second update (success):

One or more of the following ended up solving my problem (I tried all at once instead of trying each sequentially, sorry!):

  • Connect the usb cable directly to computer, not through a hub.
  • Use the Heimdall command line option " --RECOVERY" (instead of "--recovery").
  • Use the newer Heimdall 1.4 final.

Thanks to Evan Carroll for the info borrowed from other questions!

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .