[Q] Anybody used Heimdall yet on SGS2?

Search This thread

peadarog

Senior Member
Mar 19, 2010
135
18
www.frozenstories.com
Just like it says in the thread title, I was wondering if anybody -- in particular, any linux users -- had tried using heimdall yet? I'm too new to both the Galaxy family of phones and odin/heimdall to try it myself yet.

thanks.
 

peadarog

Senior Member
Mar 19, 2010
135
18
www.frozenstories.com
This is just a repeat of what I said in the official heimdall thread:


I just tried using it with the SGS2. Nothing radical, since I have zero experience with heimdall and Galaxy phones.

1) I put the phone into download mode, following instructions I got here.
2) I connected the phone to my fedora 11 install (yes, I'm way behind the times!)
3) I ran lsusb and got:
Bus 001 Device 002: ID 04e8:685d Samsung Electronics Co., Ltd
It doesn't mention the words "mobile phone" as I think it does for the S1, but I may be wrong about that.
4) I ran:
heimdall close-pc-screen --verbose
according to instructions earlier in this thread (page 26).
5) I got:
Failed to detect compatible device
 

bilboa1

Inactive Recognized Developer
Aug 16, 2010
1,291
683
Sorry guys I don't have a Galaxy S II to develop with so I haven't been able to make the necessary changes to support the Galaxy S II. If anyone has one they want to donate that would be fantastic, but that's probably not all that likely ;)

I just tested heimdall a bit with the SGSII.
At least, kernel flash works.

Modifications needed:

BridgeManager.h: device ID is 685D not 6601 (maybe add a switch for sgs2)

main.cpp: getUnknown is 131072, not 0 (again, maybe switch)


and it'll work.
I'd also suggest a switch for "--no-reboot" ;-)

Let me know if you would prefer a diff or w/e like that..

Disclaimer: I did NOT test this thoroughly, this is AT YOUR OWN RISK - flashing CAN destroy your device.

Kernel flashing does work tho :)

ps: I'd have prefered giving you a GT-I9100 but that's a little over my budget right now :D

bad stuff:
x64 linux binary http://www.multiupload.com/A1R7SDUFZM

more bad stuff:
ive put it in a diff cause i'm not so lazy today:

https://github.com/kangsterizer/Heimdall/commit/86e9b66d4ec5b415b3a8d2d310f9ce7633679a16
 
Last edited:

peadarog

Senior Member
Mar 19, 2010
135
18
www.frozenstories.com
I just tested heimdall a bit with the SGSII.
At least, kernel flash works.

Modifications needed:

BridgeManager.h: device ID is 685D not 6601 (maybe add a switch for sgs2)

main.cpp: getUnknown is 131072, not 0 (again, maybe switch)


and it'll work.
I'd also suggest a switch for "--no-reboot" ;-)

Let me know if you would prefer a diff or w/e like that..

Disclaimer: I did NOT test this thoroughly, this is AT YOUR OWN RISK - flashing CAN destroy your device.

Kernel flashing does work tho :)

ps: I'd have prefered giving you a GT-I9100 but that's a little over my budget right now :D

bad stuff:
x64 linux binary http://www.multiupload.com/A1R7SDUFZM

more bad stuff:
ive put it in a diff cause i'm not so lazy today:

https://github.com/kangsterizer/Heimdall/commit/86e9b66d4ec5b415b3a8d2d310f9ce7633679a16

I have tried compiling this on two different machines -- one Fedora 11 and one Fedora 14. Both result in the same error, and sadly, I'm not experienced enough to figure it out :(

Here's the badness:


depbase=`echo source/BridgeManager.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I/usr/include/libusb-1.0 -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
source/BridgeManager.cpp:57:47: error: ‘kPidGalaxySDownloadMode’ is not a member of ‘Heimdall::BridgeManager’
make[1]: *** [source/BridgeManager.o] Error 1


I'd be grateful for any suggestions, although I fully understand that you all have lives elsewhere!
 

godutch

Senior Member
Jun 29, 2009
2,558
374
www.burgerforumeu.nl
Got it there is an error in the patch. I can't make a diff for you but it's easy to change in heimdall/source/BridgeManager.h change the enum section around line 67 like this:

enum
{
kPidGalaxyS2DownloadMode = 0x685D,
kPidGalaxySDownloadMode = 0x6601,
kPidGalaxySInternational = 0x681C,
kPidGalaxySNewInternational = 0x681D,
kPidVibrantCanadaBell = 0x6877
};
 
Last edited:
  • Like
Reactions: peadarog

peadarog

Senior Member
Mar 19, 2010
135
18
www.frozenstories.com
Thanks a lot, godutch! That worked and got me as far as the next error:

Failed to get D-Bus connection: Failed to connect to socket /org/freedesktop/systemd1/private: Connection refused


Luckily Dr. Hotdog seems to have a fix for that here. Thanks all :)
 

peadarog

Senior Member
Mar 19, 2010
135
18
www.frozenstories.com
It seemed to install all right, but when I run:


heimdall close-pc-screen

I get:

Failed to detect compatible device


Is this to be expected? I.e. does that functionality work with the SGS2 or do I have more problems I need to investigate?
 

peadarog

Senior Member
Mar 19, 2010
135
18
www.frozenstories.com
Bus 005 Device 002: ID 0a5c:2110 Broadcom Corp. Bluetooth Controller
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 005: ID 04e8:685d Samsung Electronics Co., Ltd
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 

elban

Inactive Recognized Developer
Jul 10, 2009
1,065
745
Venice
www.opbyte.it
I just tested heimdall a bit with the SGSII.
At least, kernel flash works.

Modifications needed:

BridgeManager.h: device ID is 685D not 6601 (maybe add a switch for sgs2)

main.cpp: getUnknown is 131072, not 0 (again, maybe switch)


and it'll work.
I'd also suggest a switch for "--no-reboot" ;-)

Let me know if you would prefer a diff or w/e like that..

Disclaimer: I did NOT test this thoroughly, this is AT YOUR OWN RISK - flashing CAN destroy your device.

Kernel flashing does work tho :)

ps: I'd have prefered giving you a GT-I9100 but that's a little over my budget right now :D

bad stuff:
x64 linux binary http://www.multiupload.com/A1R7SDUFZM

more bad stuff:
ive put it in a diff cause i'm not so lazy today:

https://github.com/kangsterizer/Heimdall/commit/86e9b66d4ec5b415b3a8d2d310f9ce7633679a16

hello

when I try to flash a kernel, I get:

Failed to detect compatible device

lsusb gives:

Bus 001 Device 007: ID 04e8:685e Samsung Electronics Co., Ltd

maybe the problem is the different usb ID?
 

elban

Inactive Recognized Developer
Jul 10, 2009
1,065
745
Venice
www.opbyte.it
hello

when I try to flash a kernel, I get:

Failed to detect compatible device

lsusb gives:

Bus 001 Device 007: ID 04e8:685e Samsung Electronics Co., Ltd

maybe the problem is the different usb ID?

sorry guys, me stupid, I wasn't in download mode!
flashed supercurio kernel succesfully, now I'm rooted and with cifs, all without needing to run windows!
thanks very much!
 

aliander

Senior Member
Jan 31, 2008
167
46
https://github.com/kangsterizer/Heimdall/

Please correct:
- heimdall/source/BridgeManager.cpp

56:
Code:
const DeviceIdentifier BridgeManager::supportedDevices[BridgeManager::kSupportedDeviceCount] = {
DeviceIdentifier(BridgeManager::kVidSamsung, BridgeManager::kPidGalaxySDownloadMode)

to:

56:
Code:
const DeviceIdentifier BridgeManager::supportedDevices[BridgeManager::kSupportedDeviceCount] = {
DeviceIdentifier(BridgeManager::kVidSamsung, BridgeManager::kPidGalaxyS2DownloadMode)

OR:
- heimdall/source/BridgeManager.h

69:
Code:
kPidGalaxyS2DownloadMode	= 0x685D

to:

69:
Code:
kPidGalaxySDownloadMode	= 0x685D
 

Top Liked Posts

  • There are no posts matching your filters.
  • 3
    Sorry guys I don't have a Galaxy S II to develop with so I haven't been able to make the necessary changes to support the Galaxy S II. If anyone has one they want to donate that would be fantastic, but that's probably not all that likely ;)

    I just tested heimdall a bit with the SGSII.
    At least, kernel flash works.

    Modifications needed:

    BridgeManager.h: device ID is 685D not 6601 (maybe add a switch for sgs2)

    main.cpp: getUnknown is 131072, not 0 (again, maybe switch)


    and it'll work.
    I'd also suggest a switch for "--no-reboot" ;-)

    Let me know if you would prefer a diff or w/e like that..

    Disclaimer: I did NOT test this thoroughly, this is AT YOUR OWN RISK - flashing CAN destroy your device.

    Kernel flashing does work tho :)

    ps: I'd have prefered giving you a GT-I9100 but that's a little over my budget right now :D

    bad stuff:
    x64 linux binary http://www.multiupload.com/A1R7SDUFZM

    more bad stuff:
    ive put it in a diff cause i'm not so lazy today:

    https://github.com/kangsterizer/Heimdall/commit/86e9b66d4ec5b415b3a8d2d310f9ce7633679a16
    2
    https://github.com/kangsterizer/Heimdall/

    Please correct:
    - heimdall/source/BridgeManager.cpp

    56:
    Code:
    const DeviceIdentifier BridgeManager::supportedDevices[BridgeManager::kSupportedDeviceCount] = {
    DeviceIdentifier(BridgeManager::kVidSamsung, BridgeManager::kPidGalaxySDownloadMode)

    to:

    56:
    Code:
    const DeviceIdentifier BridgeManager::supportedDevices[BridgeManager::kSupportedDeviceCount] = {
    DeviceIdentifier(BridgeManager::kVidSamsung, BridgeManager::kPidGalaxyS2DownloadMode)

    OR:
    - heimdall/source/BridgeManager.h

    69:
    Code:
    kPidGalaxyS2DownloadMode	= 0x685D

    to:

    69:
    Code:
    kPidGalaxySDownloadMode	= 0x685D
    1
    Got it there is an error in the patch. I can't make a diff for you but it's easy to change in heimdall/source/BridgeManager.h change the enum section around line 67 like this:

    enum
    {
    kPidGalaxyS2DownloadMode = 0x685D,
    kPidGalaxySDownloadMode = 0x6601,
    kPidGalaxySInternational = 0x681C,
    kPidGalaxySNewInternational = 0x681D,
    kPidVibrantCanadaBell = 0x6877
    };
    1
    Official support is coming, details here.

    Any donations you can offer would be very much appreciated.
    1
    New Heimdall command line binaries are now available, let me know how you go.