Tag Archives: Softbank

Flashing and hacking the android phone for Japanese Softbank network.

polish english 

Niedawno uczestniczyłem w Google Developer day 2009 w Yokohama, i dostałem za darmo telefon HTC Magic z Google Android – edycja limitowama.
Bardzo fajne i ciekawe urządzonko, ma wszystko czego potrzebuję, ale niestety jak to zwykle w japonii bywa, nie działają w nim MMS’y gdy używam zwykłej karty Sim z mojej komórki.

Historia:

Tutaj, w Japonii, używa się e-maili zamiast SMS, ale to nie są “prawdziwe” maile – to tylko MMS’y ukryte pod postacią emaili i konwertowane w locie przez operatora.
Więc, wysyłając email na adres xx@softbank.ne.jp, serwer skonwertuje go automatycznie do MMS i wyśle do odbiorcy,
i odwrotnie, wysyłając e-mail z telefonu, w efekcie wyślemy MMS’, a serwer skonwertuje go w locie to e-maila i wyśle na swiat.

Odbieranie MMS działa tak: przychodzi specjalnie skonstruowany SMS, zawiera pierwsze 1024 bajty wiadomośći i oprócz tego informacje dla telefonu jak pobrać resztę – poprzez zwykłe HTTP, i tutaj zaczyna się problem, Softbank(moj operator w Japonii) blokuje telefony inne niż sprzedawane przez nich.

Jakby tego bylo mało – oprogramowanie w moim telefonie miało całkowicie wyłączoną obsługę MMS.

Rozwiązanie:

Krok 1:

Robimy kopię zapasową urządzenia (możesz pominąć krok jak jesteś leniwy lub pewny że wszystko się uda ;-) ):

Podążaj za instrukcją na tej stronie:http://android-dls.com/wiki/index.php?title=Magic_Rooting

(Fastboot możesz pobrać ze strony HTC wymienionej w punkcie 2).

W tym kroku jedynie musisz pobrać obraz ‘recovery image’,

http://www.droiddeveloper.com/hrbuilds/recovery-new.img.zip

rozpakować, skopiować do telefonu uzywając:

adb push recovery-new.img /sdcard/recovery-new.img
adb shell sync

Kiedy już plik będzie skopiowany, uruchom ponownie telefon, i w czasie startu trzymaj BACK i POWER wciśnięte – android uruchomi się w trybie fastboot, wpisz:

fastboot boot recovery-new.img

Android uruchomi się z tego obrazu, który pozwoli ci między innymi zrobic backup wszystkiego do karty SD.

Wybierz opcję ‘nandroid backup’ – pliki zostaną zapisane na karcie SD.

NIE MA potrzeby robienia innych krókow z tej strony “root the magic”, one są potrzebne do innych celów, tutaj je pomijamy.

Krok 2:

Jak sprawić aby android obsługiwał MMS (jeżeli twój operator nie blokuje nie-swoich telefonow – to jest jedyny i ostatni krok):

W tym kroku wymienisz całkowicie oprogramowanie urządzenia, ja użylem oprogramowania do urządzenia rozdawanego na Google IO, dzięki temu mam dostęp to kilku funkcji niedostępnych w normalnej wersji, takich jak polecenia i wybieranie głosowe, Amazon MP3 itp.
Niestety jest też i zła strona – to oprogramowanie nie ma obsługi jezyka japońskiego.

Najpierw, upewnij się czy twój android pozwala na wysyłanie MMS, otwórz aplikację Messaging, wpisz tekst, wciśnij menu, jeżeli NIE MASZ opcji “add subject”, “attach” – znaczy że android ma zablokowame MMS.

Podążaj za instrukcją ze strony HTC: http://www.htc.com/www/support/android/google-io-device.html

Nie przejmuj się tym co piszą ze oprogramowanie nie będzie kompatybilne itp. (częściowo mają rację – urządzenia różnią się, ale to żaden problem).

Ja polecam uzyć metody fastboot (nie takie trudne),

Musisz pobrać program ‘fastboot’ z ich strony i 2 obrazy: Radio Image i System Image.

Zgodnie z instruckjś, zainstaluj Radio Image – prawdopodobnie, twój telefon po restarcie nie wystartuje poprawnie, będzie widoczne logo android ale nic wieęcej (w adb logcat będzie widać że próbuje startować co chwilę) – nie ma co panikować, to normalne.

Wgraj obraz Radio Image na kartę SD poleceniem:

adb push <radio-image-package>.zip /sdcard/update.zip
adb shell sync

wejdz w tryb Recovery przytrzymując HOME podczas startu, potem wybierz opcję ALT+s na ekranie, późśniej HOME+BACK, urządzenie powinno się zrestartować – nie panikuj jeżeli się nie uruchomi.

Jak juz masz wgrany Radio Image – czas na System Image:

Wgraj obraz na kartę SD:

adb push <system-image-package>.zip /sdcard/update.zip
adb shell sync

Wejdź w tryb fastboot (BACK+POWER podczas restartu) – ZAPAMIETAJ wersję ‘hboot’ – będzie ci potrzebna.

Mozesz spróbować wgrać system image już teraz, ale dostaniesz błąd że wersja nie pasuje do twojej wersji hboot (wymagana 1.33.3004, ty masz pewnie 1.33.3005).
Żaden problem – mozemy to obejść :-) .

Co należy zrobić – rozpakować System Image do folderu, znaleźć plik android-info.txt i zmienić wartość opcji ‘require version-bootloader’ podstawiając tam wersję hboot która odczytałeś przy starcie fastboot.
Następnie spakować zawartość folderu do nowego pliku zip, wgrać ten system image na kartę SD.

Więc, już teraz masz wszystko gotowe, spróbuj wgrać ten obraz, NIE ZAPOMNIJ żeby wybrać opcję ‘clean userdata and cache’ – to jest wymagane, bez tego, dostaniesz logo android na ekranie i nic więcej.

fastboot update .zip -w

Krok 3:

(Jeżeli twój operator blokuje nie-swoje telefony):

Musimy zmodyfikować klienta MMS żeby przedstawial sie w sposób bardziej lubiany przez operatora (Jest niewielka szansa ze ten krok rozwiąże twój problem w całości – nie jestem pewny czy wgranie nowej aplikacji MMS odblokuje wysyłanie czy nie – ja przeszedłem przez wszystkie 3 kroki):

Wersja hardkorowa:

Pobierz źrodło android ze strony google, skompiluj, i zainstaluj ten patch:

--- packages/apps/Mms/src/com/android/mms/transaction/HttpUtils.java  2009-06-12 23:56:28.000000000 +0900
+++ packages/apps/Mms/src/com/android/mms/transaction/HttpUtils.java  2009-06-12 23:47:20.000000000 +0900
@@ -220,7 +220,7 @@
 
     private static AndroidHttpClient createHttpClient() {
         AndroidHttpClient client
-                = AndroidHttpClient.newInstance("Android-Mms/0.1");
+                = AndroidHttpClient.newInstance("SoftBank/1.0/705NK/NKJ002/SN001 Android-Mms/0.1 Profile/MIDP-2.0 Configuration/CLDC-1.1");
         HttpParams params = client.getParams();
         HttpProtocolParams.setContentCharset(params, "UTF-8");
         return client;

(Ten patch zmeni tylko UserAgent w kliencie MMS, nie zmieni przegladarki WWW).

Skompiluj źrodło jeszcze raz (jedynie aplikacja MMS zostanie przekompilowana), i zainstaluj swieżą aplikację Mms do androida poleceniem:

adb install -r ./out/target/product/generic/system/app/Mms.apk

Wersja dla leniwych:

Pobierz Ten plik i zainstaluj uzywając adb:

adb install -r Mms.apk

Nie zapomnij skonfigurować APN do MMS, jako ‘apn type’ NIE WPISUJ ‘mms’ – to nie działa.

Wszystkie pliki jakie są potrzebne wgrałem na swoja strone tutaj:
http://kubatyszko.com/filez/

Linki:

Rooting HTC Magic – creating backup

HTC Google IO device support page

Android source

Co dalej: zmienić źrodło jeszcze bardziej – żeby miec ładne menu z edycją UserAgent w aplikacji Mms :-D.

Powodzenia :-)