[MOD] I9100 ROM Hellraiser for I777 (Alpha 0.3.1, 12/3/2011) [BUGS/DEV ONLY]

Entropy512

Senior Recognized Developer
Aug 31, 2007
14,095
25,085
0
Owego, NY
This thread is now for bug reports/development only. Do not post in this thread any more until you have fully read the first four posts of this thread, and the first two posts of the Q&A Thread. If you post in this thread and it is clear that you have not read the posts indicated above, your post will be reported. For other discussion and "Is this a bug?" type questions, go to the Q&A Thread

Heeeeere we go! As LinuxBozo, one of the most talented developers in the Infuse community said, "Welcome to a new and sick, twisted world!"

Over in the Infuse community, we had an oddball device that had little in common with anything else. As a result, it was not easy to port ROMs from the I9000/Captivate. However, after LOTS of work, LinuxBozo pulled it off and came up with an automatic porting package that could get most I9000/Captivate ROMs running on the Infuse. As a result, it opened the Infuse community up to a massive variety of ROMs.

For the month since the I777 came out, people keep asking about I9100 ROMs. In general, the answer has been, "It should be possible, but no one other than designgears has done it yet." - I didn't have the time as I had too much kernel work to do. However, as the kernel is at a fairly mature and stable state, when someone asked for SensatioN to be ported, I figured it was time for a challenge.

I was successful, but encountered a few glitches. Tethering was broken, fortunately the Infuse community had the same issue and the same fix worked. Mic in calls was broken, just like CM7 - I finally got atinm's list of the blobs to swap out. As a result, nearly all of the challenges in porting an I9100 ROM to the I777 have been identified.

This is a package that should automatically port most I9100 ROMs to the I777. It has been tested by myself as follows:
  • SensatioN 1.8 by Crysis21 has been manually "Hellraised", and was the basis on which this package was developed. Do note that the author of this ROM tends to be unresponsive to porters. I asked for permission to release a ported ROM but never heard back.
  • VillainROM 3.0 was the first ROM to be tested with the attached package - it seems to work, if there are any problems, it is likely because I missed something in the permissions settings of the updater script. - Also, I have tested JKay's Deluxe Themes on VillainROM successfully - his thread is at http://forum.xda-developers.com/showthread.php?t=1154278 - You need to use the XXKI3 theme packages.
In general, XXKI3-based ROMs work. XXKI4-based ROMs may have issues with WiFi (see Known Issues below). I am working on compiling a more complete list in the Q&A Thread.

Please don't report bugs with ROMs to the upstream author of the ROM in the event that the bug was caused by Hellraising - unfortunately, it is going to be very difficult to identify when Hellraising caused a bug and when the ROM itself has a bug.

Instructions for the package:
  1. Download an I9100 ROM to be Hellraised - must be CWM-flashable Gingerbread (ICS will NOT happen until after kernel source code becomes available, and if you spam me with 10000 "did you see this" links when it does I'll just go watch some TV. You have been warned.), and must be Samsung-derived (not CM7/MIUI/AOSP-based), ROMs distributed as Odin .tar files like Litening won't work. (I've tried...)
  2. Download the package above
  3. Unzip the ROM, check to make sure it does not have bootloaders. If it has Sbl.bin or param.lfs in it, RUN AWAY. No ROM developer should EVER include a bootloader without explicit warnings of this, if a ROM includes a bootloader it's a sign that it'll be **** in almost all cases. Similarly, param.lfs corruption can lead to a device that won't boot and I believe it can even break download mode. ROMs shouldn't be messing with this either without warning users.
  4. Once you've done your safety check, put the ROM zip and the Hellraiser zip onto your SD card
  5. Enter CWM
  6. You should probably do a Nandroid backup here...
  7. Wipe Data/Factory Reset - Some ROMs write apps to /data and you'll lose these if you wipe afterwards
  8. Flash the ROM, DO NOT REBOOT, STAY IN CWM
  9. Flash the Hellraiser package
  10. Reboot and enjoy!

Known issues:
  1. NFC files are included, but enabling NFC requires smali modifications to Settings.apk on some ROMs. (Starting to look like this is only for I777 stock-derived ROMs - VillainROM doesn't actually need any smali.)
  2. Touching an NFC tag containing NDEF data will cause the NFC service to crash due to being unable to obtain STOP_APP_SWITCH permissions
  3. Wifi tethering settings are not persistent and keep resetting themselves (At least on SensatioN and VillainROM) - Workaround for now: Enable tethering, THEN set the SSID and password, OR see http://forum.xda-developers.com/showthread.php?t=1335377&page=24
  4. When initially setting up the ROM, it claims that network time is not available, and takes you to Settings - where you can check it to enable it and it works fine... Infuse Hellraiser had the same issue. Happens only once per flash so it's a very low priority.
  5. When flashing other ROMs that do device compatibility checks (such as CM7), they will think you have an I9100 instead of I777. You need to flash an I777 ROM first.

Download links have been moved to the ChangeLog post (Post #2 below)!
 
Last edited:

Entropy512

Senior Recognized Developer
Aug 31, 2007
14,095
25,085
0
Owego, NY
Alpha 0.3.1 Release, 12/3/2011:
Download: http://www.multiupload.com/NUV8KDF9OZ or http://dev-host.org/4up if MultiUpload never comes back
Changes:
Only one - actually include Daily Driver 12/1/2011. People who flashed 0.3.0 only need to reflash Daily Driver from my kernel thread, no need for a full flash of Hellraiser.

Alpha 0.3.0 Release, 12/1/2011:
Download: PULLED, BAD RELEASE: Use 0.3.1 instead. If you already flashed 0.3.0, flash the 12/1 release of Daily Driver
Changes:
  • Update to some random kernel pulled from the wrong location on my hard drive
  • Overwrite /system/etc/apns-conf.xml with a "known good" one
  • Overwrite the CSC with a "known good" one
  • Home button haptic fix, courtesy of LinuxBozo of Infuse Hellraiser. Thanks to amtrakcn for pointing out that LinuxBozo's fix works on our device

Alpha 0.2.2 Release, 11/10/2011:
Download: http://www.multiupload.com/C1W5S6XW0R
Changes: Update to Daily Driver 11/10/2011 kernel (disables autoroot which broke root for a bunch of people), tiny installer script cleanups.
  • If root is working well for you, it is not worth flashing this
  • If root is broken for you, I recommend installing Daily Driver 11/10 and flashing ChainsDD's latest su package (linked from the DD thread's first post now). If you flash this it will remain broken, this only fixes new installs

Alpha 0.2.1 Release, 11/08/2011:
Download http://www.multiupload.com/ORQESFHVBT
Changes: Only one, replace Nfc.apk with the correct one. Fixes NFC service force closes.

Alpha 0.2 Release, 11/07/2011:
Download - PULLED due to excessive fail. Use 0.2.1 instead!
Changes:
  1. Should now flash without the mount workaround trick after ROMs that unmount /system
  2. Added NFC files from the I777 and one permissions XML - These combined with a small mod to Settings.apk will allow NFC to work. Will post details for ROM devs on making these mods soon. NOTE: Right now this only supports reading tags! Google Wallet support requires a LOT more work, if even possible! (Edit: I'm fairly certain it'll only be possible in CM7 - but I think I also know what's needed for the CM7 guys to get the rest of the way there.

Initial release, 11/06/2011:
Version - Alpha 0.1
Download - http://www.multiupload.com/9RJKKSBFZ0
 
Last edited:

Entropy512

Senior Recognized Developer
Aug 31, 2007
14,095
25,085
0
Owego, NY
How it works

Here's the details of how this package works.

1) This package replaces the modem with a known good I777 modem
2) It also replaces the kernel with an I777 kernel (Right now, Daily Driver 11/03 release) - This is half of the keymap fix. Also, DD 11/3 contains a fix that allows wifi tethering to work on both I777-derived ROMs and I9100-derived ROMs
3) It replaces two of the keymap files in /system/usr/keylayout/ - see http://forum.xda-developers.com/showthread.php?t=1313050&page=56 for details - thanks to MikeyMike01 and Dungeon47 for this one
4) It replaces most of the audio library files to fix the issue with outgoing mic audio in calls - this is the same fix used by Cyanogenmod 7 - see https://github.com/koush/proprietar...12f711197665edeb28522386a77a62da24bab#diff-28 for details, thank atinm for this one
 
Last edited:

Entropy512

Senior Recognized Developer
Aug 31, 2007
14,095
25,085
0
Owego, NY
Attached:

  1. Hacked settings APK for VillainROM 3.0 - This, along with Alpha 0.2.1, should allow you to turn on NFC. May work on other XXKI3-based ROMs

For ROM Authors:
To get NFC to show in Settings, baksmali the Settings APK and open WirelessSettings.smali
Look for the line below:
Code:
invoke-static {p0}, Landroid/nfc/NfcAdapter;->getDefaultAdapter(Landroid/content/Context;)Landroid/nfc/NfcAdapter;
Delete the next two instances of lines that contain the word removePreference

NFC should then show in Wireless settings
 

Attachments

Last edited:

jgrimberg1979

Senior Member
May 16, 2010
981
211
0
D.C
Entropy

What about Roms that have a different version of cwm recovery, for ex some of them have 4.x cmwr. Does your kernal that you including relash cwr 5.x?

Sent from my SAMSUNG-SGH-I777 using xda premium
 

jgrimberg1979

Senior Member
May 16, 2010
981
211
0
D.C
CWM is in the kernel, and this replaces the kernel.
Awesome, what would be some of the reason why this would not work with some roms, since the package addresses most of the differences between the two phones? Is there something we should look for besides bootloader, that may stick out as a possible incompatibility?

Sent from my SAMSUNG-SGH-I777 using xda premium
 

Entropy512

Senior Recognized Developer
Aug 31, 2007
14,095
25,085
0
Owego, NY
Awesome, what would be some of the reason why this would not work with some roms, since the package addresses most of the differences between the two phones? Is there something we should look for besides bootloader, that may stick out as a possible incompatibility?

Sent from my SAMSUNG-SGH-I777 using xda premium
Unsure yet - most likely any remaining issues will be common.

The one thing might be if the ROM has a special unusual kernel dependency. I'm not too far from Ninphetamine, but there might be some wacky kernels out there that have wacky ROMs paired with them. Such ROMs would even have problems with other I9100 kernels on the I9100.

I don't expect anything to be blatantly obvious at this point... My biggest worry is that I botched the permissions in the updater script. :)
 
  • Like
Reactions: mi9xer

jivy26

Inactive Recognized Developer
Aug 7, 2010
1,824
1,115
0
Virginia Beach, Va
Unsure yet - most likely any remaining issues will be common.

The one thing might be if the ROM has a special unusual kernel dependency. I'm not too far from Ninphetamine, but there might be some wacky kernels out there that have wacky ROMs paired with them. Such ROMs would even have problems with other I9100 kernels on the I9100.

I don't expect anything to be blatantly obvious at this point... My biggest worry is that I botched the permissions in the updater script. :)
Home button is not working. I've went and flashed sensation twice, following your steps of course. Did you have the same issue?

Sent from my SAMSUNG-SGH-I777 using xda premium
 

craigbailey1986

Senior Member
Apr 13, 2010
1,916
298
0
Conley
Unsure yet - most likely any remaining issues will be common.

The one thing might be if the ROM has a special unusual kernel dependency. I'm not too far from Ninphetamine, but there might be some wacky kernels out there that have wacky ROMs paired with them. Such ROMs would even have problems with other I9100 kernels on the I9100.

I don't expect anything to be blatantly obvious at this point... My biggest worry is that I botched the permissions in the updater script. :)
Still not workin

Edit; to clarify audio issue on the sensation rom is still there

Sent from my GT-I9100 using xda premium
 
Last edited:
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone