yashsingh1/xdaforums huggingface dataset:
[Galaxy S I9000 Android Development] Benjamin Dobell:
So... here's an e-mail I received from a "user" of Heimdall.

I'm thinking maybe I should run some sort of competition. Whoever can come up with the most intelligent (albeit suitably abusive) rant as a response to this e-mail definitely deserves some sort of prize. Unfortunately I honestly don't know what such a prize would be, is XDA itself at all interested?

Anyone got any suggestions?

EDIT: I thought it's worth adding that I've had no prior communication with this user and as such have never requested a donation from them (aside from the regular donate links around the place).

EDIT 2: Nevermind, I've decided to respond to this e-mail myself.
[Galaxy S I9000 Android Development] Benjamin Dobell:
My response to the extremely rude user whose e-mail is included in my previous post:
[Galaxy S I9000 Android Development] ngoonee:
Really, how does someone with such an attitude even get his Linux install up and running in the first place?
[Galaxy S I9000 Android Development] Entropy512:
In addition his complaint is the most worthless and uninformative one - Which CDMA tab is he talking about?

Heimdall should work fine with the legacy 7" Tabs, I know it won't work fine with ANY Tab 10.1 and that fact is documented earlier in this thread (BTW, did you ever have a chance to look through the Wireshark captures of USB traffic I posted a few pages ago? Is there anything else I can do to collect data for you?)
[Galaxy S I9000 Android Development] jasnn:
Actually I would add that if someone would be kind enough to document exactly how to capture the appropriate USB traffic logfiles with Wireshark, then I would be willing to do so for my SGH-T989, and submit that to the project for future device support.

(Apologies if this IS documented elsewhere, but pointers would be appreciated)

Thanks..
[Galaxy S I9000 Android Development] eBug:
So I posted this bug 3 months ago and no one ever came back to me. I'm willing to help debugging this stuff, but it'd be easier if I was told how.

What's the correct path to follow to gain any support ?
[Galaxy S I9000 Android Development] AdamOutler:
I think the problem lies in SBL 3.1. Samsung made a switch from SBL 3.0 and it made things difficult. Once we have the new communications squared away for SBL 3.1 everything should work properly. Benjamin Dobell just got a Galaxy S2, so it shouldn't be too long. I'll be sending the first UnBrickable Modded device his way so he can test stuff as well.
[Galaxy S I9000 Android Development] jscurtu:
This works great with the Galaxy Note as well.. (ubuntu)
[Galaxy S I9000 Android Development] Lovetz:
This program is just a dream!

Anyone has tried to use it with Samsung Galaxy Ace (S5830)?
[Galaxy S I9000 Android Development] drummer1839:
Is it working with SGS+ ? I must install ubuntu:) and I do not want to lose the possibility of flash...:)
[Galaxy S I9000 Android Development] jscurtu:
It should.. The protocol is the same..

Go ahead, install ubuntu... :)
[Galaxy S I9000 Android Development] eBug:
It never worked with my SGS+
[Galaxy S I9000 Android Development] Entropy512:
Look a few pages back to where I posted mine - Adam had some documentation on getting the captures.

Which Galaxy S II? If it's a real S2 (I9100, for example), it won't help support for newer devices - Heimdall already talks to the I9100 and I777 without problems. It's only the carrier-mangled abominations like the T989 and Skyrocket that have issues.

The general theme seems to be: Hummingbird and Exynos devices work fine with Heimdall, even newer ones. (Exception seems to be the Player 5.0 - which mostly works but has some small oddities that prevent the final steps of flashing from succeeding which I haven't had time to investigate yet.)

Snapdragon and Tegra-based devices - it seems like Heimdall won't talk to any of these. Earlier I posted Wireshark captures from the Tab 10.1 as an example of a Tegra2 device, and can get more captures if told what to cap.

As to devices that are reported completely not working:

Tab 10.1 - Tegra 2 (I can personally confirm this one, and get data from it)

T-Mobile T989 and AT&T Skyrocket - Qualcomm Snapdragon S3

Galaxy S Plus - older single-core Qualcomm

I think the Captivate Glide is the same deal - not surprising as it's Tegra 2 based.
[Galaxy S I9000 Android Development] lucabaldo3:
I have this error:

Detecting device...

libusb couldn't open USB device /dev/bus/usb/001/009: Permission denied.

libusb requires write access to USB device nodes.

ERROR: Failed to access device. libusb error: -3

How can I fix it? Thx
[Galaxy S I9000 Android Development] jscurtu:
The proper fix would be to use a udev rule based on the usb-id in recovery mode, if you don't know how.. run the program as sudo / root.
[Galaxy S I9000 Android Development] marjoejoejoe:
many osx users seem to get PIT file upload errors when using flashing packages. the only way we can get around this is to uncheck repartition for the GTI9000

Has anyone resolved this or can anyone enlighten me on this one? i'm not sure if i should assume that uploading the factoryfs ordatafs automatically repartitions when flashing..

please

thanks
[Galaxy S I9000 Android Development] AdamOutler:
I've never heard of that problem. Is it possible you are using the wrong pit? What device?
[Galaxy S I9000 Android Development] marjoejoejoe:
the reported errors can be found here and here towards the bottom of the page, specific only to OSX

we are all using the PIT files from the packages, i've tried downloading the PIT file from my own device and using it instead of the packaged PIT file and still get the same error.

This is for the Samsung GT-I9000 (Galaxy S)

--- update:

update: created a one click package and also get the same error when flashing with bootloaders
[Galaxy S I9000 Android Development] AdamOutler:
Is this ICS? Heimdall cannot currently flash ext4 or mmc... I'm not sure which... it needs an upgrade.the new OneNAND drivers use like bml over mmc or something. I know Benjamin Dobell is working on it. Its not just Mac.
[Galaxy S I9000 Android Development] marjoejoejoe:
coming from ICS, to flash stock GB....

i also tried flashing the packages, coming from another stock GB and still get the same PIT error.
[Galaxy S I9000 Android Development] dandabyron:
No Samsung drivers found

I have the same problem - no Samsung drivers. Kies was recently re-installed on all my laptops, and I plugged in my SGS2 to ensure the drivers got installed (as neither my PC nor Kies recognised the SGS1 when it was plugged in, even before it bricked).

Any pointers? I've gone many several pages ahead in this thread but haven't yet come across a solution.
[Galaxy S I9000 Android Development] marjoejoejoe:
hi all, i can once again confirm error in uploading PIT file when using Mac OSX version of heimdall frontend....

I tried this on Kubuntu 11.10 and was able to flash complete stock rom with repartition using heimdall frontend for linux.

Kubuntu running on Parallels 7 with OSX SL as host.
[Galaxy S I9000 Android Development] Benjamin Dobell:
Heimdall 1.3.2 is now available. Here's the announcement and here are the download links.

Happy flashing!
[Galaxy S I9000 Android Development] Entropy512:
Heimdall has been able to flash ext4 on MMC for quite some time - see the Galaxy S II as an example.

There's just something weird about the partition tables of the Galaxy Player - those are the only devices I know of so far that the 1.3.2 update fixes flashing for.

Edit: Note, it might have to do with the Player 5.0 being the only device I know of that uses eMMC instead of FSR (stl/bml) on a Hummingbird, other than maybe the Nexus S which I believe has fastboot instead of Odin mode.
[Galaxy S I9000 Android Development] DemoFreak:
Hi all,

sorry for posting in the wrong sub forum, but in the Galaxy Note N7000 forum there's no Heimdall thread. ;)

---

I tried to flash a firmware downgrade to my Note N7000, but that fails while transferring the CACHE partition (after successfully flashing the KERNEL).

Steps taken that lead to the problem:

1. Set phone to download mode and connected to USB

2. in Heimdall Frontend downloaded the PIT file from the phone

3. in Heimdall Frontends "flash" tab loaded this just created PIT file, added the BOOT, CACHE, FACTORYFS, HIDDEN, MODEM, PARAM, SBL1 and KERNEL partition and assigned the appropriate files from the extracted firmware archive

4. pressed the Start button and got the following log: http://pastebin.com/xihM9X9k

What am I doing wrong here (the firmware I tried to flash is the Note stock ROM N7000XXKJ4/N7000VD2KJ1 from here)?

Thanks for reading,

/Hannes
[Galaxy S I9000 Android Development] Benjamin Dobell:
:( Well that's depressing. I was expecting that error not to occur anymore.

Out of curiosity, could you try download Heimdall 1.3.1 and see if it flashes successfully?
[Galaxy S I9000 Android Development] DemoFreak:
Yes, of course I'll try this, but... Is there a higher risk to brick the phone? Say, if it would flash KERNEL and CACHE (what partition comes next?) now, but then fail right in the middle of the process?

/Hannes
[Galaxy S I9000 Android Development] DemoFreak:
That worked like a charm, with one little limitation: it doesn't boot anymore. :)

Will try to re-flash it with Odin under Windows now...

/Hannes
[Galaxy S I9000 Android Development] sebarkh:
With the newest version, on GSS2 GT I9100:
[Galaxy S I9000 Android Development] bagux:
Hi all, I'm searching for a tool to flash firmwares for my Galaxy W (GT-I8150)...Is it supported from Heimdall? :o
[Galaxy S I9000 Android Development] Umeaboy:
Does the Heimdall website tell you that it IS? If not, then you have your answer. ;)
[Galaxy S I9000 Android Development] BloodSkin:
when the pit gets downloaded, what is the standard location its found on the phone at?
[Galaxy S I9000 Android Development] melliwuk:
Hi ben, great app :-) saved my phone when i erased the efs partition with odin a few months back... (why put an erase efs button on there without any saftey checks!?!?! lol)

i was just wondering if you could give a bit of info about what each of the files in a rom does (param.lfs etc) might help some people decide what they do and dont need to flash

Im not a noob, been flashing for months now, even had ics on here till vodafone insisted i send it to samsung to fix the imei (remember the erase efs button in odin? lol). i just thouht it might help some people...

A quick note to less expeienced users DO NOT TOUCH THE EFS PARTITION!!!!! ITS WHERE YOUR IMEI IS!

Sorry, just thought i better share that one! lol and i have to add heimdall saved my phone when odin was useless!!!!!

keep up the good work :-)
[Galaxy S I9000 Android Development] ashwinds:
OSX, Uploading PIT failed - workaround

I tried 1.3.2 and OSX 10.7.3 and ran into the uploading PIT failed issue when trying to flash with Heimdall.

I rolled back to 1.3.0 and it seems to work fine - give it a shot in case you also run into this issue.
[Galaxy S I9000 Android Development] marjoejoejoe:
I still run osx snow leopard, im guessing must have issues with the os
[Galaxy S I9000 Android Development] enthalpie:
juste kernel

Hi

If i load an heimdall package and after load/customize if I remove all stuff and keep only kernel file is it possible to flash and so just update kernel on galaxy ?

regards
[Galaxy S I9000 Android Development] DaNaRkI:
yep, or you could rip the package apart and only flash the kernel.

leaked from my

ICS

- FUSED SGS I897 contaminating you via XDA app.
[Galaxy S I9000 Android Development] enthalpie:
Yes I have try and that's work i flash without repartition

great
[Galaxy S I9000 Android Development] bobbytomorow:
My uncle was trying to update his Galaxy S via Kies in Windows and the update failed while installing and he was left with a brick, could only boot into download mode while holding down vol down and power buttons or yellow sign with exclamation if only pressing power.

So he gave it to me to unbrick and I use a Mac so I downloaded Heimdall and XXJVU (2.3.6), device was detected by Heimdall and so I proceded with loading that package and this is what I got:

ERROR: Failed to confirm end of PIT file transfer!
PIT upload failed!
Ending session...
Rebooting device...

The screen went black and now the phone is completely dead, I've tried removing the battery, the USB cable, and different combinations of either or plugged in while holding down various combinations of buttons and cannot get the phone to show any signs of life whatsoever.

Uncles phone was a SGS Captivate from Rogers Canada and prior to his failed update it was running 2.2 Froyo

*UPDATE: Pulled battery and removed cable for several minutes, also pressed the power button and held it in for a minute to discharge any remaining power...replaced battery and held vol down + power button and I'm back in download mode
[Galaxy S I9000 Android Development] DozenMadder:
Had that happen to me also. I'm sure there is a cleaner way to success, but what worked for me was to install a different version of heimdall. At this point I have two versions of heimdall on my Mac. I need to install one of then for One-Clicks and the other for non-One-Click versions. Can't remember which works for which, but its probably different for each Mac anyway.

Edit: btw I literally had the same exact error message!

@Bobby look 5 posts above yours!
[Galaxy S I9000 Android Development] Benjamin Dobell:
Can those of you who are having trouble with the "Failed to confirm end of file transfer sequence" or "Failed to confirm end of PIT file transfer" errors please post the the output from "heimdall print-pit" (also accessible from the Utilities tab of Heimdall Frontend)?

EDIT: Preferably using Heimdall 1.3.2.
[Galaxy S I9000 Android Development] DozenMadder:
I'm running heimdall on my Mac and have successfully flashed my infuse in the past but can't get it to work on my galaxy tab plus (p6210). I've tried versions 1.3.0 and 1.3.1 and 1.3.2 All with the same exact results. Heimdall detects a device but fails to claim interface. Still works on the infuse (I checked). Anybody have a thought to share regarding this?

Btw: I've seen a thread for heimdall packages for the p6200 so I'm pretty sure there is a way to get it working for the p6210 as well.
[Galaxy S I9000 Android Development] jasnn:
In attempt to help add to the device support for Heimdall, I finally setup my system so I could capture Odin USB traffic for the SGH-T989. I captured traffic for a full system "stock" flash of the UVKL1 ROM, (2.3.6), and traffic for just a "root" image flash of CWM, and then uploaded them to sendspace. So to the extent they are useful, they're at;

SGH-T989-odin-stock-flash.xz (292.46MB)

Description: Compressed Wireshark USB Log from Odin Flash of Stock SGH-T989 ROM

SGH-T989-odin-root-flash (6.18MB)

Description: Wireshark USB Log from Odin Flash of Root CWM Image on SGH-T989

For some reason, the sendspace links don't automatically download the file if you just click on them. However, if you hold down Ctrl and click the link, the download page will open in another window or tab, and you can download the file there. Also if they're incorrect or incomplete, please feel free to let me know, and I can try and redo them.

Thanks for Heimdall..
[Galaxy S I9000 Android Development] Ir0nLy0n:
Been trying to flash via Heimdall 1.3.2 on Ubuntu 12.04 and this is what I get. I can still get into download mode but no recovery or bootup.

heimdall flash --kernel /home/jeremy/AndroidFlashing/zImage
Heimdall v1.3.2, Copyright (c) 2010-2012, 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...
Attempt failed. Detaching driver...
Claiming interface again...
Setting up interface...

Checking if protocol is initialised...
Protocol is not initialised.
Initialising protocol...
Handshaking with Loke...

Beginning session...
Session begun with device of type: 0

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 receive session end confirmation!
Re-attaching kernel driver...

When I try to repartition it uploads PIT ok but same error with kernel
[Galaxy S I9000 Android Development] luxm4n:
error libusb

hello, I using galaxy s2

and can't flash because:

ERROR: Failed to access device. libusb error: 0
[Galaxy S I9000 Android Development] bluefa1con:
nvm sorted it out
[Galaxy S I9000 Android Development] knightslay2:
I would like to know if this tool work with the Galaxy S II?
[Galaxy S I9000 Android Development] Charles Darke:
anyone have another link to the tool? i have a not responding error for the last few days...
[Galaxy S I9000 Android Development] Giallograle:
Handshaking with Loke... ERROR: Failed to receive response!

Thanks for a very useful app Benjamin.

I recently got a Samsung Galaxy S GT-i9000 which I rooted and am trying to flash with Heimdall-frontend 1.3.1.

I'm running Ubuntu 12.04 Precise Pangolin, AMD64 and installed Heimdall 1.3.1 and frontend as those were the most recent packages for 64-bit debian in Github.

libusb-1.0-0 and libusb-1.0-0:i386 are installed and I have adb.

The Galaxy is attached by USB in Download mode - Heimdall-frontend detects the Galaxy, and I downloaded the PIT file which involved communicating with Loke. However when I run the manual flash I get the following Status messages:

Underneath it says, confusingly

however the progress bar is on 0%, and the phone hasn't rebooted - it's still in download mode, so it looks like the flash has failed.

The strange thing is that Loke was fine when I downloaded the PIT. Since the failed flash I've tried to download the PIT again, and this time it fails with the same handshake error. But the phone hasn't rebooted, and is still detected by Heimdall.

I've found a couple of references to this problem elsewhere, but nothing applicable to my situation. I'm loath to reboot the phone as the error message suggests that the flash has failed, and I'd rather try to complete it before I get any more problems.

Can anyone suggest how to get the Loke handshaking working again and complete the flash? Thanks!
[Galaxy S I9000 Android Development] Giallograle:
OK problem solved. It seems that once Loke has been invoked by Heimdall it cannot be repeated until the Galaxy has been rebooted.

I saved my flash files and settings to a Heimdall package, and rebooted the Galaxy into Download mode - I had to pull the battery - tested the PIT download again, then flashed after another reboot. None of the flash files appeared to have been uploaded to the device.

The flash went smoothly - the files were listed as they were uploaded to the device and the process ended with the Galaxy rebooting into the new rom.

Hopefully this will save anyone else some headaches.
[Galaxy S I9000 Android Development] nebkat:
Anyone tested with S3?
[Galaxy S I9000 Android Development] Benjamin Dobell:
Nope, but I do own one so official support will be coming once I get a chance to check it out myself.
[Galaxy S I9000 Android Development] Sh0rty007:
ok.. why is not a single download link in this thread working???????????????

I wanna try this software with my sgsplus.

or can someone just confirm that doesn work with an sgsplus?
[Galaxy S I9000 Android Development] AdamOutler:
Benjamin Dobell, is the PIT entirely mapped yet?

/* PIT Structure = pit_header + partition_info + ... */
typedef struct {
unsigned int magic;	/* magic code */
int count;	/* partition (OneNAND + MOVINAND) */
int	dummy[5];
} __attribute__((packed)) pit_header_t;

typedef struct {
int	bin_type;	/* binary type (AP or CP?) */
int	dev_type;	/* partition device type */
int	id;	/* partition id */
int	attribute;	/* partition attribute */
int	update_attr;	/* update attribute */
unsigned int blk_size;	/* block size (units of KB) */
unsigned int blk_len;	/* block length */
unsigned int offset;	/* file offset (in tar) */
unsigned int file_size;	/* file size */
char name[32];	/* partition name */
char file_name[32];	/* file name */
char delta_ame[32];	/* delta file name for FOTA */
} __attribute__((packed)) partition_info_t;

struct pitpart_data {
int valid;	/* valid flag data */
int dev_type;	/* partition device type */
int id;	/* partition id */
char *name;	/* partition name */
char *file_name;	/* binary file name */
u64 size;	/* total size of the partition */
u64 offset;	/* offset within device */
u32 sector_size;	/* size of sector */
} __attribute__((packed));

/* specially for qboot, magic code is located at 0xff0 */
#define QBOOT_ERASE_SIZE	0x1000
extern int qboot_erase;

Rebellos found this here: https://review.tizen.org/git/?p=ker...5;hb=b17e402091dcd7cfe018506fe573fa5beac76f9c
[Galaxy S I9000 Android Development] Benjamin Dobell:
For those of you following this, I've just had a quick chat with both Rebellos and Adam. The source that Rebellos has found should be enough to fill in the missing pieces of my understanding of how PIT files work, and hence should help me improve libpit and consequently Heimdall :)
[Galaxy S I9000 Android Development] Benjamin Dobell:
My site has been messed up a bit lately, try:

https://github.com/Benjamin-Dobell/Heimdall/downloads
[Galaxy S I9000 Android Development] AdamOutler:
Rebellos pointed this protocol out earlier today.

https://review.tizen.org/git/?p=kernel/u-boot.git;a=blob;f=common/cmd_usbd.c

USB download mode...

1370 static const char dl_key[] = "THOR";
1371 static const char dl_ack[] = "ROHT";

Thor, Son of Odin, brother of Heimdall and tamer of Loki(Loke)...

https://review.tizen.org/git/?p=kernel/u-boot.git;a=blob;f=common/cmd_usbd.c#l1307
[Galaxy S I9000 Android Development] Sh0rty007:
so.. i downloaded v 1.3.1. is this gonna work for my sgs+??
[Galaxy S I9000 Android Development] Qqqxxxzzz:
Hi, I tried to use heimdall to flash firmware to my galaxy tab, but I got this:

macintosh:Heimdall xxx$ heimdall flash --repartition --primary-boot boot.bin --cache cache.rfs --dbdata dbdata.rfs --factoryfs factoryfs.rfs --pit gt-p1000_mr.pit --modem modem.bin --param param.lfs --secondary-boot Sbl.bin --kernel zImage --verbose
Heimdall v1.3.2, Copyright (c) 2010-2012, 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...
Manufacturer: "SAMSUNG"
Product: "Gadget Serial"

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...
Setting up interface...

Checking if protocol is initialised...
Protocol is not initialised.
Initialising protocol...
Handshaking with Loke...

Beginning session...
Session begun with device of type: 0

Uploading PIT
ERROR: libusb error -7 whilst receiving packet. Retrying...
ERROR: libusb error -7 whilst receiving packet. Retrying...
ERROR: libusb error -7 whilst receiving packet. Retrying...
ERROR: libusb error -7 whilst receiving packet. Retrying...
ERROR: libusb error -7 whilst receiving packet. Retrying...
ERROR: libusb error -7 whilst receiving packet.
ERROR: Failed to confirm end of PIT file transfer!
PIT upload failed!
Ending session...
Rebooting device...

I have mac OS X snow leopard.
[Galaxy S I9000 Android Development] Qqqxxxzzz:
Need help...
[Galaxy S I9000 Android Development] morgoth12:
Where can I download latest Heimdall suite?

http://www.glassechidna.com.au/products/heimdall/ seems down ...