yashsingh1/xdaforums huggingface dataset:
[Galaxy S I9000 Android Development] Benjamin Dobell:
Heimdall doesn't auto-detect a device as such. When you click "Start" it will then try to connect to your device, it will inform you if your device isn't detected. Information during a flash is provided via the text element above the progress bar, and of course by the progress bar itself.

Heimdall doesn't specify which files to flash as you're free to flash any files you wish. Just extract the firmware and then any nested tar archives so that you have direct access to files named like zImage, params.lfs, dbdata.rfs etc.

The reason I don't flash a whole archive directly is simply so that users have more control over the process. For instance if you only want to flash a kernel then only select the kernel. Or if you want to keep your data then don't flash dbdata.db.

NOTE: 100% data retention/compatibility isn't guaranteed, that's up to Samsung.

As a general rule to "upgrade" to a new firmware you'll want to flash at least; zImage, params.lfs, factoryfs and modem.bin. cache.rfs and dbdata.rfs are also required for a "clean flash", this will of course erase your personal data.

EDIT: Yeah "Downloading... Do not turn off target" means you're in download mode.
[Galaxy S I9000 Android Development] nostratispeak:
Benjamin,

You are awesome. I was going to edit my previous post again only to see your response. So here's where I am. I've selected all those files you mentioned (minus the dbdata (!)). Heimdall's Start button is currently greyed out. So I can't really click it. Here's my screenshot. Is there a sequence to getting the phone in the Download mode that requires Heimdall starting up before I connect the phone?

As you can imagine, I am working feverishly to get my device back in some working state. The Download mode is the only progress so far! My device is still in the Download mode and I beginning to feel sorry for the droid shoving all that dirt.
[Galaxy S I9000 Android Development] zurchpet:
Uncheck repartition...
[Galaxy S I9000 Android Development] nostratispeak:
Hey Thanks.

It now says "Failed!". I wonder if I have the right firmware for my Samsung Captivate. Is it possible to flash a different ROM through Heimdall? I've downloaded Cognitionv2.3b7-non-oc-uv, but I can't find similar files.
[Galaxy S I9000 Android Development] Hsagoo:
ok,

i read the readme file....

if a phone like JPu only has 3 md5 files.

where do i put them.

how do i change the csc.

in odin there are 3 options.

so i put them at the respective places...

where with heimdall.
[Galaxy S I9000 Android Development] sshvetsov:
Thank you, so much Benjamin for creating this tool!

I have just finished reading the entire thread and I must say, you have a patience of a saint. The number of times people ask the same, already answered, question over, and over is maddening. Despite that, however, you keep giving them a polite and concrete answer instead of telling them to RTFM. Especially amazing are your efforts to troubleshoot problems that have nothing to do with your tool and holding hands of folks, that frankly, shouldn't be flashing their roms in the first place. I have not encountered devs like you before, serious respect and admiration for you, sir.

Personally, I have not had a need to switch from stock yet, but if l were to, this would be the tool I use. I also know that a lot of folks with Rogers Captivate will find Heimdall essential for restoring back their stock ROMs.

Once again, thank you for your hard work and support.
[Galaxy S I9000 Android Development] zurchpet:
You're totally right. Benjamin is a special gem among the devs.
[Galaxy S I9000 Android Development] javaman:
I repaired the runtime again, and the dll is in system32 but when i run the exe gives me the same dll missing
[Galaxy S I9000 Android Development] nostratispeak:
@zurchpet @sshvetsov

Totally true. Benjamin's a gem. Being one of those people who's most likely asking questions that's been solved elsewhere, I think it's great that there are members here who are willing to answer oft-repeated questions.

The fundamental problem lies in the fact that if there is an issue with your android phone, there's a whole maze that you need to go through, in order to solve that issue; unless, you've been using Android devices for a while and understand these things from ground up. Most people, including myself, don't. There are different reasons why your phone would stop working, and like in my case, you can't even be sure it's not. The forum is awesome, but clearly overwhelming to the vast majority of new android users. This thread is now 55 pages! Given that there are in fact so many different paths to solving a problem, it's understandable that there are going to be repeat posts. In my case, I thought my phone was dead and reading many posts seemed to confirm it. Until I found one thread that let me go into the device one extra step. And while I'm stuck there now, I'm hopeful it will be resolved.

With rooted phones, we are where Linux was (and mostly is) with user friendliness. We need people to enjoy pushing their phones and that's good. If we insisted that people not risk doing this (rooting) ever, they might just go back to the iphone.

Given this maze that users have to go through, and until there is some way noobs can get their problems resolved, I think super-helpful and non-judging devs like Benjamin are absolutely essential to expand the base and move the community forward.

Maybe there needs to be a trouble shooting mind-map created for each device. Or, even better, there needs to be chat client within XDA where experienced volunteer users can simply CHAT with people that have issues; the key word being volunteer. And then, there could be a flow-chart once the issues are resolved. This flow-chart could then be embedded into a larger flowchart that gradually evolves over time to answer all possible questions. It's not inconceivable!!! It could also be a research topic for some Industrial or Computer Engineering/Computer Science student.

</end speech>
[Galaxy S I9000 Android Development] nostratispeak:
Ok... I'm still in the Download Mode (droid shoving dirt in the yellow triangle... Do not turn of Target). I have the latest Heimdall, the last best Samsung Captivate I897 firmware(since the previous one that I tried was an I896 one...silly me).

But even after selecting all the appropriate files, Heimdall still says Failed! I've put up the screenshot.

I sure hope my phone's charging while it's connected. That droid in the triangle's been shoving dirt for two hours now!

Any suggestions on Heimdall setups? Particularly, the order or sequence in which I do things? I know that sometimes matters in Windows; not sure if that's the case with Ubuntu.
[Galaxy S I9000 Android Development] Benjamin Dobell:
Thanks for the kind words everyone, it's great to know I'm appreciated :)

Hmm, have you tried copying the DLL out of your windows\system32 folder into the same folder as the Heimdall executables? It shouldn't be necessary but I'm at a bit of a loss as to what is happening. That error usually just indicates the runtimes are missing.

I'm working on a 1.1.1 update which will hopefully be released in the next 24 hours. If you can't get it working between now and then I'll build a special release for you that has the MSVC++ runtime embedded. The reason I don't do that already is that it's deemed bad practice (mostly for security reasons) and it makes the download larger.

Hmm, that's not a very informative error now is it. Sorry about that.

Is there any chance you might be able to give the command line tool a go? Instructions are included in the README, include "--verbose" (as it will tell you more details if something goes wrong), and don't include "--repartition".

You can get a list of options by typing:

Here's an example:

In that example you would have just flashed the kernel and the modem.

Extract those "md5" files, they're really just tar archives. You will then have a bunch of files that can be flashed directly with Heimdall.

I've got to hit the hay, guys. So you're on your own for the next 8 hours or so. Hopefully this last posts solves most of your queries.
[Galaxy S I9000 Android Development] zurchpet:
Nice dreams for you mate :)
[Galaxy S I9000 Android Development] javaman:
I tried that too, in any case i will wait for 1.1.1. Thank you very much for the support
[Galaxy S I9000 Android Development] aerospacial:
Benjamin,

This is my first post in this forum, but for the last few hours I have been trying to un brick my Epic 4g. Thanks to your software I have able to save myself a trip to Sprint (Odin did not work for me at all).

I read through the whole thread and was able to fix my phone.

After being able to unbrick it I wanted to say that for the database data I used an empty database that I found in one of the pages in this thread ( don't remember right now where exactly) and finally the .pit file was not necessary.

I would like to conclude with saying thank you a million!

PS: Heimdall works perfectly for Epic 4g!
[Galaxy S I9000 Android Development] dirk1978:
This. Heimdall has been absolutely priceless for a Linux user like me. Thanks Benjamin, wish I could donate more, the software is superb and your support second to none.
[Galaxy S I9000 Android Development] SupraLance:
Whew... 55 pages of reading = 4 hours

I'm a Kubuntu user with a Samsung Fascinate SCH-I500. Has this program been successfully used with a Fascinate before?

I want to switch to a newer (DJ05) Modem.bin that is packaged as a .tar for Odin. I have extracted the modem.bin, which is the only file in the .tar. The ROM and Kernel to go along with this new modem are packaged as .zip's to flash in ClockWorkManager. I am new to all of this - Android, Odin, all of it.

If I've read correctly and not missed any key points, I do not need a --pit file as in the early builds? Can I proceed with simply:

"heimdall flash --verbose --modem modem.bin" ?

And then install the ROM and Kernel .zip through CWM?

Background info:

I used the following lines to install Heimdall successfully:

.."sudo add-apt-repository ppa:modycz/modycz-heimdall"

.."sudo apt-get update"

.."sudo apt-get install heimdall"

.."heimdall help"

And then:

.."adb shell"

.."reboot download"

.."lsusb"

Which returns:

.."Bus 001 Device 007: ID 04e8:6601 Samsung Electronics Co., Ltd Z100 Mobile Phone"

.."heimdall close-pc-screen"

Successfully reboot the phone out of download mode.

I just want confirmation before I run the next line:

.."heimdall flash --verbose --modem modem.bin"

And I assume I need to be in the directory with the correct modem.bin when I run this?
[Galaxy S I9000 Android Development] Benjamin Dobell:
Thank you for your kind words.

Don't feel as though you should donate more. The reason I take donations instead of charging is so that everyone has access regardless of their financial situation. Donations are much appreciated but only those who can afford to do so should donate. Those that do donate should only donate what they're comfortable with, nothing more.

Yes that's all correct.

Some Galaxy Tab users were having problems with flashing modems in the 1.1.0 release. As it turns out this is because I changed the way that the modem is being flashed to how Kies flashes a modem for a GT-I9000, as opposed to how Odin flashes a modem. Version 1.1.0 works perfectly on the two GT-I9000 phones I have access to. However just in case you do have problems you can download the 1.0.0 version from my website and give it a go instead.

Note: Flashing a modem (as a general rule) can't brick your device. It's the primary, secondary bootloaders and param.lfs that are responsible for the problems users see.

It's always great to hear of a success story, thank you.

EDIT: For those of you interested there is now a dev-v1.1.1 branch available from github that has switched back to the old method of flashing a modem (a two line change). I'll be releasing packages as soon as I can but I've been a bit unexpectedly busy with some other work.

EDIT 2: Oops, sorry I somehow muddled up the quotes (who said what). Should be fixed now.
[Galaxy S I9000 Android Development] Benjamin Dobell:
Sorry I missed that question. I'm not entirely certain of the answer unfortunately. I think someone told me it worked but I've forgotten. I'd be extremely surprised to hear that it doesn't work though given that Heimdall supports all other Galaxy S devices.
[Galaxy S I9000 Android Development] lagigia:
sorry pals, I go through the search many times...

I can't understand how start heimdall without bootloaders. I got 3-button working, I don't want to change my bootloaders, I loaded all the files but the bootloaders and the START button is still disable.

I'm trying to upload pure JPU.

Thanks for your help
[Galaxy S I9000 Android Development] sshvetsov:
Is repartition unchecked?
[Galaxy S I9000 Android Development] Benjamin Dobell:
As sshvetsov suggested, you need to uncheck repartition. This is a safety feature to ensure that if you select repartition, you then must include all the necessary files.
[Galaxy S I9000 Android Development] lagigia:
thanks guys, sorry for bothering you

I need to find out which pit I used with my former JPM.

Thanks again
[Galaxy S I9000 Android Development] Benjamin Dobell:
A PIT file is only required when you're repartitioning. So if you don't want to repartition (which is often the case) then there's no need to worry about which PIT file you used in the past.
[Galaxy S I9000 Android Development] lagigia:
fine, but last time I did repartition with 803 PIT. Do I need to do repartition with 512 in order to install JPU? Or I can install JPU through Heimdall over a 803 repartitioned system?
[Galaxy S I9000 Android Development] Benjamin Dobell:
You should still be able to flash with the 803 PIT. However are you sure you're using the 803 PIT? Samfirmware often have incorrect instructions that tell you to pick a PIT file when you're not repartitioning, in which case the selected PIT file is not used.

If you are still looking for the 512 PIT you can grab it from Samfirmware.
[Galaxy S I9000 Android Development] javaman:
Is Heimdall 1.1.1 out yet?
[Galaxy S I9000 Android Development] Benjamin Dobell:
The source is available from the github dev-v1.1.1 branch but other than that, unfortunately no. There are a couple of things I need to do in order to make binary releases but a combination of other work and PC (hardware) issues is making it take much longer than it should. In fact my last few posts have had to be made from my Galaxy S.
[Galaxy S I9000 Android Development] SupraLance:
Ok I ran "heimdall flash --verbose --modem modem.bin" on my Ubuntu install from the repositories (see post 553, this thread).

I get "PIT file not specified." and then info about command usage.

I assume this means the copy of Heimdall in the repository is an old one? So I either need to install newer Heimdall or add a PIT file to my command?
[Galaxy S I9000 Android Development] zurchpet:
correct

10char
[Galaxy S I9000 Android Development] SupraLance:
I have installed the newer Heimdall 1.1.0 and Heimdall-frontend deb packages, and I think I have path issues now due to the 1.0.0 having been installed previously. When I type "Heimdall" at the prompt, I get: "bash: /usr/bin/heimdall: No such file or directory"

**edit** I had installed over the old version without removal. Uninstalled all, rebooted, installed the new version, rebooted, successfully flashed modem.bin through terminal. WORKS WITH SAMSUNG FASCINATE.**

FYI, When I type "heimdall-frontend" at the terminal prompt, the GUI opens but in terminal I get:

QInotifyFileSystemWatcherEngine::addPaths: inotify_add_watch failed: No such file or directory

QFileSystemWatcher: failed to add paths: /home/supralance/.config/ibus/bus

Bus::open: Can not get ibus-daemon's address.

IBusInputContext::createInputContext: no connection to ibus-daemon
[Galaxy S I9000 Android Development] PIRATA!:
I am really sorry for the noob question.

I have downloaded

Heimdall 1.1.0

and I can load fine the heimdall-frontend.exe (I have

Visual Studio 2010

installed on my computer), but I really don't understand where can I find Heimdal Downloader that I reed is necessary for applying some fix xplained here on XDA.

Can you please tell me how much am I blind? :)
[Galaxy S I9000 Android Development] zurchpet:
I never heard of a Heimdall Downloader. What is it supposed to do?
[Galaxy S I9000 Android Development] Benjamin Dobell:
I did a quick Google but I still have basically zero idea what that issue is. People encountered it under variety of different circumstances that usually had to do with some files somewhere being corrupt. My guess is it's somehow related to how Qt is installed on your system. I'll keep looking but as long as it's not causing problems then I don't think there's any real need to worry.

There is no such thing as Heimdall Downloader, well not developed by me anyway. What instructions are you trying to follow? If they're instructions to flash your phone then I think whomever wrote them was probably just referring to Heimdall / Heimdall Frontend.
[Galaxy S I9000 Android Development] PIRATA!:
This fix: http://xdaforums.com/showthread.php?t=821698

Just go a little bit down to the HEIMDALL METHOD:

...

03. Start Heimdall Downloader

...
[Galaxy S I9000 Android Development] Benjamin Dobell:
Yeah, they're just referring to Heimdall Frontend.
[Galaxy S I9000 Android Development] malashenko:
rpms for i386 and x86_64 FC14

I have compiled heimdall for i386 and x86_64 FC14.

Every attached zip file has a set of packages libusb1-1.0.8, heimdall and heimdall-frontend for either i386 or x86_64 OS. Please choose the needed one and unzip.

Please install three rpm packages. If libusb1 already installed on your FC14, please replace the original package with attached version.

After installation just run the command heimdall or heimdall-frontend from terminal to start necessary application.
[Galaxy S I9000 Android Development] nzroman:
As requested by Ben, I will take this discussion here, so everyone can see if they have similar issues.

I'm attempting to get my recover/download mode working on the Galaxy S.

I'm a little confused which version of your software to download. I'm on this page here: http://http://www.glassechidna.com.a...ucts/heimdall/.

I have downloaded the very first (Heimdall Suite 1.1.0 (Binaries)) version, but it doesn't appear that any of those files open. I have read the "read me" file, which states that I must install the drivers while my phone is pugged in to the the computer in download mode. I can do put my phone into download mode via adb method, no problem. But instructions state that I must open GUI file, which currently is not opening for me. Will this GUI open once zadig has been executed?

Can you give me a little guidance to an easy way to do this please and what I might be doing wrong? Don't want to stuff up my phone, it's only couple of months old. hahaha...

Thanks in advance.

Roman

The installation of MSVC++ 2010 runtime has allowed for me to open the front end. However the GUI is not opening. It comes up with an error msg, saying that Windows can not open this file (dll.). I'm running Windows 7 on my laptop. Any suggestions?
[Galaxy S I9000 Android Development] Benjamin Dobell:
Hmm are you able to paste the exact error here?
[Galaxy S I9000 Android Development] nzroman:
No problem. Attached.
[Galaxy S I9000 Android Development] legend_wok:
I was trying to flash stock JPO with Heimdall. What I did is:

Download Heimdall source v1.1

Compile and install Heimdall and Heimdall frontend

Download JPO archives

Un-tar the md5 files to get cache.rfs, dbdata.rfs, factoryfs.rfs, modem.bin, param.lfs, and zImage

Started Heimdall frontend

Put phone in download mode

Connected phone to PC

Chose respective files for FactoryFS, Kernel (zImage), Param.lfs, Cache, Database Data, and Modem

When i press Start, I get an error message

Failed to send file part packet!

Factory filesystem upload failed

When I flash with Heimdall from the command line (see below), everything seems to work fine:

heimdall flash --factoryfs factoryfs.rfs --cache cache.rfs --dbdata dbdata.rfs --param param.lfs --kernel zImage --modem modem.bin --verbose
[Galaxy S I9000 Android Development] PIRATA!:
I don't understand if I need Visual Studio 2010 still installed on my computer...
[Galaxy S I9000 Android Development] malashenko:
These rpm packages are for Fedora 14 Linux OS only. So, you don't need Visual Studio 2010.
[Galaxy S I9000 Android Development] PIRATA!:
Excuse me for the noob question. As I am with Windows, I think I'll need that thing intalled!! :(
[Galaxy S I9000 Android Development] tylerham:
I had an issue with the Bell Vibrant I9000M.

Is it possibly due to there only being one tar in UGJH2?

C:\dev\android\I9000UGJH2>Heimdall -pit s1_odin_20100512.pit -factoryfs factoryfs.rfs -cache cache.r
fs -dbdata dbdata.rfs -boot boot.bin -sbl Sbl.bin -param param.lfs -kernel zImage -modem modem.bin
Product: "Gadget Serial"
Serial No: "?"

length: 18
device class: 2
S/N: 0
VID:PID: 04E8:6601
bcdDevice: 021B
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: 83
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: 02
max packet size: 0200
polling interval: 00

Claiming interface... Success
Setting up interface... Success
Failed to initialise usb communication!
[Galaxy S I9000 Android Development] Benjamin Dobell:
tylerham, you didn't do anything wrong and the ROM is fine. I made a silly mistake with the error handling in the alpha 4 update. Everything was actually working fine (there wasn't an error). I've fixed it up now in alpha 5.

As such alpha 5 is now available here (link pulled!), see the first post for an updated list of recognised devices.
[Galaxy S I9000 Android Development] Benjamin Dobell:
Sorry nandihno I completely missed your post until just now.

Yeah the process you outlined is correct assuming you meant that you extract the contents of the tar files into the same directory as Heimdall. If you're stressed about breaking anything by stuffing up any of those steps don't worry because Heimdall won't continue if the drivers aren't installed or if any of the following files are missing:

- s1_odin_20100512.pit

- factoryfs.rfs

- cache.rfs

- dbdata.rfs

- boot.bin

- Sbl.bin

- param.lfs

- zImage

- modem.bin

I don't have an ETA on the OS X version just yet. I'm basically just waiting on confirmation from someone that Heimdall worked with their phone then I will release the Linux and OS X versions.

EDIT: Anyone testing should first check that they're running the latest version (presently alpha 5).
[Galaxy S I9000 Android Development] mike.sw:
Hey,

sadly it failed once again, this time:
[Galaxy S I9000 Android Development] Benjamin Dobell:
Okay I don't want anyone else testing it for a bit. I'm going to analyse some USB transfer logs I have of when it worked on my PC and try work out what's going on.
[Galaxy S I9000 Android Development] Benjamin Dobell:
Okay I definitely don't want anyone testing it then. I'll pull the download link until I can find out what happened.
[Galaxy S I9000 Android Development] Benjamin Dobell:
mike.sw, since I sent my phone off to repair I've seen a few other reports of phones being bricked in the similar state as mine (no power on) via Odin/Kies and they were able to recover some how. I don't know if it is the same thing but I'll try find the links for you.