Pull to refresh

Китайский часофон AN1 Smart Watch

Reading time 13 min
Views 42K
Box

Здравствуйте, любители китайских и не очень гаджетов. Уверен, многим поднадоел этот бесконечный поток безликих планшетов, тем более, например, компании вроде гугла поджимают ценовую и качественную планки своими Nexus, делая приобретение очередного китайского ноу-нейм планшета сомнительной затеей.
Гарантирую — в данном обзоре планшетов не будет. Пока все с нетерпением ждут новой волны носимых гаджетов, а именно «умных часов» от компаний Apple, Motorola, LG и других, китайцы не стали долго тянуть и в срочном порядке выпустили свою версию умных часов, образец которых и попал ко мне в руки.

Встречайте, 100% ноу-нейм часофон — SmartWatch AN1.
Спойлер: в конце обзора он будет хакнут.

История


Если вы когда-нибудь делали обзор чего-либо на хабре, то будьте уверены — рано или поздно вам постучат в личку добрые китайцы и предложат рассказать хабру про тот или иной гаджет, причём выбор-то ого-го какой широкий: кроме планшетов, как известно, на их унылых складах никаких полезных предметов для айтишника нет. А китайские планшеты обозревать, тем более на хабре — дело неблагородное, начиная с 2012 года.
Но в этот раз фартануло: милая девушка предложила мне посмотреть на их умные часы и, если заинтересуют, сделать обзор. Разумеется, ведь тема носимых гаджетов меня волнует давно, а тут такой случай выпал оценить китайский подход. 23 апреля отправлено через Сингапур, 19 мая на нашей почте, довольно шустро. Большинство фотографий кликабельны.

Parcel
Figure 1. Хорошо они заполнили декларацию. Надеюсь, содержимое
заветной коробочки потянет на большее, чем MP4 плеер за $0.06.


Комплект и характеристики


С характеристиками странная ситуация: на сайтах магазинов, на коробке, и на деле характеристики отличаются.
OS Android 4.0.4, на коробке и в прошивке значится 4.1.1
Процессор 1GHz, Single Core, MT6515 ARMv7, графика: OpenGL ES 1.1, PowerVR SGX 531, AnTuTu score: 5855
Память 512M RAM, 4GB NAND (разметка такая, что доступно около 512M — пополам на /system и /data)
Экран 2", 320x240, ёмкостный TFT (5 точек)
Связь GSM, EDGE, GPS, FM, Bluetooth 3.0, WiFi b/g/n (чип MT6628)
Слоты и порты microUSB, microSD, SIM
Габариты 60 x 41 x 15, 72г с батареей (900mAh, Lithium, 3.7V)
Спецификация на коробке
Box fake spec

Дамп build.prop
# begin build properties
# autogenerated by buildinfo.sh
ro.build.id=IMM76D
ro.build.display.id=ALPS.ICS2.MP.V1.18
ro.build.version.incremental=eng.lt.1395940871
ro.custom.build.version=1395940871
ro.build.version.sdk=15
ro.build.version.codename=REL
ro.build.version.release=4.1.1
ro.build.date=Fri Mar 28 01:23:10 CST 2014
ro.build.date.utc=1395940990
ro.build.type=user
ro.build.user=lt
ro.build.host=ubuntu
ro.build.tags=test-keys
ro.product.model=AN1
ro.product.brand=XINGHAN
ro.product.name=F9-2S
ro.product.device=F9-2S
ro.product.board=XINGHAN
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
ro.product.manufacturer=XH_F9
ro.product.locale.language=zhr
ro.product.locale.region=CN
ro.wifi.channels=
ro.board.platform=
# ro.build.product is obsolete; use ro.product.device
ro.build.product=F9-2S
# Do not try to parse ro.build.description or .fingerprint
ro.build.description=fise15_ics2-user 4.0.4 IMM76D eng.lt.1395940871 test-keys
ro.build.fingerprint=alps/fise15_ics2/fise15_ics2:4.0.4/IMM76D/1395940871:user/test-keys
ro.build.flavor=
ro.build.characteristics=default
persist.sys.timezone=Asia/Shanghai
# end build properties

# begin mediatek build properties
ro.mediatek.version.release=ALPS.ICS2.MP.V1.18
ro.mediatek.platform=MT6575
ro.mediatek.chip_ver=S01
ro.mediatek.version.branch=ALPS.ICS2.MP
# end mediatek build properties
#
# system.prop for generic sdk
#

rild.libpath=/system/lib/mtk-ril.so
rild.libargs=-d /dev/ttyC0


# MTK, Infinity, 20090720 {
wifi.interface=wlan0
# MTK, Infinity, 20090720 }

# MTK, mtk03034, 20101210 {
ro.mediatek.wlan.wsc=1
# MTK, mtk03034 20101210}
# MTK, mtk03034, 20110318 {
ro.mediatek.wlan.p2p=1
# MTK, mtk03034 20110318}

# MTK, mtk03034, 20101213 {
mediatek.wlan.ctia=0
# MTK, mtk03034 20101213}


# MTK, TeChien {
ro.media.enc.hprof.file.format=3gp
ro.media.enc.hprof.codec.vid=m4v
ro.media.enc.hprof.vid.width=720
ro.media.enc.hprof.vid.height=480
ro.media.enc.hprof.vid.fps=30
ro.media.enc.hprof.vid.bps=3400000
ro.media.enc.hprof.codec.aud=amrnb
ro.media.enc.hprof.aud.bps=12200
ro.media.enc.hprof.aud.ch=1
ro.media.enc.hprof.aud.hz=8000

ro.media.enc.mprof.file.format=3gp
ro.media.enc.mprof.codec.vid=m4v
ro.media.enc.mprof.vid.width=352
ro.media.enc.mprof.vid.height=288
ro.media.enc.mprof.vid.fps=30
ro.media.enc.mprof.vid.bps=990000
ro.media.enc.mprof.codec.aud=amrnb
ro.media.enc.mprof.aud.bps=12200
ro.media.enc.mprof.aud.ch=1
ro.media.enc.mprof.aud.hz=8000

ro.media.enc.lprof.file.format=3gp
ro.media.enc.lprof.codec.vid=h263
ro.media.enc.lprof.vid.width=176
ro.media.enc.lprof.vid.height=144
ro.media.enc.lprof.vid.fps=30
ro.media.enc.lprof.vid.bps=384000
ro.media.enc.lprof.codec.aud=amrnb
ro.media.enc.lprof.aud.bps=12200
ro.media.enc.lprof.aud.ch=1
ro.media.enc.lprof.aud.hz=8000
# MTK, TeChien }

#
wifi.tethering.interface=ap0
#

ro.opengles.version=131072

wifi.direct.interface=p2p0
dalvik.vm.heapgrowthlimit=64m
dalvik.vm.heapsize=128m


# Encrypt phone function
ro.crypto.tmpfs_options=mode=0771,uid=1000,gid=1000
ro.crypto.fs_type=ext4
ro.crypto.fs_real_blkdev=/emmc@usrdata
ro.crypto.fs_mnt_point=/data
ro.crypto.fs_options=noauto_da_alloc
ro.crypto.fs_flags=0x00000406

# audio
ro.camera.sound.forced=0
ro.audio.silent=0

# USB Config Type
ro.sys.usb.storage.type=mtp,mass_storage

# USB MTP WHQL
ro.sys.usb.mtp.whql.enable=0

# Power off opt in IPO
sys.ipo.pwrdncap=2

ro.sys.usb.storage.type=mtp,mass_storage

#
# ADDITIONAL_BUILD_PROPERTIES
#
fmradio.driver.chip=3
ril.external.md=1
ro.sf.hwrotation=0
ril.current.share_modem=1
launcherplus.allappsgrid=2d
launcher2.allappsgrid=3d_20
curlockscreen=2
ro.mediatek.gemini_support=false
drm.service.enabled=true
fmradio.driver.enable=1
mediatek.wlan.chip=MT6628
mediatek.wlan.module.postfix=_mt6628
dalvik.vm.mtk-stack-trace-file=/data/anr/mtk_traces.txt
ro.config.notification_sound=OnTheHunt.ogg
ro.config.alarm_alert=Alarm_Classic.ogg
ro.config.ringtone=Backroad.ogg
net.bt.name=Android
dalvik.vm.stack-trace-file=/data/anr/traces.txt

Спецификация NAND
image

Разметка NAND
[PART] blksz: 2048B
[PART] [0x0000000000000000-0x000000000003FFFF] "PRELOADER" (128 blocks)
[PART] [0x0000000000040000-0x00000000000FFFFF] "DSP_BL" (384 blocks)
[PART] [0x0000000000100000-0x00000000003FFFFF] "NVRAM" (1536 blocks)
[PART] [0x0000000000400000-0x000000000041FFFF] "SECCNFG" (64 blocks)
[PART] [0x0000000000420000-0x000000000047FFFF] "UBOOT" (192 blocks)
[PART] [0x0000000000480000-0x000000000097FFFF] "BOOTIMG" (2560 blocks)
[PART] [0x0000000000980000-0x0000000000E7FFFF] "RECOVERY" (2560 blocks)
[PART] [0x0000000000E80000-0x0000000000F9FFFF] "SECSTATIC" (576 blocks)
[PART] [0x0000000000FA0000-0x0000000000FFFFFF] "MISC" (192 blocks)
[PART] [0x0000000001000000-0x00000000012FFFFF] "LOGO" (1536 blocks)
[PART] [0x0000000001300000-0x000000000139FFFF] "EXPDB" (320 blocks)
[PART] [0x00000000013A0000-0x000000000FE9FFFF] "ANDSYSIMG" (120320 blocks)
[PART] [0x000000000FEA0000-0x0000000011C9FFFF] "CACHE" (15360 blocks)
[PART] [0x0000000011CA0000-0x0000000011C9FFFF] "USER" (0 blocks)

Для справки: процессор MT6515 является абсолютным двойником MT6575, отличие лишь в отсутствии 3G у 6515. MT6575 вышел в 2011 году, а на рынок попал к началу 2012. Операционная система AN1 везде указана как Android 4.1.1, даже в прошивке, но по факту там стоит Android 4.0.4 ICS, который вышел в 2012 же году.

Девайс поставляется в 5 разных расцветках: чёрная, белая, розовая, золотая с белым, золотая с чёрным. Как видите, мои шансы получить на обзор девайс нормального цвета составляли 20%. С другой стороны, шансы получить именно розовый такие же, поэтому я бесконечно благодарен за золотой. SWAG!

image
Figure 1. Летом рука буквально кипит под ними.
awolf:
ппц, нафиг ОНО тебе вообще
только не говори что собрался использовать как часы
им же убивать можно

xlab:
Это часы, как их ещё использовать
Не дрова же колоть
хотя погодите-ка...

Package     Manual
Figure 2-3. Стандартное содержимое коробки: сабж, наушники, провод, блок питания, инструкция на ломанном английском.

Cap     Cap2
Figure 4-5. Кнопка Vol+, кнопка back, пластиковая крышечка usb, динамик, видно дыру для камеры

Крышечка для usb состоит из твёрдого пластика, сразу же начала отходить и стала абсолютно бесполезной — пришлось удалить. Ремешок сделан из силикон-резины, затягивает хорошо (при желании, можно наложить жгут).

Buttons 2     Battery
Figure 6-7. Кнопка home, кнопка power с другой стороны корпуса. Батарея снимается очень легко, под ней расположены слоты для карт microSD и SIM.

Разъём audio jack отсутствует, в комплекте шли наушники microUSB, они же выступают в качестве антенны для FM-радио. Лучшее применение — отрезать половину, а оставшийся кусок провода использовать как антенну, радио при этом будет работать через динамик.

103     Nikolay
Figure 8-9. Носимая на запястье музыкальная шкатулка условного дяди Васи.

Display     CWM
Figure 10-11. Экран TFT еле тащит, но всё хорошо видно. Лучше всего, конечно, ночью.

Экран ведёт себя как любой подобный из семейства TFT — под разными углами инвертирует цвета, на солнце его видно плохо, есть зернистость, пятна засветов. Насчёт TTX не знаю. Подсветку отрегулировать нельзя.

image
Figure 12. SWAAAAG!

Цена и наличие


Никаких купонов и реф-ссылок у меня для вас нет, а цена, на мой взгляд, кусачая — 4300руб. Купить данную модель можно в TinyDeal (там же есть и другие модели нормальных цветов, на чёрный даже стоит скидка). На DealExtreme указаны неверные характеристики с коробки и на фотографиях у часов перепутан верх и низ, так что туда я ссылок не дам. Пусть научатся изучать свой товар.

Софт и прошивка


Как я уже писал выше, на девайсе стоит Android 4.0.4. Проверить это просто: во-первых, можно посмотреть дамп build.prop (под таблицой характеристик) и найти индентификатор сборки ALPS.ICS2.MP.V1.18, во-вторых, можно несколько раз ткнуть по строке с 4.1.1 в настройках и словить пасхалку от 4.0.x:

about     easter
Figure 13-14. About Phone.

Прошивка является практически AOSP, с небольшими модификациями в сторону уменьшения веса и удобства использования на экране 2". Стандартный андроид — ни больше, ни меньше. Далее будут только избранные скриншоты.

lock     home
Figure 14-15. Экран блокировки и рабочий стол (установил часы MIUI).

apps1     apps2     apps3
Figure 16-18. 3 экрана встроенных приложений. Кроме SuperSU.

Из встроенных приложений можно отметить следующие:
  • Dialer 2 — альтернативная стандартной звонилка, корректно отображается на экране 2", скриншоты на Fig. 19-20;
  • File Manager — удобный проводничок, умеет видеть скрытые файлы и открывать файлы с карты в соответствующих приложениях;
  • CameraMX — стороннее многофункциональное приложение в качестве фотокамеры, скриншот на Fig. 23. Примеры фото вы не хотите видеть;
  • One Shot — при запуске открывает CameraMX и без вопросов делает снимок. Шпионская фича;
  • Sound Recorder — удобный в использовании диктофон, пишет в .amr. Шпионская фича;
  • Иконка с иероглифами — секундомер, скриншот на Fig. 24. Когда я достал девайс из коробочки, там было установлено больше приложений с аналогичными названиями и ещё более стрёмным содержимым, но после сброса всех данных они куда-то делись, а значит не являлись встроенными;


list     ussd
Figure 19-20. Внешний вид и удобство звонилки мне определённо нравятся.

incoming     outgoing
Figure 21-22. Входящий вызов и исходящий.

cameraMX     timer
Figure 23-24. CameraMX с платными фильтрами (in-app purchases). Какое-то подобие секундомера (с баннером).

sms     contacts
Figure 25-26. Сообщения и контакты.

email     mail
Figure 26-27. Почтовое приложение. Кстати, можно использоваться на полном серьёзе — проверять сообщения очень удобно.

browser     tabs
Figure 28-29. Браузер. Не смотря на размеры экрана, тачскрин выполняет свою функцию на редкость хорошо.

Браузер работает плавно, полотно масштабируется без тормозов, видео открывается прямо на странице или в отдельном приложении, короткая демонстрация в ролике ниже.



Автор обзора не имеет отношения к видео.

gallery     music
Figure 30-31. Галерея и музыка. Музыкальное приложение корректно работает даже с .m4a из iTunes.

Встроенного Google Play нет, видимо ради экономии места и для избавления от google-зондов. Установка GApps вручную возможна, только следует учесть, что версия android — 4.0.4 и SDK — 15. На /system разделе места мало, следует ставить избирательно. Я не фанат сервисов google в своих часах, поэтому решил, что обойдусь форумом 4PDA и Яндекс.Store.

store     status
Figure 32-33. Yandex.Store, корректно работающий на 2". Статус устанавливаемых приложений (всё как обычно).

pdf     maps
Figure 34-35. Чтение PDF (с производительностью нормально, но на 2" 320x240 — извращение). Карты.

agps     gps
Figure 35-36. Имеется поддержка A-GPS. Тест GPS прошёл гладко — спутники быстро нашлись, хотя я был внутри комнаты около окна.

Что касается проигрывания видео, то здесь MK6575 явно не тянет. Образец разрешения 720x304 шёл с заметными лагами в стандартном видеоплеере, VLC и MX Player (при активном HW Decoding). Поэтому, при необходимости посмотреть кино на часах, следует сконвертировать предварительно под разрешение экрана (320x240). Только следует учесть, что при активном использование ресурсов CPU/GPU батарея держит около 2-3х часов.

power     image
Figure 37-38. Потребление батареи в режиме ожидания (оставлены на ночь). Бенчмарк CPU/GPU в AnTuTu.

Немного фрикинга


Прежде чем творить непотребства с прошивкой и тушкой часофона, следует обзавестись дампами NAND, пока девайс ещё жив. Первым делом нужно рутануть систему, если вы ещё не сделали это — лично я рутанул как только достал из коробки. Framaroot отлично справляется со своей задачей.

image     request
Figure 39-40. SuperSU установлен, запрос доступа работает.

Теперь следует воспользоваться кухней Mtk Droid Tools, созданной нашим соотечественником.

mtktools
Воспользуемся опцией Backup (1) для копирования блоков из всех разделов NAND. Опция (2) перепакует скачанные блоки в формат, воспринимаемый SP Flash Tool. Опция (3) автоматически генерирует и прошивает CWM recovery. Кнопкой входа в режим recovery является VolUp, достаточно просто удерживать её при включении устройства и до появления CWM.

Процесс загрузки всего семейства MTK, а mt6575 в частности, протекает так: preloader -> uboot -> kernel. Соответственно, preloader делает начальную инициализацию, читает разметку NAND и совершает прыжок по адресу uboot. В зависимости от причины включения (обычное, воткнут кабель, ...), uboot продолжает загрузку или нет. Preloader отвечает за отрисовку индикации заряда и логотипа, пока uboot решает, что ему делать.

Preloader также отвечает за прошивку NAND при помощи утилиты SP Flash Tool, которая используется, грубо говоря, китайцами на заводе. В более старых моделях Mediatek, прошивка производилась через UART, однако в нашем случае всё происходит быстро и через USB.
Интерфейс SP Flash Tool
image

Для прошивки частей NAND следует выключить устройство, нажать «Download» и подключить кабель. Во время подключения кабеля Preloader обнаруживается программой и начинается процесс. Все части автоматически цепляются из scatter-файла, сгенерированного в MTK Droid Tools (MT6575_Android_scatter.txt). Однако, описание разметки NAND должно полностью совпадать с фактической разметкой на устройстве. В случае несовпадения программа безопасно уведомит об ошибке и напишет в лог, что именно не совпало.
Актуальная разметка NAND у Smart Watch AN1 (взято из лога UART)
part PRELOADER size 0 40000
part DSP_BL size 40000 C0000
part __NODL_NVRAM size 100000 300000
part __NODL_SECCFG size 400000 20000
part UBOOT size 420000 60000
part BOOTIMG size 480000 500000
part RECOVERY size 980000 500000
part SEC_RO size E80000 120000
part __NODL_MISC size FA0000 60000
part LOGO size 1000000 300000
part __NODL_EXPDB size 1300000 A0000
part ANDROID size 13A0000 EB00000
part __NODL_CACHE size FEA0000 1E00000
part USRDATA size 11CA0000 D920000

Таким образом, при наличии бэкапов и пока жив preloader — устройство является неубиваемым. В случае же запоротого preloader, в mt65xx имеется специальный meta-mode, пока не пришлось его проверять (к счастью), но этот режим вызывается путями либо а) зажимания VolUp при подключении usb кабеля, либо б) замыкания специального тест-пина на землю.

И тут я не выдержал.

f9-s2
+ частичное фото обратной стороны (там нет ничего интересного).

Чем дешевле сделан девайс, тем проще его разбирать. Корпус был скреплён 8ю абсолютно одинаковыми крестовыми винтами, после вывинчивания которых он распался сам собой (собою). Внутри, как оказалось, не используются традиционный термоклей или какая-нибудь жёлтая изолента. Вся периферия аккуратно разложена по полочкам и прижата корпусом сверху. На этой же стороне A располагаются все интересующие нас пины. Во-первых, судя по аналогичному примеру для mk6577, активирующий meta-mode пин находится справа в углу и маркирован как KCOLO. Во-вторых, имеются пины tx4, rx4, tx1, rx1, кто-то из них явно отвечает за UART. Методом тыка выяснилось, что tx1 и rx1 в правом нижнем углу.

uart wiring     surgery

Батарею можно подрезать ножиком и тогда проводочки от UART выведутся без помех батарее. Теперь к такому НЁХ на руке ещё больше вопросов у окружающих.

Строка загрузки ядра a.k.a. param line: console=tty0 console=ttyMT0,921600n1 root=/dev/ram nand_manf_id=0xad nand_dev_id=0xbc uboot_ver=2010.06 uboot_build_ver=MAIN2.2.ubt.2274 lcm=1-nt35582_mcu_6575 fps=4732, а значит minicom нужно настроить на baudrate 921600. Мой pl2303 с кварцем вроде справляется. После загрузки общаться с uart tx/rx можно через /dev/ttyMT0 и ничто не будет этому препятствовать.

Полученный вывод помог в понимании процессов mk65xx и в дальнейшем сильно пригодится при отладке кастомных сборок ядра/uboot, если будет не лень.

Дальнейший хакинг можно производить в режиме любителя (настройка и кастомизация прошивки, пока устройство морально не устареет) или в режиме гуру — попытаться склеить имеющиеся исходники в один паззл и сборать AOSP 4.1+ например. Кстати, исходники к SoC mk65xx есть в открытом доступе. Различные компании выкладывают исходные коды прошивок, соблюдая GPL, но заодно у них получается слить те или иные конфиденциальные части, принадлежащие Mediatek. Репозитории на GitHub точечно удаляются по DMCA, но на 4PDA лежат бессмертные архивы: http://4pda.ru/forum/index.php?showtopic=535287. Особым энтузиазмом в сторону mt65xx отличаются наши соотечественники, например luckasfb, почётный форумчанин 4PDA и любитель собирать кастомные прошивки для семейства mt65xx из утёкших исходников. Я в ближайшее время чуть глубже проверю ситуацию для MT6575, поскольку Android 4.1 позволит использовать новый Google Search с распознаванием русской речи и, в частности, бесподобного ассистента Дусю прямо на часах на руке.

Итоги


Бренд и производителя найти не удалось, в метках и отпечатках мелькает XINGHAN, ничего путного нагуглить не получилось. Как и модель — F9-2S. Устройство сделано в период октябрь 2013 — март 2014, в продажу поступило в апреле 2014. Общее качество отличается исключительной экономией на всём. Платформа и OS — конца 2011ого.
Всё это походит на какой-то эксперимент малого тиража и с большой, в следствие этого, ценой. Ещё и с попытками обмануть рядового покупателя. :<

С другой стороны, да простят меня любители гигагерцев ядра и мегабайт оперативки, эти характеристики не являются первоочерёдными. Система работает ощутимо быстро (лучше, чем на некоторых телефонах, которые мне доводилось щупать), браузер листает плавно, скорость Wi-Fi обычная (у меня в сети до 15MBit/s), батареи хватает на просмотр времени в течение всего дня. В любом случае, видео смотреть или книжки читать на наручных часах — это можно локоть левой руки повредить.

И, наконец, самая главная составляющая для меня — это хакабельность устройства. По шкале хакабельности Smart Watch AN1 заслуживают твёрдую 8/10, где 0 по шкале — это Geeksphone Peak (обзор я делал ровно год назад, кстати), а 10 по шкале — это SoC Allwinner A10 и всё что с ним связано.

Это прозвучит глупо, но я боюсь часов. Они тикают. И проникают в мозг.
—Деннис Лехэйн. Остров проклятых.
Tags:
Hubs:
+60
Comments 42
Comments Comments 42

Articles