yashsingh1/xdaforums huggingface dataset:
[Galaxy S I9000 Android Development] sunseaker:
OK, I copied the udev rule to /etc/udev/rules.d/ (where other udev rules reside) and rebooted. Started Heimdall, put my device in download mode (Vol down + Home button + Pwr button) and connected to usb cable.

Went to utilities tab and click 'Detect'. Output is 'Device detected'

Then click 'Print PIT'. Output is

Initialising connection...
Detecting device...
ERROR: Failed to access device. libusb error: -3

Why does it dect the device when clicking 'Detect' but no when trying to access the PIT?

Typing lsusb in the console shows: Bus 001 Device 004: ID 04e8:685d Samsung Electronics Co., Ltd

Starting Heimdall as su and it seems to work fine so it appears to be a permissions problem.
[Galaxy S I9000 Android Development] Benjamin Dobell:
Yeah starting as a super user will work fine. The problem is still the udev rules. My guess is that OpenSUSE is using a dated version of the udev rules specification. If you open the rules file and replace ATTRS with SYSFS and reboot then it should hopefully work.
[Galaxy S I9000 Android Development] AdamOutler:
heimdall_amd64.deb has the following dependency on a ubuntu minimal machine: libusb-1.0-0

That is all. That would suffice for the Ubuntu repositories.
[Galaxy S I9000 Android Development] AdamOutler:
Heimdall frontend does not conform to linux standards. You must have an "exit" option in the menu. There's no way to exit the program without killing the X server. Because of this, it depends on a Window Manager, and every version of linux has it's own WM so it cannot be specified. There's 4 different WM's in different Ubuntu distributions.

Heimdall-frontend_1.3.0_amd64.deb dependencies: libqt4-gui, xorg, Heimdall(this package must be in repository first to be named).

If you specify these 3 dependencies, it would be acceptable for the Ubuntu repositories... however you should add a Quit/Exit option.
[Galaxy S I9000 Android Development] AdamOutler:
Benjamin Dobell, have you prepared a Mac command-line only binary? I searched and could not find it.

Also, can you tell me; for what does heimdall command line use the pit?
[Galaxy S I9000 Android Development] AntonDreams:
ERROR: Failed to receive response!

Hi,

I managed to install a zImage (to downgrade from 3e recovery to 2e), so I know it's sort of working - has anyone else had this problem when trying to install Darkymod RE 10.2?

root@ubuntu:/home/antt/DarkyROM_10.2_Resurrection# heimdall flash --repartition --pit s1_odin_20100512.pit --factoryfs factoryfs.rfs --cache cache.rfs --dbdata dbdata.rfs --primary-boot boot.bin --secondary-boot Sbl.bin --param param.lfs --modem modem.bin --kernel zImage

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

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:

Initialising connection...

Detecting device...

Claiming interface...

Setting up interface...

Beginning session...

Handshaking with Loke...

ERROR: Failed to receive response!

root@ubuntu:/home/antt/DarkyROM_10.2_Resurrection# uname -ra

Linux ubuntu 2.6.38-11-generic #47-Ubuntu SMP Fri Jul 15 19:27:09 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

Any other suggestions?

Cheers

Anton
[Galaxy S I9000 Android Development] GuestK00150:
just wanted to report a bug:

was not able to flash to data.img from XXKG6, stopped with

Uploading DATAFS
100%
ERROR: Failed to confirm end of file transfer sequence!
DATAFS upload failed!
Ending session...
ERROR: Failed to send end session packet!

had to go to odin, no problems flashing the same file there...

using heimdall on os x 10.7 64-bit

Thanks for looking into it...
[Galaxy S I9000 Android Development] AdamOutler:
My understanding of the Failed to confirm end of file transfer sequence is that it overran the size of the partition you were trying to flash.
[Galaxy S I9000 Android Development] nemasu:
I had the same problem with flashing the system image (FACTORYFS), and I can guarantee that it was not too big.
[Galaxy S I9000 Android Development] scottietohottie:
Ben looking around and I very this its either one of two things, so obvious it is not there or so obvious I cannot found it.

In Odin I can flash a rom from just a PDA tar. Normally a CSC, PDA, & PHONE.

In Heimdall I am not as sure. I would expect to un-tar the packages, then the name of the files to match the areas in Heimdall. They do not. I.e. boot.bin . Is there a key/guide to the various names and what they do?
[Galaxy S I9000 Android Development] jerome.d:
To my knowledge, there is no such guide but I wrote one myself and I follow it everytime I flash a ROM:

[Partition name] -> [File, from Odin's .tar]

- BOOT -> boot.bin

- SBL1 -> Sbl.bin

- PARAM -> param.lfs

- KERNEL -> zImage

- CACHE -> cache.img

- MODEM -> modem.bin

- FACTORYFS -> factoryfs.img

- HIDDEN -> hidden.img
[Galaxy S I9000 Android Development] Benjamin Dobell:
Running the "Print PIT" action from the Utilities tab or "heimdall print-pit" from command line will output human readable details about the partitions on your device. Included is the name of each partition and the default filename for the corresponding file.
[Galaxy S I9000 Android Development] Benjamin Dobell:
I've seen a few reports of this. It seems to happen fairly consistently on some people's devices whilst not happening at all on others. It's usually not a problem to flash without it but obviously it would be good if I can get it to work.

Hopefully I'll be able to get my hands on SGS2 at some stage in the near future so I can debug with it.
[Galaxy S I9000 Android Development] AdamOutler:
After using this to package a ROM, I'd like to suggest a "notes" section for each device. This would allow the developer to specify caveats for different devices... EG... for Andromeda3, the Captivate SGH-i897 works great, however the Captivate SGH-i896 requires APN changes by the user in order to make data service work. This is because Andromeda3 is a USA ROM and the SGH-i896 was released in Canada.
[Galaxy S I9000 Android Development] scottietohottie:
Well that's just fabulous! I would not have thought to look there!
[Galaxy S I9000 Android Development] Manadar:
I did manage to flash CF-root KG3 earlier. I'm currently unable to flash KG6

Setting up interface...

Beginning session...
Handshaking with Loke...
ERROR: Failed to receive response!

OSX 10.6.7 :(

If you need some testing, I can do that :D

Edit : I have flashed stock KG6 using odin ( :X ) and then tried heimdall to flash a CWM kernel. It worked without encountering any problem. The phone was recognized by the software like on KG3.
[Galaxy S I9000 Android Development] dzl:
nm, I fail at realizing we need DEVELOPMENT packages installed too
[Galaxy S I9000 Android Development] zsori:
There is a standardized way to do it already. (Doing this was not easy for a long time, but freedesktop.org made a standard for this many years ago.)

You just need to install a file:

/usr/share/applications/heimdall-frontend.desktop

The content should be something like this:

[Desktop Entry]
Categories=Utility;Qt;TelephonyTools
Comment=Flash ROMs to Samsung Galaxy devices
Exec=heimdall-frontend
GenericName=ROM Flasher
Icon=Heimdall
Name=Heimdall
Type=Application

To have an icon you should install it at:

/usr/share/pixmaps/Heimdall.png

(If you don't want/have an icon, then leave that line out from the .desktop file)

For other possible categories see:

http://standards.freedesktop.org/menu-spec/latest/apa.html
[Galaxy S I9000 Android Development] zsori:
I had the same error for some time with heimdall 1.2 while I have successfully flashed a zImage with 1.1.

I tried to downgrade to 1.1 and to reflash the zImage I have flashed earlier but it always failed at the exact same spot.

Asked for ideas here and did not get any useful (except trying the setting the timeout option in heimdall, but that did not help), so I gave up.

When 1.3 came out I tried it again and it worked. I don't think that this was fixed in heimdall. More probable this was an issue with my phone that got fixed by time.

But I have no idea what changed. Basically nothing since I could not flash with heimdall and I did not want to boot Windows to use Odin. I remember that I have entered recovery and changed some settings in the speedmod kernel tweaks, probably enabling logcat. But I don't know if that is related at all. (It should not be related, but I don't know :) )
[Galaxy S I9000 Android Development] AdamOutler:
I think I've got all the quarks worked out of Heimdall One-Click... If anyone would like to make a one-click you can download the packager here: http://code.google.com/p/heimdall-o...neClickPackagerRC1-oneclickbeta8.jar&can=2&q=

Heimdall One-Click will be in beta until I can get a suitable replacement for the Mac Suite which is 20 megs and causes stock firmware to bust the 200 meg redistribution cap. The packager will remain in RC-1 status until One-Click is out of beta.

I released a full one-click package here: http://xdaforums.com/showthread.php?t=1216790
[Galaxy S I9000 Android Development] dzl:
ignore this post
[Galaxy S I9000 Android Development] ZeDroid:
Hey there,

currently I'm trying to update my bootloader via Heimdall.

I have three files: boot.bin ; sbl.bin ; zImage .

My first thought was something like this:

sudo heimdall detect

sudo heimdall flash --primary-boot boot.bin --secondary-boot Sbl.bin

Is this in any way the correct way?

And what the heck should I do with the zImage?

I'm currently for one year outta my country, so I have just a laptop with Kubuntu and Windows XP in a VM - and I will definitely not trust a VM in handling a bootloader update.
[Galaxy S I9000 Android Development] SkOrPn:
Quick question please:

I want to use Heimdall on my Asus EeePC 1005HAB and it has the Intel based Atom N270 and a 945 mobile platform chipset. I downloaded Ubuntu 11.04 and discovered that it runs much worse than Windows, in fact several times worse to a point its just not usable. Did some research and it appears the new unity may be the cause for the extremely slow results.

I still have the iso from Ubuntu 10.04 UNR release, and well that ran great on this Netbook. So I am wondering. I have a new custom Linux Kernel 3.0.1-3 custom built for my exact Atom CPU and the latest Ubuntu release 11.04. Question is, will Heimdall run ok if I upgrade the older kernel on UNR 10.04 to this new Kernel optimized for my cpu? or will I run into problems somehow?

Just want a rock solid setup for Flashing and DeBricking phones, but preferably one that will let me use my Netbook instead of my main system. Although Windows 7 Lite Netbook was super fast on this machine, I have my doubts it will be rock solid for flashing. Any tips would be appreciated. Thanks

Windows 7 Lite Netbook Edition OR Ubuntu 10.04 Netbook Edition with latest custom Kernel? That is the question... lol

EDIT: This Netbook will be dedicated for Heimdall flashing and possibly jtag debricking with a RIFF BOX. Thanks
[Galaxy S I9000 Android Development] SkOrPn:
Anyone know how long it will take a 1.6ghz Atom cpu to compile Qt Libraries 4.7? Its required for the front-end but I started over 4 hours ago and entered the "make" command and well its been working ever since, 4 hours and 15 minutes so far. Just curious if installing Heimdall front end on a Netbook was a bad idea or should the qt compile complete sometime in the middle of the night? If its a several day process, think Im going to have to give up, lol...

Thanks
[Galaxy S I9000 Android Development] Benjamin Dobell:
First off, I'm terribly sorry I haven't been around much for the last two weeks. I started a new job and have been settling into the new role, this hasn't left a lot of time to work on my own things or to provide support to the community. I'm hoping that I'll be able to find a bit more time over the coming weeks to make amends for that.

As such quite a few e-mails, private messages and forum posts seeking my help have begun to accumulate. I'll try to answer the most recent ones in hope that users have already found solutions to older ones. If not don't hesitate to remind me of your query.

zImage is a kernel, it is not really related to bootloaders so you don't need t flash it if you really don't want to. However I generally recommend that when flashing bootloaders you include param.lfs and one additional less important file, zImage will probably do the trick.

Technically speaking the detect command is unnecessary and sudo should also not be required. However including them won't cause any problems.

You've probably already sorted it out by now, however Qt 4 took me about 6 hours to compile on a quad core AMD64 PC, so I assume it will take even longer on an Atom machine.
[Galaxy S I9000 Android Development] ZeDroid:
Thanks for your answer, but where exactly do I get the param.lfs from?

And how do I include both of these files in the commando?
[Galaxy S I9000 Android Development] SkOrPn:
You've got a life bud, no need to be sorry for that, lol...

Yeah, wow now that you told me how long it took your quad core, I don't feel so bad, haha, it took just over 8 hours, maybe 15min or so over. Ok, so after many distro trials I think I am settling down with Lubuntu, it is a lite weight fast distro based on Ubuntu 11.04 and so far the only one that did not complain about installing something in prep for Heimdall. I now see that when on Ubuntu 11.04 I made the mistake of installing QtSDK, and not the libraries and I assume that is why heimdall frontend would not work. Its ok though, since Ubuntu really made my machine super slow I'm not interested in going back lol. Lubuntu is Ubuntu 11.04 but uses the latest LXDE UI instead of unity and I believe much of the bloat has been removed as well. The only problem I seem to be having is, I installed a custom ATOM kernel 3.0.1 but the update manager keeps informing me of a new kernel update, but it is version 2.6.38-xx-generic, lol so I don't really want to install it so I had to turn off update checking... That didn't seem to happen with the official Ubuntu. Oh well, I'm happy as I now have a fast linux distro running heimdall seemingly well.

Thanks for your hard work with this program. Wish I had decided to start using it sooner.
[Galaxy S I9000 Android Development] oldarney:
I have an older vibrant, I got the error when I tried to connect after a flash failed. I restarted the phone into download mode and I didn't get the error again.
[Galaxy S I9000 Android Development] kris07:
Okay, so I've spent pretty much all day trying to get this to work, but to no avail. I'm currently running Fedora 15 64bit, and this is the error I'm getting during installation:

$ ./configure
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for DEPS... no
configure: error: Package requirements (libusb-1.0 >= 1.0.6) were not met:

No package 'libusb-1.0' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables DEPS_CFLAGS
and DEPS_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

I don't know what to do. I've searched the Forums, and Googled.
[Galaxy S I9000 Android Development] jerome.d:
I had some issues myself with the dependencies to build heimdall. See my previous post on this subject:

http://xdaforums.com/showpost.php?p=15745246&postcount=1253

You'll have to find and install the libusb-1.0.6(+) packages for your distro. I assume some rpm for fedora should exist.
[Galaxy S I9000 Android Development] jodue:
nice!! finally a "linux version" :D ... thanks a lot!

i will give the source code a try the next time i flash :D

keep up the awesome work :)
[Galaxy S I9000 Android Development] mopodo:
I flashed JPK a second time, directly with CF-Root Kernel 1.1 for JPK, now without the errors in the recovery menu.

Some questions to the future of Heimdall

1. will it be possible to flash only certain parts of a ROM, like only a kernel?

2. what about repartioning?
[Galaxy S I9000 Android Development] Akrilee:
Thanks for the linux version. Will be tested soon on the final froyo :).

Btw: Would be nice if you could change the errors. Not everyone wants/can fix the typos on his/her own, Lol, had the same bug with the future date blah. Changed the system date to 2011. Then Thunderbird complained about my self signed certificate from my mail server XD.

Hmm, another nice Idea would be to port this to java and access libusb via JNA. But then, you already have a probably running version on linux/mac/windows.
[Galaxy S I9000 Android Development] mopodo:
It would be easier if you just «touch» all files in the directory ;)

That updates the timestamp to the current time and the error won't occur

touch *

I think Benjamin will fix the typos in the code in the next release
[Galaxy S I9000 Android Development] Benjamin Dobell:
I'll definitely fix the linux-only typo in the next release which will probably be later today.

Sorry I haven't been meaning to ignore you. I just haven't had a chance to check it out yet. I'll see if I can come up with a solution before the beta 2 release.

Sorry I forgot to mention that. Obviously when Odin flashes you're not left in the recovery console. After a flash you're meant to send some commands to the phone to perform some actions in the recovery console then reboot the device. I probably won't have time to get that in for beta 2 but it's definitely something that will be included later on.

Both will definitely be included. I'd really like to expand Heimdall to be a bit of an all-in-one tool, I'd definitely like it to surpass the functionality offered by Odin.

I'll test out flashing one file at a time for the beta 2 release. Repartitioning is doubtful for beta 2 but I'll see what I can do. I'll have to be careful when implementing repartitioning in order to ensure that it can only be performed at the same time as a full flash (all files).

I guess that error is courtesy of us Australians ;) Presumably the issue was caused by the fact I'm GMT +11 at the moment. I'll see if there is a nice solution for that.
[Galaxy S I9000 Android Development] dirk1978:
find . -exec touch -t`date --date="11 hours ago" +%y%d%H%M` {} \;

Before zipping?
[Galaxy S I9000 Android Development] Benjamin Dobell:
Should that be "23 hours ago"? Thanks for that though.
[Galaxy S I9000 Android Development] Akrilee:
I bet so, although I wonder how you can release code with typos. Means he didn't run a final test before he released the code. Would be like coding something for a university course and not testing the last changes before uploading it to their server :D.

Lol. Indeed. touch didn't come to mind at this time (at night).

@Ben: Regarding your reply to mopodo about ignoring ...

It seems, either you have overseen it our you are ignoring my proposal to help working on your Heimdall project. I've looked through the code and it definitely needs some cleanup. Eg: some magic numbers that wouldn't make sense to anybody except those, who reverse engineered the protocol. Just my two cents.
[Galaxy S I9000 Android Development] Benjamin Dobell:
I did mention that it was a rushed beta, it is in no way a final product. I also mentioned that it hadn't been tested on Linux. If you look at the code you will see the typo is conditionally compiled under Linux only.

On a side note I would definitely program something for a university course and hand it in untested, but that's just uni ;)

Sorry again, I've been very busy lately so I have only been responding to posts that I have an immediate answer for.

You're 100% correct when you say the current code needs cleaning up. Most of the functionality in main.cpp needs to be cleaned up and then moved to BridgeManager.cpp. In regards to magic numbers, I don't know if you have reverse engineering experience but it's not all that uncommon to have magic numbers. Unfortunately I simply just don't know what the numbers represent, yet. The object-orientedness makes it look really simple (which it is from a programming perspective) but the whole lot was initially just numbers. I don't have any documentation on the Odin/Loke protocol so everything you see is simply my interpretation.

I'd like to clean up the code myself and finish adding the remaining basic functionality. When I make a 1.0 release I'll setup a git repository and accept changes, patches, updates etc. However if you'd like to develop an official front-end that would be fantastic. I'll try keep this thread for releases, bug reports etc. so feel free to PM me about development proposals.
[Galaxy S I9000 Android Development] pietro_spina:
Just reporting back experience on a straight-up Ubuntu 10.4 installation using my "new user" hat.

Downloaded fine

extracted using right click extract here.

used the tip from the thread

$ touch *

then

$ ./configure

and got permission denied

changed 'configure' to be executable

$ chmod 755 configure

Package requirements (libusb-1.0 >= 1.0.8) were not met:

10.4 version of Ubuntu has libusb-1.0.4

Later today I'll be trying to build on 10.10rc and 10.4 with an updated libusb. but for now I have to go see about getting a new boiler installed in my home.

thanks,

-p
[Galaxy S I9000 Android Development] mopodo:
you have to install libusb-dev (called libusb-1.0-0-dev in debian/squeeze)

try searching for new libusb version with «apt-cache search libusb» ;)
[Galaxy S I9000 Android Development] guohui:
Package of libusb for Ubuntu is not the latest one, download the latest one from

sourceforge.net/projects/libusb/

after downlaod,

extract it

go into the folder

./configure

make

sudo make install
[Galaxy S I9000 Android Development] dirk1978:
You'll need to install the dev package. This is on Maverick (compiles fine)

ii libusb-1.0-0-dev 2:1.0.8-2 userspace USB programming library development files

Lucid seems to package 1.0.6