| Форум Beholder http://beholder.ru/bb/ | |
| Драйвер для тюнера Behold TV T7 под Linux http://beholder.ru/bb/viewtopic.php?f=11&t=14101 |
Страница 9 из 22 |
| Автор: | Demod [ 31 май 2015, 17:35 ] |
| Заголовок сообщения: | Re: Драйвер для тюнера Behold TV T7 под Linux |
and2, скачай по этой ссылке http://rghost.ru/7KFZFbstY media_build от 18 февраля 2014. Распакуй его в какой-нибудь каталог командой tar zxvf <имя скачанного архива> Перейди в каталог 2014-02-18-v4l-orig, затем в media_build. Из каталога v4l удали файл .version (файл начинается с точки) Из каталога linux удали файл .patches_applied (файл тоже начинается с точки) Вернись в каталог media_build, и попробуй провести сборку командой make make install не делай, эту команду выполним в самом конце, когда наложим мои патчи. Сейчас же только попробуем собрать. Если будут ошибки, то покажи их. Если соберётся успешно, тогда пойдём дальше. PS: Если у тебя установлен midnight commander, то можешь пользоваться им. Он почти такой же, как Far под Windows. |
|
| Автор: | and2 [ 31 май 2015, 19:16 ] | ||
| Заголовок сообщения: | Re: Драйвер для тюнера Behold TV T7 под Linux | ||
Всё выполнил как написано,но ошибки.
|
|||
| Автор: | Demod [ 31 май 2015, 19:34 ] |
| Заголовок сообщения: | Re: Драйвер для тюнера Behold TV T7 под Linux |
Распакуй архив снова, и попробуй ещё раз, только теперь не удаляй .patches_applied в каталоге linux. Я уже плохо помню, как подобную ошибку побеждал. Лог маленький, если будут ошибки, можешь прямо на форум из Linux запостить. |
|
| Автор: | and2 [ 31 май 2015, 19:50 ] |
| Заголовок сообщения: | Re: Драйвер для тюнера Behold TV T7 под Linux |
Demod Всё,процесс пошёл и закончился без ошибок.Предлагаю продолжить завтра,т.к.надо уже спать. |
|
| Автор: | Demod [ 01 июн 2015, 04:40 ] |
| Заголовок сообщения: | Re: Драйвер для тюнера Behold TV T7 под Linux |
Требуемый бинарный файл патча можно также получить и при помощи Unix/Linux команды "dd". Для этого ей нужно передать такие параметры, как имя файла на входе, размер блока, смещение, количество блоков и имя выходного файла. Но я не стал тратить время на подсчёт смещения, а просто сохранил нужный кусок hex редактором в отдельный файл. :-) and2, ты уже приготовил нужный бинарник размером 25360 байт. Теперь его нужно перевести в hex формат. В этом деле нам здорово поможет открытая утилита "SwissFileKnife" - "швейцарский файловый нож". На её сайте доступны для загрузки уже собранные версии почти под все популярные ОС, а также, исходники для самостоятельной сборки. Если захочешь, можешь потом собрать или загрузить бинарник под Linux. Я же приведу пример, как в нашем случае применить её под Windows. Загрузи утилиту sfk с её родного сайта http://stahlworks.com/dev/sfk/sfk.exe в любой свободный каталог. В этот же каталог скопируй ранее сделанный тобой бинарник. Открой командную строку. Перейди в этот каталог командой cd. Выполни команду "sfk hexdump -nofile -hexsrc -recsize 8 имя_сделанного_бинарного_файла > si2168_30_ROM3_Patch_3_0b20.h" без кавычек. Открой появившийся файл si2168_30_ROM3_Patch_3_0b20.h с помощью "блокнота". В самом начале этого файла, перед hex-кодами, вставь следующие строки (как описано в первом посте): Код: #ifndef _Si2168_PATCH_3_0b20_TABLE_H_ #define _Si2168_PATCH_3_0b20_TABLE_H_ #define Si2168_PATCH_3_0b20_PART 68 #define Si2168_PATCH_3_0b20_ROM 3 #define Si2168_PATCH_3_0b20_PMAJOR '3' #define Si2168_PATCH_3_0b20_PMINOR '0' #define Si2168_PATCH_3_0b20_PBUILD 2 unsigned char Si2168_Patch_3_0b20[] = { а в самом конце файла вставь: Код: }; #define Si2168_Patch_3_0b20_LINES (sizeof(Si2168_Patch_3_0b20)/(8*sizeof(unsigned char))) #endif /* _Si2168_PATCH_3_0b20_TABLE_H_ */ Сохрани файл и выполни команду "sfk crlf-to-lf si2168_30_ROM3_Patch_3_0b20.h" без кавычек. Теперь, в файле si2168_30_ROM3_Patch_3_0b20.h уже "unix" переводы строк. Больше его под Windows не редактируй. Потом, уже под Linux, не забудь убедиться, что его содержимое не "поплыло" и выглядит в редакторе также, как и под Windows. Перезагрузись в Linux. Загрузи, если ещё не загрузил, архив с нужными исходниками демодулятора из http://members.quicknet.nl/pe63/dvbsky-v4l.tar.gz Распакуй этот архив в любом свободном каталоге. Скопируй из него файлы, лежащие по пути ./dvbsky/media_build/linux/drivers/media/dvb-frontends/ , и начинающиеся на si215 и si216 (всего 12 файлов) в аналогичный каталог ./media_build/linux/drivers/media/dvb-frontends/ собранного тобой сегодня media_build от 18 февраля 2014. В этот же каталог ./media_build/linux/drivers/media/dvb-frontends/(в media_build от 18 февраля 2014) скопируй 4 файла, начинающиеся на si2168, из скачанного тобой архива diffs.tgz Сюда же скопируй сделанный тобой файл с патчем микропрограммы - si2168_30_ROM3_Patch_3_0b20.h Файл xc5000c.diff из архива diffs.tgz положи в каталог ./media_build/linux/drivers/media/tuners (media_build от 18 февраля 2014) Оставшиеся 4 файла, начинающиеся на saa7134, из архива diffs.tgz, положи в каталог ./media_build/linux/drivers/media/pci/saa7134 (media_build от 18 февраля 2014) Далее работаем с файлами исключительно в каталоге media_build от 18 февраля 2014 Этап применения патчей: зайди в каталог ./media_build/linux/drivers/media/dvb-frontends/ Находясь в этом каталоге выполни следующие команды: patch --verbose -u si2168_demod.c < si2168_demod.c.diff patch --verbose -u si2168_drv.c < si2168_drv.c.diff patch --verbose -u si2168_priv.h < si2168_priv.h.diff patch --verbose -u si2168_si2158.c < si2168_si2158.c.diff зайди в каталог ./media_build/linux/drivers/media/tuners/ Находясь в этом каталоге выполни следующую команду: patch --verbose -u xc5000.c < xc5000.c.diff зайди в каталог ./media_build/linux/drivers/media/pci/saa7134/ Находясь в этом каталоге выполни следующие команды: patch --verbose -u saa7134-cards.c < saa7134-cards.c.diff patch --verbose -u saa7134-dvb.c < saa7134-dvb.c.diff patch --verbose -u saa7134-input.c < saa7134-input.c.diff patch --verbose -u saa7134.h < saa7134.h.diff Если в процессе возникнут ошибки, то сохрани и сообщи их. Этап подключения нового драйвера к media_build. Дублирую то, что описано в первом посте. Если будут вопросы, спрашивай. В конец файла ./media_build/v4l/.myconfig нужно добавить строку: Код: CONFIG_DVB_SI2168 := m В файле ./media_build/linux/drivers/media/dvb-frontends/Kconfig найти строку config DVB_SI21X и добавить перед ней Код: config DVB_SI2168 tristate "Si2168 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T2/T/C tuner module. Say Y when you want to support this frontend. В файле ./media_build/linux/drivers/media/dvb-frontends/Makefile найти строку drxk-objs := drxk_hard.o и после неё добавить Код: si2168-objs := si2168_demod.o si2168_si2158.o si2168_drv.o и в самом конце этого же файла добавить строку: Код: obj-$(CONFIG_DVB_SI2168) += si2168.o Этап сборки. Перейди в каталог media_build, и выполни команду make Возникшие ошибки запости. Если ошибок не будет, то можешь выполнить установку этой версии драйвера командой make install PS: когда дойдёт до проверки приёма, если с ним возникнут проблемы, то переключи антенну на другой вход тюнера. Оставь антенну в том гнезде, где качество аналоговой картинки будет выше. В драйвере задействован только один вход тюнера, и я не помню, какой. |
|
| Автор: | and2 [ 01 июн 2015, 16:25 ] | ||
| Заголовок сообщения: | Re: Драйвер для тюнера Behold TV T7 под Linux | ||
Demod Увидел у тебя ошибку,пути указаны с косой чертой - "от Windows",ну это мелочи. Переустановил начисто mint mate 64 17.1 для чистоты экспиримента. Сделал как всё написано.Плюс dvb-fe-xc5000c-4.1.30.7.fw закинул в /lib/firmware/ и прописал строку в vmwgfx-fbdev.conf: options xc5000 no_poweroff=1 Во время патчей ошибок не было,после make тоже,после sudo make install тоже всё нормально. Цифра не работает - при запуске с ярлыка пишет ошибка. Радио тоже не работает с ярлыка. Аналог ТВ при запуске с ярлыка работают все каналы с картинкой и звуком. во вложении: dmesg - лог после загрузки системы T2 - лог цифры при запуске с строкой в терминале TV - лог аналог ТВ при запуске с строкой в терминале playlist.7z - сделанные мной полные плейлисты с ярлыками
|
|||
| Автор: | Demod [ 01 июн 2015, 17:18 ] |
| Заголовок сообщения: | Re: Драйвер для тюнера Behold TV T7 под Linux |
and2 Спасибо, пути поправлю. Может быть ты не заметил, и во время make или make install ошибки всё же были? Вообще, такое ощущение, что модуля для si2168 просто нет в системе. Выложи файлы: ./media_build/v4l/.myconfig ./media_build/linux/drivers/media/dvb-frontends/Kconfig ./media_build/linux/drivers/media/dvb-frontends/Makefile И ещё лог работы радио. Странно, что оно не заработало. PS: Плейлистов твоих в архиве не нашел... |
|
| Автор: | and2 [ 01 июн 2015, 18:17 ] | ||
| Заголовок сообщения: | Re: Драйвер для тюнера Behold TV T7 под Linux | ||
Demod Гарантировать не могу ,что ошибок не было при установке,чего то пишет но errors вроде нет.Может переустановить и снять логи? Радио не знаю как запустить с терминала,запустил vlc -vvvvv,потом с ярлыка для радио не знаю так ли делаю.Каналы радио (названия)переключаются но вот идёт звук от последнего ТВ аналога,т.е.на каком ТВ канале выключишь vlc,тот и воспроизводится с ярлыка радио,переключаешь радиоканалы - звук идет только ТВ (последний,не переключаясь). во вложении: Kconfig,.myconfig,Makefile. radio - лог радио папка playlist - сделанные мной полные плейлисты с ярлыками
|
|||
| Автор: | Demod [ 01 июн 2015, 18:22 ] |
| Заголовок сообщения: | Re: Драйвер для тюнера Behold TV T7 под Linux |
В файле .myconfig почему-то вместо символа "m": "CONFIG_DVB_SI2168 := m" стоит "n" "CONFIG_DVB_SI2168 := n" Исправь и попробуй снова make, make install. Если после перезагрузки опять будут проблемы, тогда make clean, make, make install |
|
| Автор: | Demod [ 01 июн 2015, 18:30 ] |
| Заголовок сообщения: | Re: Драйвер для тюнера Behold TV T7 под Linux |
and2, дебаг для радио получился неполный, сделай тогда как раньше, без плейлиста: vlc -vvvvv v4l2:///dev/radio0 :input-slave=alsa://hw:1,0 :v4l2-tuner-frequency=105700000 и его лог присоедини к сообщению. |
|
| Автор: | and2 [ 01 июн 2015, 19:26 ] | ||
| Заголовок сообщения: | Re: Драйвер для тюнера Behold TV T7 под Linux | ||
Исправил букву,make, sudo make install,перезагрузился.Цифра заработала.Но при перенлючении с Россия 24 на Карусель порой на минуту примерно подвисает.Как то по моему здесь идёт несколько "тяжелее" переключение каналов. Радио не работает,всё так же.С строки с терминала запускается не радио а опять ТВ аналог звук. во вложении: T2 - лог цифры примерно 2 секунды T2 2-- лог цифры примерно 10 секунд dmesg - лог после загрузки системы radio - лог радио из строки с терминала
|
|||
| Автор: | Demod [ 01 июн 2015, 19:43 ] |
| Заголовок сообщения: | Re: Драйвер для тюнера Behold TV T7 под Linux |
Отлично. С радио пока думаю, что может быть. В логах всё нормально. Возможно, проблема или с xc5000 или с saa7134 драйвером. Сделай 3 вещи: 1. Посмотри в режиме аналогового ТВ, на наиболее слабом сигнале, в каком антенном гнезде сигнал принимается лучше. В нём антенну и оставь. Как теперь будет переключаться цифра? Тоже с задержкой? (с Карусели на Россию24 ) 2. После загрузки системы, с момента запуска vlc в режиме приёма DVB через сколько секунд открывается канал? У меня было ориентировочно 18-20 секунд. Это время интересует ua0lnj. 3. После загрузки системы, если сразу запустить радио, звук передачи пойдёт? Или будет "шипение" или тишина? |
|
| Автор: | and2 [ 01 июн 2015, 20:33 ] |
| Заголовок сообщения: | Re: Драйвер для тюнера Behold TV T7 под Linux |
Сигнал однозначно идёт с антенны (разъёма) 1,куда по "умолчанию" и была включена антенна.Проблемы с переключением каналов явно налицо (у ua0lnj я такого не замечал).Особенно это проявляется при переключении на Россия 1 и особенно на Россия 24 (с них или на них).Бывает всё виснет и приходиться перезапускать vlc. После загрузки системы, с момента запуска vlc в режиме приёма DVB проходит 57-59 (даже до минуты - засекал по часам с секундами) секунд.Последующие запуски происходят примерно три - четыре секунды.Проверил дважды после перезагрузки,результат одинаков - цифровой (первый канал) запускается (открывается канал) - около минуты. После загрузки системы, если сразу запустить радио идёт шипение. |
|
| Автор: | Demod [ 01 июн 2015, 20:45 ] |
| Заголовок сообщения: | Re: Драйвер для тюнера Behold TV T7 под Linux |
Перенёс ответ в следующий пост. :-) |
|
| Автор: | and2 [ 01 июн 2015, 20:48 ] |
| Заголовок сообщения: | Re: Драйвер для тюнера Behold TV T7 под Linux |
Demod Если что ещё нужно проверить сообщи.Ну а на сегодня надо уже баюшки. |
|
| Страница 9 из 22 | Часовой пояс: UTC + 3 часа |