OneOdio Elysium добавляем кодек AAC

В общем это моя первая статья, да и не писатель я :) Так что не буду ходить вокруг да около, а перейду к делу.
Купив полгода назад наушники OneOdio Elysium с одной небезызвестной площадки, сразу же захотел как то улучшить их звучание по BT, по проводу они отрабатывают свои рубли(юани) на 100%, а вот по синему зубу играют мягко говоря не очень. А все из-за того что хитрые китайцы решили в данной модели не включать кодек AAC(типа поют же на SBC). Ну ничего мы это поправим :)

«Все делается на свой страх и риск, автор ответственности за испорченную технику не несет»
Для начала разбираем наушники, а именно ухо с управлением, так как именно там находиться основная плата, а во втором наушнике лежит аккумулятор, видимо это сделано для более менее верной развесовки наушников.
Внутренности

Наушники собраны на довольно редкой в наших краях микросхеме Bluetooth 5.0 фирмы Microchip IS2020S, тем не менее микросхема поддерживает кодеки SBC/AAC_LC, а так же менее интересный mSBC, плюс Microchip в отличие от Qualcomm не прячет информацию и программы для программирования данных микросхем. Данные под катом:

Единственное, но данный софт рассчитан на работу с их собственной микросхемой USB — UART mcp2200, но софт нам понадобиться лишь косвенно.
Для начала пришлось просмотреть даташит, оказывается их микросхема построена на база старенькой 8051 и не имеет собственной EEPROM поэтому Microchip предлагает хранить все настройки данной микросхемы в отдельной EEPROM, распаянной тут же неподалеку. Микросхема EEPROM самая простенькая 24С32 с классическим I2C интерфейсом. Так что программатор подойдёт абсолютно любой хоть народный CH341, хоть не менее народная Arduino, я же пользуюсь самодельным «Postal 3» , единственно требуются уровни равные 3.3в. Для начала был снят дамп памяти EEPROM, для его изучения и попытки скормить его софту от Microchip.
Оригинальный дамп

Увы попытка скормить софту была неудачной, MPET вывалился с ошибкой format unknown:
MPET

Далее при сравнении оригинальной таблицы характеристик «IS2020SUI_DEFAULT_TABLE» и дампа EEPROM было обнаружено сходство структуры данных.
Сравнение таблицы и дампа

В итоге собрав я собрал свою таблицу настроек IS2020S, и вполне удачно скормил редактору параметров, из пакета разработчика.
Редактор параметров

Вот и найден не включенный кодек :) ставим галочку, сохраняем таблицу и переносим, изменения в оригинальный дамп EEPROM, я для этих целей использовал WinHEX, сохраняем отредактированный дамп, подключаем программатор к микросхеме EEPROM и закачиваем новую прошивку с поддержкой ААС. Подключаемся на телефоне к гарнитуре и видим что кодек AAC в работе.
На телефоне

Данный способ позволяет не только включить недостающий кодек, можно поменять назначения кнопок, режим работы светодиодов, отсечку по напряжению на акб и т.д. Ну а на по следок для тех кто осилил данную статью :), но не хочет забивать себе голову, готовая прошивка с включенным AAC и таблица параметров (для собственноручного изготовления прошивки, в таблице строки 0800 и 0810 это CRC их в дамп вставлять не нужно)
Прошивка и таблица

P.S: Есть вероятность что наушники Remax 200HB имеют идентичное строение, так как OneOdio Elysium внешне клон Remax, но платы Remax 200HB я не видел так что утверждать что прошивка заработает на них не могу, кому надо тот разберет и посмотрит, совпадает ли железная база данных наушников.
Добавить в избранное +192 +319
+
avatar
+28
Круто, прям детектив. Однозначно плюс.
+
avatar
  • dodo
  • 24 октября 2020, 19:31
+19
Ну если с расчленёнкой, то триллер. )))
+
avatar
  • Alaket
  • 24 октября 2020, 21:18
+8
Судя по первому фото, скорее даже ужасы.
+
avatar
  • handte
  • 24 октября 2020, 21:28
+7
Сейчас уже все чистенько, просто китайцы не любят отмывать флюс и канифоль.
+
avatar
  • Grean
  • 24 октября 2020, 19:14
+5
Нет таких наушников, а если бы и были — вряд ли стал бы заморачиваться, но очень понравился подход, плюс однозначно!
+
avatar
  • T-1000
  • 24 октября 2020, 19:25
+18
Спятить можно. Во люди умные :) Это вам не табуретки точить.
Однозначно плюс. За образованность :)
+
avatar
  • kn_dima
  • 24 октября 2020, 19:34
+10
Два плюса этому господину :)
+
avatar
  • loole
  • 24 октября 2020, 20:22
+15
это моя первая статья
Тот случай, когда первый блин удался. Я так думаю.
+
avatar
+30
ну неплохо бы чтобы товарищ получил приз. если это всё его труд — то прям респект и уважуха и эт достойно приза месяца на мой взгляд.

PS: прошу понять меня правильно, я просто по умолчанию думаю о людях плохо ;) и склонен считать что никому нельзя верить, в частности, любой дурак может присвоить себе чужую разработку. автор вроде как похож на человека который всё это осилил сам.
+
avatar
  • handte
  • 24 октября 2020, 20:35
+33
Моя статья полностью, могу наработки скинуть, если интересно:) давно хотел на них разблокировать ААС, да времени не было, но как говориться глаза бояться руки делают, сегодня и разблокировку кодека и статью осилил :))
+
avatar
0
да я верю ;)
+
avatar
0
Респект Вам!
+
avatar
  • loole
  • 24 октября 2020, 21:14
+6
Отличная работа. В наше время прошивальщиков и прогревастов, человек способный прочитать даташит уже достоин уважения. Прям ностальгия пробила- раскодировка магнитол, приборки и вот это вот все…
Кстати, у меня гдета в дебрях наса можно найти Комбисет, с уважением…
+
avatar
  • handte
  • 24 октября 2020, 21:26
+2
А без даташитов никуда и не придёшь, не зря их ведь производитель пишет:) а вообще по долгу работы их читать приходиться :)
+
avatar
0
Помню касетную атомагнитолу blaupunk принесли починить. Ну это еще в те времена, когда mp3 еще не изобрели. Открываю, а там резистор посередине пляты никуда не подключённый. Думаю — вот дикарис. Только потом узнал, что он для кода разблокировки.
+
avatar
  • TImmER
  • 25 октября 2020, 20:23
0
Есть аналог этих наушников например air music play
+
avatar
  • Qim
  • 24 октября 2020, 20:58
+1
А если не соединяются по BT, тоже прошивать?
+
avatar
  • M_shein
  • 25 октября 2020, 08:11
0
Присоединяюсь к вопросу. Подключаются к телефону, но звук не идёт через наушники. Так и валяются. Что можно сделать?
+
avatar
  • handte
  • 25 октября 2020, 11:22
+2
Ну тут я вряд ли помогу, слишком много факторов может влиять, моя прошивка только добавляет кодек AAC, как вариант проверить плату, все соединения, целостность катушек динамиков, шунтирующих их конденсаторов, осциллографом можно посмотреть что твориться на выходе с МК на динамик, если хоть один динамик в КЗ то в МК срабатывает защита и выход звука отключается, ну и только в конце можно залить прошивку(сняв на всякий случай дамп).
+
avatar
  • M_shein
  • 25 октября 2020, 12:44
0
Я не радиотехник, таких сложных операций как проверка целостности катушек и тд, выполнить не смогу. Да и нечем.
Может кто сталкивался уже: при подключении этих oneodio по ВТ, звук на телефоне отключается, а в самих наушниках не появляется. Другие наушники с тем же тел отлично работают.
+
avatar
0
Не понятнго, что Вы хотите? Вам сказали, что делать. Не можете самостоятельно- найдите человека, который может. Хотите самостоятельно- покупайте тестер, паяльник, изучайте теорию
+
avatar
  • handte
  • 25 октября 2020, 11:26
0
А находятся при поиске?
+
avatar
+3
Респект, однозначно. Но не увидел информации — оно того стоило, наушники стали играть лучше?
+
avatar
  • handte
  • 24 октября 2020, 22:11
+5
Да звучание стало лучше в разы, более чёткое разделение каналов на мой слух, меньше цыкающих высоких, и более объёмный бас. Хотя звучание это дело вкуса:) у каждого оно свое, но мне результат понравился.
+
avatar
  • FPS4Less
  • 25 октября 2020, 00:41
+2
забавно, девушка купила когда-то наушники такой же конструкции, но брендированные, заставил отнести обратно на следующий день, она отдала за них около $25-30, но звучали они на $3-5 максимум
+
avatar
  • DSxxx
  • 25 октября 2020, 01:11
+2
OneOdio A61 норм уши, но их почему-то нет в продаже.
+
avatar
  • Sintetik
  • 25 октября 2020, 11:40
+3
Да, их сняли с продаж ещё весной. Кстати А61 на порядок лучше, во первых конструкцией, применение амбушюр предполагает более насыщенные низкие частоты(есть кстати и кнопка усиления басов), ну а во вторых там стоит чип СSR А64215 который позволяет проигрывание с минимальными задержками (AptX LL). Брал их на подарок, в руках конструкция чувствуется хлипковато и по звуку они довольно тихие.
+
avatar
  • DSxxx
  • 25 октября 2020, 19:36
+3
Не могу ними нарадоваться, звук хороший — громкий, конструкция отличная — предыдущие ломались на оголовье, тут оно гибкое. За 1.5 года заменил только амбюшуры — начал сыпаться «кожзам».
Думал еще купить, а их нигде нет, альтернатив не могу найти.
+
avatar
+2
Их расхватали влёт из-за поддержки Aptx LL. Сам взял 3 штуки. :))
+
avatar
  • dinogen
  • 25 октября 2020, 10:13
0
Молодец!
+
avatar
+1
В маленькие EEPROM с конфигом еще по идее зашивают MAC-адрес устройства, который в идеале надо оставлять нетронутым. Если у кого-то 2 девайса, как вариант, то прошивка одинакового конфига на них может дать баги из-за этого.
+
avatar
  • handte
  • 25 октября 2020, 14:06
+2
Данная микросхема не имеет MAC-адреса, это четко прописано в даташите, иметься только уникальный идентификатор который можно изменить только прошив 8051 входящую в состав самой микросхемы BT, это позволяет сделать набор разработки, только при наличии USB-UART mcp2200, подобие MAC адреса можно включить и зашить в EEPROM из таблицы, но изначально у китайцев он отключен, и я включать его не стал :)
Смотрим
+
avatar
+4
даташит как раз утвержает, что
— конкретно у IS2020S (в отличие от IS2021S) нет встроенной EEPROM, только под внешний чип
— A single-cycle 8-bit MCU is built into the stereo audio chip to execute the Bluetooth protocols. <...> The MCU firmware is hard-wired in ROM to minimize the firmware execution power consumption and to save the external flash cost.

Поэтому в данном случае BD_ADDR должен быть где-то среди UI parameters в данной EEPROM. «Mone Device Audio Gateway» — что-то другое, скорее всего. Это обычные наушники, вряд ли там заморочились с динамическим BD_ADDR, скорее всего какой-нибудь random static, который берется из EEPROM, полностью или частично.
+
avatar
  • handte
  • 25 октября 2020, 20:23
+1
Ок, посмотрю в дампе:) Есть некоторые идеи на этот счёт.
+
avatar
  • Aahz
  • 25 октября 2020, 17:20
+1
Не увидел в обзоре: процесс программирования как проходил? Выпаивали микросхему или подключались прямо на плате? Если на плате, то цеплялись прямо к ногам микрухи?
+
avatar
0
Щипцы / подпаяться.
+
avatar
  • handte
  • 25 октября 2020, 19:36
+2
Можно прям к ногам, можно выпаять, я подключался к ногам.