Android прошивка для i900

Android прошивка для i900

Итак, FAQ по прошивке девайса, прошивкой предназначенной для Сервисных Центров. Вообщем, все те, что в шапке.

Аксиома : Прошиваться только под Windows XP x86 (под Vista не работает прошивальщик, а под
Windows XP 64 не устанавливаются драйвера модема и как следствие, не шьется радио!)
Аксиома : Телефон перед прошивкой обязательно зарядить до 100% и зелёной лампочки.
Аксиома : Телефон должен быть подключен к компьютеру через интерфейс USB 2.0!

1. Необходимо установить АктивСинк 4.5, скачать его можно с сайта Microsoft
2. Установить драйвера модема, скачать их можно с сайта Samsung
3. Очень желательно отключить Антивирусные программы и Firewall, если таковые есть, так как они могут мешать процессу
прошивания, и очень сильно увеличивают риск получения крипича.
4. Скачать интересующую прошивку из шапки, разархивировать ее и запустить ехе-файл, больше ничего не делая.
5. Выключить телефон, долго удерживая кнопку включения/выключения и подключить его кабелем к компьютеру, если
кабель 7 контактов (5+2) то телефон включится самостоятельно, если кабель 5 контактов (3+2) то переходите к пункту 6.
6. Включить телефон, найдется новое устройство и установятся драйвера, а в окне прошивки активируется копка Start.
Это может произойти и не с первого раза, телефон может успеть загрузится, пока ставятся драйвера

А если такое и произошло, то повторите с пункта 5, пока клавиша Start не будет активна.

7. После запуска exe-файла появляется окно, в нём галка «download content files». Это означает, что во внутреннюю память телефона («My Storage», «Память телефона») будет залит некий образ («Content files»). Но его, по моему, еще никто не видел.
А вообще эти галки вверху означают, что внутренняя память телефона будет очищена или заменена.
8. Нажимаем клавишу Start, и процесс прошивания начинается, теперь обратной дороги нет!
Больше ничего не трогайте и не нажимайте, все происходит автоматически. Первым прошивается бутлоадер (EBOOT), после чего
телефон автоматически перегружается. На этом месте может получится кирпич , телефон может не перегрузится,
остаться с темным экраном. Если после включения такого телефона загорается только красная лампочка включения, то мои соболезнования,
у вас на руках кирпич . Но если процесс пошел дальше, то скорее всего, все будет хорошо.

Далее начинается грузится PDA часть, процесс идет несколько минут.

Далее грузится CSC — образ в котором содержатся предустановленные программы, например от провайдера или локализованные программы.

Следующий этап интересный, так же служит проверкой на внимательность. Происходит переключение в режим модема и загрузка телефонной части.

Для начала находится новое оборудование, и устанавливаются драйвера, которые вы, конечно же не забыли установить в начале 🙂

В это время прошивальщик судорожно ищет порт модема для прошивки, и находит, если драйвера установились нормально.
Происходит прошивка телефонной части.

Если все проходит гладко, а оно так обычно и происходит, то вы должны увидеть такую картинку

Телефон прошит, и загружается, ручки можно разжать, самому расслабиться и можно начинать наслаждаться новой прошивкой.
9. После прошивки очень желательно сделать Хард Ресет, так как это отсечет возможные проблемы оставшиеся от старой прошивки.
10. После прошивки, можно ввести *#2470# со вставленной сим картой (этот код активирует апгрейд прошивки камеры).
После прошивки камеры не выключайте и не перегружайте телефон, по меньшей мере 5 мин!

Сообщение отредактировал Smartecs — 18.12.10, 16:09

Инструкция по снятию dump с i900:
Необходимо:
установленный ActiveSync 4.5
установленный драйвер модема для XP

1 разрешить доступ к ROM изменив ключ реестра HKLM\Security\Policies\Policies 00001001 с 2 на 1
2 перезагрузить i900
3 закачать набор утилит для скачивания dump
4 выяснить точный размер вашего ROM набрав в коммандной строке «pdocread -l»
Получится что то вроде этого
128.58M (0x8095800) DSK1:
1.35M (0x159800) Part00
3.08M (0x313800) Part01
124.15M (0x7С27800) Part02
Что в сумме соответствует размеру (DSK1), который разделён на 3 раздела общим размером 0x8095800 байт = 134`830`080 байт
5 cлейте ваш ROM используя заданный размер набрав его в коммандной строке «psdread -1 0 0x8095800 i900GXHI5.img»

После этого ROM можно залить при помощи Mirage LV используя кнопку EBoot+PDA+Phone

Размер прошивки конечно же нужно подставить свой или попробовать с этим
это досих пор никто не проверил, большая просьба тому кто понимает что делает проверить этот метод

Сообщение отредактировал -=AsteriX=- — 15.10.08, 17:06

Сделал правильный каб, для переименования на русской прошивке Память телефона и Карта памяти в My Storage и Stogare Card соответственно.
То что встречал до этого, переименовывало не все. После установки, перегрузитесь. Можно сделать анинсталл, оставил такую возможность, на всякий случай.
Stogare_Renamer_v0.3.cab ( 2.33 КБ )

Сообщение отредактировал catmat — 27.11.08, 10:58

Вот обидно — некоторе время назад (а точнее — в конце августа) я выкладывал ОЧЕНЬ подробный мануал, как дампить прошивку. С полчаса вычищал форматирование и т.п. Но потом по какой-то причине мой пост попал «под раздачу» и теперь его больше нет. Обидно до жути.

Читайте также:  Андроид интерфейс для авто установить

На девайсе в реестре установить HKLM\Security\Policies\Policies\#00001001 = 1

Подключить его с помошью USB-шнурка, чтобы ActiveSync его нашел.

Выполнить pdocread -l в командной строке (cmd.exe)

Получится что-то вроде

плюс куча не нужной в данном случае инфы.

Что отсюда нужно — 3 числа вида 0xXXXXXX. Они будут использованы для получение 3-х частей прошивки с помощью команд след. вида:

pdocread -w -d DSK1: -b 0x800 -p Part00 0 0x179000 Part00 .raw

pdocread -w -d DSK1: -b 0x800 -p Part01 0 0x313800 Part01 .raw

pdocread -w -d DSK1: -b 0x800 -p Part02 0 0x7e9d800 Part02 .raw

ВНИМАНИЕ! Удостоверьтесь, что числа в каждой команде соответствуют тому, что написано в вышеприведенной таблице.

После этого полученные файлы Part00.raw — Part02.raw запаковать и выложить где-то например на рапидшаре.

Таким образом вы подарите многим пользователям русское счастье! 🙂

P.S.: инструкция (на всякий случай) максимально подробная, если кому-то это очевидно, заранее прошу прощения.

Сообщение отредактировал KoT — 16.10.08, 16:54

Сделал очередную попытку разобраться, в причине появления кирпичей итд, и выявил очень интересные вещи:
В одной интересной инструкции по прошивке телефона, было написано буквально следующее: Data Cable: Check the serial number first. The number should start with D.
Посмотрев на свой кабель, я увидел, что у него совершенно другой серийный номер, в котором буквы D вообще не было. Но кабель этот я брал отдельно, он был тоже оригинальный, самсунг, но не из комплекта телефона. Прошил я с этим кабелем свой аппарат раз 7, без всяких проблем. сравнил кабели из комплекта телефона и свой, выяснилось что у моего контактов больше, в нем присутствует еще и питание! Вот почему мой телефон заряжается от USB, вопреки всем мнениям, что он заряжаться не должен 🙂 при этом кабели имеют одинаковый парт намбер, но имеют разные серийники.
Вот фото разьемов с партномерами:

1. Обычная сетевая зарядка из комплекта. Парт намбер ATADS10EBE, серийник HT2Q403FS7-G. Видно, что задействовано 1,2 — земля 19,20 — Vext_5V

2. USB Кабель из комплекта телефона, Парт намбер APCBS10BBE, серийник DW1Q930AS-G. Видно, что задействовано 1,2 — земля, 16- USB +, 17- USB —, 18- USB detect

3. USB Кабель, оригинал Самсунг, куплен отдельно. Парт намбер APCBS10BBE, сериник SJ1PC09BS-G. Видно, что задействовано 1,2 — земля, 16- USB +, 17- USB —, 18- USB detect, 19,20 — Vext_5V

Какие мнения, господа?
У кого тело точно заряжается от компьютера, посмотрите, сколько разьемов задействовано у USB кабеля, 7 или 5 ?

Спасибо -=AsteriX=-, за наводку по содержимому разьемов.

Сообщение отредактировал Prislav — 12.07.11, 12:47

SPIRT1aka, а что не получается то? всё просто 😉

1. разбиваешь прошивку — Экзекутором (все полученные файлы складываешь в корне папки Кухни)
2. переименовываешь файл xip0.bin в pda.bin и стартуешь ExtractROM_bin — в результате получается три папки OEM, SYS и XIP в папке ROM
3. И теперь самое интересное. :rolleyes: ручками вурезаешь из каталога ?:ХХХ\Samsung_i90X_ROM_Kitchen\OEM\OEMApps — ненужное. паралельно убирая из файла . rgu ненужные ветки реестра от уделённых файлов
и ещё в ?:ХХХ\Samsung_i90X_ROM_Kitchen\OEM\OEM_Lang_0419 в файле initflashfiles.dat
Для удобства лучше распечатать initflashfiles.dat и по нему сносить первое, т.к. в нём можно быстрее сообразить какие файлики к чему относятся 😉
5. По желанию докидываешь своих прог (предворительно подготовив)
4. Ну и потом собираешь до кучи

Я пока на 3 этапе. успел выкинуть Виджеты, Тудеи, Лингво, вот думаю Оперу в топку или нет 😉
время мало совсем. и появится только после 8 числа в лучшем случае.

P.S. ещё для корректной работы нужно зрузануть Microsoft Visual C++ 2008 инсталяшка размером 1.7 метра. у меня без неё не не получалось, хотя Framework стоял.

За что отвечает device.exe?

Сообщение отредактировал catmat — 01.11.08, 12:13

Источник

Android прошивка для i900

Представленный материал является неофициальным, в случае неудачных действий и/или гибели аппарата автор ПО и Администрация ресурса ответственности не несут!
Все действия производятся на Ваш страх и риск!

Последнее обновление в шапке: 17.04.2011

Android 1.5 портировали на www.andromnia.net, они проделали огромную работу в этом направлении, но на данный момент проект заглох. Портировал Android 2.1 и Android 2.2 я (vl(@)d). Дальнейшие эксперементы планирую проводить на Android 2.2.

Инструкция по установке Android OS на наш девайс:

1) Берем любой linux (можно LiveCD)
2) Берем нашу флешку (я использую на 2 гб, на ее примери и опишу установку)
3) Запускаем linux и открываем утилиту для работы с жесткими дисками и флешками (GParted), выбираем нашу флешку и удаляем с ней все разделы.
4) Теперь создаем новый Extended раздел на всю карточку, далее создаем новый Partition раздел в Fat32 размером 500 мб, за тем создаем второй Partition раздел в ext3 размером 900 мб, и создаем третий Partition раздел linux-swap. Все теперь форматируем флешку.

5) В корень раздела ext3 распаковываем файлы архива с нужным Андройдом. Потом размотируем и извлекаем флешку.
6) Распаковываем архив с haret в память телефона.
7) Запускаем через проводник haret.exe и пользуемся андройдом!

У кого не получилось по моей инстрекции есть видео инструкция от Touch’ик Видео или от N1x0N Форматироование

Насчет настройки адреса загрузки в конфиге (я смотрю это вызывает вопросы):
root=/dev/mmcblk0p1 — вот эта строка означает скокого раздела памяти будит вестись загрузка. Менять там можно только цифры. Цифра (0) — означает, что загрузка будет вестись с флеш-карты, можно изменить на (1), тогда загрузка будит проходить с внутреней 8/16 гб памяти. Последняя цифра (1) ознчает с какого раздела, выбранной памяти, будит проходить загрузка, может быть любая цифра кроме (0). И в linux хорошо видно эту цифру в диспечере файлов, когда заливаешь файлы на флешку, там у раздела пишиться три буквы и конце цифра, вот ее и надо в конфиг ставить.

  • Android 1.5: andromnia.0.32.zip ( 29.25 МБ )

Android 2.1: android_2.1.rar ( 33.12 МБ )

  • Anrdoid 2.2.1: Android 2.2.1(31.03.11)
  • Anrdoid 2.2: Android2.2(17.04.11)
  • Anrdoid 2.1: Android_2.1
  • Anrdoid 1.5: Android 1.5

  • Anrdoid 2.2:android_2.2.rar ( 32.35 МБ )

Anrdoid 2.2:android_2.2_3.08.10_.rar ( 59.04 МБ )

Anrdoid 2.2: android_2.2_9.08.10_.rar ( 54.13 МБ )

Anrdoid 2.2: android_2.2_27.02.11_.rar ( 60.82 МБ )

Android 2.2: android_2.2_9.03.2011_.part1.rar ( 60 МБ )

Сообщение отредактировал vl(@)d — 01.05.12, 10:20

Сообщение отредактировал 5[Strogino] — 02.08.10, 10:34

Update (thanks to z720 for getting the resolution right for debugging) we can now boot into a shell. Which is unreachable because of lack of input (keyboard)

Complete steps for booting the android linux kernel (updates follow as we progress):

Install Dev Environment:

apt-get install linux-headers-$(uname -r) gcc make kernel-package libncurses5-dev fakeroot wget bzip2 git-svn curl

Download Cross Compiler
www.codesourcery.com/sgpp/lite/arm/portal/release642

Select: GNU/Linux (and then Advanced Packages / IA32 GNU/Linux TAR)

Download and Unpack Cross Compiler
(www.codesourcery.com/sgpp/lite/arm/portal/package3686/public/arm-none-eabi/arm-2008q3-66-arm-none-eabi-i686-pc-linux-gnu.tar.bz2)

Change in Makefile:

Adjust resolution (Thanks to z720!)
open the /arch/arm/mach-pxa/hpipaq214-lcd.c and change the folowing parameters:

Compile kernel:
make Image

The compiled and with Haret runable image will be in «arch/arm/boot/Image»

Download Haret (I used the PXA312 version from Oliver Ford from www.handhelds.com)

Change Haret Settings (default.txt)

If you copy the compiled Image to the directory in which you placed Haret, you should be off, the kernel will boot.. Mind you, this is just the booting kernel, the hard work will start from here!
[attachment=»183802:Photo0201.jpg»]

Thanx for the picture z720!

Cross Compile busybox with static linking:

Change Makefile to have the cross compiler active again:

Make the static busybox (make menuconfig first and disable all non wanted busybox commands, leave ash, init, rclinux and telnetd active for later use!):

# LDFLAGS=»—static» CFLAGS=»—static» make
# file busybox
busybox: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, stripped

Copy the busybox to the new initrd directory:

# cp busybox /ANDROID/initrd
# cd /ANDROID/initrd

# ln -s busybox init
# ln -s busybox ash
# ln -s busybox rclinux
# mkdir dev; mkdir sys ; mkdir proc
# cp -dpr /dev/ttys1 /dev/ttys2 /dev/ttys3 /dev/ttys4 /ANDROID/initrd/dev

Make the initrd.gz ramdisk fromout the initrd directory
# find . | cpio —create —‘format=newc’ | gzip >../initrd.gz

Copy it to the directory in which the kernel is placed.

Change default.txt cmdline:

Boot and see why we need a keyboard now Next step is maybe auto configure network and start telnetd in the ramdisk

Еще парочка полезностей:

I’ve got some news for you. First off, let me thank tmzt, without his help I couln’t have accomplished anything of this. So thank you tmzt, and you’re most than welcome to post on this thread.

*New values for pxafb_mode_info structure. No pixclock confirmation for the moment.

*No more flashing nor vibration while booting. This should avoid some potential damage.

*We can now mount an ext2 partition on «my storage». Not in the external memory card yet.

New values for pxafb_mode_info structure.

Open arch/arm/mach-pxa/hpipaq214-lcd.c , and chage «struct pxafb_mode_info» to look like this:

How did we get this?:
tmzt asked me to paste this code on haretconsole:

pd 0x44000000 0x20

With the output:
CODE
44000000 | 03b008f9 07071cef 26260d8f 04700014 | . &&..p.
44000010 | 8400fe92 3f3f3f3f 00000000 00000000 | .

. and a program (decoder?) I don’t know about, he determined the correct margin values for pxafb_mode_info. I think it should have given some info about the pixclock, but unfortunately it didn’t. tmzt suspects this info may be elsewhere in the memory.

No more flashing nor vibration while booting.

Open arch/arm/mach-pxa/hpipaq214.c , and change hpipaq214_init to look like this:

static void __init hpipaq214_init(void)
<
hpipaq214_init_lcd();
hpipaq214_init_mmc();
/*
hpipaq214_init_mfp();
hpipaq214_init_misc();
hpipaq214_init_lcd();
hpipaq214_init_mmc();
hpipaq214_init_keypad();
hpipaq214_init_nand();
hpipaq214_init_usb();
hpipaq214_init_audio();
hpipaq214_init_power();

//add the various platform devices
platform_add_devices(hpipaq214_devices, ARRAY_SIZE(hpipaq214_devices));
*/
>

Open arch/arm/mach-pxa/hpipaq214-lcd.c , and change hpipaq214_init_lcd to look like this:

void __init hpipaq214_init_lcd(void)
<
/* int err;

err = gpio_request(gpio_lcd_setup, «LCD setup gpio»);
if(err) <
printk(«Unable to register LCD setup gpio (%i)\n»,gpio_lcd_setup);
gpio_lcd_setup = -1;
>else <
gpio_direction_output(gpio_lcd_setup, 1); //keep it on for now!
>
*/
set_pxa_fb_info(&hpipaq214_lcd_info);
>

What’s this for?:
As you can see, we’re commenting out a lot of hardware initialization. This will prevent potentially damaging the omnia and let us focus on what we need for the moment. The mmc initialization is needed for the next step, so it’s left uncommented.
With the above changes I’m finally able to boot from the «my storage» device, and I don’t quite recall whether I’m able to boot from the card as well.

We can now mount an ext2 partition on «my storage».

Connect your omnia to the computer using the usb cord, and in winmo select «my storage» as usb connection, instead of activesync or the external card.

Make a backup of the complete «my storage» device on your computer. In my computer this was detected as /dev/sde, with /dev/sde1 being an extended partition, and /dev/sde5 being a logical vfat partition. I made the backup using dd, like this: «dd if=/dev/sde of=/home/oxi/mybackup.bin». This kind of backup (a whole device) will ensure you’re keeping not only the partitions content, but the partition table as well, so you should be ok if you ever want to restore. This took around an hour to complete for my 16gb mem. Maybe you can speed up the process by using high blocksize value in dd.

Make the new partition/s on the «my storage» device. You may want to use fdisk or cfdisk for this. Since the default vfat partition is logical, I kept the extended partition, created a new logical 2gb ext2 partition at the end and then created a new logical vfat partition at the beginning. I did this so to prevent possible problems if the omnia/winmo couldn’t rightly handle primary partitions on this memory. Now I must say I’m not that sure I did the right thing. Now winmo is able to see the ext2 partition and depicts it as «my storage2»; also, my computer will mount it as an vfat if no type is specified. So I wouldn’t recommend this partition schema. I will be repartitioning the «my storage» device to have just two primary partitions, the first one being vfat, and the other one ext2, ASAP, because I don’t really like all this behaviour. But I can’t recommend this second schema as I have not tried it yet. Note that the default vfat partition is of type: 0b, not the usual 06.

Edit: Of course, create the new filesystems on the partitions.

I have now tried the second schema, that is, creating two primary partitions. Results are exactly the same. For some strange reason, when you disconnect the usb cord, winmo has the bad habbit of writing two files in each partition, no matter if it’s an ext2 partition, winmo will write them to it in FAT format. This apparently doesn’t pose any problems, but just to be on the safe side I run a fsck.ext2 on the partition everytime before I mount it on my computer.

You can now deploy a busybox(or whatever) on the ext2 partition. Just set the cmdline of default.txt accordingly, by setting the proper init parameter, and setting the root to your ext2 partition.
If you’re using an extended, and logical partitions:

If you’re using primary partitions:

Note that if you have an external memory card inserted, you will need to use mmcblk1 to access the «my storage» device, because even if we can’t use yet the external card, it is detected and named as mmcblk0. If no card is inserted then the «my storage» device will be named mmcblk0, and the examples above should work for you.

Edit: Set rootdelay parameter on cmdline to an appropriate value, so to give time for the memories to be detected. A value of 10 is more than enough.

Now I feel we should be directing our efforts on trying to establish a connection with the computer, as a means of communicating with the device without having to constantly reboot, etc. Maybe start by uncommenting the usb initialization related stuff and set up a telnetd or ssh in a busybox.

I hope I’m not leaving anything behind.

Once again, thanks go to tmzt

Needless to say, I don’t take any responsibility for any damage, data loss, etc. you may get by using this info.

Сообщение отредактировал = Woland = — 23.06.09, 14:40

Источник

Читайте также:  Унесенные призраками для андроид
Оцените статью