Текущее время: 01 май 2025, 21:10 • Часовой пояс: UTC + 3 часа |
Beholder M6
Автор | Сообщение |
igk72
|
Добавлено: 31 авг 2007, 14:02. Заголовок сообщения: |
|
|
Зарегистрирован: 09 апр 2007, 12:50 Сообщения: 135
|
Пишу сюда - потому как уже все мозги "сломал"
Проблема в том что никак не считывается код клавиши пульта из декодера пульта. Вот кусок кода для этого (после отлова GPIO):
Код: dev->i2c_client.addr = 0x5a >> 1; data = 0; if (4 != (err = i2c_master_recv(&dev->i2c_client, (char *)data, 4))) { printk("read error %d\n", err); return -EIO; } *ir_key = (u32)data;
Вопрос - что я делаю не так?
К тех.поддержке - считывание коде пульта делается первыми 4-ми байтами ???
|
|
|
igk72
|
Добавлено: 01 сен 2007, 10:08. Заголовок сообщения: |
|
|
Зарегистрирован: 09 апр 2007, 12:50 Сообщения: 135
|
Придеться ответить самому себе
Адрес считывания кода клавиши пульта правильный, НО надо считавать не 4-ре байта, а 12 байт (!). И в 10-м байте код клавиши пульта. Полный уникальный код - байты с 9-го по 12-й.
Спасибо за информацию и подсказку Андрею Мельникову, чей вопрос о 609-м был замечен мной в списке рассылки проекта video4linux (подсистема ядра linux).
Ссылку на свой текущий патч для M6 (возможно и серии 6xx) размещу здесь через один-два дня. Пояснения будут прилагатся.
А постоянная поддержка в ядре будет в скором будущеи, как только решатся некоторые увязки в программном коде ядра.
Теперь опять вопрос к тех.поддержке
Что и как нужно чтобы инициализировать MPEG-кодировщик? Модуль-драйвер linux распознает чип и создает устройство. Но более оттуда ничего.
|
|
|
Admin
|
Добавлено: 03 сен 2007, 10:55. Заголовок сообщения: |
|
|
Beholder |  |
Зарегистрирован: 13 июл 2004, 13:23 Сообщения: 1089
|
Проблема в том, что вы считываете не с 8-го, а с нулевого сабадреса. Для считывания данных с нужного сабадреса вам нужно использовать или другой вызов функции (аналогично работе с памятью EPROM), если таковой есть, или в рамках одной транзакции по шине I2C сначала записать в блок ARPC один байт сабадреса (8), затем тут же считать 4 байта данных.
Также следует отметить, что если вы берёте 2 байта начиная с 10-го, то вы получаете только код клавиши без кода пульта. Таким образом вы не сможете работать со сторонними пультами под Linux. Вам желательно использовать все 4 байта в качестве кода кнопки, тогда вы сможете настроить сразу несколько пультов.
|
|
|
igk72
|
Добавлено: 04 сен 2007, 01:57. Заголовок сообщения: |
|
|
Зарегистрирован: 09 апр 2007, 12:50 Сообщения: 135
|
К Admin:
Спасибо за ответ. Проблемы уже нет - сам догадался.
И конечно читаю все 4-ре байта. В Linux используется сразу и raw-code (u32) и key-code (char). Да вообще пульт в систему видится как обычное устройство ввода, как клавиатура или мышь.
Вопросы:
1) Что насчёт особенностей инициализации аппаратного кодировщика???? Понимаю что вопрос не совсем точный, но все же...
2) Я сделал патч (файл изменений) для поддержки всех тюнеров Beholder в ядре Linux 2.6.x (не хватает только mpeg). Информацию брал из форума, интернет, и inf-файла windows-драйвера.
Кстати, не такое уж и сложное дело оказалось. Потратил примерно в общем 20 часов. Инфраструктура модуля-драйвера saa713x уже была и есть - нужно было просто всего лишь заполнить идентификаторы и допрограммировать одну функцию для чтения кодов при gpio-i2c.
Конечно я опубликую патч в ядро и здесь на форуме. Может быть лучше сделать это отдельной темой, а вы как админ проставите этой теме признак "прилепленна" (выш6 всех). Таким образом людям будет удобно - сразу видно нужное - патч для поддержки все линейки тюнеров. Ведь пока изменения попадут в ядро, пока дистрибутивы обновят само ядро.
|
|
|
Admin
|
Добавлено: 04 сен 2007, 10:47. Заголовок сообщения: |
|
|
Beholder |  |
Зарегистрирован: 13 июл 2004, 13:23 Сообщения: 1089
|
С аппаратным энкодером всё намного сложней. Где-то в сообществе линукс ходил файл для работы с SAA6752HS, поищите.
|
|
|
igk72
|
Добавлено: 04 сен 2007, 13:32. Заголовок сообщения: |
|
|
Зарегистрирован: 09 апр 2007, 12:50 Сообщения: 135
|
В принципе ответ понятен своей осторожностью.
|
|
|
igk72
|
Добавлено: 04 сен 2007, 15:30. Заголовок сообщения: |
|
|
Зарегистрирован: 09 апр 2007, 12:50 Сообщения: 135
|
Сделал поддержку тюнеров Behold M6 и 609. Пульт работает. Нет пока только поддержки аппаратного MPEG.
Только для тюнеров Beholder серий 60x и M6,
http://www.igk.ru/linux/files/v4l/v4l2- ... x-m6.patch
Только для тюнеров Beholder серии M6
http://www.igk.ru/linux/files/v4l/v4l2- ... r-m6.patch
Ядро в общем случае перекомпилировать не надо. Минимально для компиляции моделей нужно наличии:
patch make gcc glibc-devel ncurses-devel alsa-lib-devel kernel-devel и всего другого нужного для этих пакетов.
Нужные патчи положить в папку v4l-dvb и и пропатчить коммандой: patch -p1 имя_патч.patch
При появении слова FAILED, разбираться из-за чего смотря в файла с расширением .rej
Затем в той папке выполнить команды: make
Если нет ошибок, то выполнить комманду: make install
далее править файл /etv/modprobe.conf добавить строки:
options saa7134 secam=d
|
|
|
igk72
|
Добавлено: 08 сен 2007, 05:19. Заголовок сообщения: |
|
|
Зарегистрирован: 09 апр 2007, 12:50 Сообщения: 135
|
К Admin:
Можете хоть чем-то помочь с SAA6752HS на M6? Ведь с пультом хорошо получилось. Написать хотя бы минимальную последовательность работы c SAA6752HS и главного чипа. Филипсовский даташит я нашел.
Понимаю что вопрос неконкретный, но все же.
Заранее спасибо.
Beholder M6 и H6, Linux Debian/Ubuntu
|
|
|
Admin
|
Добавлено: 10 сен 2007, 11:30. Заголовок сообщения: |
|
|
Beholder |  |
Зарегистрирован: 13 июл 2004, 13:23 Сообщения: 1089
|
Вот это вам ничем не поможет?
Поймите, заставить работать энкодер и получить с него поток на самом деле не так просто, чтобы можно было это просто изложить. Пользуйтесь открытыми исходниками и документацией.
|
|
|
igk72
|
Добавлено: 11 сен 2007, 01:25. Заголовок сообщения: |
|
|
Зарегистрирован: 09 апр 2007, 12:50 Сообщения: 135
|
спасибо за "ссылку"
Очень забавно получилось - вы отправили меня в тот же текст модуля, который каждый день вижу и знаю.
Возможно я не обладаю супер-обширными знаниями о работе tv-тунеров, но как программисту и админу было сложно не заметить файл модуля энкодера рядом с файлом модуля тюнера, патч для которого создавал.
И все же я не понимаю почему нельзя внятно и грамотно описать схему иницилизации энкодера??? Вы ведь в компании как-то знаете, сотрудники драйвера пишут на основе какой-то информации. Они то как-то это усвоили и поняли? Понятно что они специалисты, но вас же спрашивает не кулинар или домохозяйка.
(ничего плохого о кулинарах и домохозяйках не думаю)
Ладно, попробую посмотреть и четко изложить что делается в текущем модуле, и по этому описанию уже спрашивать.
Можете ответить - есть ли отступления от референса Philips (Empress) ?
Beholder M6 и H6, Linux Debian/Ubuntu
|
|
|
Admin
|
Добавлено: 11 сен 2007, 10:36. Заголовок сообщения: |
|
|
Beholder |  |
Зарегистрирован: 13 июл 2004, 13:23 Сообщения: 1089
|
igk72 писал(а): Ладно, попробую посмотреть и четко изложить что делается в текущем модуле, и по этому описанию уже спрашивать. Да, так будет лучше. Кроме того, не забывайте про даташит. Мы всё делали на основании даташита. igk72 писал(а): Можете ответить - есть ли отступления от референса Philips (Empress) ?
Вопрос не понятен. Что вы имеете ввиду под референсом Philips?
|
|
|
Dimchik
|
Добавлено: 13 сен 2007, 16:06. Заголовок сообщения: |
|
|
Зарегистрирован: 16 фев 2007, 12:46 Сообщения: 9 Откуда: Минск
|
igk72 - респект!
только вот ты не указал для какой версии ядра патчи! я то и так все сделал, но людям полезно будет.
А что касательно товарищей админов (не в обиду будет сказано), то наблюдая за форумом, создается впечатление, что они или секретничают (что, понятное дело, глупо), или боятся ошибиться, или просто ни сами не знают, ни узнать не могут! В общем с детским видом застенчиво шаркают ногой по земле...
Так вот долгим методом тыка поднимали сначала 4хх, 5хх а теперь будем 6xx долго ковырять!
Дали бы сырцы драйверов и БехолдТВ тогда что ли 
Debian "Etch" kernel-2.6.22.6-BM6ex
AMD Processor & GEFORCE video on GIGABYTE motherboard with NVIDIA chipsets
Beholder M6 Extra + Beholder H6
http://dimchik.tut.su/
|
|
|
Admin
|
Добавлено: 14 сен 2007, 10:09. Заголовок сообщения: |
|
|
Beholder |  |
Зарегистрирован: 13 июл 2004, 13:23 Сообщения: 1089
|
Dimchik писал(а): они или секретничают (что, понятное дело, глупо) Вы знаете, нам почему-то не понятно, почему хранить технологические решения в секрете глупо. Dimchik писал(а): или просто ни сами не знают, ни узнать не могут! Самим стало интересно, чего же такого мы не знаем в наших же тюнерах... Dimchik писал(а): Так вот долгим методом тыка поднимали сначала 4хх, 5хх а теперь будем 6xx долго ковырять! Мы уже не раз говорили. Если есть конкретные вопросы от квалифицированных пользователей, способных что-то сделать – мы ответим. И эта тема – тому пример. Dimchik писал(а): Дали бы сырцы драйверов и БехолдТВ тогда что ли 
Блестящая идея! Как мы сами до этого раньше не додумались. Вот только думаю, куда... может сразу на РуБорде их выложить?
Уважаемый Dimchik, не скатывайтесь во флуд. Если вы сами программист и готовы помочь пользователю igk72 (пользуясь случаем, выражаем ему огромную благодарность от имени нашей компании за его ценный труд по поддержке наших тюнеров), то кооперируйтесь с ним, задавайте конкретные вопросы и получите на них конкретные ответы. А просто влезать в тему, чтобы наговорить каких-то эээ... глупостей... не следует.
|
|
|
Dimchik
|
Добавлено: 15 сен 2007, 13:39. Заголовок сообщения: |
|
|
Зарегистрирован: 16 фев 2007, 12:46 Сообщения: 9 Откуда: Минск
|
Ну вот, говорил же без обид....
Цитата: Вы знаете, нам почему-то не понятно, почему хранить технологические решения в секрете глупо. Никто не говорил, что хранить технологические решения глупо, речь вообще то шла о простых инструкциях о том как завести ту или иную функцию тюнера. Цитата: Самим стало интересно, чего же такого мы не знаем в наших же тюнерах...
Нам тоже интересно, почему вы ссылаетесь на SAA6752hs.c, который мы уже проштудировали много раз, вместо того чтобы сказать мол так и так, нужно по такому адресу записать то, из этого почитать вот это ну и тд....
Ладно, хватит, "влезать в тему и скатываться во флуд"
А конкретный вопрос вроде бы был задан - как инициализировать аппаратные кодировщики mpeg и ac3???
Debian "Etch" kernel-2.6.22.6-BM6ex
AMD Processor & GEFORCE video on GIGABYTE motherboard with NVIDIA chipsets
Beholder M6 Extra + Beholder H6
http://dimchik.tut.su/
|
|
|
Admin
|
Добавлено: 17 сен 2007, 11:16. Заголовок сообщения: |
|
|
Beholder |  |
Зарегистрирован: 13 июл 2004, 13:23 Сообщения: 1089
|
Это не есть конкретный вопрос. Это всё равно, как спросить "опишите нам, как работать с чипсетом". Вопрос слишком обширен, чтобы на него можно было ответить, да и всё это уже расписано в соответствующих даташитах.
Сложность заключается в том, что для работы с аппаратным энкодером необходимо настраивать не только энкодер, но и чипсет SAA7135. Невозможно просто писать и читать что-то в какие-то регистры. Чипсет должен получать транспортный поток от энкодера и самостоятельно перекидывать его по DMA в оперативную память ПК.
Сама процедура инициализации энкодера также зависит от того, какие параметры кодирования вы хотите задать. В указанном исходнике есть списки всех параметров, все необходимые для инициализации структуры и функции. А уж какую конкретно комбинацию параметров вы хотите от энкодера – зависит от вас.
|
|
|
Кто сейчас на конференции |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1 |
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения
|
|