Pull to refresh

Comments 28

Когда же кто-нибудь запустит Doom на советской игре "Электроника"?

вместо мультика, который показывают, когда доходишь до 999 очков?

Удивлен что хоть у кого то оголовье и наушники целые

На самом деле там сломаны оба механизма складывания (динамики просто мотаются свободно из стороны в сторону) и после пары падений сломалась пластиковая часть механизма для настройки оголовья (ни на что не повлияло), но носить их возможно... 4 года ходил с ними.

До сих пор хожу с ними, те же проблемы решил строительной изолентой, замотав два динамика намертво

Прекрасно... я бы тоже так сделал, если бы продолжал носить, ни разу их не складывал. Хорошие наушники за свои деньги, они еще и прошиваются, даже исходники для чипа есть. Можно всё что угодно с ними сделать!

У меня целые, на удивление. Покупал в январе 2023. Все целое, только амбушюры протёрлись, поменял

Вам очень повезло и бережно обращаетесь с техникой :)

Про амбушюры кстати распространенная тема, они у всех расклеиваются через 2-3 года.

Но почему именно наушники?

Если вы про DOOM - звучит безумно, интересно и сложно, как вызов. Если про мой проект (патчер и прошивка) - для меня важны такие детали и возможность управлять своим устройством.

Теперь нужно запустить Дум на карте проездной от метро.

Doom уже не актуален, в моде Скайрим.

Как раз недавно смотрел у Aaron Christophel видео, в котором он завёл Doom на том же камне, но в умных часах.

У меня тоже есть наушники от Soundcore Q30 (а3028) только, могу в будущем чем то помочь, может если получится слить каким-то образом прошивку для развития, если будет обновление по воздуху, с руками дружу, паяльник имею, ток вот прошивальщика нет, но есть Ардуино, может на нем возможно написать?

Они очень похожи на q35, даже есть шанс, что прошивки совместимы. У Ардуин есть UART пины, как вижу, но наушникам на пинах нужно напряжение в 1.8V, а у них может быть 3.3 или 5. Скорее всего каким-то образом нужно будет понижать напряжение. Если интересует, можем связаться, мой ТГ указан снизу.

Очень интересная статья, спасибо! У самого Q20i, но в сторону прошивок и встроек только-только начинаю входить. Из текста статьи не очень детально понял, как именно встраиваемый код попадает в итоговый бинарь и как МК наушников понимает, где его выполнить. Может, проморгал, но был бы рад, если бы пояснили :)

Кстати, использовали ли Вы какие-то ресурсы/инструменты для погружения в тему, или все шло эмпирическим путем?

Для начала хочу сказать, что изучал Q20i несколько месяцев назад, в них тот же самый чип!

Спасибо за обратную связь, в будущих частях про загрузку и т.д. расскажу :)

Сама прошивка - просто ARM-бинарник с RTOS, который разделен на секции (по смещениям адресов). В МК вшит неизменяемый загрузчик (BootROM), который отвечает за восстановление через сервисный порт (через него считывался флэш с помощью bestool) и загрузку прошивки с флешки. МК загружается именно с него.

При запуске он указывает процессору, что нужно исполнять код с адреса флэша (0x3c000000). Сам код в прошивке - ассемблерный байткод.

Мой патчер находит в прошивке похожую структуру кода (сравнивает с той, что в нем прописана), выбирает несколько функций-кандидатов и меняет код в главном кандидате (пишет звуки в пустую память, а в функции меняет указатели (адреса) с стоковых звуков на заменённые) и сохраняет бинарник. Его можно прошить через тот же bestool.

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

Если сказать просто - всё шло и эмпирическим путём, но с использованием различных ресурсов и инструментов.

Если просто перечислить инструменты, которые использовались:

  1. Ghidra - декомпилятор/дизассемблер бинарного кода.

  2. basefind2 - утилита, которая помогает найти адрес загрузки прошивки.

  3. bestool - утилита для считывания/прошивки для чипов BES.

  4. Конечно же, ИИ. С помощью него писались все скрипты и я частично использовал его как источник информации.

Я увлекаюсь информационной безопасностью, поэтому я решал CTF-задачи по реверс-инжинирингу, но больше всего тренировался на реальных вещах - я изначально исследовал работу ABL (fastboot в android) образа на процессорах Qualcomm, благодаря этому я как раз научился пользоваться Ghidra и получил базовые знания о том, как работает скомпилированный код. И сами наушники как раз тоже исследовались, чтобы получить знания в этой сфере.

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

Через пару дней выйдет обновление, которое позволит прошить патч звуков прямо по воздуху, без разборки! Вообще, в даташите написано, что ЦАП чипа может выдавать вплоть до 192кГц и еще много чего. Главное - чтобы потянул блютуз. Но такое возможно уже с полностью кастомной прошивкой, которую я, к слову, тоже делаю. Остальное я не исследовал пока что... спасибо за комментарий! У меня стоит в целях на будущее реверс-инжиниринг звуковой части в стоковой прошивке.

Вообще, в даташите написано, что ЦАП чипа может выдавать вплоть до 192кГц

Ну блютуз такое не вывезет (разве что с низкой разрядностью).

А есть возможность заставить их (относится и к другим блютуз наушникам) нормально звучать в выключенном через провод? Или эта проблема в настройке самих динамиков?

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

Это интересно. Но поддерживает ли USB-порт передачу данных? Производитель мог и урезанный туда воткнуть, он ведь используется только для зарядки.

Удивительно, но да. Линии данных подключены и идут прямо из платы с чипом в плату с разъемом. Но при этом стоковая прошивка собрана вообще без USB стека, судя по всему решили в последний момент не добавлять USB-аудио.

Интересно, спасибо!

Думаю надо будет поизучать как можно отреверсить китайские мини ушные затычки, которые имеют сенсорный (видимо tft) цветной экран и Type-C с bt5.2, на Авито за 200-400₽ такие попадаются новыми, на озоне в районе 1500. Пока размышляю как вскрыть :)))

По опыту могу сказать, что внутри может быть либо старый чип BES, либо платформа JieLi (JL), желаю удачи :)

Спасибо!

Вот кстати как выглядели эти наушники из Китая за 250₽
Вот кстати как выглядели эти наушники из Китая за 250₽

Сначала думал, экран резистивный, но по ощущениям, ёмкостный. Пока удалось дойти до меню отладки, коротким нажатием кнопки питания после удержания оной для выключения. Сейчас наушники не под рукой, поэтому прикрепил фото из Авито. Похоже, что у данной сборки rtos есть потенциал для отладки.

попробуйте UART пины обязательно поискать и слить прошивку! Я уже прошивки BES на глаз кстати отличаю ;)

Sign up to leave a comment.

Articles