Samsung Galaxy S i9000

*#1234# reveals the installed version: PDA: I9000ZSJF7, PHONE: I9000ZSJF7, CSC: I9000ZSJF7

Firmware Upgrade

resources as of 11/2011:

English:

German (links on android-hilfe.de):

resources as of 01/2011:

Get the correct version of Samsung Kies, then the method above should work. The right version is Kies_1.5.3.10103_102_1.

doing the upgrade:

To upgrade to 2.2 Froyo, you need

With the registry patcher select XEU and do the upgrade. JPX could also be interesting.

SIM Unlock

http://forum.xda-developers.com/showthread.php?t=761045

Froyo 2.2 needs a root first: http://forum.xda-developers.com/showthread.php?t=803682 and http://www.faq4mobiles.de/forum/samsung-i9000-galaxy-s-forum/92518-root-froyo-2-2-mit-superoneclick-v1-5-1-a.html.

Hard reset

http://www.pocketpc.ch/samsung-galaxy-s/96884-galaxy-s-i-9000-zuruecksetzen.html

Key combination: *2767*3855#

Download Mode / If it cannot be switched on properly anymore:

http://www.all-samsungphones.com/how-to-reset-samsung-galaxy-s-i9000.html/

  1. Turn off
  2. Vol up or Vol down + Power pressed until you see the "Samsung I9000 sign"
  3. Then press the Home button too.

Vol down will bring you to download mode Vol up will bring you to recovery mode

copy command cp on Android

There is no ready to use cp on Android but the builtin shell supports output redirection:

cat /efs/file.bin > /mnt/sdcard/file.bin

Backup important files on the phone

http://www.galaxyroot.com/how-to-efs-folder-backup-restore-nv_data-bin/
Install Root and Busybox.

./adb shell
tar zcvf /mnt/sdcard/efs-backup.tar.gz /efs
cat /dev/block/stl3 > /mnt/sdcard/efs_dev-block-stl3.img

restore (see http://www.android-hilfe.de/samsung-galaxy-s/52745-imei-produkt-code-korrupt.html#post705535)

su
rm /efs/imei/mps_code.dat
cp /sdcard/mps_code.dat /efs/imei/mps_code.dat
rm /efs/nv_data.bin
cp /sdcard/nv_data.bin /efs/nv_data.bin
rm /efs/nv_data.bin.md5
reboot

OpenVPN on 2.2.1

http://forum.xda-developers.com/showpost.php?p=9424389&postcount=46
http://www.android-hilfe.de/samsung-galaxy-tab-forum/51007-openvpn-tun-ko-unionfs-ko-3.html

  • OpenVPN Installer (Android Market)
  • OpenVPN Settings (Android Market)
  • Busybox (BusyBox installer from Android Market)
  • Rooted Phone (SuperOneClick 1.5.x)
  • tun/tap Driver (got it here or here). After the installation of OpenVPN via the app replace the binary in /system/bin using this found here. With this binary you also need to set some links: ln -s /system/bin/busybox /system/xbin/route and ln -s /system/bin/busybox /system/xbin/ifconfig.

install tun.ko kernel module

http://vardyr.insocada.com/2010/06/24/tun-ko-for-sprint-hero-2-1-stock-kernel/
in order to move tun.ko to /system/

First check out what device is mounted to /system:

adb shell mount | grep system

which gives /dev/block/stl9 /system rfs ro,relatime,vfat,log_off,check=no,gid/uid/rwx,iocharset=utf8 0 0 and so we run:

adb shell
su
mount -o remount,rw /dev/block/stl9 /system
exit
exit
adb push ~/Downloads/tun/tun.ko /system/lib/modules/
adb shell
su
mount -o remount,ro /dev/block/stl9 /system
modprobe tun
exit
exit

IPv6 Privacy Extensions

Put this in your /data/local/userinit.sh:

sysctl -w net.ipv6.conf.default.use_tempaddr=2
sysctl -w net.ipv6.conf.all.use_tempaddr=2

SSH Server on the Android Device

For advanced users (running cyanogenmod): Howto: Connect to Device with SSH

adb push ~/.ssh/id_rsa.pub /sdcard/authorized_keys
adb shell
mkdir /data/dropbear
chmod 755 /data/dropbear
mkdir /data/dropbear/.ssh
chmod 700 /data/dropbear/.ssh
mv /sdcard/authorized_keys /data/dropbear/.ssh/
chown root: /data/dropbear/.ssh/authorized_keys
chmod 600 /data/dropbear/.ssh/authorized_keys
dropbearkey -t rsa -f /data/dropbear/dropbear_rsa_host_key
dropbearkey -t dss -f /data/dropbear/dropbear_dss_host_key

Test your SSHd by starting it in debug mode using dropbear -s -v -F and connecting via ssh -l root IP.of.your.phone. If this worked, you can run killall dropbear and add dropbox to your /data/local/userinit.sh:

## Start SSHd
# see http://wiki.cyanogenmod.com/wiki/Howto:_Connect_to_Device_with_SSH
dropbear -s -g

or add it as an Android init service in your /etc/init.local.rc:

# start Dropbear (ssh server) service on boot
service sshd /system/xbin/dropbear -s
   user  root
   group root
   oneshot

Comments