yashsingh1/xdaforums huggingface dataset:
[Galaxy S I9000 Android Development] tkienzle:
make all-am
make[1]: Entering directory `/home/Timmy/Android/Heimdall-Source'
depbase=`echo source/BridgeManager.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -g -O2 -MT source/BridgeManager.o -MD -MP -MF $depbase.Tpo -c -o source/BridgeManager.o source/BridgeManager.cpp &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo source/main.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -g -O2 -MT source/main.o -MD -MP -MF $depbase.Tpo -c -o source/main.o source/main.cpp &&\
mv -f $depbase.Tpo $depbase.Po
/bin/sh ./libtool --tag=CXX --mode=link g++ -g -O2 -o heimdall source/BridgeManager.o source/main.o -lusb-1.0
libtool: link: g++ -g -O2 -o heimdall source/BridgeManager.o source/main.o -lusb-1.0
make[1]: Leaving directory `/home/Timmy/Android/Heimdall-Source'
[root@******** Heimdall-Source]# make install
make[1]: Entering directory `/home/Timmy/Android/Heimdall-Source'
test -z "/usr/local/bin" || /bin/mkdir -p "/usr/local/bin"
/bin/sh ./libtool --mode=install /usr/bin/install -c heimdall '/usr/local/bin'
libtool: install: /usr/bin/install -c heimdall /usr/local/bin/heimdall
make[1]: Nothing to be done for `install-data-am'.
make[1]: Leaving directory `/home/Timmy/Android/Heimdall-Source'

Guess it worked now i'm going to try and flash to a Captivate in the morning thanks for your help...:cool:
[Galaxy S I9000 Android Development] tkienzle:
Well i'm running into a problem i'm in download mode i can detect the phone with lsusb | grep -i samsung I get

Bus 001 Device 008: ID 04e8:681c Samsung Electronics Co., Ltd.

So i'm assuming that its finding it ok but it exits with this error

"Failed to detect phone device"

I might have missed something I edited the file for the usb drivers and such it looked like it compiled ok i think.

Does the phone need to be "accessable by user or something i even tried as su and it didn't work i know i'm missing something small.

No sd no sim 100% battery plugged usb in after download mode and using usb on mobo not front or hub...
[Galaxy S I9000 Android Development] Benjamin Dobell:
Hmm, what model of phone are you flashing?

Your product ID is listed as 0x681C which I initially explicitly supported, along with several other product IDs. However, after doing some further testing I found (or at least thought I found) that all phones in download mode use product ID 0x6601. That information you listed is definitely from when the phone is in download mode?

EDIT: If you are definitely getting that product code whilst in download mode then change lines 56-62 in BridgeManager.cpp to the following:

and uncomment lines 70-72 in BridgeManager.h. Which should look like:

If you're 100% certain that your phone was in download mode when you last tried to flash and you were still getting product ID 0x681C let me know. If that's the case I'll uncomment the code again officially and make an updated release (source, binaries etc.)

EDIT 2:

Almost forgot, also change line 56 in BridgeManager.h to:

If that works then your phone doesn't behave the same as the phones I've tested or the same as phones of everyone else who is flashing via Heimdall. As well as the model of your phone I'd also be keen to know what ROM you're using?
[Galaxy S I9000 Android Development] pietro_spina:
My Captivate is definitely (just checked)

681C in regular boot

681C in recovery mode

and

6601 in download mode

I think the above user either wasn't actually in download mode or using libusb1.0.6 does not work... I don't recall hearing a positive report of 1.0.6 having a successful flash. We have all had success compiling it but not flashing yet as far as I remember. I could be wrong.

-p
[Galaxy S I9000 Android Development] tkienzle:
Then i must not know how to get into download mode like i thought i did...hmmm

Let me ask a newbie question then in download mode what should be on the sceen?

Because now you go me second guessing...

Recovory mode the screen where it has the clear user data and install roms... If not with im thinking is not now then i need to do some more reading.

Thought all i had to do was.hold down vol buttons and power to get in it once the att logo comes up then goes black then comes back let go and it comes up or am i missing something...

Sorry sent from my SAMSUNG-SGH-I897 using XDA App so the spelling is jacked...lol
[Galaxy S I9000 Android Development] pietro_spina:
Sounds like you are going into recovery...

Download mode has a large yellow Icon with an android robot digging a pile of dirt.

I usually get there by just plugging in my phone in regular boot and using adb from the SDK.

adb reboot download

alternatively you can do the following on the captivate.

Shut down your phone

Pull the battery

Replace the battery

Hold down both volume keys

Don't touch the power button

Plug in the USB cable to the phone (it should already be attached to the computer)

Search the captivate forums/wiki for more info on achieving download mode. Some phones have problems with the button combos so testing that you can get to download mode before you need it is key.
[Galaxy S I9000 Android Development] tkienzle:
Ahh sweet i will try that in the morning when i get off work...thanks...
[Galaxy S I9000 Android Development] tkienzle:
Worked like a charm let me get some funds and i'll buy you a beer thanks buddy...:)

EDIT: Oh and it was 6601 in download mode...
[Galaxy S I9000 Android Development] Benjamin Dobell:
Thanks for getting back to me about the product ID, you had me a bit worried there for a little while ;) I'm glad you got it working in the end.
[Galaxy S I9000 Android Development] dictege:
For the french qui utilise Ubuntu

Hello,

Good, Good, Good,........

Je viens de poster un billet sur mon blog WebDevOnlinux

Je ne dis qu'une Bravo et je pense qu'il mérite bine un petit don non ?

Thanks
[Galaxy S I9000 Android Development] DRockstar:
I am so happy to have found this thread, as I was about to develop a custom restore ROM for the Epic 4G. I run Mac and want an Odin free solution.

But I should ask... any testing done on the Epic 4G so far? I looked at the site and saw the note that the secondary boot loader causing a fail on OS X.

Edit: I at least tried it, but it didn't see the phone. Worth a shot, never know.
[Galaxy S I9000 Android Development] hospadam:
So I'm running into a few issues. I'm running Heimdall on a mac, just FYI. I've got everything setup (Heimdall installed, rom downloaded/unzipped). I'm getting my phone into "Download" mode (I see the yellow triangle with the android digging). But when I run the heimdall command, I see "Failed to detect phone device". I've got the phone plugged in... I'm starting to pull my hair out! Any help would be greatly appreciated! Thanks!
[Galaxy S I9000 Android Development] rafi92:
You'd need to install the drivers first.

Read the readme in the heimdall folder which you downloaded on steps on how to install the driver :)
[Galaxy S I9000 Android Development] ashwinds:
Also, it appears that Froyo JPA is required since it makes changes to the bootloader - it need not be the active ROM, but you should have used it in the past.
[Galaxy S I9000 Android Development] hospadam:
Thanks for the help! forgot to mention in my first post - I did run the install.sh file correctly. It installed the kext and added in the heimdall command into my shell. I even rebooted and forced the reload of all my kexts... still no luck....
[Galaxy S I9000 Android Development] hospadam:
I'm not sure if I ever had Froyo JPA.... I went from the stock rom that came on the phone, to Beta 4 of Cognition. I've tried Odin on a PC as well, and the phone (in download mode) never was recognized by the computer either....
[Galaxy S I9000 Android Development] ashwinds:
Will wait for Benjamin to confirm, but I do believe JPA is a pre-requisite. I have flashed other ROMs after it, but heimdall kicks in only if JPA has been flashed on the phone.
[Galaxy S I9000 Android Development] [Ramad]:
Flashing using Hiemdall does not require running flash.bat, you can run it in cmd(Windows) and flash particular files if you don't want to flash a whole firmware.

JPA, I assume it's the Arabic JP-JPA not WX-JPA can be flashed using flash.bat file, because the firmware does include all the files.

Some firmwares does not include boot.bin and Sbl.bin like WXJPA which can be flashed in Command Prompt executing(assuming that your device has been re-partitioned using 512.pit file) :

WXJPM does not include boot.bin, Sbl.bin and dbdata.rfs, so the correct command to flash is:

If I want only to flash the kernel only then I will execute:

and so on... and offcourse, these commands should be executed while in Heimdall directory (i.e. cd [drive-name]:\[Heimdall-directory] , then execute a flash command).
[Galaxy S I9000 Android Development] ashwinds:
Well Ramad - nice tips, but what I was talking about was that JPA deployed a SBL which was essential for Heimdall to recognize the device under Mac OSX.
[Galaxy S I9000 Android Development] Benjamin Dobell:
Just thought I would drop in and clarify a few things.

If you're a OS X user:

Your phone must be running the Sbl.bin (secondary bootloader) that is included in JPA, or newer official Froyo releases (when they're made available). This is a requirement in order to have OS X recognise your phone in download mode.

You must also install the codeless kext that is provided in the OS X binary package. This is installed automatically when running install.sh. If you have compiled from source then you will need to install binaries over the top or just install the kext manually.

If you're a Windows user:

There are no firmware version requirements in regards to Windows. You must however ensure that the drivers included in the Windows binary package are installed correctly, instructions are included in the read me.

If you're a Linux user:

On Linux there are no firmware requirements and no custom drivers that need to be installed (it just works). However there aren't any official Linux binary packages available at the moment, although some community members have released their own packages.

If you can't find a package or find it easier to compile from source the only real requirement is that you have the libusb-1.0 (1.0.8) SDK.
[Galaxy S I9000 Android Development] manosv:
Is anyone able to fix the 3BR using Heimdall?

I already bricked 1 device using other methods.

I have an international galaxy s i9000
[Galaxy S I9000 Android Development] MrFrem82:
Does it work, or it has been tested with Galaxy 5(i5500)?

Thanks

I've not red all the thread, it's too long! please, apologize me!
[Galaxy S I9000 Android Development] Benjamin Dobell:
It's never been tested with the i5500. I'd be interested to know if it does work however.
[Galaxy S I9000 Android Development] Komodo Rogue:
and from the Heimdall READ ME text file:

Could someone please rephrase these steps in laymen's terms?... like you're talking to your mom? :o

Note to dev (Benjamin Dobell?): I'm always very generous with my donations to developers of programs that have helped me! :)

Also, if you say "if I have to explain it to you like you're completely unfamiliar with terminal/android/coding/etc then you shouldn't be messing around with this in the 1st place" then I totally understand and will take your word for it.
[Galaxy S I9000 Android Development] dirk1978:
What part don't you understand? It all looks fairly straightforward to me, but that's because I've used it a bit.
[Galaxy S I9000 Android Development] Komodo Rogue:
Unfortunately, pretty much everything.

In the Read me file, starting with step one, it says "navigate to this directory," but I don't know unix. Terminal on OS X has a help menu and they give you some basic unix commands, one of them was how to see which directory you're in (pwd if memory serves me right) but navigation to directories wasn't included. Also, does it matter where I have the heimdall folder? Is the desktop OK or in my documents folder OK, or should it be in a particular place? I remember the android sdk recommended using the "top" directory for easy use, so I don't know if a similar rule applies.

And THAT may as well have been in another language. Does that give you a good idea of what level I'm working at here? :rolleyes:

I'm basically wondering if someone is willing to write something that will hold my hand and walk me through idiot-proof steps, but that may be longer than anyone cares to do, and I feel somewhat selfish asking... I mean, this is a pretty knowledgable, community-oriented forum, and instead of contributing to development and such I'm wondering if I can slow someone down for my own sake.

I tried figuring it out on my own but really this just isn't my strength. I'm not like an idiot or something (currently working towards a master's degree in early childhood development, work at in inner-city school, and I can play a pretty mean guitar! not that anyone cares, just protecting my little ego :p), but if I'm a lost cause just say so, my feelings won't be hurt. I'm just starting to think that I should stop fiddling around with things I don't understand before something breaks.
[Galaxy S I9000 Android Development] dirk1978:
What os are you using first of all?
[Galaxy S I9000 Android Development] Komodo Rogue:
Snow Leopard on my macbook, and my captivate is running 2.1 update 1 (JH7).
[Galaxy S I9000 Android Development] Benjamin Dobell:
Komodo Rogue, that's fine I'm not an arse I understand people simply don't have experience with this sort of thing, there's always a time to learn though :)

The reason the steps aren't more exact than those provided are because it depends slightly on your system i.e. Where you downloaded Heimdall, where you extracted it etc.

This probably isn't the place to write-up a full terminal tutorial (google can help) and I'm by no means an expert myself. However the only commands you'll likely need are...

"Change directory":

Example. Change directory to your "home" directory, "~" is a special symbol representing your home directory.

Then you'll probably want the "List (directory contents)" command:

This will display all the folders and files that exist in whatever the current directory is.

So if you've extracted Heimdall to your desktop you can get there doing something like this:

Once you're there you should be able to follow the install instructions without a hitch.

i.e.

Once you've done that Heimdall will be installed on your Mac.

Unfortunately I'm not able to give you exact instructions about flashing cause I have no idea where the files are you're flashing. However make use of "cd" and "ls" to navigate your way to the place where your ROM exists. Make sure that your ROM is extracted. Then use Heimdall to flash by following the instructions in the README. The README has an example.

Keep in mind for Heimdall to work on a Mac you must have the secondary bootloader from JPA or JPO firmware. In layman's terms that means you must have already fully installed Froyo using Linux or Windows. Unfortunately this is a phone limitation and there is no way to work around this.
[Galaxy S I9000 Android Development] razze76:
Is it possible to flash a Froyo rom (which to my understanding needs pit-file xxx813.pit and repartitioning) using Heimdall, or is Odin needed for the version upgrade and repartitioning?
[Galaxy S I9000 Android Development] jbrugger:
I just flashed the latest JPA over JPM, but they where both froyo, but i use the 512 pitfile as it is the same on my phone.

As far as i know, Heimdall does not repartition, it also isn't needed.

In Odin, you first flash to JM8 with repartition on 512 and then to Froyo using pit 813 WITHOUT repartition.

Some people even claim you should not use pitfiles at all (at least for the international versions).

J
[Galaxy S I9000 Android Development] Komodo Rogue:
Benjamin Dobell, thanks mate! :)

It's been a long and confusing road from my stock captivate experience to where I (almost) am now. "What the hell is a root?" "OH GOD NO MY PHONE SAYS SUPERUSER AND HAS A PIRATE ICON, WHERE DID I GET THIS VIRUS" "Open Terminal? Shoot I don't have a terminal... maybe they sell them at best buy..."

All I knew was my phone sucked but I KNEW from youtube videos and message boards that it was definitely possible to make it great. Heimdall was the last thing I needed... and finally all systems are go!

About the Froyo requirement, that should be fine, I can just flash with rom manager + clockwork, but I will not do that unless I have Heimdall in place in case things ever go south (I have mac so no odin).

Ahh I'm pure excited this is great! Thanks again! Your next round will be on me :)
[Galaxy S I9000 Android Development] Fr4gg0r:
mh I cannot install heimdall on ubuntu 10.10 :rolleyes:

checking for pkg-config... /usr/bin/pkg-config

checking pkg-config is at least version 0.9.0... yes

checking for DEPS... yes

checking for a BSD-compatible install... /usr/bin/install -c

checking whether build environment is sane... yes

checking for a thread-safe mkdir -p... /bin/mkdir -p

checking for gawk... no

checking for mawk... mawk

checking whether make sets $(MAKE)... yes

checking for g++... no

checking for c++... no

checking for gpp... no

checking for aCC... no

checking for CC... no

checking for cxx... no

checking for cc++... no

checking for cl.exe... no

checking for FCC... no

checking for KCC... no

checking for RCC... no

checking for xlC_r... no

checking for xlC... no

checking for C++ compiler default output file name...

configure: error: in `/home/jonas/Downloads/Heimdall-Source':

configure: error: C++ compiler cannot create executables

See `config.log' for more details.
[Galaxy S I9000 Android Development] Benjamin Dobell:
By the look of that you don't have the GNU build tools installed on your system. To download them try the following:
[Galaxy S I9000 Android Development] Fr4gg0r:
That did it.

Thanks. :)
[Galaxy S I9000 Android Development] loco-:
I just created a GUI for heimdall.

I searched the thread and already found a gui, but i did it myself just to get some coding skills.

Design is similar to odin.

It's written in C#, so you need .NET Framework. And of course it is Windows only.

There is nothing special about it.

I assume you need a PIT file to flash. It wont do anything if you don't select a PIT.

If i'm wrong, just tell me an i'll fix that.

You can download it here:

http://code.google.com/p/heimdall-gui/
[Galaxy S I9000 Android Development] ccfiel:
Local and device PIT files don't match

the firmware of my phone is 512.pit. and there is a new firmware with 803.pit. I tried to load the firmware

Claiming interface again... Success
Setting up interface... Success
Beginning session...
Handshaking with Loke... Success

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

Local and device PIT files don't match. Functionality for this is yet to be implemented.Ending session...
Rebooting device...
Re-attaching kernel driver...

so the pit does not match. so it means the functionality was not yet develop? can odin has a function for this one? Hope someone can give me tips. :)

chris
[Galaxy S I9000 Android Development] ashwinds:
Yes its not yet developed - I think it has to do with Heimdall not being able to repartition yet. Odin ought to work.

However, I have not had a problem flashing using 512 pit even if the instructions mentioned 803 pit.
[Galaxy S I9000 Android Development] ragin:
@ Heimdall dobell,

Hi this is my first conversation with you here.

Is it possible to replicate Kies by carrying forward all the installed apps, user settings, spn settings etc & etc like Kies does when you upgrade your firmware?

THAT I think can become your USP if it can be impimented. :D:D
[Galaxy S I9000 Android Development] Benjamin Dobell:
As far as I know Kies doesn't do any of that, unless they made a new release (admittedly I haven't checked). However regardless of whether Kies does it, it is definitely something I would like to try. However there could be issues with apps that have copy protection enabled.
[Galaxy S I9000 Android Development] ragin:
Believe others who have posted that THIS is the case. I think its just programming.

PS : If you can crack this, v1.1 is in order. :)
[Galaxy S I9000 Android Development] HYE_TECH:
First of all, great job to everybody. I've been reading the entire forum.

Secondly, Im kinda slow and new to this.

I'm trying to flash my Vibrant. Its currently running a Froyo Rom but recovery is ****ed. I can't reboot into it, I keep getting this

"E:Missing Bitmap Indeterminate1

(Code -7)

E:Missing Bitmap Indeterminate2

(Code -7)

E:Missing Bitmap Indeterminate3

(Code -7)

E:Missing Bitmap Indeterminate4

(Code -7)

E:Missing Bitmap Indeterminate5

(Code -7)

E:Missing Bitmap Indeterminate1

(Code -7)

and etc...."

I'm on a MAC and i'm trying to flash Eugene's unofficial 2.2.

I installed Heimdall, have the Libusb 1.0.8,

I tried to flash the rom, but it says my device isn't recognized. Help please...This is my second vibrant lol
[Galaxy S I9000 Android Development] Benjamin Dobell:
HYE-TECH, I'd usually give a more personalised response, however I'm about to go to bed so this will have to suffice:

Although Heimdall runs on OS X all Galaxy S phones tested thus far contain a bug in the secondary boot loader that prevents the phone registering itself with OS X. This may change if Samsung release an updated secondary boot loader.

Update: Samsung have released an updated secondary bootloader that corrects the issue. The correct bootloader is included in the official Froyo release. Obviously you have to get Froyo on your device somehow, but from then on it’s smooth sailing.

Note: Keep in mind if the version of Froyo you’re running is not official then the updated Sbl.bin may not have been included.
[Galaxy S I9000 Android Development] emelie:
i can CONFIRM that kies does NOT do any of THAT
[Galaxy S I9000 Android Development] gthiruva:
I'm guessing the kext you created is for 32-bit OS X? When I try and kextload it on 64-bit Snow Leopard 10.6.4 it fails. The OS doesn't like this section:

<key>OSBundleLibraries</key>
<dict>
<key>com.apple.kernel.iokit</key> <string>6.0</string>
</dict>

I'm not sure if this is correct, but I changed this section to read:

<key>OSBundleLibraries</key>
<dict>
<key>com.apple.kpi.iokit</key> <string>10.4.0</string>
</dict>

It now loads without any errors.

But I can't seem to verify that it did indeed load. When I run kextstat, I don't see au.com.glassechidna.heimdall_usb_shield listed.

Any thoughts on verification?
[Galaxy S I9000 Android Development] ashwinds:
I am on 64 bit Snow Leopard and it works.
[Galaxy S I9000 Android Development] Benjamin Dobell:
Hmm, the original plist should be fine.

The simplest way to verify the kext is working is just to run Heimdall and see if it detects your phone.
[Galaxy S I9000 Android Development] gthiruva:
Is there a non-invasive way to test connectivity? I noticed there's a dump command, but the help text says the Galaxy S has problems with it (I'm on a SGH-T959 Vibrant on T-Mobile US).
[Galaxy S I9000 Android Development] tron3:
Since Heimdall is working like Odin would it theoretically be possible to flash the Galaxy I5700 Spica with it?

With active sites like samdroid.net for Spica this could increase the userbase for Heimdall.

I am not so much into the technical details but if someone pointed me into the right direction I would test it on my Spica. I am running on Ubuntu and have successfully compiled Heimdall there.
[Galaxy S I9000 Android Development] gthiruva:
By default, Snow Leopard uses a 32-bit kernel on 64-bit machines - unless you switched it over to boot with the 64-bit kernel. Did you?

I'm not allowed to post links yet, but if you do a Google search you can find out how to enable the 64-bit kernel.
[Galaxy S I9000 Android Development] Benjamin Dobell:
It either detects your phone and works, or it doesn't detect your phone and does nothing.

However if you just want to test that your phone is being detected without really doing anything, do the following:

This will just connect to your phone and use the Loke protocol to reboot your phone, i.e. No files are uploaded or downloaded from your phone.