Смартфон Haier N60
- Невыносимый
- Студент (1 lvl)
- Сообщения: 35
- Зарегистрирован: Чт май 25, 2006 10:56
Если лень перечитывать всю тему, то вкратце- пока программ под ОС телефона нет, есть возможность устанавливать Java MIDP2.0 приложения. НО! И они глючат. Вот, вкратце.
Ранее я давал ссылку на Jabber клиента, стабильно работающего под этим телефоном. Можете использовать его для ICQ. Нормального WEB-браузера не нашел, ВСЕ глючат.
Ранее я давал ссылку на Jabber клиента, стабильно работающего под этим телефоном. Можете использовать его для ICQ. Нормального WEB-браузера не нашел, ВСЕ глючат.
Asus MyPal 730 + Haier N60. Asus продался, Haier сперли 

- Невыносимый
- Студент (1 lvl)
- Сообщения: 35
- Зарегистрирован: Чт май 25, 2006 10:56
- Невыносимый
- Студент (1 lvl)
- Сообщения: 35
- Зарегистрирован: Чт май 25, 2006 10:56
Невыносимый: это можно сделать только при условии, что у Вас на настольном компьютере установлен Linux. Для windows не существует ПО, которое поддерживало бы необходимые файловые системы.
В этой ветке описано как получить доступ к "внутренностям" прошивки. Абсолютно аналогично собирается собственная прошивка - не обязательно модифицировать ее целиком, достаточно создать образ одной-единственной фс. Например, корневой. А потом, чтобы не перепрошивать устройство каждый раз для установки дополнительной программы, можно просто один раз собрать новую прошивку, включив в PATH директории с флешки и DiskOnChip, и добавить в сценарий автомонтирования команду запуска определенной команды при монтировании флешки.
В этой ветке описано как получить доступ к "внутренностям" прошивки. Абсолютно аналогично собирается собственная прошивка - не обязательно модифицировать ее целиком, достаточно создать образ одной-единственной фс. Например, корневой. А потом, чтобы не перепрошивать устройство каждый раз для установки дополнительной программы, можно просто один раз собрать новую прошивку, включив в PATH директории с флешки и DiskOnChip, и добавить в сценарий автомонтирования команду запуска определенной команды при монтировании флешки.
В дополнение к написанному:
К сожалению, старый сценарий монтирования файловых систем прошивки не будет работать с новой версией - смещения в ней изменились.
Поэтому я быстренько набросал новый сценарий, который должен по идее, наверное, работать с любой прошивкой - смещения в нем не прописаны жестко, а берутся из самого файла прошивки. У меня не было особо ни времени, ни желания его проверять, но я полагаю, что он должен уметь монтировать любую версию (если я там впопыхах не ляпнул какую-нибудь ошибку). Почти наверняка он должен успешно смонтировать все файловые системы содержащиеся в предыдущих вариантах прошивок.
Привожу его здесь и прошу сильно не пинать - писал на скорую руку, не особо задумываясь:
К сожалению, старый сценарий монтирования файловых систем прошивки не будет работать с новой версией - смещения в ней изменились.
Поэтому я быстренько набросал новый сценарий, который должен по идее, наверное, работать с любой прошивкой - смещения в нем не прописаны жестко, а берутся из самого файла прошивки. У меня не было особо ни времени, ни желания его проверять, но я полагаю, что он должен уметь монтировать любую версию (если я там впопыхах не ляпнул какую-нибудь ошибку). Почти наверняка он должен успешно смонтировать все файловые системы содержащиеся в предыдущих вариантах прошивок.
Привожу его здесь и прошу сильно не пинать - писал на скорую руку, не особо задумываясь:
Код: Выделить всё
#!/bin/bash
#
# Смещения в файле заголовка:
# номер версии (2 байта) - 0x00
# номер раздела (1 байт) - 0x02
# длина раздела (4 байта) - 0x06 + 0x10*i
# смещение от начала файла до начала раздела - 0x0a + 0x10*i
#
# массив разделов
Part[0]=Bootloader
Part[1]=Kernel
Part[2]=TAT_Code
Part[3]=RootFS
Part[4]=GUI_System
Part[5]=GUI_System_Disk
Part[6]=GUI_Application_Disk
Part[7]=Movie
Part[8]=TAT_Table
Part[9]=LOGO
# подпрограмма извлечения значений из файла
get_value() {
value=`od -l -An -N$2 -j $1 $filename`
let $3=value
}
# выбрать имя файла прошивки
if [ x$1 == x ]; then
filename=russia_full_writable_package_alpha_1.0.31_060406.img
else
filename=$1
fi
[ -f $filename ] || exit 254
# проверить версию заголовка
get_value 0x00 2 version
if [ $version != 257 ]; then
echo '*** Ошибка - новая версия заголовка'
exit 255
fi
# уничтожить ненужные переменные
for ((i=0;i<10;i++)); do unset ${Part[i]}; done
# разобрать заголовок файла
for ((i=0x02;i<=0x92;i+=0x10)); do
get_value $i 1 NumPart
if [ $i -gt 2 -a $NumPart == 0 ] ; then break; fi
get_value `expr $i + 4` 4 ${Part[$NumPart]}_len
get_value `expr $i + 8` 4 ${Part[$NumPart]}_off
# напечатаем названия разделов, их смещение и длину
PartName=${Part[$NumPart]}
eval Length=\$${PartName}_len
eval Offset=\$${PartName}_off
echo $PartName $Offset $Length
done
# почиститься после исполнения этого файла в прошлом
silent="&> /dev/null"
eval umount ./RootFS/System $silent
eval umount ./RootFS/Sysdisk $silent
eval umount ./RootFS/Appdisk $silent
eval umount ./RootFS $silent
eval rmmod blkmtd $silent
eval losetup -d /dev/loop0 $silent
eval losetup -d /dev/loop1 $silent
eval losetup -d /dev/loop2 $silent
eval losetup -d /dev/loop3 $silent
# проверить существует ли точка монтирования
if [ ! -d ./RootFS ]; then
if [ -a ./RootFS ]; then rm -f RootFS; fi
mkdir RootFS
fi
# монтировать всё
[ x$RootFS_off != x ] && mount -o loop,offset=$RootFS_off $filename ./RootFS
[ x$GUI_System_off != x ] && losetup -o $GUI_System_off -s $GUI_System_len /dev/loop1 $filename
[ x$GUI_System_Disk_off != x ] && losetup -o $GUI_System_Disk_off -s $GUI_System_Disk_len /dev/loop2 $filename
[ x$GUI_Application_Disk_off != x ] && losetup -o $GUI_Application_Disk_off -s $GUI_Application_Disk_len /dev/loop3 $filename
[ -b /dev/mtdblock0 ] || mknod /dev/mtdblock0 b 31 0
[ -b /dev/mtdblock1 ] || mknod /dev/mtdblock1 b 31 1
[ -b /dev/mtdblock2 ] || mknod /dev/mtdblock2 b 31 2
modprobe blkmtd erasesz=128,64,128 device=${GUI_System_off:+/dev/loop1,}${GUI_System_Disk_off:+/dev/loop2,}${GUI_System_Disk_off:+/dev/loop3}
if [ x$GUI_System_off != x ]; then
[ -d ./RootFS/System ] || mkdir ./RootFS/System
mount -t jffs2 /dev/mtdblock0 ./RootFS/System
fi
if [ x$GUI_System_Disk_off != x ]; then
[ -d ./RootFS/Sysdisk ] || mkdir ./RootFS/Sysdisk
mount -t jffs2 /dev/mtdblock1 ./RootFS/Sysdisk
fi
if [ x$GUI_Application_Disk_off != x ]; then
[ -d ./RootFS/Appdisk ] || mkdir ./RootFS/Appdisk
mount -t jffs2 /dev/mtdblock2 ./RootFS/Appdisk
fi
- Невыносимый
- Студент (1 lvl)
- Сообщения: 35
- Зарегистрирован: Чт май 25, 2006 10:56
ВадимП
Вырезал кусочек на 200-ке, поставил fedora Core 3, поглазел... Прикольная штука. Audigy2 установила сразу, а вот 6600GT- нет.
Сегодня постараюсь цепнуть прошивку, о последствиях сообщу
Нужно еще разобраться сначала с Linux настольной, с чем это едят.
Интересно, смогу я, и через сколько лет переделать класс клавиатуры? Задолбало использовать 3 (!) виртальных клавиатуры вместо 2, как на windows, Simbyan и Palm!!
ВСЕМ! На Мегафоне весь вечер отлично проработал Java MIDP1.0 мидлет WebViewer3.5 - http://www.java2phone.ru/prog/14 .
Т.ч. Инет нормальный теперь есть, аська есть (см. выше). Остальное не так критично.
До установки Linux на стационарный компьютер дошел своими мозгами, ибо попытавшись редактировать *.img файл WinImage'м и Isobuster'ом получил пшик.Невыносимый: это можно сделать только при условии, что у Вас на настольном компьютере установлен Linux. Для windows не существует ПО, которое поддерживало бы необходимые файловые системы.
Вырезал кусочек на 200-ке, поставил fedora Core 3, поглазел... Прикольная штука. Audigy2 установила сразу, а вот 6600GT- нет.
Сегодня постараюсь цепнуть прошивку, о последствиях сообщу

Нужно еще разобраться сначала с Linux настольной, с чем это едят.
Интересно, смогу я, и через сколько лет переделать класс клавиатуры? Задолбало использовать 3 (!) виртальных клавиатуры вместо 2, как на windows, Simbyan и Palm!!
ВСЕМ! На Мегафоне весь вечер отлично проработал Java MIDP1.0 мидлет WebViewer3.5 - http://www.java2phone.ru/prog/14 .
Т.ч. Инет нормальный теперь есть, аська есть (см. выше). Остальное не так критично.
Последний раз редактировалось Невыносимый Вт май 30, 2006 13:31, всего редактировалось 1 раз.
Asus MyPal 730 + Haier N60. Asus продался, Haier сперли 

- Невыносимый
- Студент (1 lvl)
- Сообщения: 35
- Зарегистрирован: Чт май 25, 2006 10:56
Из переписки с администратором "Вопросов и ответов" Haier'a:
Невыносимый [ 2006-05-26 ] :
Почему уважаемый администратор позволяет себе не отвечать на мои вопросы?
Чтобы не возвращаться к ним перечислю пока не решенные самостоятельно и возникшие позднее:
17. Почему ни производитель, ни торговый представитель не выкладывают к свободному доступу и не высылают по первому требованию исходный код основанной на Linux операционной системы? Это противоречит GPL.
Что скажет производитель, когда его лишат этой лицензии?
16. Планируется ли открыть возможность установки программ под эту ОС, или дело так и ограничится Java-приложениями?
15. Блокнот не позволяет ввести более 100 символов.
9. Планируется ли создать вместо тех виртуальных клавиатур 2, qwerty- и йцукен-?
3. Планируется ли сделать данную ОС многозадачной, как во всех смартфонах, или Haier N60 так и останется простым OS-Based телефоном?
Заранее спасибо за Ваши ответы!
Администратор [ 2006-05-29 ] :
Мы отвечаем на Ваши вопросы по мере возможности.
17. К сожалению, мы не можем ответить на Ваш вопрос.
16. Не планируется.
15. Спасибо. Информация о недостатке передана производителю.
9. Предожение принято к рассмотрению.
3. Не планируется вносить изменения в существующую ОС.
Ну как тут не заплакать?
))))))))
Невыносимый [ 2006-05-26 ] :
Почему уважаемый администратор позволяет себе не отвечать на мои вопросы?
Чтобы не возвращаться к ним перечислю пока не решенные самостоятельно и возникшие позднее:
17. Почему ни производитель, ни торговый представитель не выкладывают к свободному доступу и не высылают по первому требованию исходный код основанной на Linux операционной системы? Это противоречит GPL.
Что скажет производитель, когда его лишат этой лицензии?
16. Планируется ли открыть возможность установки программ под эту ОС, или дело так и ограничится Java-приложениями?
15. Блокнот не позволяет ввести более 100 символов.
9. Планируется ли создать вместо тех виртуальных клавиатур 2, qwerty- и йцукен-?
3. Планируется ли сделать данную ОС многозадачной, как во всех смартфонах, или Haier N60 так и останется простым OS-Based телефоном?
Заранее спасибо за Ваши ответы!
Администратор [ 2006-05-29 ] :
Мы отвечаем на Ваши вопросы по мере возможности.
17. К сожалению, мы не можем ответить на Ваш вопрос.
16. Не планируется.
15. Спасибо. Информация о недостатке передана производителю.
9. Предожение принято к рассмотрению.
3. Не планируется вносить изменения в существующую ОС.
Ну как тут не заплакать?

Asus MyPal 730 + Haier N60. Asus продался, Haier сперли 

Поскольку возникают вопросы о сервисных кодах, выкладываю тут список известных мне:
Просто так, хоть это и вряд ли кому интересно, приведу содержимое некоторых файлов из /proc:
Код: Выделить всё
8***### self-test
8*#000* Change to un-FTA version after restart!
8*#001* Change to FTA version after restart!
8*#018* System Version kernel : [%d.%d.%d] bootloader : mFone : [%s] rootfs :
8*#019* GSM Version GSM : %s CMS :
8*#020* System Info Version : N60-R006-RUS
8*#099* Software Info Smart Phone V1.0
8*#102* current voltage
8*#110* Close console print!
8*#111* Open console print!
8*#112* ebook REG_OPENFILE /mars/sysdisk/mcs/mcslog.txt
cpuinfo писал(а):Processor : XScale-Bulverde rev 7 (v5l)
BogoMIPS : 285.08
Features : swp half thumb fastmult edsp
CPU implementor : 0x69
CPU architecture: 5TE
CPU variant : 0x0
CPU part : 0x411
CPU revision : 7
Cache type : undefined 5
Cache clean : undefined 5
Cache lockdown : undefined 5
Cache unified : harvard
I size : 32768
I assoc : 32
I line length : 32
I sets : 32
D size : 32768
D assoc : 32
D line length : 32
D sets : 32
Hardware : Cellon C8000 Board
Revision : 0000
Serial : 0000000000000000
CPU Mode : T L=22 2N= 2 vcc_core=1.300V
cmdline писал(а):root=/dev/mtdblock2 rw console=ttyS2,115200 mem=32M
version писал(а):Linux version 2.4.19-rmk7-pxa2 (sm@uranus) (gcc version 3.3.2) #1117 Fri Mar 17 13:45:47 CST 2006
Вот интересно, на кой они включили поддержку nfs???filesystems писал(а):nodev rootfs
nodev bdev
nodev proc
nodev sockfs
nodev tmpfs
nodev shm
nodev pipefs
ext2
cramfs
nodev ramfs
msdos
vfat
nodev nfs
jffs2
nodev devpts
- Невыносимый
- Студент (1 lvl)
- Сообщения: 35
- Зарегистрирован: Чт май 25, 2006 10:56
Для поддержки Unix'овых разделов по сети, вероятно. В саму ОС закладывают возможность заранее поддерживать работу в сети.Вот интересно, на кой они включили поддержку nfs???
ВадимП, не знаете, можно ли сделать данную ОС многозадачной? У кого-нибудь есть motorola на Линуксе? Она многозадачна? Такое впечатление, что клавиши Отбой и Домой уж слишком дублируют друг друга. Может на Домой должна быть повешена функция task-менеджера?
Последний раз редактировалось Невыносимый Пн июн 05, 2006 15:09, всего редактировалось 1 раз.
Asus MyPal 730 + Haier N60. Asus продался, Haier сперли 

А она и так многозадачная.
Вот результат выполнения ps ax на этом телефоне:
Кстати, в разделах флеш-памяти есть куча пустого места так что можно разместить там еще достаточное количество дополнительных приложений.
(я говорю, "в разделах", а не "в файловых системах" потому что там фс не занимают полностью всё пространство раздела - они меньше)
Вот результат выполнения ps ax на этом телефоне:
Насчет возможностей графической оболочки, правда, я ничего сказать не могу, но к многозадачности ОС это особого отношения не имеет.ps ax писал(а): PID TTY Uid Size State Command
1 0 1664 S init
2 0 0 S [keventd]
3 0 0 D [pm-thread]
4 0 0 S [ksoftirqd_CPU0]
5 0 0 S [kswapd]
6 0 0 S [bdflush]
7 0 0 S [kupdated]
8 0 0 S [mtdblockd]
9 0 0 D [pxamci]
15 0 0 S [jffs2_gcd_mtd4]
17 tty1 0 1668 S -sh
30 0 0 S [jffs2_gcd_mtd3]
32 0 0 S [jffs2_gcd_mtd5]
34 tty1 0 3224 S /System/sys/bin/mgui
35 tty1 0 1372 S /Sysdisk/sysdisk/mcs/mcsd
36 tty1 0 1664 S /bin/sh /root/tools/bin/boot.s
40 0 0 D [tffs1]
47 tty1 0 3080 S /mars/sys/bin/mcs
48 tty1 0 8464 S /mars/sys/bin/desktop
67 0 0 S [ktsd]
69 tty1 0 8968 S /mars/sys/bin/phonebook
71 tty1 0 8968 S /mars/sys/bin/phonebook
73 tty1 0 6584 S /mars/sys/bin/alarmhint REG_ALARMHINT_INI
77 tty1 0 8500 S /mars/sys/bin/phone
78 tty1 0 5792 S /mars/sys/bin/hint 3  ñàìîë¸òå!
84 tty1 0 1664 R ps ax
Кстати, в разделах флеш-памяти есть куча пустого места так что можно разместить там еще достаточное количество дополнительных приложений.
(я говорю, "в разделах", а не "в файловых системах" потому что там фс не занимают полностью всё пространство раздела - они меньше)