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
Android 2.1:
Anrdoid 2.2: Anrdoid 2.2: Anrdoid 2.2: Android 2.2: Сообщение отредактировал 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 Select: GNU/Linux (and then Advanced Packages / IA32 GNU/Linux TAR) Download and Unpack Cross Compiler Change in Makefile: Adjust resolution (Thanks to z720!) Compile kernel: 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! 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 Copy the busybox to the new initrd directory: # cp busybox /ANDROID/initrd # ln -s busybox init Make the initrd.gz ramdisk fromout the initrd directory 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?: pd 0x44000000 0x20 With the output: . 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) //add the various platform devices Open arch/arm/mach-pxa/hpipaq214-lcd.c , and change hpipaq214_init_lcd to look like this: void __init hpipaq214_init_lcd(void) err = gpio_request(gpio_lcd_setup, «LCD setup gpio»); What’s this for?: 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 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 Источник |