Как стать автором
Обновить

Комментарии 20

Помню так у мамы разбился экран на старом кнопочном LG. И, конечно же, выяснилось, что там важные контакты. Поиск официального приложения для синхронизации с ПК результатов не дал. Но зато выяснил, что это никакой не LG, они сами уже тогда кнопочные не делали, просто лепили лейбл на китайские телефоны. Оказалось, что это какая-то стандартная платформа по-моему Mediatek. В итоге нашел приложение для MTK и успешно скопировал контакты из адресной книги (спасибо многочисленным профильным форумам).

Несколько лет назад, я тоже по просьбе ("ты же программист") доставал контакты из телефона с неработающим экраном, чипсет был MediaTek MT6261. Я сомневался, что у меня это получится, но таки получилось. Без специальных приложений, так что оказалось сложнее чем у вас, и потребовало некоторого программирования (написал свой код для извлечения контактов из файлов MP0C_003 MP0H_006 и даже вытащил СМС из MPA3_001).

На рынке есть т.н..ODM (Original Device Manufacturer). Они сами проектируют телефон, от начала и до конца. После чего предлагают результат всем желающим. Такой подход очень популярен как простой способ расширить линейку продаваемых моделей. Например все(?) смартфоны Nokia, в ее бытность Foxconn, с процессорами MTK - это ODM продукты.

"Они сами"
-- Я бы не преминул упомянуть, что ODM ( ODM — Википедия ) - это сестра OEM. То есть, это не фирма, а вид сотрудничества компаний. То есть принцип организации разработки.
По поводу LG и китайцев. С начала 90-х разработка мобильных устройств от принципа "сверху вниз" (когда разработчик устройства заказывал у разработчика чипов кристалл с нужными характеристиками) перешла на более высокий, когда разработчики связных чипов (например, Alcatel) стали предлагать рынку ужен готовые комплекты.

То есть, это не фирма

В комментарии и не утверждалось, что это фирма, добавлено "т.н.".

когда разработчики связных чипов (например, Alcatel)

У Alcatel были свои чипы? Их вроде перепродали насколько раз, так что осталось только название. Я их знаю уже только как бренд телефонов, есть один старый телефон от них, с qwerty клавиатурой и поддержкой J2ME приложений (но уверен что там всё китайское.)

Время летит! Двадцать лет назад Alcatel входила где-то в пятерку ведущих связных фирм. Занималась поставкой связных решений. Наряду с Cisco.

Это SC6531DA - если указано SC6500_BAR или SC6531_BAR

Не совсем. SC6500 - это другой, совсем древний чип (около 2009 года или раньше). Давно уже не выпускается, но старые запасы до сих пор изредка всплывают. Из последнего известного мне - Digma Linx A103/A106.

Mocor5 OS

Используется на более продвинутых кнопочных телефонах с чипсетами Spreadtrum, те же чипы могут использоваться в самых дешевых смартфонах, это SC7715 или SC7731

Опять не совсем так. Во-первых, SC7715 (и аналоги 6815 и 8815 для разных сетей) - это лютая древность 2014 года, устаревшая уже на момент выхода, и под неё делались прошивки MocorDroid 2.* версий на базе Android вплоть до 4.0. Во-вторых, SC7731 - это тоже довольно старый чип, его очень сильно изменённая версия называется SC7731E и в кнопке почти не встречается, и то лишь под KaiOS. Новый Mocor 5, он же MocorDroid 5 - обрезок андроида доя кнопочников и только для них на процессорах SC9820A и SC9820E. По сути это полусмартфоны, они не нуждаются в определении чипсета, т. к. он более-менее общеизвестен.

А из интересного - то, что RDA8826, он же SC6533 - это даже не ARM, а MIPS архитектура! Последний из массово применяемых таких процев. Раньше ещё Ingenic были, но они тоже "всё".

SC6500 - это другой, совсем древний чип

Я знаю что это от более старого чипа. Написал же что чипсет состоит из разных частей, у каждой из которых есть свой номер. Например SC6500_BAR написано про MMI. Либо это действительно использовали что-то старое, либо опечатка в прошивке. С тех времён версию не исправляли.

SC6531E - например вообще не 6531, а имеет номер 6562. Но много имеет много общего с 6531.

А еще старый 6531 в 1.5 раза быстрее по частоте, чем новый 6562 (он же SC6531E).

Чтобы вы мне еще не возражали, что у меня телефон на том старом чипсете - этот чип точно SC6531BA. Это читается из его глобальных регистров (0x65310001 по адресу 0x205003fc). Но версию MMI он пишет именно такую (SC6500_BAR).

Опять не совсем так.

Что не так из того что я написал? До сих пор производятся и продаются телефоны/смартфоны с этими чипсетами. Сами можете купить и проверить.

это лютая древность 2014 года, устаревшая уже на момент выхода

Лютая или не лютая, но дешевая и поэтому нашла свою нишу и используется.

А из интересного - то, что RDA8826, он же SC6533 - это даже не ARM, а MIPS архитектура!

Я вам рекомендую обратить пристальное внимание на картинку к новости. Где чип RDA8955 тоже имеет номер SC6533, а вы мне пишете про какой-то конкретный RDA8826. И что есть такой у них на MIPS, я тоже знаю.

В общем - я недоволен вашими наездами, что что-то у меня не так и вы явно очень умничаете и явно знаете меньше, чем вы считаете что знаете.

Эх, а как же "не шлак"?
Есть сейчас что-нибудь кнопочное на чипах от Qualcomm? Agere? Lucent? Infineon? Siemens?
Видимо, нет сейчас "true" качественных "кнопок" уровня поздних SonyEriccson - к примеру, таких как SE U10i (Aino), SE J20i (Hazel), Samsung S5610/S5611, всё что есть - поделки на KaiOS (долго думали, хотя чуть было не купил "банан" 8110 4G), или вообще нечто душой на Андроиде, зачем-то загнанное в кнопочное тело (привет, Xiaomi Qin).

нечто душой на Андроиде, зачем-то загнанное в кнопочное тело

Одно время пользовался Sharp SH-01J. Если включить ADB, то, в принципе, ставится всё нужное — телега, дискорд, твиттер (SobaCha). В роли клавиатуры слегка пропатченный TraditionalT9.


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

В Европе делают свои кнопочные, но дорогие для их функциональности (с точки зрения небогатых и избалованных дешевой китайской техникой людей), и с дизайном хуже чем у китайских! Например: Punkt MP02, Mudita Pure

Мне бы тоже хотелось возвращения качественных кнопочных телефонов. Пока же хочу отметить, что эти китайские чипы достаточно мощные. Проблема только в том, что на оперативной памяти сильно экономят (всего 4 МБ на большинстве!) и унылая прошивка с минимумом функционала.

Есть сейчас что-нибудь кнопочное на чипах от...

Если речь о "глупых" кнопочниках, то нет. Только MT6260, МТ6261 и SC6531 в сетях 2G или Т107/Т117 для 4G. (Про RDA уже можно и не вспоминать)

Если же в выборку включить и полусмартфоны - кнопочники с расширяемой ОС на относительно мощном железе (прям как в те времена), то там найдётся и Qualcomm, и MediaTek, и Unisoc, конфигурации самые разные. Начиная от банальных "KaiOS + 210/215 или 9820A/E", продолжая всевозможными конфигурациями на Андроиде - от откровенных обрезков и вплоть до почти полноценного смартфона. Типичный японской умной раскладушки - сенсорный 3,4" экран - уже лет пять не меняется, а ведь есть ещё всяческие Qin, AGM, Energizer, Itel...

0e8d:xxxx - MediaTek

Я работал с мт65хх, так что вполне вероятно, что у 62хх по-другому, но вообще даже если подключить МТК к компьютеру в режиме прошивки, в lsusb он провисит не более 100 мс (период таймаута, в течение которого BROM в устройстве ждёт хендшейк от софта для прошивки после подключения по usb), поэтому на линуксе лучше, конечно, смотреть в dmesg, чтобы гарантированно не пропустить :)

чтение 16 бит по адресу 0x80000008

Адрес зависит от платформы. Скорее всего, у всей линейки мт62хх он одинаковый, но по-настоящему платформо-независимый способ узнать чип - это завершить хендшейк и получить ответ на команды:

  1. 0xFD - "GET_HW_CODE" - возвращает id процессора вида 0x6261

  2. 0xFC - "GET_HW_SW_VER" - возвращает значения HW_SUBVER (уточнение id процессора; было полезно для линейки 65xx, разные процы которой в ответ на 0xFD возвращали 0x6575), а также HW_VER и SW_VER (версия BROM)

Если подключенный телефон засветился в dmesg как продукция медиатек, можно использовать программы типа mtkclient, чтобы быстро и однозначно идентифицировать чип.

если подключить МТК к компьютеру в режиме прошивки, в lsusb он провисит не более 100 мс

Верно, но я имел в виду подключение телефона с загруженной ОС. Например как USB накопитель (наличие других опций зависит от прошивки).
Только не 100 мс, там секунда, иначе бы мои самописные тулы просто не работали (проверяю подключение 2 раза в секунду).

поэтому на линуксе лучше, конечно, смотреть в dmesg

Этим пользовался, когда отлаживал режим прошивки.

это завершить хендшейк и получить ответ на команды

Я бы этим пользовался, но оказалось что в BROM у MT6260/MT6261 эти команды просто не поддерживаются.

можно использовать программы типа mtkclient

Мне не понравилась эта программа. Раздутая, хочет установки. Требует кучу Python зависимостей для сборки. Такими тулами на питоне я пользоваться не собираюсь. Поэтому свою на Си написал.

Еще добавлю про mtkclient, что хотя не запускал, но код mtkclient изучал (и много других) чтобы сделать свой. И вот судя по коду mtkclient - эта программа не будет работать с MT6260/MT6261. Потому что при подключении выполняет эти команды, которые не поддерживаются.
MT6260 даже нет в таблицах mtkclient, только как приписка name="MT6573/MT6260", то есть MT6260 подкинули к MT6573. Те настройки, что указаны для MT6573 - явно не подходят для того MT6260, что у меня есть.

Программа прошивки от MediaTek даже не пытается запросить у BROM выполнение этих команд, при подключении девайса с этими чипами первые команды после handshake - это LEGACY_READ (0xA2) по адресам 0x80000000 (SW high) и 0x80000008 (HW high).

Еще к mtkclient прилагаются примеры payload кода для MT6261. Там нет своего кода для работы с USB, там захардкожен адрес на функции из BROM. Конечно же, в тех устройствах что есть у меня - другой BROM и другие адреса.

Так что, если кто-то собирается заявить "Какой дурак пишет свои инструменты, всё уже давно написано, бери готовое!". То нет, это плохие инструменты, плохого качества. И если не умеешь писать свои, то останется надеяться только на авось.

НЛО прилетело и опубликовало эту надпись здесь

Нет, но железо хорошее.

Есть ли какая-то статья с кодами производителей? Я что-то подобное найти не могу, а код у меня получился 04e8

Это Samsung. У них были телефоны на чипах Spreadtrum. Эти могли так скрупулёзно подойти к делу, что сменили код производителя чипсета на свой. Что в прошивке сделать просто. Если вогнать телефон в загрузочный режим, то может проявится код производителя чипсета.

Для телефонов известных брендов я бы рекомендовал поискать характеристики модели в интернете. Или в руководстве пользователя (что тоже можно найти в интернете). С этим должно быть проще, чем для Российских брендов, у некоторых из которых я даже сайта найти не смог.

Спасибо за ответ!

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории