Jump to content

CyanogenMod for HTC Hero (GSM) v1.0 (now with online kitchen)


Guest jnwhiteh

Recommended Posts

Guest jnwhiteh

This ROM is looking for someone to take over as it's maintainer. I have had to step away from Android development (and have sold my Hero) for personal reasons. Please let me know if you're interested in maintaining this ROM, I can provide you with everything I use to build it.

Hey everyone. I wanted to post here and let you all know that sometime this weekend I will be selling my HTC Hero and won't be continuing any active development of this ROM. It was a very difficult decision for me to make, but I'm currently in the middle of dealing with some medical issues, including pending surgery. This, combined with everything else, made me realize that I need to spend less time doing Android development and more time taking care of the other responsibilities that I have. As a result, I'm selling my Hero and I've purchased a Nexus One, a phone that I know will continue to be supported by the community and Google combined. Although I'm sure I'll still have the urge to hack at the phone, I'm not even planning on rooting or oem unlocking it at the moment.

Luckily for any of you that are using this thread, nothing has to change. All of my code is available, and I will continue to be around to help with any major build issues. I will be posting 100% complete directions about how to build 'CyanogenMod-Hero' for anyone that wants to. If you're interested in taking over the project as the leader build contact, let me know and I'll make sure that things get transferred over to you.

Thanks to everyone for your support and kind feedback over the past few months, it's really been a blast-- but real life calls.

- Jim

jnwhiteh is proud to present CyanogenMod for HTC Hero (GSM). This is an AOSP-derived ROM that is synced with the sources that Cyanogen maintains for eclair devices, including the Nexus One. This means you get the most up-to-date code with all of the new features and bugfixes. It also gives me the opportunity to contribute any fixes or issues back to Cyanogen. This ROM is built using the community vendor tree layered on top of Cyanogen's Android manifest.

This ROM is only a build of Cyanogen's sources for HTC Hero and I take no credit for any of this work. If you are considering donating any money for this fantastic ROM, please do so at http://www.cyanogenmod.com/. Please come to me with any support issues, and I'll do what I can to get things resolved. Please let me repeat that. Do not go to Cyanogen for support for this ROM. Report your issues here and if there are larger issues that need to be addressed in the CM code, I will report them. Cyanogen deserves your donations for the work he's done, but first level support should be done through me.. since he does not officially support the HTC Hero, lacking one of his own.

What works:

  • Making phone calls
  • 3G and 2G data
  • HSDPA indicator
  • Wifi
  • Network location (cell-only, and wifi)
  • Trackball, including lighting
  • Accelerometer
  • LED indicator
  • GPS and AGPS
  • Bluetooth file transfer
  • Live wallpapers from Market
  • Full market access
  • Camera at 2 megapixel resolution
    • A2DP - Bluetooth audio during phone calls
    • Camera at 5 megapixel resolution
      • This ROM does not contain the new 3-D Launcher2.apk. The way it's developed uses quite a lot of video RAM, and that combined with normal activity can cause our devices to soft reboot with out-of-memory errors. Until we can design something that functions in a similar way, we will be using the older version of the Launcher.
      • There is currently an issue with Gallery3D where it does not render properly once the screen has been rotated. It works in either landscape or portrait, but gets 'messed up' when the screen is rotated. We have not identified the source of this issue but will continue to pursue it.
      • The 'zipalign' code does not always seem to do the right thing and as a result launching an application following a cache wipe may take two opens of the application. I'm currently looking into this.
      • This ROM does not contain any of the kernel customisations that are present in the CyanogenMod versions for Dream/G1/Nexus. This is because we do not currently have the required kernel sources (or we haven't quite figured it all out yet). So no, this does not have BFS enabled.
      • The graphics on some applications (Market in particular) aren't specifically designed for mdpi-resolution devices. This includes the keyboard that includes voice search.
      • Two keyboard appear under the input methods menu. This is not an issue, but there are two keyboards included, one that includes voice transcription and the stock keyboard. Choose whichever one you'd like.
      • Some of the stock live wallpapers do not work properly, likely due to issues with video RAM and the renderscript library. I would suggest you use wallpapers from the market, simply search for 'live wallpapers'
      • This ROM does not provide Facebook contacts synchronization supported natively. There are several applications you can download from the Market that can provide this functionality.
      • The headphone icon does not appear in the notification bar when headphones are connected.

      Instructions

      [*]If this is your first time downloading this ROM, you must wipe data and cache. I will not support you if you do not wipe data and cache before installing the first version of this ROM. If you are installing v-1.0, your data and cache will automatically be wiped, so ensure you have a backup of your data.

      [*]Download the latest version of CyanogenMod-Hero from this post and save it to your SD card

      [*]Download the latest version of GoogleBits for CyanogenMod-Hero and save it to your SD card

      [*]Reboot your device into recovery mode

      [*]If this is your first time installing CM-Hero, wipe data and cache.

      [*]Flash the CyanogenMod-Hero zip file to your device

      [*]Flash the GoogleBits zip file on top

      [*]Reboot your device

      After your device has booted, you may want to wait a minute or two for last minute initialisation to happen. The biggest cause of 'lag' and 'slowness' is not waiting on first boot after flash. Do yourself a favour and give the device a chance to boot up fully, even if it is already showing the lock screen.

      Downloads

      [*]cm-hero-v1.0.zip (MD5: bc4d3ab896df6b90622ed368dc0e89bf)

      [*]googlebits-for-cm-hero-v1.0.zip (mirrors: Rapidshare, MegaUpload, DepositFiles)

      [Edit by Paul: An online kitchen for this ROM is now available in post 4 of this topic.]

      Benchmarks

      NeoCore w/ sound: 24.3 FPS

      Linpack: 2.32 Mflops/s

      If you are using this ROM in the United States, you may want to make the following changes to your build.prop from:

    ro.com.android.dateformat=dd-MM-yyyy
    
    ro.com.android.dataroaming=true
    
    ro.ril.hsxpa=2
    
    ro.ril.gprsclass=12
    to:
    ro.com.android.dateformat=MM-dd-yyyy
    
    ro.com.android.dataroaming=true
    
    ro.ril.hsxpa=1
    
    ro.ril.gprsclass=10

    What do they change? I have no idea (other than the obvious ones) but you may find they affect the battery life or data quality on your phone.

    post-601056-1265315995_thumb.png

    post-601056-1265316000_thumb.png

    post-601056-1265320417_thumb.png

Edited by jnwhiteh
Link to comment
Share on other sites

Guest jnwhiteh

Changelog:

cm-hero-next-version:

  * Added APNs for Telenor DK


cm-hero-v1.0:

  * Initial release

  * H icon shows when you are on HSDPA

  * Automatic brightness option is supported

  * Multi-touch in browser and gallery applications

Edited by jnwhiteh
Link to comment
Share on other sites

Guest jnwhiteh

The Android Open Source Project (AOSP) is a public repository of Android code. There is also a private repository of Android code kept between Google and the carriers/manufacturer's that are given access to it. The private repository contains the latest versions of the code, including development versions. That means there is an Eclair branch that contains bugfixes that aren't in the AOSP repository. There is also a FroYo (the next Android version) branch that is currently under development.

Because AOSP is also a community project, patches are accepted from non-Google developers. This includes a number of fixes by Cyanogen and other developers. Sometimes these are minor (like a tweak to the build system), and sometimes they are something major (like the GPS/911 issue that just happened with Rogers in Canada, that had already been submitted as a patch to AOSP for quite some time).

The challenge lies in keeping the code that you compile up to date. For us, that means watching the AOSP repositories, watching the source code review system (Gerrit) to pull in patches as they become available, but haven't been committed to the repository yet. For some time, I've been working to keep my build repository up to date with those patches, but I've just about given up. There is too much activity, and more importantly, there are already people who are doing that work.. better than I can. Cyanogen constantly updates his repositories to have the latest patches. It's so much easier for me as a developer to just synchronize with his sources, and use his repositories to build Eclair for the Hero.

So what's different? The boot screen is different, it's the CyanogenMod boot animation. The wallpaper by default is the same as CyanogenMod. I could change it, but I'm not quite sure why I'd bother. The launcher has the 2.0.1 graphics and is 4x5 instead of 4x4. The home screen and launcher also rotate with screen orientation, but this is a feature that can be disabled in Spare Parts. It has options to enable USB tethering, and compcache (even if those features are not enabled). It also has an option in the power button menu to reboot the device, rather than shutdown.

So what are the benefits? I don't have to do as much work. We get all of Cyanogen's knowledge, and I can direct you to donate to HIM.. since he's where all of this is coming from. Additionally, if I'm able to fix any issues, I can submit those as patches to Cyanogen's sources.

Building CyanogenMod-Hero

  1. Setup your build environment (http://source.android.com/download), although you don't need to repo init or repo sync yet
  2. Make a new build directory
  3. repo init repo init -u git://github.com/cyanogen/android.git -b eclair
  4. Create and edit .repo/local_manifest.xml to include the following:

    <?xml version="1.0" encoding="UTF-8"?>
    
    
    <manifest>
    
    	<!-- CHANGES REQUIRED TO USE COMMUNITY REPO -->
    
    
    	<!-- Get rid of the qualcomm repos -->
    
    	<remove-project name="platform/vendor/qcom/android-open" />
    
    	<remove-project name="platform/vendor/qcom/proprietary-open" />
    
    
    	<project path="vendor/community" name="loxK/android_vendor_community" remote="github" revision="eclair-cyanogen" />
    
    </manifest>
  5. repo sync
  6. Download the latest cm-hero listed in this post and place it in your build root
  7. pushd vendor/community/hero
  8. ./unzip-files.sh <name of the cm-hero rom you downloaded>
  9. popd then pushd build/tools/releasetools
  10. Manually make the changes indicated in the patch below, to ota_from_target_files
  11. popd
  12. . build/envsetup.sh
  13. lunch community_hero_eu-eng
  14. make
In the future all you need to do is the last three steps in order to build. This may work, it may not, it all depends on the state of the CM tree, but that's all you need to do.
diff --git a/tools/releasetools/ota_from_target_files b/tools/releasetools/ota_from_target_files

index f129da1..b35f15e 100755

--- a/tools/releasetools/ota_from_target_files

+++ b/tools/releasetools/ota_from_target_files

@@ -358,7 +358,7 @@ def WriteFullOTAPackage(input_zip, output_zip):


   script.FormatPartition("system")

   script.Mount("MTD", "system", "/system")

-  script.UnpackPackageDir("recovery", "/system")

+  #script.UnpackPackageDir("recovery", "/system")

   script.UnpackPackageDir("system", "/system")


   symlinks = CopySystemFiles(input_zip, output_zip)

@@ -366,9 +366,10 @@ def WriteFullOTAPackage(input_zip, output_zip):


   boot_img = File("boot.img", common.BuildBootableImage(

	   os.path.join(OPTIONS.input_tmp, "BOOT")))

-  recovery_img = File("recovery.img", common.BuildBootableImage(

-	  os.path.join(OPTIONS.input_tmp, "RECOVERY")))

-  i = MakeRecoveryPatch(output_zip, recovery_img, boot_img)

+  #recovery_img = File("recovery.img", common.BuildBootableImage(

+  #	os.path.join(OPTIONS.input_tmp, "RECOVERY")))

+  #i = MakeRecoveryPatch(output_zip, recovery_img, boot_img)

+  i = boot_img


   Item.GetMetadata()

Edited by jnwhiteh
Link to comment
Share on other sites

With jnwhiteh's kind permission, an online kitchen is now available for this ROM!

I will strive to update them kitchen whenever the ROM is updated, but it won't happen instantly, so take note of the version numbers below! Also, if you have issues with a ROM you have baked in the kitchen, please check whether you can replicate the issue in the standard ROM before seeking help!

Enjoy! ;)

P

Note: the online kitchen is currently only available to my MoDaCo premium members (those who have signed up to MoDaCo Ad Free or MoDaCo Plus) as it is not yet running on an infrastructure that can support a huge number of users. This will be the case for the foreseeable future as the kitchen system is developed.

Update: the online kitchen is now running on new dedicated hardware. Please bear with us as we tune performance and configuration and report any issues via PM!

http://kitchen.romraid.com/bake.php' method='post'>

CyanogenMod 1.0 by jnwhiteh for Hero online kitchen

This kitchen has already generated [kitchenstatisticsnew]1.0-cyanogenmod-kitchen[/kitchenstatisticsnew]

Click the options below to select what you would like in your ROM, then click the 'Bake' button at the bottom of the list. Yes, it really is that simple. :D

Core Required Files
Core Required Files
  • These are the files that form the core of the ROM and you must have!

Core Options
calculator.png
Calculator installed to /system partition
  • This option includes the Calculator application.
email.png
Email installed to /system partition
  • This option includes the Email application (for non-Gmail accounts).
livewallpapers.png
Live Wallpapers installed to /system partition
  • This option includes the Live Wallpapers core and individual wallpapers.
music.png
Music installed to /system partition
  • This option includes the Music application.
Sound Recorder installed to /system partition
  • This option includes the Sound Recorder application (Note: although the APK is installed correctly, the icon for this application does not seem to be appearing?)
voicedialer.png
Voice Dialer installed to /system partition
  • This option includes the Voice Dialer application.

    [*]This option includes the Voice Search application.

Google Bits for cm-hero 1.0 Options
facebook.png
Facebook installed to /system partition
  • This option includes the Facebook application.
goggles.png
Google Goggles installed to /data partition
  • This option includes the Google Googles application.
voice.png
Google Voice installed to /data partition
  • This option includes the Facebook application.
maps.png
Maps installed to /data partition
  • This option includes the Google Maps application.
newsandweather.png
News and Weather installed to /system partition
  • This option includes the News and Weather application and associated widget.

voicesearch.png
Voice Search installed to /system partition
youtube.png
YouTube installed to /system partition

[*]This option includes the YouTube application.

Third Party Applications
amazonmp3.png
Amazon MP3 installed to /data partition

[*]This option includes the Amazon MP3 application.

jbed.png
Jbed Java installed to /system partition

[*]This option includes the Jbed Java midlet launcher.

quickoffice.png
Quickoffice installed to /data partition

[*]This option includes version 1.0.1 of QuickOffice shipped with the device. Uncheck this if you use an alternative Office viewer (e.g. DocumentsToGo).

spareparts.png
Spare Parts installed to /system partition

[*]This option includes the Spare parts application.

titanium.png
Titanium Backup installed to /data partition

[*]This option includes Titanium Backup, which allows you to back up your applications and restore them WITH links to the Android Market in place. Click here for more details. Titanium Backup enhanced version is FREE to MoDaCo Plus members!

wavesecure.png
WaveSecure installed to /system partition

[*]This option includes the Wavesecure application detailed here.

wifistatus.png
WiFi status indicator installed to /system partition

[*]This option includes a notification icon to remind you when you have WiFi on but disconnected.

tether.png
WiFi tethering installed to /data partition

[*]This option includes the android-wifi-tether application detailed here.

                  Expert Options
                  Task killer adjustment installed to /system partition

                  [*]This options sets the internal task killer 'minfree' parameters to '1536,2048,4096,5120,15360,25600' (as discussed here. It is recommended you disable compcache if using this option. These values can be edited in /system/init.d/teknologist.sh.

                    Click the image below to a ROM update zip tailored to your choices..

                    The online kitchen implements a queueing system which means your cooking time varies depending on the sever load. Please be patient! :(

Link to comment
Share on other sites

Guest Blackfish
dont forget to count google bits

Oh i have never seen a ROM with Googlebits before :-/ Just install(apply Zip file) them after the ROM?

Edited by Blackfish
Link to comment
Share on other sites

Guest jnwhiteh
Oh i have never seen a ROM with Googlebits before :-/ Just install(apply Zip file) them after the ROM?

The instructions cover this.

jnwhiteh, is this the official release of your most recent Beta ROM?

.....and is the googlebits the same as the 1.9version?

thanks

Yes it is. No, the bits contain the new Maps application which includes multi-touch.

Edited by jnwhiteh
Link to comment
Share on other sites

Guest jnwhiteh
Any chance of seeing a Sprint HTC Hero version?

The CDMA guys would know more than I would, but the vendor tree I'm using is online and I can give them absolutely everything I have to make it work. I'd love to get them on board, if someone from that community wants to contact me.

Link to comment
Share on other sites

Guest Blackfish
What doesn't work

A2DP - Bluetooth audio during phone calls

Camera at 5 megapixel resolution

I am running the camera app with 5 MP right now...why does it work?

Link to comment
Share on other sites

Guest jnwhiteh
I am running the camera app with 5 MP right now...why does it work?

If you take a picture, you'll almost certainly find that the cameraservice freezes and you'll need to restart your device to make it work. If you use 3MP, it will work maybe once or twice, and then will force-close.

Link to comment
Share on other sites

I am just wondering, when i add Facebook account in (accounts and sync settings) there is something special that i have to do? i clicked add accounted selected facebook, successfully logged in, den pressed back button to get back into accounts and sync settings menu, but Facebook account is not shown, and i cant add it again it always jumps back to the accounts menu

Link to comment
Share on other sites

Guest jnwhiteh
I am just wondering, when i add Facebook account in (accounts and sync settings) there is something special that i have to do? i clicked add accounted selected facebook, successfully logged in, den pressed back button to get back into accounts and sync settings menu, but Facebook account is not shown, and i cant add it again it always jumps back to the accounts menu

No, due to some issue, that 'add account' button just opens the facebook authentication intent. It never adds it as a sync adapter, so it's not treated the same as other sync feeds, like it has in some of the other ROMs.

wicked, well done and excellent work

looks like this is a keeper for me in the 30 mins i been using it.

and now I finally have bluetooth file transfer

Test it and make sure it works for.. I had issues testing it.

Link to comment
Share on other sites

Guest Blackfish

Very nice work...but unstable...and why has Android 2.1 so heavy laggs on while switching to another homescreen? Finally back @ MoDaCo 3.1 without HTC Sense...but still great work...i will try it again in a few weeks...

Link to comment
Share on other sites

No, due to some issue, that 'add account' button just opens the facebook authentication intent. It never adds it as a sync adapter, so it's not treated the same as other sync feeds, like it has in some of the other ROMs.

Test it and make sure it works for.. I had issues testing it.

Bluetooth tested and working with Nokia E71 the only possible issue is that i couldn't initiate a pairing with the e71 from the hero kept bombing out when entering the pass code to use, but could initiate the other way round so now paired, also works both ways adhoc, sending through share function in gallery. I'll continue to use it and see if I notice any more issues.

Cheers

Link to comment
Share on other sites

Guest jnwhiteh
Very nice work...but unstable...and why has Android 2.1 so heavy laggs on while switching to another homescreen? Finally back @ MoDaCo 3.1 without HTC Sense...but still great work...i will try it again in a few weeks...

*sigh* I'm not picking on you in particular, but this is the perfect example of how now to provide feedback.

1. Why is it unstable? I have had absolutely 0 issues running this for a week.

2. Android 2.1 does NOT have lag when switching between home screens.

3. Nothing is going to have changed in a few weeks, because nothing is currently wrong.

What's unstable? Did you read the first post where I make it INCREDIBLY clear not to use the ROM until it's fully initialised? Please provide some real information, so I can actually do something.

Bluetooth tested and working with Nokia E71 the only possible issue is that i couldn't initiate a pairing with the e71 from the hero kept bombing out when entering the pass code to use, but could initiate the other way round so now paired, also works both ways adhoc, sending through share function in gallery. I'll continue to use it and see if I notice any more issues.

Thanks for reporting back!

Link to comment
Share on other sites

Guest linusmasser

Nice work!

One question though. I'm currently running beta 2 of the CyanogenMod that you posted in your 2.1 AOSP thread. Do I need to wipe?

Thanks again

//Linus

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.