Monday, 12 March 2012

Getting Heimdall to work on your Mac

I have a Samsung Galaxy Android phone and a Mac. I'm a bit of a hacker and like the hardware I own to do as it's told. Unfortunately most of the software available for flashing a Samsung phone (Odin) is for Windows. There's no reason that a Mac can't do these things but most of the hackers out there run Windows or Linux so that's what the software is made for.

However, there are some Geniuses out there who wrote a multi-platform piece of software called, Heimdall. Unfortunately, like many, I've had problems with this piece of software and I wrote it off as yet-another-piece-of-multi-platform-software-that-doesn't-actually-work.

Specifically, the issue I was having was:

$ heimdall flash –kernel zImage
Heimdall v1.3.1, Copyright © 2010-2011, Benjamin Dobell, Glass Echidna
http://www.glassechidna.com.au

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:
http:/www.glassechidna.com.au/donate

Initialising connection...
Detecting device...
Claiming interface...
ERROR: Claiming interface failed!
$


Frustrating.

One day, however, I'd had enough. I was determined to get to the bottom of the problem and get it working. Luckily, it wasn't that hard.

As a Samsung device owner I had, of course, installed their awful piece of software, Kies. This useless software is the cause of the problem. More accurately, the Kernel Extensions that they load:

$ kextstat | grep -v apple
Index Refs Address    Size       Wired      Name (Version)
  55    0 0x574aa000 0x5000     0x4000     com.roxio.BluRaySupport (1.1.6) <54 53 52 51 49 17 12 11 10 7 6 5 4 3 1>
  70    0 0x57574000 0x3000     0x2000     com.devguru.driver.SamsungComposite (1.2.4) <33 4 3>
  72    0 0x57831000 0x7000     0x6000     com.devguru.driver.SamsungACMData (1.2.4) <71 33 5 4 3>
  94    0 0x57674000 0x3000     0x2000     com.devguru.driver.SamsungACMControl (1.2.4) <33 4 3>
 132    0 0x580ac000 0xd2000    0xd1000    com.vmware.kext.vmx86 (3.1.2) <11 5 4 3 1>
 133    0 0x5779f000 0xc000     0xb000     com.vmware.kext.vmci (3.1.2) <5 4 3 1>
 134    0 0x577ab000 0x6000     0x5000     com.vmware.kext.vmioplug (3.1.2) <33 29 5 4 3 1>
 135    0 0x57745000 0xa000     0x9000     com.vmware.kext.vmnet (3.1.2) <5 4 3 1>
 137    3 0x6c30e000 0x29000    0x28000    org.virtualbox.kext.VBoxDrv (4.0.8) <7 5 4 3 1>
 138    0 0x5804d000 0x7000     0x6000     org.virtualbox.kext.VBoxUSB (4.0.8) <137 44 33 7 5 4 3 1>
 139    0 0x5791d000 0x4000     0x3000     org.virtualbox.kext.VBoxNetFlt (4.0.8) <137 7 5 4 3 1>
 141    0 0x57825000 0x3000     0x2000     org.virtualbox.kext.VBoxNetAdp (4.0.8) <137 5 4 1>


I've highlighted the offending extensions. These need to be unloaded to get Heimdall to work correctly.

So, let's unload them:

$ sudo kextunload -b com.devguru.driver.SamsungComposite
$ sudo kextunload -b com.devguru.driver.SamsungACMData
$ sudo kextunload -b com.devguru.driver.SamsungACMControl


... and that's it. Heimdall should now work as advertised. At this point I recommended uninstalling Kies and eradicating all evidence of its existence.

Have fun with your rooted and newly flashed Samsung device!

80 comments:

  1. Hey thanks for this but I have a question. after I type in sudo kextunload -b com.devguru.driver.SamsungComposite, it asks for me a password. Any suggestions?

    ReplyDelete
    Replies
    1. Yes, it's the password you use to log into your Mac. The 'sudo' command requires this to ensure that there is no unauthorised access.

      Delete
    2. Hi!

      I did'nt have a password and it asked me for one. I did create it and tried to use it in sudo but it doesn't recognise it... confused...

      Delete
  2. I tried to do the sudo command but I also got the errors that Kyr got.
    This is what I got

    17 0 0xffffff7f8094d000 0x18000 0x18000 com.rim.driver.BlackBerryUSBDriverInt (0.0.74) <16 15 14 12 11 5 4 3 1>
    104 1 0xffffff7f81456000 0x8000 0x8000 com.avatron.AVExVideo (1.6.1) <79 5 4 3>
    105 0 0xffffff7f813a8000 0xb000 0xb000 com.displaylink.driver.DisplayLinkDriver (1.7) <79 5 4 3>
    113 0 0xffffff7f807d9000 0xd000 0xd000 com.silex.driver.sxuptp (1.5.1) <11 7 5 4 3 1>
    122 0 0xffffff7f8145e000 0x5000 0x5000 com.avatron.AVExFramebuffer (1.6.1) <104 79 5 4 3>

    Which 1 should I disable?

    ReplyDelete
  3. Hi Scott,

    After reading your very clear post, as i'm trying to root my sg2 being a mac user (MBP, '08, Lion) I uninstalled Kies and virtual box, then got heimdall 1.3.2.
    Now when trying sudo i get this:
    $ kextstat | grep -v apple
    -bash: $: command not found

    Also, when running heimdall and pressing "detect" it says "FRONTED ERROR: Heimdall crashed!"

    Any clue? I start to be confused on how to root my sg2.

    Thanks in advance.

    ReplyDelete
    Replies
    1. You don't want to include the '$' in your command. The '$' is a shell prompt indicating that a non-root user was executing the command.

      Delete
  4. Looks like a great job, but how exactly can I access the programm and unload the extensions?

    ReplyDelete
    Replies
    1. Hi, sorry to see you're having trouble. To unload the extensions you simply use the command line on your Mac and run the 'sudo kextunload' commands that I listed in the main post.

      To access the command line on the Mac you can run Terminal.app -- a great program that comes pre-installed with OS X.

      Delete
    2. Hey, thanks for fast answer. If I enter
      $ kextstat | grep -v apple

      I get:


      Index Refs Address Size Wired Name (Version)
      110 3 0xffffff7f820b1000 0x36000 0x36000 org.virtualbox.kext.VBoxDrv (4.1.14) <7 5 4 3 1>
      114 0 0xffffff7f820e7000 0x8000 0x8000 org.virtualbox.kext.VBoxUSB (4.1.14) <110 41 32 7 5 4 3 1>
      115 0 0xffffff7f820f2000 0x5000 0x5000 org.virtualbox.kext.VBoxNetFlt (4.1.14) <110 7 5 4 3 1>
      116 0 0xffffff7f820f8000 0x3000 0x3000 org.virtualbox.kext.VBoxNetAdp (4.1.14) <110 5 4 1>

      Unloading does not work as it does not find the files to unload, e.g.

      $ sudo kextunload -b com.devguru.driver.SamsungACMData
      (kernel) Kext com.devguru.driver.SamsungACMData not found for unload request.
      Failed to unload com.devguru.driver.SamsungACMData - (libkern/kext) not found.

      So I deinstalled Kies and all related files but problem persists...

      Delete
    3. Hey, thanks for fast answer. If I enter
      $ kextstat | grep -v apple

      I get:


      Index Refs Address Size Wired Name (Version)
      110 3 0xffffff7f820b1000 0x36000 0x36000 org.virtualbox.kext.VBoxDrv (4.1.14) <7 5 4 3 1>
      114 0 0xffffff7f820e7000 0x8000 0x8000 org.virtualbox.kext.VBoxUSB (4.1.14) <110 41 32 7 5 4 3 1>
      115 0 0xffffff7f820f2000 0x5000 0x5000 org.virtualbox.kext.VBoxNetFlt (4.1.14) <110 7 5 4 3 1>
      116 0 0xffffff7f820f8000 0x3000 0x3000 org.virtualbox.kext.VBoxNetAdp (4.1.14) <110 5 4 1>

      Unloading does not work as it does not find the files to unload, e.g.

      $ sudo kextunload -b com.devguru.driver.SamsungACMData
      (kernel) Kext com.devguru.driver.SamsungACMData not found for unload request.
      Failed to unload com.devguru.driver.SamsungACMData - (libkern/kext) not found.

      So I deinstalled Kies and all related files but problem persists...

      Delete
    4. It looks as though, in your particular case, that the Virtual Box drivers might also be interfering. Try shutting down Virtual Box (it's not needed for Heimdall), unloading the kexts for Virtual Box (they'll load again next time you need Virtual Box - or on reboot) before trying Heimdall again.

      Delete
    5. Please help - this is driving me insane!

      I did the same as the person above, and got:

      kextstat | grep -v apple
      Index Refs Address Size Wired Name (Version)
      107 0 0xffffff7f809b7000 0x4000 0x4000 com.jft.driver.PdaNetDrv (1.0.64) <36 5 4 3 1>
      108 0 0xffffff7f8079f000 0x5000 0x5000 net.telestream.driver.TelestreamAudio (1.0.5) <98 5 4 3 1>

      I have already unloaded the ktexts you mentioned above.

      Still getting the same ERROR: Claiming interface failed!

      Delete
    6. I would unload both of those also. As I said in reply to another commenter, you only need to do this one to flash your device. Once done, subsequent flashing can be done all on the phone itself.

      Rebooting your Mac afterwards should be good enough to reload all the correct kernel extensions for your software setup.

      Delete
  5. Hi Scott,

    Thanks for the post. It seems a lot of people have been able to get around the issue with heimdall using the method you suggested. However, it is not working for me: I have an SGS II (the T-mobile version, SGH-T989 running ICS 4.0.3) and a macbook pro running snow leopard. I unloaded the three Kies kernel modules and tried using heimdall, but got the same error. I then tried uninstalling Kies altogether, but no luck. Here's the output I get for "sudo kextstat | grep -v apple" :


    Index Refs Address Size Wired Name (Version)
    115 0 0x50c13000 0x5000 0x4000 com.Cycling74.driver.Soundflower (1.5.1) <99 5 4 3>
    127 0 0x582da000 0xb000 0xa000 com.mcafee.kext.Virex (1.1.0d1) <4 3 1>
    128 0 0x58dc4000 0xd2000 0xd1000 com.vmware.kext.vmx86 (3.1.4) <11 5 4 3 1>
    129 0 0x583de000 0xc000 0xb000 com.vmware.kext.vmci (3.1.4) <5 4 3 1>
    131 0 0x58563000 0x6000 0x5000 com.vmware.kext.vmioplug (3.1.4) <32 29 5 4 3 1>
    132 0 0x7ffe1000 0xa000 0x9000 com.vmware.kext.vmnet (3.1.4) <5 4 3 1>

    Do you think any of these kernel modules might be the problem? Thanks a lot for your help!

    ReplyDelete
    Replies
    1. The main issue is that another USB driver is claiming control of the USB ports. In my case that was Kies. Other people might have other software installed that also claim ownership of the USB ports.

      It looks to me like the VMware drivers might be doing this in your case. The only way to find out is to unload them one-by-one and keep trying Heimdall.

      You should only need to do this a single time since once you've flashed your phone once and rooted it there's really no need to use Heimdall any more. I've flashed my phone several times in the last couple of months and have never needed to plug into a computer at all.

      Delete
  6. Hey Scott,

    so I tried all night to get this working.. so far I failed.

    I unloaded all of the kexts mentioned in the above, when that didn't work i unloaded all kexts that were not apple; still the ERROR Message.

    Is there anything else I could be doing instead of unloading those?

    I would be really grateful if you had any more suggestions for me?

    Thanks for your help!

    ReplyDelete
  7. Well I really enjoyed studying it. This article offered by you is very useful for correct planning.

    Platform as a Service

    ReplyDelete
  8. Help me please!!!!!!!!!


    ERROR: Setting up interface failed!

    ReplyDelete
  9. Hi Scott,
    Could you outline how you determined that it was a kernel extension interfering with Heimdall's setting up the interface? I have kextunloaded all non-apple extensions, and I'm still getting the error.
    I'm loathe to root around in the source, as Heimdall is a _lot_ of C++ (https://github.com/Benjamin-Dobell/Heimdall/tree/master/heimdall/source), so any extra info from your investigations would be appreciated.

    ReplyDelete
    Replies
    1. I didn't perform any major debug to come to my solution -- it was more of a hunch that paid off very easily by simply unloading the kernel extensions.

      Delete
  10. Error: Failed to recieve response. please tell me what to do. thanks

    ReplyDelete
  11. This fixed the problem for me - thanks very much!

    ReplyDelete
  12. FYI for anyone without Kies, but still having trouble, apparently some Apple drivers can cause this issue as well. The following fixed it for me:
    $ sudo kextunload -b com.apple.driver.AppleUSBCDC
    $ sudo kextunload -b com.apple.driver.AppleUSBCDCACMControl
    $ sudo kextunload -b com.apple.driver.AppleUSBCDCACMData

    ReplyDelete
  13. Thanks Dan Osipov. I was having issues, but hadn't installed Kies - ur suggestion above did the trick.

    ReplyDelete
  14. Great post! Got Heimdall to work. However I'm a bit hesitant to use it. I just download the "official" update file from Sammobile and would like to install it to my Galaxy s2. As i undersatnd i have to unpack the I9100XWLS8_I9100XXLS8_I9100FOPLS3_HOME.tar.md5 file?

    then i get 8 files - img, bin, one lfs and one without extension. Most of them fit the partition except ZIMAGE and SBL (partion has SBL1 and SBL2, i only god sbl.bin).

    is there a tutorial how to proceed installing new firmware safely and without bricking the phone?

    thanks!

    ReplyDelete
  15. I've just written this AppleScript to do everything easily. It's a bit more then this post, but it is the correct way to fix the problem.

    If you find any other solution or problem, just tell me on twitter (I am @balintant) and I'll update the program asap.

    Link: https://dl.dropbox.com/u/16134990/SamsungUSBFixForHeimdall.zip
    Twitter: https://twitter.com/balintant

    ReplyDelete
  16. I changed the link: https://www.dropbox.com/sh/rhhtfiz13c58dt3/z73hClOtsJ/AppleScripts/HeimdallSamsungUSBFix.app

    And other my other apple scripts are available here:
    https://www.dropbox.com/sh/rhhtfiz13c58dt3/WrNoXcBf6k/AppleScripts

    ReplyDelete
  17. Im afraid this fix and other following tips hasnt worked for me. Im following it correctly but heimdall crashes when i click START. Tried everything, the sudu doesn't help as it says those samsung usb drivers aren't installed, i've deleted Kies. Nothing.

    ReplyDelete
    Replies
    1. After the removing of KIES the kernel extensions will be still there, so you should use my Fix after that.

      Please send me the version of OS X you use and try using Heimdall from the terminal (eg. heimdall flash --kernel {kernel location}).

      Delete
    2. Hi,

      Im running mac os 10.8.2. Im sure i ran the script after deleting Kies from Application folder (unless i should uninstall another way?)

      Could you forward me the terminal commands to run heimdall?

      Cheers

      Delete
    3. In AppleScript Editor you can watch the full script. If you think, I will be able to help you with Teamviewer in the 2 hours. Send me a DM on Twitter (@balintant).

      Delete
  18. Anybody that may be watching this forum, i will pay anyone to root my international galaxy S3 so i can install SuperNexus OS. I've spent the week trying to do this and i have given up. I am at the end of my tether.

    ANyone???!

    ReplyDelete
  19. I disabled everything I could, but still getting the same error.

    These are my running kexts
    Index Refs Address Size Wired Name (Version)
    68 0 0xffffff7f80b29000 0x16000 0x16000 com.razer.common.razerhid (3.90) <67 64 32 28 5 4 3>
    98 0 0xffffff7f813cc000 0x1f000 0x1f000 com.DataRobotics.driver.iSCSIInitiator (1.4.33) <97 4 3 1>

    I also enabled USB debugging. Can't figure out what I'm missing. Any ideas?

    ReplyDelete
    Replies
    1. Did you give the right permissions for Heimdall?

      Delete
    2. This script does fix every issue we know.
      https://www.dropbox.com/sh/rhhtfiz13c58dt3/z73hClOtsJ/AppleScripts/HeimdallSamsungUSBFix.app

      Delete
  20. i did everything, but im getting this error

    Checking ir protocol is initialised...
    protocol is not initialized
    initialising protocol...
    ERROR: Failed to initialise protocol!


    any idea

    ReplyDelete
    Replies
    1. I had this same issue the other day when trying to revert to the stock ROM on my old Samsung Galaxy S2.

      I needed to download the Heimdall source for v1.4-RC1 from GitHub, compile it up and use that. Then it worked correctly.

      Delete
  21. I am about to try this in a second, but I have a quick problem that you might be able to fix. I just bought a galaxy s2 not two days ago. I was hoping to boot up backgrack 5 and have a mobile hacking device, but my dreams were cut short. I looked all over the internet on ways of rooting, but not one video or tutorial webpage told me how to detec my device's important info i.e. (generation, build etc.) So I just download the "one kernel to rule them all" from some website that was highly recommended. I flashed the kernel and of course, I was bricked. The next day I tried all morning flashing kernel after kernel, but I had no idea what version or build my device had. Anyway, I came across a post about upgrading your galaxy s2 to the latest firmware and decided to try that. I entered downloaded the latest firmware and was surprised that there was 4 items instead of one kernel file. I decided to flash the whole folder with heimdall (because I have a mac) and now I am still bricked, and my device can enter download mode, but heimdall is broken. I will try to use this method to fix it. But anyway, do you know how I can detect my software when I am bricked? If I can not seem to fix it who can I send it to? How much am I looking at price wise?

    ReplyDelete
  22. Thank you so much!!!!! I t worked

    ReplyDelete
  23. Hi, I have tried to flash my galaxy N7000 using Heimdall(Heimdall Suite 1.4RC1). I get the same error ERROR: Claiming interface failed!. But when i use $ kextstat | grep -v apple, there are no entries displayed. I even tried to see if any Apple kernel are present as mentioned in one of the comments but none were found. I had installed kies but the kernels you specified didn't show up. Is there anything else i need to check or over come this? I am using 10.7.5 OS X.

    ReplyDelete
  24. Try the following: $ kextstat | grep -v com.apple
    Previously I posted an applescript that I always updating if somebody said another problem and I try to fix every bug with it. Try it and if it won't helped, I will try to help you. If it worked, please tell us too!

    ReplyDelete
    Replies
    1. I'm trying to root a Galaxy S Duos by flashing a recovery.img file with Heimdall 1.3.1. If I understand right, this should do the exact same thing everyone's doing on Odin w/ Windows, USB drivers, etc. (http://www.droidiser.com/2012/10/how-to-root-samsung-galaxy-s-duos-install-cwm.html)
      In Terminal, the device is always detected. The "heimdall flash --recovery /Users/....img" initializes the process with no trouble, but then I get:

      Initialising connection...
      Detecting device...
      Claiming interface...
      Setting up interface...
      ERROR: Setting up interface failed!

      I've tried the applescript from Dropbox and other parts of the page. I've uninstalled Kies. I've run the "kextstat | grep -v com.apple" script and unloaded the com.parallels stuff, but not the Little Snitch one:
      44 0 0xffffff7f80856000 0x46000 0x46000 at.obdev.nke.LittleSnitch (2.4.2) <7 5 4 3 1>
      I can unload it, too, but I'd rather not do anything till I'm pretty sure it won't be destructive. Help please!

      Delete
    2. Hi,

      I don't use littlesnitch but it's okay to unload it. You can unload everything not starting with 'com.apple.'.
      Try it, then I'll take a look at it.

      ( I've just woken up, so sorry for my mistakes in English. :) )

      Delete
    3. Hi,

      Thanks for your reply! I retried everything, unfortunately, I still get the same error of "Setting up interface failed!"

      Other stuff... Now unloading com.parallels gets me
      "Failed to unload com.parallel - (libkern/kext) not found."
      That didn't happen before. I guess the kexts are unloaded.

      Unloading Little Snitch, on the other hand, gets me a pop-up window:
      "some application attempted to unload Little Snitch!"
      and then, in Terminal:
      "(kernel) Can't remove kext at.obdev.nke.LittleSnitch; services failed to terminate - 0xe00002c7.
      Failed to unload at.obdev.nke.LittleSnitch - (iokit/common) unsupported function."

      Any ideas? (Or, if none there, any alternative ideas on how to root the S Duos on a Mac?)

      Thanks again! :)

      Delete
    4. Let's make another user and try to do with that (I think it won't load these unneccessary kernel extensions, so it will work).

      I think this is the easiest way for now.

      Delete
    5. First you have to quit from LittleSnitch. :) It is about safety.

      Delete
    6. That was fast! Ok, can't unload Little Snitch, so trying to uninstall.

      Delete
    7. what do you mean, "let's make another user and try to do with that"? I'll make a separate user account on the mac?

      Delete
    8. Ok, uninstalled LittleSnitch, but I'm still getting the same error. Not sure what else I can do.

      Delete
    9. Are you in Download Mode on your device?

      Delete
    10. Yes, I am. "Downloading... Do not turn off target!!!"

      Delete
    11. Here's the section of Heimdall source code that triggers that message:
      --- snip!---
      bool BridgeManager::SetupDeviceInterface(void)
      {
      Interface::Print("Setting up interface...\n");

      int result = libusb_set_interface_alt_setting(deviceHandle, interfaceIndex, altSettingIndex);

      if (result != LIBUSB_SUCCESS)
      {
      Interface::PrintError("Setting up interface failed!\n");
      return (false);
      }

      Interface::Print("\n");
      return (true);
      }
      --- snip! ---

      Do you have libusb installed correctly (as per the Heimdall recommendations)?

      Delete
    12. OH. Maybe not. What is that?
      I'm using Heimdall 1.3.1, not 1.3.2 or 1.4.0, by the way. Would that make a difference?
      Thanks!

      Delete
    13. From, http://www.glassechidna.com.au/products/heimdall/

      How does it work?
      Heimdall uses the same protocol as Odin to interact with a device in download mode. USB communication in Heimdall is handled by the popular open-source USB library, libusb-1.0.

      It should come as part of the package you've downloaded (i.e. it's part of Heimdall but perhaps this isn't working correctly).

      I would try rebooting to ensure nothing extraneous is loaded. If it still doesn't work, run "kextstat" and paste the output here so we have some more information to go on.

      Delete
    14. Yes I tought about making a seperate user account. I've just wanted to say the same (libusb).

      Delete
    15. Ok, done and done. Still error-ing... The list after "kextstat" was pretty long, so I've put it in this txt file and put the dropbox link here:
      https://dl.dropbox.com/u/17601332/kextstat.txt
      Thanks for the help!

      Delete
    16. Nothing else comes to my mind now, but I will look for a solution tonight.

      Delete
    17. It turns out that your phone might not be compatible with that version of Heimdall. Reading the release notes for the latest (beta!) version suggests the Qualcomm-based chipsets have not been compatible with earlier revisions of Heimdall.

      Delete
    18. If you're comfortable with Git and compiling, the newer version (v1.4RC1) might work for you. It worked for me recently when flashing my old Samsung Galaxy SII back to a stock ROM.

      Delete
    19. I see. Ok, I'm willing to try that... if there's a good walk-through tutorial out there? I am not familiar with the process at all. I did try compiling v. 1.4.0 initially (before getting v. 1.3.1, but I had trouble getting even 2 steps in.

      Delete
    20. No luck compiling Heimdall. In the end i found a Windows computer and rooted using Odin. :| But thank you for all your help!

      Delete
  25. Thanks a lot. It does work well! :-)

    ReplyDelete
  26. You rock dude. You saved my life didn't have access to Windows machine and device was stuck in bad recovery image loop. Thanks again

    ReplyDelete
  27. hi there thank you for this post. followed you instructions and claiming interface error is no gone but instead now i get ERROR: Setting up interface failed! have any thoughts on how to fix it?

    ReplyDelete
    Replies
    1. ps. is this the reason the start button in heimdall is not working. ive loaded all the files but i can't press start. im a noob. :)

      Delete
  28. when I enter my kextstat it gives me this...
    Index Refs Address Size Wired Name (Version)

    there is no information under it. So I dug deeper and all of the other ways gives me the same dead end. It shows that none of these exist. I am losing my mind. Hemdall still does not work.

    ReplyDelete
  29. This comment has been removed by the author.

    ReplyDelete
  30. hey i seem to be getting this:

    kextstat | grep -v apple
    Index Refs Address Size Wired Name (Version) < Linked Against >


    may be due to having 1.3.3 as .2 wouldnt install properly.

    international s3

    Thanks

    ReplyDelete
  31. I don't have Kies installed and I still get the error, any idea?

    ReplyDelete
  32. GENIUS!!! Thank you very much!

    ReplyDelete
  33. Working Galaxy s3 SCH-I535
    Thank's for the script

    ReplyDelete
  34. Thank you so much! I followed your instructions precisely and had no issues. For anyone having trouble, be sure to uninstall Kies after you run the scripts in Terminal. I just successfully rooted my GS3 on my MB Air (2013)! Cheers!

    ReplyDelete
  35. So I finally succeeded. Most of the details below are for google search.
    In short, I think, and I am surprised about this, that the order of plugging the USB cable to the computer and device matters. It worked when I took a USB cable that was already plugged into the mac and plugged it into the phone. Did not work the other way around.

    I am on a Mac (MBP Intel OSX 10.8)
    Got message Error: failed to initialize connection!
    Running Heimdall 1.4. I had to use the terminal for this to work because the frontend requires that you use a .pit file, and the one everyone has s1_odin_20100512 did not work with the contents of T959UVJFD.tar .
    So anyway, with nothing that could possibly use a USB port running, I rebooted the computer, put the phone in download, plugged the cable to the mac, then plugged the cable to the phone, then ran this in terminal:

    heimdall flash --FACTORYFS T959UVJFD/factoryfs.rfs --CACHE T959UVJFD/cache.rfs --PARAM T959UVJFD/param.lfs --KERNEL T959UVJFD/zImage --MODEM T959UVJFD/modem.bin --DBDATAFS T959UVJFD/dbdata.rfs

    you may want to prefix that command with sudo. I didn't need to.

    So yeah. I am now back on ugly ass t-mobile branded android eclair. It's horrible.
    Off to put cyanogenmod 10.1 on it. wish me luck.

    ReplyDelete