Showing posts with label samsung galaxy s. Show all posts
Showing posts with label samsung galaxy s. Show all posts

Android: Upgrading Samsung i9000 to Gingerbread 2.3.6 (build XWJW6, baseband XWJW1) with root

<rant>Alright, I'll be honest. This whole Android flashing business is way more complicated than it should be.

WTF is with all these stupid build "numbers"!? They're not very comprehensible for the average person.</rant>

12-monkeys-crazy-2-o 
My reaction when reading a typical Android-hacker post from XDA

Anyways, I've tried to simplify this process down as much as possible.

Preliminaries

First off, some checking. You need to have the 3-button download/recovery mode fix working in case shit hits fan. It did for me and it'll definitely save your ass if it happens to you. If you decide to proceed without fixing this first, you're either very brave or very stupid.

To test it, turn your phone off. Hold Volume Down + Home + Power to turn it on. If you enter download mode, then you're good to go.

Make sure you've backed up what you need!

Installing the firmware

What you'll need is:

This is probably the easiest part of the process.

  • Extract the firmware
  • Run Odin (without the phone plugged in yet)
  • Select the PDA/Phone/CSC files accordingly
  • Put the phone into download mode
  • Connect via USB
  • When Odin's label turns yellow and assigns the phone a COM port, click Start.
  • Wait a few minutes while it performs the update.
  • It should restart by itself.

If Odin3 gets stuck on "SetupConnection", just make sure you plug the phone in quicker after starting up Odin. It's a bit fussy.

Rooting your phone

Initially I was going to write about it here, but it was getting too lengthy already and not everybody will need it.

I tried a few different root techniques but not all were stable or easy. I eventually found one that's super easy and stable, so if you're keen on rooting your phone, see this post.

Fix your APN's

Remember, the downside to flashing your phone is that you will lose some settings. This also includes stuff like settings for internet and MMS.

If you're an Aussie, you can get the settings from Ausdroid APN.

Sources

Android: Samsung Galaxy S i9000 3-button download/recovery mode fix

Man, I've been putting this one off for years. Not sure why it only affect some models, but a lot of phones left the factory with a faulty secondary bootloader (SBL).

Because of this, it won't recognise the Volume Down + Home + Power combo.

I had to filter through a LOT of jargon and version hunting for these steps.

Prerequisites

  • Removed SIM and SD cards.
  • Phone in USB debugging mode.
  • Without charging or USB connection, type *#0228# in the phone dialer and ensure that the "Voltage" is at least 3800 (mV).
  • Phone detected by computer.
  • Hex codes on your BML1 block (I won't lie, I have no idea what this means. Just check below for instructions)

Just a word of advice, DO THE CHECKS before applying this bootloader. Otherwise you'll brick it, no questions asked.

This is copy pasted from the thread, so please make sure your phone is compatible before fixing the SBL.

HOW-TO check if your mobile is compatible (Windows):
Step 1: Download the XVI32 Hex Editor
Step 2: Dump your BML1 block (rooted phone needed)

 

Open a new command prompt and type:
adb shell
su (a superuser request will be displayed on the phone screen, accept it).
dd if=/dev/block/bml1 of=/sdcard/bml1.dump

The dump will be copied to the root of the internal SD card.

Step 3: Open the bml1.dump file with XVI32.
Step 4: Search (in ASCII Mode) for OFNI.

If the block reads "!@" just follow the tutorial below starting with Step 1.
If it reads "x0" then STOP as this FiX will BRICK your phone if applied !!

Downloads

I really wanted to use Heimdall for this, but it just wouldn't let me.

  • Odin v1.7
  • I already had adb.exe from the Android SDK package. There are plenty of places to get this.
  • Modified SBL

Procedure

  • Open up a command prompt and navigate to adb.exe
  • Type "adb reboot download" to enter download mode
  • Run Odin
  • Wait for the "COM###" label to turn yellow
  • Click on the PDA button and select "P-SBL.tar.md5.tar"
  • Tick "Phone BootLoader update"
  • Tick "Autoreboot"
  • Tick "F.Reset Time"
  • Ensure the other options are NOT ticked.
  • Click start whenever you're ready

The whole process will only take a few seconds. You may need to reboot your phone manually.

Turn the phone off and test if download mode works (Volume Down + Home + Power).

Ensure that your phone still works! For me, it got stuck on the loading screen and refused to start up. Take out the battery and try it again.

If it doesn't work, you'll have to reflash your firmware. This doesn't break the bootloader though, so feel free to reflash.

Sources

Android: Gingerbread 2.3.6 root for Samsung Galaxy S i9000

SuperOneClick. That's all there is to it. No jibberish jargon, checking of build versions, phone models, etc. SO EASY!

There's more information about it here on XDA, but this program worked a charm on my phone where the other methods weren't so "clean".

Preparation

Make sure you've got:

  • Microsoft .NET Framework 2.0+ or Mono v1.2.6+
  • One of the supported operating systems (Vista+, Ubuntu Hardy+, Debian Lenny+)
  • Phone on USB Debugging mode
  • Computer detects your phone (may require USB drivers for your phone to be installed)
  • Download "Mount /system (rw/ro)" app

Procedure

  • Download the package, extract. I tried this on v2.3.3.
  • Run SuperOneClick.
  • Plug in the phone
  • Click root
  • Wait for it to finish
  • Unplug and reboot the phone manually

It couldn't be simpler!

*edit 25/6/2012* (Added following bits)

Now the last part.

You still won't be able to edit system files because the /system folder is mounted as read only. To change that to read/write, you'll need the "Mount /system (rw/ro)" app.

Start it up, enable write and away you go!

Sources

Samsung Galaxy S i9000: Fix the slow GPS signal

After getting frustrated with the flaky GPS connectivity which doesn't connect most of the time and supremely slow GPS lock-in delay, I decided to try the fix that's been floating around on the net for a while.
1283777253457
Obviously he's also very angry about the crappy GPS signals.

Note: The Android 2.2 Froyo update for the Samsung Galaxy S/Vibrant/Captivate fixes these issues, but I'm keeping it on 2.1 for dev purposes.

Apparently the Froyo update has GPS which connects almost immediately, so that might be worth checking out.

Update 3/7/2011: Apparently not. There's still a lot of complaints about the GPS after installing Froyo/Gingerbread.

To make your GPS connect quicker

Please use the following instructions to speed up the GPS "lock in" time.

*update 3/7/2011*

While reading dangrayorg's lengthy and technical post about how the GPS works, he linked to Da_G's highly successful tutorial with GPS daemon hacks.

That clever bastard has managed to port over the firmware for the GPS from the Nexus S to the Samsung Galaxy S i9000.

He's even figured out some of the settings and tweaked them to be as accurate as possible.

All you really have to do is download it for phone!

Disclaimer

To follow this guide, you will need to know the exact model of your phone, the firmware you're running and be comfortable enough to use the command prompt/terminal "black screen" to type in commands.

It involves replacing the GPS driver files on your phone, which may or may not work and could potentially (although the chance is quite slim) brick your phone.

I've tested it for a week before posting this. The test were done in my car, on a train, on a bus and in the house under a roof. This worked for me with an 80% success rate of connectivity, which was far better than the 10% before fixing.

And lastly, I do not take any responsibility for you messing up your phone.

Downloads

Backup your files!

Of course, any hack of this sort will require you to back things up in case shit goes wrong. We've all been there, we've all had the horrible sinking feeling when something goes awry and there is no way of reverting it. Don't make the same mistake again.

Using adb, follow the steps below to make a backup of files which are about to be changed.

mkdir /sdcard/gps_backup
mkdir /sdcard/gps_backup/system
mkdir /sdcard/gps_backup/system/etc
mkdir /sdcard/gps_backup/system/bin
mkdir /sdcard/gps_backup/system/bin/gpsd
mkdir /sdcard/gps_backup/data
mkdir /sdcard/gps_backup/data/gps

busybox cp /system/etc/jupiter.xml /sdcard/gps_backup/system/etc/

busybox cp /system/bin/gpsd/glgps_samsungJupiter /sdcard/gps_backup/system/bin/gpsd/

busybox cp /data/gps/secgps.conf /sdcard/gps_backup/data/gps

This will make a folder called "gps_backup" on your phone and then back up the files there. Once that's done, you should copy them to your PC for safe keeping.

Note for Eclair (Android 2.1) users

If for some reason you're weird (like me) and have stuck to the slower Android 2.1 Eclair for development reasons instead of upgrading to the faster Froyo/Gingerbread releases, then you'll need to make the following changes to "dagnarf-gps-tweak-google.zip".

In the zip file, you'll need to modify "system/etc/jupiter.xml". Extract it, replace the following lines:

gpioNStdbyPath="/sys/class/sec/gps/GPS_PWR_EN/value"
gpioNResetPath="/sys/class/sec/gps/GPS_nRST/value"

Replace with:

gpioNStdbyPath="/sys/class/gpio/gpio121/value"
gpioNResetPath="/sys/class/gpio/gpio120/value"

Add it back into the archive, replacing the old file. Check it to make sure it's been modified.

Preparing the hack

  • Rename "dagnarf-gps-tweak-google.zip" to "update.zip"
  • Copy it over to the root folder of your phone memory under "/sdcard"
  • Using adb, set your phone into recovery mode by typing:

adb reboot recovery

You should now see a screen full of yellowish writing.

  • Using the volume up/down buttons, select "Apply sdcard:update.zip"
  • Select it using the home button
  • It should now install and reboot your phone
  • When you get back into the recovery mode screen, just select "Reboot system now" to complete the process.

Errors?

If you're seeing the "installation aborted" error message, make sure you have CWM (ClockworkMod recovery bootloader) installed.

  • Install "ClockworkMod Rom Manager" from the app market
  • Get root access
  • Grant it superuser access
  • Flash the recovery bootloader with whatever matches your model
  • Select "Reboot into recovery" to get into recovery mode and try the installing "update.zip".

Settings

When you're back into your phone, you'll still have some things to configure.

  • Go to "Settings" > "Location & Security"
  • Uncheck the option "Use Wireless Networks"

You'll also have to first clear your old GPS data. Otherwise, the GPS icon will appear for half a second then disappear as it stops trying to connect.

  • Get into "LBSTestMode" by going to the phone dialer and pressing
    • *#*#1472365#*#* (Eclair)
    • *#*#3214789650#*#* (on Froyo onwards)
  • Click on "Delete GPS Data" to wipe out the old cache
  • Go to "Application settings" and use the following settings

image

    • Session Type: Tracking
    • Test mode: S/W Test
    • Operation Mode: Standalone
    • Start Mode: Hot start
    • GPS Plus: ON
    • Dynamic accuracy: ON
    • Accuracy: 80 (meters, not percentage)
    • Use SkyHook: OFF
    • Use PC Tool: OFF

 

  • Press back and get into SUPL/CP settings
  • Use the following settings

image

    • Server FQDN Type: Custom config
    • Server: supl.google.com
    • Server Port: 7276
    • SUPL Secure Socket: OFF
    • AGPS Mode: SUPL

 

 

 

 

  • This should now be enough to get you up and running with the GPS.
  • First start, enable 3G or WiFi and wait for it to connect
  • Enable GPS
  • In LBSTestMode, open up "Get Position Test"
  • "Satellite Informations" should disappear once the satellite information has been downloaded from the SUPL server.
  • After that, it should take a moment to connect to the satellites.
  • Wait for a lock-in.

That's it. Restart and try it out with Google Maps. I managed to get a signal from my room, so I tested it by watched it track me walking from the back of my house to the front door.

Old method which does not work

Ignore the stuff below, it was from the original post. This was back when I first got the phone and was trying anything from the internet to tweak the settings.

  • Go to "Settings" > "Location & Security"
  • Uncheck the option "Use Wireless Networks"
  • Go back to the menu and open up your dialer.
  • Key in *#*#1472365#*#*
  • It should take you straight to the hidden configuration screen. If it doesn't, check the code or press the "DIAL" button
  • In the LBSTestMode app, select "Application Settings".
  • Change "Operation Mode" from "Standalone" to "MS Based"
  • Change "Accuracy" from "50" to "100"
  • Press the back button.
  • Now go to "SUPL/CP Settings"
  • Ensure that "Server" and "Port" are "supl.google.com" and "7276" respectively.
  • Press back to get back to the LBSTestMode menu.
  • Go to "Get Position Test" and let it run until it picks up 10 satellites.
  • Press back to get back to your phone menu.
  • Restart the phone.
  • Re-enable "Use Wireless Networks" (it uses your mobile cell area to approximate it first)

My GPS signal now connects in approximately 10 seconds. Still rather slow, but much more reliably and faster than before (either took 30 seconds or timed out after 60 seconds).

*edit 12/01/2011* Re-enabling the "Use Wireless Networks" makes GPS lag again. I turned it off and it worked much better.

*edit 07/02/2011* Added note about testing the positions

*edit 3/7/2011* Added information on how to use Da_G's daemon replacement hack. After a week of testing, this is definitely the best fix to date and actually makes the GPS usable!

Sources

 
Copyright © Twig's Tech Tips
Theme by BloggerThemes & TopWPThemes Sponsored by iBlogtoBlog