Comments 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 приложений (но уверен что там всё китайское.)
Это 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хх он одинаковый, но по-настоящему платформо-независимый способ узнать чип - это завершить хендшейк и получить ответ на команды:
0xFD - "
GET_HW_CODE
" - возвращает id процессора вида 0x62610xFC - "
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. Эти могли так скрупулёзно подойти к делу, что сменили код производителя чипсета на свой. Что в прошивке сделать просто. Если вогнать телефон в загрузочный режим, то может проявится код производителя чипсета.
Для телефонов известных брендов я бы рекомендовал поискать характеристики модели в интернете. Или в руководстве пользователя (что тоже можно найти в интернете). С этим должно быть проще, чем для Российских брендов, у некоторых из которых я даже сайта найти не смог.
Определение чипсета дешевых сотовых телефонов