Original Thread:
What is Heimdall?
Heimdall is a cross-platform open-source tool suite used to flash ROMs onto Samsung Galaxy S devices.
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.
Why “Heimdall”?
The flashing software Odin is named after the king of gods in Norse mythology. Loke, the software component on the Galaxy S that provides functionality to flash, may also to be named after an important character in Norse mythology, often translated as Loki. As such I have named my flashing software Heimdall, after the Norse god, and guardian of the Bifrost Bridge.
What platforms does Heimdall run on?
Linux, OS X and Windows (XP, Vista, 7 etc.)
Why use Heimdall when we can use Odin?
Odin is generally unreliable and only runs on Windows systems. Furthermore, Odin is leaked Samsung software that is not freely available or well understood by the community.
Is Heimdall safe?
No matter what method you chose, flashing firmware onto your phone has a lot of potential for disaster. We have tested Heimdall with a variety of phones flashing several different firmware versions resulting in a 100% success rate. As such we believe that Heimdall is generally reliable. However keep in mind, just like any flashing software, Heimdall has the potential to brick your phone if not used correctly.
How do Galaxy S phones get bricked when flashing?
Besides the inherent risks like power outs, accidental removal of the USB cable etc. The Galaxy S appears to be running extremely unreliable USB control software.
A failure to flash does not automatically equate to a bricked phone. However if you're extremely unlucky and the flash fails whilst transferring the primary boot-loader, secondary boot-loader or params.lfs (all quite small) than you've got yourself a paper weight that you're hoping Samsung will replace.
Please be extremely careful mixing files from different firmware releases. Don't do so unless you're certain it will work!
What Galaxy S variants has Heimdall been tested with?
We’ve tested Heimdall with a Galaxy S GT-I9000 (8 GB) from the United Kingdom and Galaxy S GT-I9000 (16 GB) from Australia. We don’t personally have access to any other devices to test with, however users have confirmed Heimdall functions correctly with the AT&T Captivate, Bell Vibrant, Telstra GT-I9000T, Epic 4G and the Galaxy Tab.
Enough talk, where can we get it?
The latest release is available here. Please read the instructions and README files included in the archives.
I love you, man. Will you have my baby?
No, but I will very gladly accept donations. If you appreciate my work and would like to support future development you can make a donation here. If you think you have something else to offer, then feel free to shoot me a PM or contact me via the contact form on the Glass Echidna website.
Click to expand...
Click to collapse
Haven't seen this thread get too much attention, but it is a really cool idea especially for non-windows users. Just to kick it off:
Phone Name: Samsung Captivate (JH3 Firmware)
Country: United States
Carrier: AT&T
Hardware IDs:
USB\Vid_04e8&Pid_681c&Rev_0400
USB\Vid_04e8&Pid_681c
It would be nice if someone was willing to see if the Captivate works with this app. Having a cross-platform standardized program is a good idea.
Right now there seems so be a number of different ways to achieve a goal. What we need is a standardized app that devs can make "packages" for where we can select what we want and a rom, zip file or whatever could be built on the fly. easy peezy I say.
Phone Name: Samsung Captivate (JH2 Firmware)
Country: United States
Carrier: AT&T
Hardware IDs:
USB\Vid_04e8&Pid_681c&Rev_0400
USB\Vid_04e8&Pid_681c
Phone Name: Samsung Captivate I897 (JF6)
Country: USA
Carrier: AT&T
Hardware IDs:
[email protected]:~$ lsusb
Bus 001 Device 027: ID 04e8:681c Samsung Electronics Co., Ltd
seems all of the captivate IDs are 681c, which mirrors the international version.
Just to throw in my 2 cents:
I'm a linux user (have windows on dual boot on one machine, but hate going into it just to flash), so I really hope this project moves forward. I'd be willing to test any early linux builds once they're ready.
Phone Name: Samsung Captivate
Country: USA
Carrier: AT&T
Device ID: 04e8:681c Samsung Electronics Co., Ltd
If we had some documentation for the bml devices, it might be possible to provide a utility that could flash kernels from an update.zip. There its a flashing utility, vmlwrite, for the Moment, and it even runs on Galaxy S, but whatever mechanism it uses to map labels to partitions doesn't work. I've been looking for sources to see if they can be modified for our use, but I haven't found anything yet.
Sent from my SAMSUNG-SGH-I897 using XDA App
Just thought I'd drop by and let you all know a stable beta has been released. I've only personally tested with two GT-I9000's (UK and Australian models) so I'm not 100% certain what Galaxy S derivatives will work.
This release includes source code and Windows binaries. It compiles and runs brilliantly on Linux but unfortunately I haven't been able to get phones detected on OS X. If someone else would like to give it a try that would be great.
Please post any questions in the official thread so I can keep track of them.
---------- FORM ----------
Phone Name: Samsung Captivate i897
Country: USA
Carrier: AT&T
Hardware IDs:
USB\VID_04E8&PID_681C&REV_0400
USB\VID_04E8&PID_681C
I have been following and posting on the original thread. Windows 7 and Windows Vista pcs and a captivate-i897.
As i posted, i had a few problems at first,, but successfully used this to flash today. Will continue testing and reporting.
Always remember that bad things CAN happen when you mess with the areas this program messes with. Also, bad things can ALSO happen when you aren't VERY careful with beta releases in general. Therefore, if you put those things together, like you are doing with this program, you are doing a dangerous thing. YOU CAN KILL YOUR PHONE!!!
I'm not saying it WILL happen, just that it CAN..... so BE CAREFUL!! Don't be afraid to test, but carefully.....
And yes, I support this program, I just don't wanna see people willy-nilly jumping in and possibly damaging their devices, then saying it's not their fault.
Pulling from my phone directly to make own firmware odin using either Heimdall/odin
Hi, I tried to create this thread.
http://forum.xda-developers.com/showthread.php?p=15695721
The idea is how to make it own firmware after make custom ROM.
I'm still not sure for boot.bin and Sbl.bin if pulling from my phone will cause any problem or not.
Should I use from stock firmware to use your program while flashing?
Can I say Primary boot loader is boot.bin and while secondary boot loader is Sbl.bin?
It seem your program Heimdall will suitable to build package.
But I still having difficulties how to use your program to create a package firmware like stock firmware.
Heimdall Suite 1.3.0 is now available from the Heimdall product page.
heimdall saved me awhile back! Phone was really messed up, wouldn't connect to PC, windows didn't reckognize it so I booted up my linux install, downloaded heimdall and boom, phone is working well over a year down the road! Great for those who don't use windows or have problems with USB drivers on win 7
[Q] None Galaxy S Samsung devices?
Benjamin Dobell said:
Just thought I'd drop by and let you all know a stable beta has been released. I've only personally tested with two GT-I9000's (UK and Australian models) so I'm not 100% certain what Galaxy S derivatives will work.
This release includes source code and Windows binaries. It compiles and runs brilliantly on Linux but unfortunately I haven't been able to get phones detected on OS X. If someone else would like to give it a try that would be great.
Please post any questions in the official thread so I can keep track of them.
Click to expand...
Click to collapse
I get "Server not found" when clicking on the official thread link.
Nonetheless, I have a question: will this work with non-Galaxy S devices? I'd like to try it out on my Samsung Sidekick 4G, which should arrive this week.
Drat. Can't find heimdall packages for my Sidekick...
Is this the thread referred to above: http://forum.xda-developers.com/showthread.php?t=1104826 ?
Heimdall Kernel flash unreliable
I seem to have problems using Heimdall 1.3.0 on Mac OS X to flash my phone. I'm just trying to flash a kernel as follows:
Code:
heimdall flash --kernel zImage
But it often times can't find my phone even though it connected in Download Mode. When it does find my phone, it seems to get stuck at Kernel 0%. After that, it seems I need to restart Download Mode on my phone before I can attempt again, after getting stuck at Kernel 0% several times, I finally got it to finish the full flash, but it seems like it shouldn't take so much effort. Is this normal for Download Mode on a Samsung Captivate or might it just be a bad USB cable? I think I have the Gingerbread Captivate bootloaders currently installed, but do other bootloaders work better with Heimdall?
Here is the full log of a failure with Kernel 0%:
Code:
Initialising connection...
Detecting device...
Claiming interface...
Setting up interface...
Beginning session...
Handshaking with Loke...
Downloading device's PIT file...
PIT file download sucessful
Uploading KERNEL
0%
ERROR: Failed to send file part packet!
KERNEL upload failed!
Ending session...
ERROR: Failed to send end session packet!
penguin359 said:
I seem to have problems using Heimdall 1.3.0 on Mac OS X to flash my phone. I'm just trying to flash a kernel as follows:
Code:
heimdall flash --kernel zImage
But it often times can't find my phone even though it connected in Download Mode. When it does find my phone, it seems to get stuck at Kernel 0%. After that, it seems I need to restart Download Mode on my phone before I can attempt again, after getting stuck at Kernel 0% several times, I finally got it to finish the full flash, but it seems like it shouldn't take so much effort. Is this normal for Download Mode on a Samsung Captivate or might it just be a bad USB cable? I think I have the Gingerbread Captivate bootloaders currently installed, but do other bootloaders work better with Heimdall?
Here is the full log of a failure with Kernel 0%:
Code:
Initialising connection...
Detecting device...
Claiming interface...
Setting up interface...
Beginning session...
Handshaking with Loke...
Downloading device's PIT file...
PIT file download sucessful
Uploading KERNEL
0%
ERROR: Failed to send file part packet!
KERNEL upload failed!
Ending session...
ERROR: Failed to send end session packet!
Click to expand...
Click to collapse
I seem to have more issues flashing with Heimdall 1.3 then I did flashing with 1.1 as well. Similar issue as the one you're having granted I don't think it's ever failed a flash once Heimdall's seeing my phone...
Are you using heimdall front end 1.3.0, or are you using command line. In the front end version under utilities there is a detect device feature. I always check to insure it sees my phone before I flash. Also what version of OSX are you on, because I'm pretty sure its not compatible with lion just yet
Sent from my SAMSUNG-SGH-I897 using xda premium
I see in the sticky that heimdall is recommend but all everyone talks about is odin does anyone really use heimdall and is there any difference.....noob here on flashing so I'm gathering all the info I can as to avoid bricking.
Sent from my SGH-T959 using XDA App
They both do the same thing, Odin was the first on the market been around and most ppl (like me) started out with Odin. Heimdall also has a Linux and Apple version, so for those people who have problems with Odin or use other platforms, it is a good Alternative. I am the one who posted the Heimdall thread, that said I still use Odin but my friends who are mac junkies needed help, so I started using this to help them. My recommendation is to get familiar with both for this reason
The more systems you work with, it will improve your understanding the tools, both in logic and approach.
Hope that helped...........
Thanks I appreciate it I'm going to go with odin since there are tutorials using it
Sent from my SGH-T959 using XDA App
Heimdall seems to work faster and more accurate for me...using the same computer.
Sent from my SGH-T959 using XDA App
___bump___
Spokenblurb said:
I see in the sticky that heimdall is recommend but all everyone talks about is odin does anyone really use heimdall and is there any difference.....noob here on flashing so I'm gathering all the info I can as to avoid bricking.
Sent from my SGH-T959 using XDA App
Click to expand...
Click to collapse
I'm the developer of Heimdall but I'll try give some non-bias pros for both options.
Odin
Uses the official Samsung driver (no need to manually install a driver).
More tutorials.
Firmware tends to be distributed in a format (3 archives) more suited towards Odin.
Better device compatibility due to Samsung's knowledge about the PIT file. This means you can flash all files described in the PIT file.
Note: When I finally get some free time to finish off Heimdall 1.2 it will include substantially improved PIT file awareness and add support for all files/partitions in the PIT file.
Heimdall
Cross-platform (Windows, Linux and OS X)
Flashes substantially faster (no 15ms communication delay like Odin).
More reliable (less failed flashes).
Can easily flash just one or any combination of file.
UI or command line options depending on personal preference.
Command line allows one step scripts to be written more easily.
Open source.
Developer support.
On another note Odin is, as far as we can tell, leaked Samsung software. Samsung haven't (to my knowledge) brought any legal action upon anyone using it, however there is always the issue of copyright infringement.
Heimdall is licensed under the MIT open-source license, which essentially means you're free to use and redistribute the software however you please, as long as you don't attempt to claim that you created it.
Thanks for this thread, I'm also a noob trying to not brik things up.
So, when I read the posts that describe how to do something in Odin, can I use the same files to do the same thing in Heimdall? I use a Mac and I believe I could set up a VM with Windows to run Odin, but I really don't want to. Besides, I don't have Windows.
Thanks.
Odin
Use Thor. Or Odin is fine too.
I have no objections to booting into my Windows partition if it'll help prevent bricks, but I'd like to have the flexibility of flashing or recovering from either OS.
I know programs like Heimdall are around, but are they as fault tolerant or informative as their Windows equivalents?
LLStarks said:
I have no objections to booting into my Windows partition if it'll help prevent bricks, but I'd like to have the flexibility of flashing or recovering from either OS.
I know programs like Heimdall are around, but are they as fault tolerant or informative as their Windows equivalents?
Click to expand...
Click to collapse
AFAIK, Heimdall isn't working 100% yet. I tested 1.3.1 and 1.3.2 for myself, and both versions failed. The developer is working on it, though
You really only need to use Odin or Heimdall ONCE, though, and from there on you can just use CWM to wipe and flash new ROMs (which won't trip the flash counter). With my old Captivate, I didn't actually need to use odin/heimdall at all, because I was able to flash a rooted update.zip directly from Samsung's own recovery (before it got replaced with ClockworkMod).
I'm not going to let Windoze touch my ATT SGS3 on principle.
Being a newbie I cannot post in the developer forums until I have at least 10 posts. So I am asking here for now.
I am very new to rooting on an android and very good with JailBreaking on an Iphone. I am currently experimenting a lot work with Micro controller hardware and software such as Adruino hardware etc. Also doing a lot of jtag experiments to understand more about it fully.
Good with linux customizing kernels etc and running OSX on all my PC's
This is sort of the thing I would like to do to my Andorid. Not to play games on but to root it to use it for development software and connecting micro controllers to it either by dongle, bluetooth or even WIFI!!
Enough on that.
So my Dilemma is which method do I use below or should say which is the overall best and safest one for now.
Also will the TriangleAway work if I use it on a JB or ICS custom ROM/kernel?
I do have ODIN Mobile Pro but not installed onto the tablet yet and I don't think I put a link up using that method. If you know of one please let me know using that method or should I stay away from that one?
http://forum.xda-developers.com/showthread.php?t=1746794
http://forum.xda-developers.com/showthread.php?t=1722745
http://forum.xda-developers.com/showthread.php?t=1791193
http://forum.xda-developers.com/showthread.php?t=1722304
http://forum.xda-developers.com/showthread.php?t=1657056&highlight=4+04+triangle
http://forum.xda-developers.com/showthread.php?t=1788625
The Last link is for rooting only I believe?
For now I will do this on a Samsung Tab 2 7 inch. Its has ICS stock 4.04 with the latest update since today!!
I am starting to grasp a few things like Mobile ODIN and Desktop versions and that the stock Samsung ODIN which when I first saw thought my previously owned unit was rooted already.
I am assuming I will need CWM6 etc. A lot of acronyms to go through on these tutorials one would think just a page on them alone should be viewed before moving onto the hard core stuff.
Its too bad there is not a real basic thread on all these steps that one can view and choose from as well as all the acronyms used on these threads.
Thanks!!
If you have a Samsung Galaxy TAB 2.0 - 7" - then i'd say go with this :
http://forum.xda-developers.com/showthread.php?t=1722745
Works fine - And far as you wanting to experiment with android etc - explore on!
As far as i can think, the reason there is not one simple thread to explain rooting / flashing roms etc is because every phone / tablet etc has is different and as such has to be rooted / customized according to its hardware / software specs etc -
http://forum.xda-developers.com/showthread.php?t=1880010
Thanks,
Those were the two I was concentrating on.
@ketut,
Where do you run those scripts? If the android is not rooted yet I have to guess your running them from a Linux box or laptop? I have to read your thread more carefully.
I am a bit confused on the prepping scenarios.
1. Download and then install Heimdall package for OSX
2. Type in console:
Code:
# heimdall flash --recovery recovery.img --cache cache.img
recovery.img and cache.img extracted from P31xx_CWM*.tar.md5.zip or P31xx_SAMSUNG*.tar.md5.zip depend on your device and your choice to install CWM or Samsung recovery.
I am trying to flash stock firmware to bypass the frp lock (will this even work?) and I run Linux Mint so it seems that my options are:
1. Find a Windows machine that I can do this on;
2. Run Odin (which I am familiar with) under Wine (but I think this may be problematic i.e. Odin may not detect the phone when it runs under Wine);
3. Use Heimdall.
My preference is to use Heimdall but I come unstuck when it comes to knowing what to flash, there are so many files when I unzip the firmware!
Is there any easy way to know what to flash? Admittedly I have not yet done the legwork of matching the unzipped files with the flash options listed in Heimdall so perhaps the 2 tally perfectly (I am doubting this though).
Any help or guidance much appreciated (I have searched on XDA and the references I can see to Heimdall are either for an older version of Heimdall or they assume the knowledge required to identify the necessary files to flash). Thanks!
PS: The phone model is SM-A202F / DS and I have downloaded A202FXXU4CVK1 (firmware from Samfw for the O2 network in the UK).
You won't remove FRP by overwriting firmware. Look for a clever way to do it on youtube. In the XDA forum we do not help to break this lock.
I have looked on youtube and it's a waste of time / incoherent uselessness. There is nothing definitive that I can see on there. The only thing I'm aware of is the SamFw FRP removal tool which is another option.
But thank-you, now I know different firmware won't address the issue