yashsingh1/xdaforums huggingface dataset:
[Galaxy S I9000 Android Development] zsori:
I still have FroYo and never installed JVH bootloaders. So that doesn't seem to be the issue.

I haven't tried Odin yet because I'm not (yet) desperate enough to boot up windows :)

I'm still hoping that Ben can still solve this. I'm willing to test or to make USB traces.
[Galaxy S I9000 Android Development] AuroEdge:
I own a Samsung Fascinate. Must I flash something in Windows to my phone before I am able to use Heimdall on MacOS X? What might those items be? I presume it's a new secondary bootloader but I do not know what has this proper loader and what doesn't.

EDIT: My phone was updated OTA by Verizon to their latest ED04 Froyo. But when I try to use Heimdall on MacOS X it fails to detect a compatible device. To be clear I put the phone in download mode, connect the usb cable, then execute Heimdall from the Applications folder.
[Galaxy S I9000 Android Development] Benjamin Dobell:
Hi guys,

Heimdall Suite 1.3 development is chugging along nicely. I had a few distractions so I'm a bit behind where I expected to be. Most of the work I've been doing thus far has focused on a major revamp of Heimdall Frontend. There's still a bit left to do in regards to the programming of the package creation user interface. User interface programming is extremely boring unfortunately. However the new functionality introduced to Heimdall Frontend is absolutely awesome.

Attached are a few screenshots of the new functionality.
[Galaxy S I9000 Android Development] hlaube:
Ben,

that looks more than promessing. Great job you do!!

Looking forward for the release.
[Galaxy S I9000 Android Development] nalu_pl:
Hi Guys!

I'm trying to flash kernel with "--no-reboot" option. Each time I get the same error output:

$ heimdall flash --6 zImage --verbose --no-reboot
"-no-reboot" is not a valid argument

Can You tell me, what I do wrong?

(heimdall -> linux CLI version 1.2.0; Linux Mint 11; libusb installed)
[Galaxy S I9000 Android Development] Benjamin Dobell:
Sorry, you haven't done anything wrong. There was a bug in the 1.2.0 release. The issue should already be fixed in the source repository (as of June 11th) however the official binaries were not updated.

As such you can either compile 1.2.0 from source, revert to the official 1.1.1 binaries or wait a few days for the 1.3.0 release.
[Galaxy S I9000 Android Development] nalu_pl:
Hi! Thank You for replay. I think I'm going to revert to previous version, if You said it's OK.

Btw. Thank You for this great piece of code. GJ :-)
[Galaxy S I9000 Android Development] Benjamin Dobell:
You've got to be kidding me! Visual Studio 2010 just locked up as I attempted to debug, so the process had to be killed. Somehow in doing so Visual Studio 2010 has completely wiped one of my source files in an extremely thorough fashion!

The file is still about 10kb in size but the whole file is filled with zeros, I'm not sure how that even makes any sense. Of course Visual Studio doesn't offer to recover any unsaved changes for me, that's because there were none. The file was already saved and compiled! Agh, now I have to rewrite a sizeable portion of the packaging functionality, not happy! I guess this is what I get for not commiting to Git.
[Galaxy S I9000 Android Development] Benjamin Dobell:
Oh thank you NTFS Undelete 0.93, even though the file wasn't marked as deleted and all other applications saw zeros, you managed to recover it!
[Galaxy S I9000 Android Development] mihaval:
Can not flash with Heimdall on OS X

Hi!

Just got my hands on SGS2 with kernel XWKE2. I tried using Windows in vmware Fusion, but that didn't work. So tried Heimdall on OS X, but I am getting "Failed to detect compatible device".

I used Heimdall 1.2.0 and OS X is version 10.6.8.

Help appreciated.

Kind regards,

Miha.

ps: kextstat | grep -i hei does not show extensions loaded; there is an Info.plist in heimdall.kext folder (under /System/Library/Extensions) though.
[Galaxy S I9000 Android Development] hofinho:
guys,

just extracted jvq from samfirmware and noticed that there actually are dbdata.rfs and cache.rfs files in code archive and in csc as well. I assume that those in csc archive are much bigger since they contain several language packages, right?

can anyone tell me what the two files in code archive exactly are for or simply what will happen if I would just use the "small" ones from the code folder? assuming I would flash with repartition 1,7mb would be sort of a really small database to rely on, don't you think so? ;)
[Galaxy S I9000 Android Development] razze76:
I have flashed the exact same package and I used the files from the CSC package - everything works fine. I have not dared to try repartitioning, so I am still on pit512.

I guess the CODE files will work as well, you will just be missing info about APNs and other stuff included in the CSC.
[Galaxy S I9000 Android Development] nalu_pl:
There is no option like "--no-reboot" in 1.1.1 version. Apparently, I have to wait for a new release.

Edit. I compiled 1.2.0 version by myself and it works like a charm :) Thanks!
[Galaxy S I9000 Android Development] :
Hi guys.

Just bought a new imac 2011 with snow leopard on board. I'm not able to start heimdall (the file heimdall opens the terminal app).

What am I missing?

Thanks!
[Galaxy S I9000 Android Development] Benjamin Dobell:
I've finally pushed Heimdall 1.3 (beta 1) to Github. Although I think I managed to freak out Github's user interface somehow ;)

Sorry about taking so long. I was basically ready a couple of days ago but spent ages trying to get autoconf, automake, libtool, pkgconfig, qmake, static linking, dynamic linking and the various compilers play nice with each other. Things aren't quite as neat as I'd like but everything does appear to be working.

New features:

Minor Heimdall command line updates.

Massive Heimdall Frontend overhaul.

PIT file awareness for Heimdall Frontend.

[*]Support for Heimdall firmware packages!!!

Heimdall firmware packages can be created by developers using Heimdall Frontend and redistributed online. Heimdall's firmware package format includes numerous details about the files being flashed as well as extra information about supported devices and developer info (i.e. homepage and donate link). If developers distribute firmware in this format then the firmware will be flashable from all OS supported by Heimdall Frontend (Linux, OS X and Windows). However most importantly, this largely simplifies the flashing process for end users, this should minimise the likelihood of accidental bricks due to improper usage.

The documentation hasn't been updated, and for the next 24 hours or so this will probably remain a source only release. However I'll update the documentation and release some packages as soon as I get a chance.

Everything should be functioning correctly if you haven't had problems in the past, this release simply carries the beta tag as I would like the official 1.3.0 release to include several OS and device specific fixes. As such now is the time to report these issues, please include as many details as possible.

Have fun!
[Galaxy S I9000 Android Development] GuestK00150:
hey benjamin!

thanks for this great idea and the hard work.

1	after a few problems encountering installation I got everything to install, but still the same issue:

ERROR: Failed to detect device!

any advice? yes I started the my mac in 32-bit mode, loaded the kernel extension, but sill no success.

If I do

sudo kextutil -pi /System/Library/Extensions/heimdall.kext

I get

Warnings:

Personality CFBundleIdentifier differs from containing kext's (not necessarily a mistake, but rarely done):

GalaxyS

GalaxyS2

DroidCharge

2	Another hint: Please update the frontend Xocde project to 10.7 / 10.7, it fails building with telling me I am missing a dependency in SDKs with 10.4!?

3	If I build libusb from your sources is not recognized by the heimdall configure process, if I install libusb through macports, it configures and builds fine. Could this be the issue for my device not beeing detected like described in 1.

4	Please update everything to lion compatibility, will be released next week ;)

If you need more exactly what I have been done, please let me know.

Thanks in advance
[Galaxy S I9000 Android Development] AdamOutler:
Feedback for Linux

permissions were not preserved. the configure command was not marked executable. I had to run

chmod +x libusb-1.0/configure
chmod +x heimdall/configure

Got the following error

make: *** No rule to make target `../libpit/libpit-1.3.a', needed by `heimdall'. Stop.

had to perform the following undocumented commands

cd ../libpit
chmod +x ./configure
./configure
cd ../heimdall
make
sudo make install

Everything worked fine. a bash auto-installer would be great.

initial usage

adam@Adam-Desktop:~/Desktop/heimdall/Heimdall$ heimdall detect
Device detected

adam@Adam-Desktop:~/Desktop/heimdall/Heimdall$ heimdall version
v1.3 (beta)

any chance you could put the old header at the top of the normal heimdall command for backwards compatibility? I'm just noticing there's no copyright apparent in the binary, no credit to any person or entity... also, my one-click unbrick uses the word "glass" for validation of the binary, because really, how many binarys contain glass? It's not a problem for me to rewrite it, but there is no copyright and you're in violation of your own copyright...

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

:P... lol

edit:

nevermind... it's there.

adam@Adam-Desktop:~/Desktop/heimdall/Heimdall$ heimdall close-pc-screen
Heimdall v1.3 (beta), Copyright (c) 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...
Attempt failed. Detaching driver...
Claiming interface again...
Setting up interface...

Beginning session...
Handshaking with Loke...

Attempting to close connect to pc screen...
Ending session...
Rebooting device...
Attempt complete
Re-attaching kernel driver...
adam@Adam-Desktop:~/Desktop/heim

however... just typing heimdall does not provide this version information

adam@Adam-Desktop:~/Desktop/heimdall/Heimdall/Linux$ heimdall
Usage: heimdall <action> <action arguments> <common arguments>

I would like to put in a request that the licensing be added back to the standard heimdall command

C:\Documents and Settings\adam\Desktop>heimdall

Heimdall v1.0.2b, Copyright (c) 2010-2011, Benjamin Dobell, Glass Echidna

I'm downloading some firmware now to test a full flash.
[Galaxy S I9000 Android Development] AdamOutler:
I understand enough to use the command line tool and flash firmware, however I recognize many people do not. It seems taht you have added a couple of extra options to it. I don't know what some of them are.

As a suggestion for a future version i'd like to recommend a

heimdall help --option

which will give a bit more information on the type of file to be flashed with the --option command specified... ie

adam@Adam-Desktop:~/Desktop/heimdall/Heimdall/Linux$ heimdall help --pit
Usage: heimdall <help> <action arguments>
Help --pit
Description: a Partition Information Table(PIT) file specifies to the device how the NAND
should be broken into separate partitions. Specifying --pit will also add an additional
level of security by verifying the files to be flashed match the current PIT on the device.

I have no idea how the following are used: normal-boot, movinand, data, fota, ums, emmc, hidden. I'm sure many others have no idea what any of them are.
[Galaxy S I9000 Android Development] AdamOutler:
adam@Adam-Desktop:~$ cd Desktop/I897UCKF1/
adam@Adam-Desktop:~/Desktop/I897UCKF1$ heimdall detect
Device detected
adam@Adam-Desktop:~/Desktop/I897UCKF1$ heimdall flash --repartition --pit ./Kepler_odin_new_part_JE3_S1JE4.pit --factoryfs ./factoryfs.rfs --cache ./cache.rfs --dbdata ./dbdata.rfs --primary-boot ./boot.bin --secondary-boot ./Sbl.bin --param ./param.lfs --kernel ./zImage --modem ./modem.bin
Heimdall v1.3 (beta), Copyright (c) 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...
Attempt failed. Detaching driver...
Claiming interface again...
Setting up interface...

Beginning session...
Handshaking with Loke...

Uploading PIT
PIT upload successful
Uploading KERNEL
100%
KERNEL upload successful
Uploading MODEM
100%
MODEM upload successful
Uploading FACTORYFS
100%
FACTORYFS upload successful
Uploading DBDATAFS
100%
DBDATAFS upload successful
Uploading CACHE
100%
CACHE upload successful
Uploading IBL+PBL
100%
IBL+PBL upload successful
Uploading SBL
100%
SBL upload successful
Uploading PARAM
100%
PARAM upload successful
Ending session...
Rebooting device...
Re-attaching kernel driver...
adam@Adam-Desktop:~/Desktop/I897UCKF1$

At this point, my phone booted into Android system recovery 3e...

applying Multi-CSC....
installing multi-CSC...
Cant access to '/system/csc/ATT/system/'
sucessfully applied multi-csc

system booted just fine after pressing reboot.

Beta test complete. Verified working on Ubuntu 11.04 built from source. Good work!

Didn't you say something about a new packaging feature? Would this be supported in the frontend only and not the backend?

Now, to start utilising the new features, drinking and programming lots of Java! ;)

Edit: to summarize this beta test

1. permissions were not preserved in the repo

2. I'd personally like to see the copyright notice back in the header

3. a "heimdall help --parameter" feature would assist in understanding how things work.

4. everything works as it should on Linux64 flashing a Captivate.
[Galaxy S I9000 Android Development] AdamOutler:
wrong post
[Galaxy S I9000 Android Development] sebarkh:
OMG, I've just managed to compile my first prog in Linux. OMG, so proud! And it's Heimdall 1.3 :)
[Galaxy S I9000 Android Development] sebarkh:
Trying to compile frontend 1.3 and getting such an error:

Please help
[Galaxy S I9000 Android Development] AdamOutler:
It took me a while to figure out how to compile a visual studio package under Linux.... Most say it can't be done.... Anyways.. Heimdall works fine.. it was tested earlier. Looks like I just got a error here with heimdall-frontend.... Not really sure on the difference.

Heimdall v1.3 (beta), Copyright (c) 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...
Attempt failed. Detaching driver...
Claiming interface again...
Setting up interface...

Beginning session...
Handshaking with Loke...

Downloading device's PIT file...
PIT file download sucessful

Uploading KERNEL
0%
2%
4%
7%
9%
12%
14%
16%
19%
21%
24%
26%
28%
31%
33%
36%
38%
40%
43%
45%
48%
50%
52%
55%
57%
60%
62%
64%
67%
69%
72%
74%
77%
79%
81%
84%
86%
89%
91%
93%
96%
98%
100%

KERNEL upload successful
Uploading MODEM
0%
1%
2%
3%
4%
5%
6%
7%
8%
9%
10%
11%
12%
13%
14%
15%
16%
17%
18%
19%
20%
21%
22%
23%
25%
26%
27%
28%
29%
30%
31%
32%
33%
34%
35%
36%
37%
38%
39%
40%
41%
42%
43%
44%
45%
46%
47%
48%
50%
51%
52%
53%
54%
55%
56%
57%
58%
59%
60%
61%
62%
63%
64%
65%
66%
67%
68%
69%
70%
71%
72%
73%
75%
76%
77%
78%
79%
80%
81%
82%
83%
84%
85%
86%
87%
88%
89%
90%
91%
92%
93%
94%
95%
96%
97%
98%
100%

MODEM upload successful
Uploading FACTORYFS
0%
1%
2%
3%
4%
5%
6%
7%
8%
9%
10%
11%
12%
13%
14%
15%
16%
17%
18%
19%
20%
21%
22%
23%
ERROR:
ERROR: Failed to send file part packet!
FACTORYFS upload failed!
Ending session...
ERROR: Failed to send end session packet!
Re-attaching kernel driver...

Luckily it was on the factoryfs, so it should be recoverable.

Flashed again and it went past that part... don't know.
[Galaxy S I9000 Android Development] ENO_qc:
I saw your last post, but can you give us the way to follow to compile it in gnu/Linux?

Actually i am on ubuntu 11.04

Thanks
[Galaxy S I9000 Android Development] AdamOutler:
After playing with it for a bit, I think the new interface is a few more levels complicated then the old one.

Benjamin Dobell, did you disable the create package tab or was I just not creating a package properly?

btw.. the shell linebreak "/r" translates to "/n" in a textbox. I found the best way of handling it was to delete all in the textbox from the first position in the last line to the last position in the last line when the last character received was %. to get rid of multiple lines of 1%,2%.....

edit: got into the create package...

I'm seeing clipping under linux on "Firmware Versi" and "Platform Versio" on the "Create Package" button.

It was very confusing to create a package. some tool-tips would go a long way with a bit wordier explative.

Great package size.. that tar.gz really brings it down in size.

I'm also seeing clipping on the "oad / Customis" button on the "Load Package" screen.
[Galaxy S I9000 Android Development] Benjamin Dobell:
1. Hmm, sorry if I've already asked this of you. Does OS X recognise your device when it's connected in download mode? I don't mean Heimdall, but instead the OS itself.

Regardless I definitely need to work out what is going on here. I don't know a whole lot about kexts so I think some research is in order.

2. I had a similar request for Snow Leopard, although I build the software on Snow Leopard myself. The problem was you just needed to install the 10.4 frameworks from the OS X DVD.

The reason I link with the 10.4 frameworks is that they're universal (PPC, X86 and AMD64). Although now that they've removed support for Rosetta I wouldn't be surprised if this library is no longer redistributed on 10.7's DVD. If someone is able to confirm this that would be great.

Regardless, I think I'll add an option to qmake to allow universal builds and make non-universal builds the default (so users don't run into problems).

3. It shouldn't be the reason for why your device isn't detected. Although I'm a bit confused as to why the libusb-1.0 version in Heimdall's repo didn't work. If you're able uninstall macport's libusb-1.0 run the following and then send me the output that would be great:

4. As above.
[Galaxy S I9000 Android Development] Benjamin Dobell:
Congratulations!

It looks like you might be running an old version of Qt. You'll need Qt 4.7.x from Nokia's website. It might also be possible to grab it from your official OS repos, however I can't guarantee that will work.
[Galaxy S I9000 Android Development] Benjamin Dobell:
In regards to binaries and building from source, I'm about to start building the packages, as promised. In doing so I'll also be updating the documentation both for building Heimdall from source and also for general use.

It will take me a little while to get the packages though. First I'll have to update all the documentation, then I have to deal with the painful process of creationg DEB packages. Then I'd also like to sort out these private framework issues with OS X. However, once that's all done I'll report back here :)
[Galaxy S I9000 Android Development] GuestK00150:
Hey Benjamin!

Thanks for your long answer (5:31 AM). I`ll get back to you tonight and post answers... I´m on work now :D

If you need someone for testing on os x I´d be glad to help. I´m not a developer or programmer in any way, just an attentive user willing to try out things. I´ve put together an autobuild script, too. Will stick it to the post tonight... I´ll be on OS X 10.6.8 for one more week. Our whole office will be upgraded to lion 10.7 as soon as it will be out ;)

How can I check if the phone is recognized by osx in download mode to provide you with feedback tonight!? There is no volume mounted but the system stats seem to be o.k.. The device is listed in the Hardware-USB-Section with the following facts when connected via usb in download mode:

USB2.0 Hub

Gadget Serial:

Produkt-ID:	0x685d

Hersteller-ID:	0x04e8 (Samsung Electronics Co., Ltd.)

Version:	2.1b

Geschwindigkeit:	Bis zu 480 MBit/s

Hersteller:	SAMSUNG

Standort-ID:	0xfd134000 / 10

Verfügbare Stromstärke (mA):	500

Erforderliche Stromstärke (mA):	50
[Galaxy S I9000 Android Development] AdamOutler:
I think this might work for a full install script from nothing under linux.

git clone https://github.com/Benjamin-Dobell/Heimdall.git
cd Heimdall

cd libusb-1.0
chmod +x ./configure
./configure
make
sudo make install

cd ../libpit
chmod +x ./configure
./configure
make
sudo make install

cd ../heimdall
chmod +x ./configure
./configure
make
sudo make install

cd ../heimdall-frontend
chmod +x ./configure
./configure
qmake heimdall-frontend.pro
make
sudo make install

Benjamin, I see many commits going on within the last hour.
[Galaxy S I9000 Android Development] AdamOutler:
maybe you could add the licensing information to "version"? That's typical of open source software. version commands usually describe the program.
[Galaxy S I9000 Android Development] Benjamin Dobell:
Heimdall Suite 1.3 (beta 1) binary download links are now available from the first post.
[Galaxy S I9000 Android Development] AdamOutler:
Is this the same version as the beta above, or is this newer?
[Galaxy S I9000 Android Development] Benjamin Dobell:
This is the first 1.3 (beta 1) binary release. However, it is essentially the same as the source release made a couple of days ago, yes.

The main changes come in the form of major documentation updates and the user interface changes you requested (hopefully text is no longer clipped). There are also a few minor source related updates (i.e. executable script permissions and fixed include directories in Visual Studio).
[Galaxy S I9000 Android Development] TA123:
Is it possible to flash a CSC file with Heimdall frontend? I cannot find where to load a tar file.
[Galaxy S I9000 Android Development] Benjamin Dobell:
Please read the README! You must extract files from Odin tar archives before you can flash then via Heimdall. This gives a greater level of control and allows you to understand exactly which files are actually be flashed to your device.
[Galaxy S I9000 Android Development] TA123:
Oh, sorry. Forgot about RTFM :)
[Galaxy S I9000 Android Development] KowalskiXDA:
Wow... i have got a sg I9100 and a mac. Root is possible now?

I'm confused now with the new interface. For flash a CF-Root-SGS2_XW_XEU_KE2-v4.0-CWM4.tar (zimage) how do I do? Thanks for your magnific work Benjamin! All the best, K.
[Galaxy S I9000 Android Development] Benjamin Dobell:
The main difference now is that you must always specify a PIT file. This is necessary so that Heimdall Frontend is able to adapt and support a wide variety of devices.

The new README is pretty detailed and took me far longer to write than I'd like to admit. If you're just looking to flash a kernel then the section you want is "Performing a Custom Flash with Heimdall Frontend".

EDIT: Speaking of the README, I just noticed a series of typos. I guess that's what happens when you stay up all night. The typos don't really convolute the information, they just make me look stupid ;)
[Galaxy S I9000 Android Development] TA123:
Sorry again. I am looking at the readme from the source file and it is pretty basic. Is there an extended version of the readme? I am basically trying to flash a modem and a CSC file but cannot figure out how.
[Galaxy S I9000 Android Development] TA123:
OK, I've found the extended readme in the git repository. Though it did not make it easier. It says that I need to select a PIT file, but I do not have any PIT files neither in modem nor in CSC packages.
[Galaxy S I9000 Android Development] KowalskiXDA:
It's not a simple root process? :(