[Samsung Galaxy 5 I5500] psyke83:
PLEASE NOTE: This topic is outdated. I am not maintaining the 7.0.x port - please upgrade to the latest 7.1 version here. Mods, please lock this thread.

Cyanogen 7.0.3 (Android 2.3.3)

Current version: galaxy5-v3.41 - 4/June/2011

Video Reviews: Russian, Brazilian Portuguese 1, 2, 3 (thanks to the uploaders)

Threads: XDA

Hey folks,

This is a port of Cyanogen 7.0.3 (based on the stable Android Gingerbread 2.3.3 release) for the Samsung Galaxy 5 I5500 (Europa) phone. The current port status is beta - most functions work, but it may not be suitable for everyday use, unless you can live without the missing features (see errata below). If you have programming experience, any assistance in resolving the remaining issues will be much appreciated. See the working features and "errata" listed below for more information.

Special thanks to Motafoca for starting Cyanogen development, and for his constant assistance.

WARNING!

* READ THE ERRATA BEFORE ASKING QUESTIONS OR USING THIS ROM. The most important entries are written in red.

* If you fail to read the errata (and ask silly questions that are already answered), I will personally find out where you live and hunt you down.

* This is beta-quality software, and some functions are still not available compared to the Froyo builds!

Instructions:

1. Download the latest release, and extract the .tar file from the .7z/.rar archive (using WinRAR or 7zip).

2. Flash .tar file in Odin with One Package option - do NOT select any other options (such as debug).

3a. If upgrading from Eclair or Froyo (any version), you must data-wipe.

3b. If you are upgrading from an older Cyanogen version, read the changelog for the newest release if you need to data wipe.

3c. If you are flashing a hotfix, you must flash it after flashing the full release. Data wiping is not necessary for hotfixes.

4. When the Google Setup Wizard appears, I recommend that you leave the phone idle for a minute or so. Applications are still installing in the background, and completing the wizard early may cause some icons (such as Market) to go missing. If you were impatient, and some icons are missing, install Titanium Backup and use the "unfreeze" feature.

5. Optional: during Google account setup, you may want to disable the backup feature of Google Apps. Some users have reported that it causes lag (which will be investigated).

6. Optional, but highly recommended. Upgrade your baseband to the version recommended for your region. This is explained in the next section.

Baseband

The baseband (also known as the MODEM/AMSS) deals with telephony, mobile networking (3G/GPRS) and GPS. Unlike Froyo, Cyanogen is sensitive to the baseband version you have installed, and some functions do not work properly (most notably GPS) when using older basebands. For that reason, I recommended that you upgrade your baseband to the latest version when using Cyanogen. Follow the steps below:

1. Make sure you have a working backup of your phone's official AMSS (in case you have problems). There is no way to backup the AMSS from a running phone, so you must have a full copy of an official ROM. You really should have a backup of your official ROM, as you will need to flash it before sending the phone for warranty repair (for whatever reason). Refer to this guide for more details on how to acquire a backup of your official ROM: http://androidforums.com/samsung-galaxy-europa-5/321656-manual-device-cant-updated-workaround.html

2. Go to Settings -> About phone -> Baseband version. If your baseband version is already the same version as you intend to flash (in step 3a or 3b), then stop here. You don't need to do anything else.

3a. For Europeans, download the I5500XWJP4 baseband.

bb. For the Americas and & rest of the world, download the I5500LUYJPE baseband.

4. When you have downloaded the appropriate baseband for your region (and you are sure that it needs to be upgraded), simply flash the .tar file in Odin with the One Package option. Data-wiping is not necessary.

5. Once your baseband is flashed and your phone has rebooted, go to Settings -> About phone -> Baseband version, and verify that it is now the correct version.

6. Note: you only need to flash the baseband once. Flashing Cyanogen itself will not change the baseband. If you flash an official Froyo ROM that was downloaded from Kies or SamFirmware, your baseband will be changed to the version that was included in the ROM package.

Release list/changelog:

* v3.41 - includes v3.4+hotfix2 changes; improved default kernel settings for stability and performance (tested by ghusdark, reported to fully solve wakeup problems); tweaked cache settings; added mpeg4 to list of working codecs (but the rest are still not working). Data-wipe will not be necessary, but you should disable app2sd before upgrading if you are using a release older than 3.4hotfix2.

* v3.4 + hotfix2 - 2/June/2011 - removed old patches from kernel (were causing system instability, such as framework restarts when first connecting to wifi or batch restoring apps in Titanium Backup); updated kernel source against I5503 2.2.1 source code; removed Titanium Backup from default install (as it was conflicting with the Pro/Donate version); fixed audio issues such as headphones not being detected during call / microphone not working during speakerphone call; fixed issue where Market cannot download large apps; FM Radio app will be installed (despite it still not working) in case people want to try and make it work somehow. Hotfix2 enhances app2sd. It now keeps /data/data in the phone's internal storage, which prevents lag and slow download speeds. You must use ADB to enable/disable app2sd, and if you already have app2sd active, you must data-wipe after installing hotfix2 (even if you installed the previous hotfix1).

* v3.31 - 31/May/2011 - improved Bluetooth reliability (now less likely to fail during initialization). Data-wipe is highly recommended if you are upgrading from 3.2 or lower. You can skip this version if you don't care about Bluetooth.

* v3.3 - 31/May/2011 - fixed bug where phone would not wake from sleep; fixed reboot when disabling Bluetooth; changed wifi sleep policy back to defaults; fixed wifi reconnection problem when waking from sleep; converted system filesystem to EXT4; removed galaxy5_defaults script (it was causing Market and some other icons to sometimes disappear); removed need for 1 minute freeze & bootloop on every flash; added more preloaded apps: Street View for Google Maps, Blade Wifi Fix, Titanium Backup. A data-wipe is highly recommended for this version.

* v3.2 - 30/May/2011 - fixed wrong microphone problem (again); enabled H264 codec (DIVX and MP4 videos don't work yet, but HQ Youtube video now works); improved galaxy5_defaults script (will no longer cause Market or other icons to disappear after data-wipe); preloaded more apps (Gmail, Youtube, Maps & AdFree Android); changed readahead values (to help prevent lag, especially for app2sd users); now uses Froyo 2.2.1 (JPE) proprietary files; changed kernel config (potential fix for phone not waking from standby - please test). Data-wipe is not necessary but recommended if you have problems.

* v3.1 - 28/May/2011 - decreased Davlik VM size to 16m, set proper minimum CPU frequency/CPU scheduler settings (to hopefully fix unresponsive phone when left overnight); reduced audio latency (fixes ringtones). This version is highly recommended. Data-wipe not necessary if upgrading from 2.992+, but recommended.

* v3.0 - 28/May/2011 - removed "test" from build name. Fixed touchscreen sensitivity (regressed in 2.994). Increased audio driver latency (fixes audio lag - games will now run 100% smooth). Fixed one other bug, not worth mentioning [edit: it was the reboot on first incoming call bug :P]... So tired. Gotta sleep.

* test2.994 + hotfix1 - 27/May/2011 - script fixes/enhancements: 1) get_macaddrs - no longer blocks the system_server on each boot; 2) galaxy5_defaults - runs more efficiently (which means that first boot after a flash will not be delayed as much); 3) madteam_app2sd - several fixes, including a more efficient transfer procedure, and will now set the writeback journalling flag for partitions properly; 4) 04galaxy5 - readahead speed tweaks are now different between STL and MMC devices. Slightly modified microphone fix in libaudio so that it initializes the microphone only when an input device is requested (to hopefully prevent some audio lag). Recompiled entire framework with different TARGET_CPU_ABI (was armeabi-v6l, now armeabi - this appears to reduce system lagging). Removed (currently useless) FM app + some orphaned .odex files. Tweaked keyboard size. Tweaked ADWLauncher to reduce battery usage and help avoid accidental widget removal. Summary: several bug + lag fixes = better performance and reliability. Update to this version is recommended. Data-wipe not necessary, but recommended. Hotfix1 (thanks to Motafoca/npmap) includes a new kernel with several patches to EXT4, bugfixes and a new Simple IO scheduler (optimized for flash devices).

* test2.993fix4 - 25/May/2011 - completely fixed reboot hangs (when turning off or rebooting phone); potentially fixed VPN support; tweaked touchscreen (should be more responsive at edges - please test); fixed various boot loop problems related to app2sd; fixed lockscreen widget (no longer obscures caller); reduced keyboard size; added Live Wallpapers; added USB tether option (not yet working); improved app2sd/caching to fix lag issue; updated kernel (new performance tweaks + TUN module added for VPN support). Data wipe is required if upgrading from 2.991 or older. If you have enabled app2sd in version 2.992, please see errata step 2d.

* test2.992 - 22/May/2011 - now based on Cyanogen 7.0.3 (stable version based on Android 2.3.3 - hopefully less bugs for us!). Fixed problem with missing Market icon; improved delay during first boot; upgraded audio driver (slightly less lag); added swap support / new app2sd implementation (see errata). Data wipe is required in all cases.

* test2.991fixed - 16/May/2011 - fixed Bluetooth & WiFi MAC on first boot, improved scripts so that data wipe should no longer be necessary when upgrading between Cyanogen versions; fixed WiFi disconnection problem; partially fixed the problem of the lockscreen hiding the incoming caller's name; enhanced status bar icons (now uses: Wifi / Mobile Data / Bluetooth / Brightness / Sound / Orientation). This ROM should now be considered BETA quality. NOTE: There was a slight problem with a script, so I reuploaded the fixed version. You may need to re-download and flash again.

* test2.99 - 16/May/2011 - updated Cyanogen source; TELEPATHY NO LONGER REQUIRED -> for those who missed the joke, the microphone problems is fixed, so you don't need to practice telepathy with your friends while making calls :P

* test2.98 + test2.98 hotfix3- 15/May/2011 - updated Cyanogen source; tweaked settings to keep launcher in memory and allow purging of unused assets (this should greatly reduce lag and improve multitasking); more improvements to boot scripts; Bluetooth now uses proper MAC address (see errata); tweaked cache settings for disks; changed GPS libraries (it should now connect to satellites a bit faster). Hotfix3 fixes Bluetooth speed.

* test2.97 + 2.97 hotfix - 13/May/2011 - updated Cyanogen source; improved 2D performance; fixed slow WiFi connection on first boot; fixed WiFi tethering; fixed 3G/WiFi DNS (now uses DNS address from your APN/access point instead of forcing Google's DNS servers); added "Download" mode to list of reboot options (helpful for your once-a-day reflashing :P); reverted to stable Google Apps version (because newer version still has problems); improved boot scripts (cleaner + faster boot); updated kernel (the beginning of some performance tweaks). The hotfix will fix some sound-related lagging caused by a bad kernel configuration.

* test2.96 + 2.96 hotfix - 11/May/2011 / 12/May/2011 (hotfix) - updated Cyanogen source; fixed WiFi signal, mac address & slow DHCP resolution; improved boot scripts; phone will now power off/restart faster (and will also no longer crash during these periods); phone seems to stay cooler (possible battery savings?); moved download cache to data partition (so you can install large apps from the Market, such as Angry Birds Seasons).

* test2.95 - 06/May/2011 - updated Cyanogen source; improved boot scripts so that Bluetooth is initialized properly; updated Google Apps (Talk should be voice-enabled, but hasn't been tested)

* test2.94 - 06/May/2011 - now using open source lights library; fixed USB Mass Storage; fixed headphones; removed unnecessary Cyanogen statistics and update apps; tweaked cache settings

* test2.93 - 03/May/2011 - now based on lge_thunderg code; fixed camera & video recorder; Broke USB Mass Storage and headphones.

* test2.92 - 01/May/2011 - rebuilt against first Cyanogen 7.1.0 (Gingerbread 2.3.4_r1) code merges, fixed WiFi for new version of Gingerbread; Broke USB Mass Storage.

* test2.91 - 30/Apr/2011 - converted system to ext4 (more speed + stability), new kernel (improves performance), fixed regular headphones (thanks to Ronison & Motafoca for patch), fixed wifi disconnections (hopefully), added Google Setup Wizard (no longer crashes), removed RomManager (we can't use it yet), battery life improvements

* test2.9 - 28/Apr/2011 - fixed app crashes (Angry Birds/FPSE, etc.), fully rooted, Phone dialer now locks during call, Market can now sign into Google account, tweak to prevent possible bootlooping problem. Thanks to Motafoca for discovering the crashing problem!

* test2.8 - 27/Apr/2011 - fixed: USB Mass Storage, brightness controls, battery usage, misc telephony bugs, SD/internal drive access speed

* test2.7 - 25/Apr/2011 - fixed 3G, Bluetooth (partial), ADWLauncher scrolling speed (fixed permissions)

* test2.6 - 24/Apr/2011 - fixed lcd density (now 120); added low dpi resources to fix various graphical problems (such as lock widget, boot animation, overlapping widgets, badly sized icons); added FM Radio app (but hardware is not yet working).

* test2.5 - 23/Apr/2011 - first release.

Working:

* GPS [1]

* WiFi

* WiFi tethering

* 3G

* Brightness controls

* Video

* Audio (recording and playback)

* Touchscreen (no multitouch, don't ask because I'm not working on it)

* Root

* Camera (and video recorder)

* Microphone

* SIM Contacts

* MAD Team App2SD [2]

* Swap [3]

* Telephony

* Sensors [4]

Partially working:

* Bluetooth [5]

* SIM Toolkit

* Battery [6]

* Hardware encoders/decoders (H264/MP3 working, others not).

Not working/unknown:

* USB tethering - we need a newer kernel, or backported kernel patches.

* FM Radio

* Kies - note: you should never expect a custom rom to work with Kies - Cyanogen or otherwise. You can always downgrade to an official ROM to restore Kies compatibility.

Errata:

[1] GPS does not work with the newest Americas baseband ending in JP9. Check your version at Settings -> About phone -> Baseband. If you have the new baseband, you should downgrade to the JP2 baseband to get GPS (and possibly also 3G) working correctly. GPS is confirmed to work correctly on all European basebands (so far).

[2a] This rom uses a custom app2sd script that I wrote, called madteam_app2sd (based on Motafoca's idea). All folders are put on the SD card, but to prevent lag, the EXT4 partition on the SD card uses a separate journalling device (stl14, which is usually configured as the /cache drive). The phone's original /data partition (stl13) is then reconfigured as the new /cache drive. Additionally, all drives are configured to use EXT4 writeback journalling, which improves performance.

[2b] App2SD is disabled by default. To enable, run madteam_app2sd on from an ADB shell. When you run the command, your phone will freeze for a few minutes and then reboot.

[2c] Toggling app2sd on or off will *not* cause data-loss - all your data is transferred normally. The script also does a free-disk space check on the source/destination drives, and will refuse to change the configuration if there is not enough space available to complete the requested action.

[3] Swap is disabled by default. Run madteam_app2sd swapon or madteam_app2sd swapoff to enable/disable. Changes will be permanent (i.e., swap will be activated/deactivated on every reboot).

[4a] Although the sensors work fine, the sensor daemon is draining a lot of battery. With sensors enabled, the phone generates between 800-1000 wakeups per 15 seconds; for comparison, other phones do around 50-100 wakeups per 15 seconds with sensors enabled. More wakeups = more battery used, so this is not good.

[4b] With the sensors turned off, the phone does just 70-80 wakeups per 15 seconds. If you wish to conserve battery, therefore, you may wish to disable sensors whenever possible. The sensor toggle icon is the furthest on the right in the drop-down notification bar.

[4c] Thanks to testing by LoopMind, we now know that Froyo has the same problem with high wakeups as Gingerbread, so this is not a problem with my port.

[5] Bluetooth has two issues:

[5a] Sometimes Bluetooth will refuse to turn on. This is because of a timing conflict when trying to insert the patched firmware into memory. This problem happens with other Samsung phones, and currently the only known workaround is to reboot your phone and try again. You will have more success enabling Bluetooth if you try when there are no CPU hogging processes running in the background.

[5b] Bluetooth pairing works perfectly, but file transfers do not work properly. In my own testing between my phone and laptop (via a Bluetooth dongle), I noticed that file transfers will only work when the phone is set as discoverable, and the file transfer is initiated within the discoverable timeout.

[6] Battery usage is higher than Froyo. Although sensors are a large part of the problem, it is not the only cause. We are investigating.

Source:

Available here: https://github.com/p...samsung_galaxy5