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

Как я случайно купил последний в мире прототип игрового смартфона и доработал его до ума

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров17K
Всего голосов 52: ↑49 и ↓3+58
Комментарии45

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

Спасибо за очень интересную статью! Возможно, учитывая доступность рута, можно написать драйвер под стик и внедрить в прошивку? Сам пока в этом, к сожалению, не разбираюсь, и писать дрова не умею, лишь предполагаю возможную концепцию решения проблемы.

Без схемы на устройство это к сожалению невозможно :( не ясно как и куда подключен стик...

Да, дербанить такое чудо как-то страшновато.

Можно снять проц и вызвонить к какому шару идёт какой пин, но придётся кататься на универсалку

Может, накидать некий тестовый код, выводящий состояние всех GPIO, а дальше жать стик и смотреть, где будут изменения?

Там вроде ADC на шлейфе, которое с процом по i2c общается. Проще подоткнуть к шлейфу esp32 и написать простой код, который представляется BLE HID. Костыль, но зато заработает легко.

Вот тут да, такой вариант сработает, но есп пихать некуда

А этот АЦП - тоже от PSP? Или уже от разработчиков данного девайса довесок? Если от PSP, то может и протокол кто-то реверсил уже. Ну либо снять дамп обмена на настоящей PSP. Либо заменить его, но не на ESP, а на сравнимый по размерам микроконтроллер со встроеннным АЦП. Ну это так, если уж маньячить :)

Стик аналоговый, в нем нет ничего цифрового) На входе VIO, на выходе 0..VIO, АЦП поулчает значение по каждой оси отдельно и преобразовывает из, допустим, 12-битного значения 0..4096 в 0..1 (val / adcMaxValue), а затем переводит из координатной системы 0..1 в -1..1. Например, вот так:

float x = (float)adcChannelRead(ADC_CHANNEL_X) / adcMaxValue;
float y = (float)adcChannelRead(ADC_CHANNEL_Y) / adcMaxValue;

x = (x - 0.5f) * 2;
y = (y - 0.5f) * 2;

Сам стик - понятно, аналоговый. Но вот выше @vvzvladупоминает АЦП прямо на шлейфе, и действительно, на ваших фото на шлейфе виден некий QFN чипик, т.е. на разъеме со шлейфа на плату вполне уже может быть цифра. Маркировку чипика не разглядеть, к сожалению, а вдруг что-то серийное? Может, оно в итоге где-то на /dev/i2cXX видится.

Это шлейф тача)

Жаль, что схемы не нашлось... В таком случае, наверное, действительно лучше как есть оставить. Ещё раз спасибо за статью!

Интересно, а если рентгены его выложить — справимся большой стаей?

Хотя всё равно нужна будет фотка платы, чтобы хотя бы примерно представлять микрухи. Там наверняка не просто дорожки к GPIO SoC…

Могут быть и просто к процу. Но исходников этого ядра на 8810 нет.

а /proc/config.gz есть? На отладочном может быть...

Есть. Ничего связанного с геймпадом

Зато можно конфигу сдампить и попробовать модуль ядра собрать. Хорошо бы узнать парт номер чипа что стоит на шлейфе, чтоб понять, где искать: на i2c или spi или вообще на входах АЦП.

Шлейф тача...

Пока поискал и в рунете, и в Гугле - особо ничего не нашлось...

Мне как-то сама идея телефона со встроенными стиками и кнопками не нравится. Учитывая их ломучесть, лучше уже обычный телефон + подключаемый контроллер типа такого...

Туда можно и батарею дополнительную впендюрить заодно.

Но почитать все равно интересно, аффтар жжот - пешы исчо! :)

Стики эргономично спрятаны, грибочек не цепляется ни за что :) в целом норм

Автор конечно монстр, но мне супер сложно понять, зачем всё-таки писать новые программы под мертвые платформы типа андроид 4.

Можно понять, когда это культовая полноценная платформа софт+железо, типа гейм бой или NES. Но ведь андроид 4 это же просто устаревший андроид к куче разных телефонов.

Потому что много интересных аппаратов на этой версии и младше было. Кверти почти все с четверками и двойками ;)

Меня смущает исключительно одно обстоятельство.

Как дачник с (40+)летним стажем, я могу сказать наверняка: ведро выкидывают не тогда, когда вышло новое, а тогда, когда старое — дырявое и не латается.

Чёрт бы с древними API, но как быть с дырами? В первую очередь мне, конечно, интересно оно в плане перепрошивки чем-то AOSP'овым, причём не разовой, а более-менее регулярной, чтобы можно было оперативно дыры латать.

Кстати, интересно, а можно хотя бы минимальный вариант Линейки или Репликанта собрать под Нокию N97? Да-да, «чтобы только мессенджеры тянул».

Но ведь даже в рамках AOSP старые версии Android не поддерживаются вечно.

То есть, на 4-ку никаких исправлений нет, потому что никто не бэкпортирует исправлений из актуальных версий в 4-ку.

Это как с ядром Linux 2.6 - его поддержку тащили очень долго, сначала разработчики с kernel.org, затем RedHat, но сейчас уже никто его не латает.

Ну про апи я к слову, а так, конечно, лучше бы всю версию иметь новую, конечно. Тем более — раз в силу отсутствия бэкпортов по-другому и не выйдет.

То есть задача, по сути, сводится к сборке свежего ведра под железо, под которое отродясь ничего не собиралось пуще четвёрки. Какие там есть принципиальные проблемы? Блобы дров не подойдут, а переписать их мы не можем? Требования к камням не позволят собрать в принципе? Банально не хватит производительности и рамы, и не получится ничего лишнего выкинуть?

Репликанта как-то собрали ведь…

В конце 2012 года у меня был дешевый китаец с двухядерным ARMv7 процессором 1ГГц, гигабайт памяти, 4 или 8 гигов флеша и экран IPS 1280*720. Так что понятно почему это так и осталось прототипом.

Были ещё вариации консолей с радиомодулем серийные на мейнстримных в то время МТК и они пользовались успехом в Китае

Да, телефон был на MT6577, тогда было много моделей множества полуподвальных китайских компаний, по сути на одной платформе. Так что аппарат из обзора был бы полностью нежизнеспособным, если бы вышел.

Вопрос в цене. На локальном китайском рынке серийный T800 получил некоторый успех, а смартфончики на родном брате SC8810 - SC6820 (для других частот) продавались по 2-2.5 тысячи рублей с наценкой продавца в палатках и на развалах и пользовались хорошим спросом.

Найти бы такой)

Друзья! Прошу прощения за неприятные детские очепятки, статью вместе с видео готовил марафоном с вечера по сегодняшний обед. Ближе к окончанию подготовки статьи глаз сильно замылился, но сейчас поправил все что заметил

Я тут недавно из утиля купил N-Gage Classic после воды, отремонтировал её и расскажу вам в одной из следующих статей о подробной диагностике таких неисправностей.

Я РАЗВЕ МНОГО ПРОШУ!? СДЕЛАЙТЕ ТАКОЙ ЖЕ СО ВТОРЫМ СТИКОМ И DIMENSITY ПОД КАПОТОМ!!!

Так ведь уже. GPD XP Plus. Её с офсайта удалили, но в продаже есть. Поддерживает сети от 2G до 5G, но, предположительно, не звонит как телефон.

В этом и проблема, что анберник тоже на юнисоке, но звонилку вырезают

Это аппаратное или программное? Если второе, то, может, можно рутануть/с-оффнуть и вернуть на место?

Аппаратное. Думаю экономят на сертификации

Необычный аппарат, я сам люблю всякие инженерные телефоны собирать.

Вот может написать про серийный, по сути модульный телефон? Он почти не оставил след о себе. Да и не называли его тогда модульным.

Вот только телефон оказался в итоге троянским конем, когда его разобрал. У меня один серийный, в полном комплекте, и три штуки похоже прототипные.

Фото тут возможно разместить со стороннего ресурса? Просто я их там размещу.

Давайте

Фото тут возможно разместить со стороннего ресурса? Просто я их там размещу.

Чем Habrastorage не угодил?

Доступные расширения: jpg, gif, png; ширина до 5000px; максимальный размер до 8 Мбайт

невиданного доколе уровня графики

"доселе" же

"доколе" - это реплика в будущее, причём с броневика и с надрывом

"доколе, о Каталина, ты будешь испытывать наше терпение?!!"

О, пасиб, мой косяк

Шикарная статья, спасибо!

Было очень интересно! Спасибо за статью! До этого такое не читал и по части железа не шарю, но тут прям очень заинтересовало.

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