Magicsee C300/C300Pro/C400Plus

Вопросы по системе для оборудования на базе Amlogic.

Magicsee C300/C300Pro/C400Plus

Сообщение Cmlog » 19 дек 2018, 01:14

Вот попалась мне тут эта коробка с месяц назад всего за 53$, грех было не воспользоваться 8-) Ранее тут пробегали темы по ней, вроде как коробка заводится на CoreeELEC, но не поддерживается полностью DVB часть. Нашел немного свободного времени, изучил внутренности и написал драйвера для тюнерной части. В качестве демодулятора используется популярный для таких коробок AVL6862TA, он почти во всех Mecool'ах установлен, казалось бы, что уже какая-то часть должна работать, но нет, я долго искал демодулятор на 3-ей шине I2C, информацию черпал из DTS файла от Android, внимательно изучив, понял, что не только номер шины другой, чем у остальных используется, но еще и pinctrl для i2c на группу pin1 завязан, когда как для других i2c таких групп пинов нет. Что касается приемной части, то она состоит из 2х чипов, один для кабеля и эфира выполнен на MXL608, с этим оказалось проще всего, нашел исходники для MXL603 под Linux DVB API и чуток допилил их в соответствии с референсным драйвером для MXL608, хорошо, что по нему в интернете есть даташит и исходники референсного драйвера. Сложнее оказалось с чипом для DVB-S/S2 части, в этой коробке используется малоизвестный RDA5815M, однако, он широко используется в китайских дешевых ресиверах. В свое время я тут посоветовал одному человеку, как поиметь исходники для этого чипа, вернее для одного из этого семейства, известно 3-и варианта таких чипов - RDA5815, RDA5815S и RDA5815M, самый дешевый конечно последний, т.е. наш. Разница у них в полосе частот и в калибровке синтезатора частоты, все управление одинаковое. Т.к. я не нашел ничего подходящего для RDA5815M, пришлось таблицу калибровки выдергивать из андроидного драйвера. Сейчас этот драйвер замечательно работает, ну после отладки конечно... Пришлось немного потратить времени, что бы адаптировать DTS под CoreELEC от Alex, сейчас работают все функции, ранее не работал езернет и были какие-то глюки со звуком. Так же не нашлось конфига для работы пульта, мне пришлось его сделать самостоятельно, поэтому, кому не по нравится моя раскладка пульта, можете настроить под себя самостоятельно, Alex не однократно давал тут ссылки, как это делается. Вот фото рабочего процесса отладки...
IMG_20181219_004028.png
IMG_20181219_003911.png

IMG_20181219_003904.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Cmlog 20 янв 2019, 15:27, всего редактировалось 2 раз(а).
Аватара пользователя
Cmlog
 
Автор темы
Сообщения: 79
Зарегистрирован: 22 авг 2018, 21:12
Пол: Мужской

Re: Magicsee C300

Сообщение Cmlog » 19 дек 2018, 01:27

Я сделал патч для сборки CoreELEC от Alex:
MagicSee_C300.patch.gz

Надеюсь, Alex вставит его в последующие сборки в git. По идее, что работало ранее, должно работать и сейчас, я конечно внес несколько изменений для работы новых тюнеров в некоторые файлы существующего драйвера, но сломать они ничего не должны были. Последний готовый собранный образ для Magicsee C300 под SD карту можно скачать отсюда. Не забудьте в раздел COREELEC перебросить прилагаемый dtb.img. И да, а как же проблемы? Они есть, похоже драйвер демодулятора AVL6862TA не поддерживает работу Multiple PLP в DVB-T2, вроде бы в нем есть такая настройка и флаг нужный указан, но она не работает, вот кусок сканирования муксов, те, что не прошли, под номером PLP ID = 1 и 2. Будет время, попробую разобраться с этим.
Screenshot_20181219_005037.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Cmlog
 
Автор темы
Сообщения: 79
Зарегистрирован: 22 авг 2018, 21:12
Пол: Мужской

Re: Magicsee C300

Сообщение alex » 19 дек 2018, 08:27

Cmlog писал(а):Я сделал патч для сборки CoreELEC от Alex:
MagicSee_C300.patch.gz

Надеюсь, Alex вставит его в последующие сборки в git.

Спасибо. Если не будет конфликта с драйверами avl6862/r848a добавлю в основные устройства (S905/912), если будут проблемы - сделаю отдельное устройство.
Аватара пользователя
alex
Администратор
 
Сообщения: 6150
Изображения: 0
Зарегистрирован: 05 дек 2012, 14:10
Откуда: Киев
Национальный флаг:
Ukraine
Пол: Мужской

Re: Magicsee C300

Сообщение Cmlog » 19 дек 2018, 11:11

alex писал(а):Спасибо. Если не будет конфликта с драйверами avl6862/r848a добавлю в основные устройства (S905/912), если будут проблемы - сделаю отдельное устройство.

Как раз пытался этого избежать, в начале думал сделать автоматический поиск тюнеров по ID регистрам, но потом сделал настройку через DTS, добавил пару опций и параллельно подправил явные места в текущей связке драйверов, из-за которых бы падало ядро, например, при отсутствии некоторых параметров в DTS связанных со GPIO. Если оставить все как есть, работает штатная связка avl6862/r848a, т.е., в общем ничего не должно изменится. Для активации работы связки двух тюнеров MXL608 и RDA5815M, я добавил дополнительные параметры для DTS dev_name и dtv_demod0_antoverload_gpio-gpios в секцию dvbfe. Если указать dev_name = "magicsee", то будут пытаться использоваться эти тюнеры, ну и еще понадобился дополнительный параметр для еще одного GPIO, его присутствие для штатного варианта не обязательно. Еще, я использую пока декомпелированную версию DTS, мне так проще с ней работать, со временем можно будет сделать типовой вариант, как это сделано для других устройств...
Аватара пользователя
Cmlog
 
Автор темы
Сообщения: 79
Зарегистрирован: 22 авг 2018, 21:12
Пол: Мужской

Re: Magicsee C300

Сообщение vv0 » 19 дек 2018, 20:49

Здравствуйте. А как добавить поддержку в Magicsee C400pro.
Аватара пользователя
vv0
 
Сообщения: 7
Зарегистрирован: 15 янв 2017, 19:47
Пол: Пол не указан

Re: Magicsee C300

Сообщение Cmlog » 19 дек 2018, 23:56

vv0 писал(а):Здравствуйте. А как добавить поддержку в Magicsee C400pro.

Здравствуйте. У меня нет данных об этом устройстве. Я слышал только о C400 Plus, однако из DTS этого устройства, взятого из прошивки Android, я не обнаружил в нем настроек для DVB части, к тому же, в нем все интерфейсы I2C выключены. Проще говоря, мне не известно, что там используется в качестве демодулятора и тюнера, каким образом все это подключается и управляется. Может вы имели ввиду C300 Pro? Для него нужно правильно создать DTS профиль, DVB часть у него такая же, как у просто C300, подключение такое же....
Аватара пользователя
Cmlog
 
Автор темы
Сообщения: 79
Зарегистрирован: 22 авг 2018, 21:12
Пол: Мужской

Re: Magicsee C300

Сообщение alex » 24 дек 2018, 16:02

Cmlog писал(а):
alex писал(а):Спасибо. Если не будет конфликта с драйверами avl6862/r848a добавлю в основные устройства (S905/912), если будут проблемы - сделаю отдельное устройство.

Как раз пытался этого избежать, в начале думал сделать автоматический поиск тюнеров по ID регистрам, но потом сделал настройку через DTS

Добрый день.
Сегодня проверил на KII Pro. Конфликтует с avl6862, не поднимается фронтэнд:
Код: Выделить всё
[  900.667136@1] DVB FE: Init AVL6862 frontend 0
[  900.667168@1] DVB FE: i2c_addr=0xc0
[  900.667178@1] DVB FE: fe0_ts=0
[  900.667188@1] DVB FE: i2c_adap_id=1
[  900.667218@1] DVB FE: gpio_reset=224
[  900.667231@1] DVB FE: gpio_power=222
[  900.667246@1] DVB FE: avl6862_Reset!
[  901.480774@1] DVB FE: avl6862_gpio!
[  901.480903@1] i2c i2c-1: [aml_i2c_xfer] error ret = -5 (-EIO)
[  901.480915@1] i2c i2c-1: token 1, master_no(1) 300K addr 0x40
[  901.480971@1] i2c i2c-1: [aml_i2c_xfer] error ret = -5 (-EIO)
[  901.480980@1] i2c i2c-1: token 1, master_no(1) 300K addr 0x40
[  901.481036@1] i2c i2c-1: [aml_i2c_xfer] error ret = -5 (-EIO)
[  901.481044@1] i2c i2c-1: token 1, master_no(1) 300K addr 0x40
[  901.481055@1] i2c i2c-1: avl6862: i2c wr failed=-11 len=3
[  901.481111@1] i2c i2c-1: [aml_i2c_xfer] error ret = -5 (-EIO)
[  901.481119@1] i2c i2c-1: token 1, master_no(1) 300K addr 0x40
[  901.481174@1] i2c i2c-1: [aml_i2c_xfer] error ret = -5 (-EIO)
[  901.481183@1] i2c i2c-1: token 1, master_no(1) 300K addr 0x40
[  901.481237@1] i2c i2c-1: [aml_i2c_xfer] error ret = -5 (-EIO)
[  901.481246@1] i2c i2c-1: token 1, master_no(1) 300K addr 0x40
[  901.481255@1] i2c i2c-1: avl6862: i2c rd failed=-11 len=4
[  901.481323@1] i2c i2c-1: [aml_i2c_xfer] error ret = -5 (-EIO)
[  901.481335@1] i2c i2c-1: token 1, master_no(1) 300K addr 0x40
[  901.481391@1] i2c i2c-1: [aml_i2c_xfer] error ret = -5 (-EIO)
[  901.481401@1] i2c i2c-1: token 1, master_no(1) 300K addr 0x40
[  901.481457@1] i2c i2c-1: [aml_i2c_xfer] error ret = -5 (-EIO)
[  901.481475@1] i2c i2c-1: token 1, master_no(1) 300K addr 0x40
[  901.481490@1] i2c i2c-1: avl6862: i2c wr failed=-11 len=3
[  901.481553@1] i2c i2c-1: [aml_i2c_xfer] error ret = -5 (-EIO)
[  901.481567@1] i2c i2c-1: token 1, master_no(1) 300K addr 0x40
[  901.481629@1] i2c i2c-1: [aml_i2c_xfer] error ret = -5 (-EIO)
[  901.481643@1] i2c i2c-1: token 1, master_no(1) 300K addr 0x40
[  901.481705@1] i2c i2c-1: [aml_i2c_xfer] error ret = -5 (-EIO)
[  901.481719@1] i2c i2c-1: token 1, master_no(1) 300K addr 0x40
[  901.481733@1] i2c i2c-1: avl6862: i2c rd failed=-11 len=4
[  901.481747@1] i2c i2c-1: avl6862: attach failed reading id
[  901.481762@1] DVB FE: avl6862_attach attach failed!!!
Аватара пользователя
alex
Администратор
 
Сообщения: 6150
Изображения: 0
Зарегистрирован: 05 дек 2012, 14:10
Откуда: Киев
Национальный флаг:
Ukraine
Пол: Мужской

Re: Magicsee C300

Сообщение Cmlog » 24 дек 2018, 16:30

Обновленный патч с небольшими фиксами:
linux-0040-magicsee_c300.patch.gz
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Cmlog 24 дек 2018, 16:33, всего редактировалось 1 раз.
Аватара пользователя
Cmlog
 
Автор темы
Сообщения: 79
Зарегистрирован: 22 авг 2018, 21:12
Пол: Мужской

Re: Magicsee C300

Сообщение Cmlog » 24 дек 2018, 16:30

alex писал(а):Добрый день.
Сегодня проверил на KII Pro. Конфликтует с avl6862, не поднимается фронтэнд:
Код: Выделить всё
[  900.667136@1] DVB FE: Init AVL6862 frontend 0
[  900.667168@1] DVB FE: i2c_addr=0xc0
[  900.667178@1] DVB FE: fe0_ts=0
[  900.667188@1] DVB FE: i2c_adap_id=1
[  900.667218@1] DVB FE: gpio_reset=224
[  900.667231@1] DVB FE: gpio_power=222
[  900.667246@1] DVB FE: avl6862_Reset!
[  901.480774@1] DVB FE: avl6862_gpio!
[  901.480903@1] i2c i2c-1: [aml_i2c_xfer] error ret = -5 (-EIO)
[  901.480915@1] i2c i2c-1: token 1, master_no(1) 300K addr 0x40
[  901.480971@1] i2c i2c-1: [aml_i2c_xfer] error ret = -5 (-EIO)
[  901.480980@1] i2c i2c-1: token 1, master_no(1) 300K addr 0x40
[  901.481036@1] i2c i2c-1: [aml_i2c_xfer] error ret = -5 (-EIO)
[  901.481044@1] i2c i2c-1: token 1, master_no(1) 300K addr 0x40
[  901.481055@1] i2c i2c-1: avl6862: i2c wr failed=-11 len=3
[  901.481111@1] i2c i2c-1: [aml_i2c_xfer] error ret = -5 (-EIO)
[  901.481119@1] i2c i2c-1: token 1, master_no(1) 300K addr 0x40
[  901.481174@1] i2c i2c-1: [aml_i2c_xfer] error ret = -5 (-EIO)
[  901.481183@1] i2c i2c-1: token 1, master_no(1) 300K addr 0x40
[  901.481237@1] i2c i2c-1: [aml_i2c_xfer] error ret = -5 (-EIO)
[  901.481246@1] i2c i2c-1: token 1, master_no(1) 300K addr 0x40
[  901.481255@1] i2c i2c-1: avl6862: i2c rd failed=-11 len=4
[  901.481323@1] i2c i2c-1: [aml_i2c_xfer] error ret = -5 (-EIO)
[  901.481335@1] i2c i2c-1: token 1, master_no(1) 300K addr 0x40
[  901.481391@1] i2c i2c-1: [aml_i2c_xfer] error ret = -5 (-EIO)
[  901.481401@1] i2c i2c-1: token 1, master_no(1) 300K addr 0x40
[  901.481457@1] i2c i2c-1: [aml_i2c_xfer] error ret = -5 (-EIO)
[  901.481475@1] i2c i2c-1: token 1, master_no(1) 300K addr 0x40
[  901.481490@1] i2c i2c-1: avl6862: i2c wr failed=-11 len=3
[  901.481553@1] i2c i2c-1: [aml_i2c_xfer] error ret = -5 (-EIO)
[  901.481567@1] i2c i2c-1: token 1, master_no(1) 300K addr 0x40
[  901.481629@1] i2c i2c-1: [aml_i2c_xfer] error ret = -5 (-EIO)
[  901.481643@1] i2c i2c-1: token 1, master_no(1) 300K addr 0x40
[  901.481705@1] i2c i2c-1: [aml_i2c_xfer] error ret = -5 (-EIO)
[  901.481719@1] i2c i2c-1: token 1, master_no(1) 300K addr 0x40
[  901.481733@1] i2c i2c-1: avl6862: i2c rd failed=-11 len=4
[  901.481747@1] i2c i2c-1: avl6862: attach failed reading id
[  901.481762@1] DVB FE: avl6862_attach attach failed!!!


А это потому-что в моем измененном драйвере aml_fe заработал параметр dtv_demod0_i2c_addr, у вас он равен 0xc0 в DTS. Есть 2-а варианта решения проблемы, закоментарить в драйвере aml_fe строчки:
Код: Выделить всё
           if(!of_property_read_u32(pdev->dev.of_node, "dtv_demod0_i2c_addr", &i2c_addr)) {
                      avl6862_config.demod_address = i2c_addr;
                      pr_dbg("i2c_addr=0x%02x\n", avl6862_config.demod_address);
           }

Либо закоментарить параметр dtv_demod0_i2c_addr в DTS файле, или же указать в нем правильный адрес = 0x14.

P.S. Кстати, для AVL6211 i2c адрес действительно должен быть 0xc0, а вот для демодулятора AVL6862 он должен быть 0x14.
Аватара пользователя
Cmlog
 
Автор темы
Сообщения: 79
Зарегистрирован: 22 авг 2018, 21:12
Пол: Мужской

Re: Magicsee C300

Сообщение alex » 24 дек 2018, 16:43

Cmlog писал(а):Кстати, для AVL6211 i2c адрес действительно должен быть 0xc0, а вот для демодулятора AVL6862 он должен быть 0x14.

Да, только что посмотрел. Думаю, лучше исправить в DTS. Соберу и проверю.
Аватара пользователя
alex
Администратор
 
Сообщения: 6150
Изображения: 0
Зарегистрирован: 05 дек 2012, 14:10
Откуда: Киев
Национальный флаг:
Ukraine
Пол: Мужской

След.


Вернуться в Amlogic

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Premodded assemblage from ATS