Текущее время: 15 июл 2019, 20:54 • Часовой пояс: UTC + 3 часа
Сообщения без ответов | Активные темы

Тюнер X7

Начать новую темуОтветить на тему Страница 1 из 14 [ Сообщений: 204 ] На страницу   1, 2, 3, 4, 5 ... 14  След.
Версия для печати Пред. тема | След. тема
АвторСообщение
Сообщение Добавлено: 26 авг 2009, 07:09. Заголовок сообщения:  Тюнер X7
Beholder
Аватара пользователя
Зарегистрирован:
    19 авг 2004, 11:51
Сообщения: 396
Начата поддержка тюнер Х7 под ОС Linux.

На текущий момент работает аналоговое ТВ и пульт дистанционного управления. Патч отправлен на включение в репозиторий video4linux.

Просьба попробовать и отписать по результату в эту тему.

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

Код:
diff -r 28f8b0ebd224 linux/drivers/media/video/saa7134/saa7134-cards.c
--- a/linux/drivers/media/video/saa7134/saa7134-cards.c   Sun Aug 23 13:55:25 2009 -0300
+++ b/linux/drivers/media/video/saa7134/saa7134-cards.c   Wed Aug 26 08:52:37 2009 +1000
@@ -32,6 +32,7 @@
 #include <media/tveeprom.h>
 #include "tea5767.h"
 #include "tda18271.h"
+#include "xc5000.h"
 
 /* commly used strings */
 static char name_mute[]    = "mute";
@@ -5182,6 +5183,34 @@
          .amux   = LINE1
       } },
    },
+   [SAA7134_BOARD_BEHOLD_X7] = {
+      /* Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com> */
+      .name           = "Beholder BeholdTV X7",
+      .audio_clock    = 0x00187de7,
+      .tuner_type     = TUNER_XC5000,
+      .radio_type     = UNSET,
+      .tuner_addr     = ADDR_UNSET,
+      .radio_addr     = ADDR_UNSET,
+      .inputs         = { {
+         .name = name_tv,
+         .vmux = 2,
+         .amux = TV,
+         .tv   = 1,
+      }, {
+         .name = name_comp1,
+         .vmux = 0,
+         .amux = LINE1,
+      }, {
+         .name = name_svideo,
+         .vmux = 9,
+         .amux = LINE1,
+      } },
+      .radio = {
+         .name = name_radio,
+         .amux = TV,
+      },
+   },
+
 };
 
 const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);
@@ -6295,6 +6324,12 @@
       .subvendor    = 0x185b,
       .subdevice    = 0xc900,
       .driver_data  = SAA7134_BOARD_VIDEOMATE_S350,
+   }, {
+      .vendor       = PCI_VENDOR_ID_PHILIPS,
+      .device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
+      .subvendor    = 0x5ace, /* Beholder Intl. Ltd. */
+      .subdevice    = 0x7595,
+      .driver_data  = SAA7134_BOARD_BEHOLD_X7,
    }, {
       /* --- boards without eeprom + subsystem ID --- */
       .vendor       = PCI_VENDOR_ID_PHILIPS,
@@ -6418,11 +6453,20 @@
    return -EINVAL;
 }
 
-#if 0
+#if 1
 static int saa7134_xc5000_callback(struct saa7134_dev *dev,
                int command, int arg)
 {
    switch (dev->board) {
+   case SAA7134_BOARD_BEHOLD_X7:
+      if (command == XC5000_TUNER_RESET) {
+      /* Down and UP pheripherial RESET pin for reset all chips */
+         saa_writeb(SAA7134_SPECIAL_MODE, 0x00);
+         msleep(10);
+         saa_writeb(SAA7134_SPECIAL_MODE, 0x01);
+         msleep(10);
+      }
+      break;
    default:
       saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x06e20000, 0x06e20000);
       saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x06a20000, 0x06a20000);
@@ -6533,7 +6577,7 @@
          return saa7134_tda8290_callback(dev, command, arg);
       case TUNER_XC2028:
          return saa7134_xc2028_callback(dev, command, arg);
-#if 0
+#if 1
       case TUNER_XC5000:
          return saa7134_xc5000_callback(dev, command, arg);
 #endif
@@ -6788,6 +6832,7 @@
    case SAA7134_BOARD_BEHOLD_M63:
    case SAA7134_BOARD_BEHOLD_M6_EXTRA:
    case SAA7134_BOARD_BEHOLD_H6:
+   case SAA7134_BOARD_BEHOLD_X7:
       dev->has_remote = SAA7134_REMOTE_I2C;
       break;
    case SAA7134_BOARD_AVERMEDIA_A169_B:
diff -r 28f8b0ebd224 linux/drivers/media/video/saa7134/saa7134-input.c
--- a/linux/drivers/media/video/saa7134/saa7134-input.c   Sun Aug 23 13:55:25 2009 -0300
+++ b/linux/drivers/media/video/saa7134/saa7134-input.c   Wed Aug 26 08:52:37 2009 +1000
@@ -854,6 +854,7 @@
    case SAA7134_BOARD_BEHOLD_M63:
    case SAA7134_BOARD_BEHOLD_M6_EXTRA:
    case SAA7134_BOARD_BEHOLD_H6:
+   case SAA7134_BOARD_BEHOLD_X7:
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 30)
       snprintf(ir->c.name, sizeof(ir->c.name), "BeholdTV");
       ir->get_key   = get_key_beholdm6xx;
diff -r 28f8b0ebd224 linux/drivers/media/video/saa7134/saa7134.h
--- a/linux/drivers/media/video/saa7134/saa7134.h   Sun Aug 23 13:55:25 2009 -0300
+++ b/linux/drivers/media/video/saa7134/saa7134.h   Wed Aug 26 08:52:37 2009 +1000
@@ -294,6 +294,7 @@
 #define SAA7134_BOARD_BEHOLD_609RDS_MK3     167
 #define SAA7134_BOARD_BEHOLD_609RDS_MK5     168
 #define SAA7134_BOARD_VIDEOMATE_S350        169
+#define SAA7134_BOARD_BEHOLD_X7             170
 
 #define SAA7134_MAXBOARDS 32
 #define SAA7134_INPUT_MAX 8
Профиль 
Сообщение Добавлено: 26 авг 2009, 21:55. Заголовок сообщения: 
Зарегистрирован:
    26 авг 2009, 21:18
Сообщения: 37
Откуда: г.Саранск
Приветствую Вас!
Так Х7 в Linux пока не поддерживается?!? Не знал...(((
(Зря обменял в магазине 609 модель на Х7 - захотелось модель с аппаратным кодеком)
P.S. В Windows все вроде нормально...
...а в Linux (Ubuntu 9.04 i386) - второй раз переустанавливаю систему...
609 модель по крайней мере в TVtime показывала каналы кабельного телевидения.. (((

И просьба - попроще описывайте пож. технологию подключения/захвата/трансляции в Linux, т.к. хоть и имеются базовые познания в ОС, но большинство купивших тюнер - все-же являются больше пользователями, а не мантейнерами...
Профиль 
Сообщение Добавлено: 27 авг 2009, 08:03. Заголовок сообщения: 
Beholder
Аватара пользователя
Зарегистрирован:
    19 авг 2004, 11:51
Сообщения: 396
В Windows все и должно быть нормально. Постепенно будет все нормально и в Linux.

С приведенным патчем tvtime будет нормально работать и с Х7.

Материалов по установке/настройке/использованию в сети довольно много в т.ч. и на русском языке. На конкретные вопросы отвечаем, в т.ч. это делают более опытные пользователи.
Профиль 
Сообщение Добавлено: 28 авг 2009, 00:24. Заголовок сообщения: 
Зарегистрирован:
    26 авг 2009, 21:18
Сообщения: 37
Откуда: г.Саранск
Патч к ядру?
Я так понял, что в указанный репозиторий указанный патч был выложен для мантейнеров, которые его должны внедрить в очередное ядро (30?) В текущей версии Ubuntu 9.04 - пока ядро ...28

А вообще не совсем понятно, с какой стати Вы отсылаете за инструкциями с сайта производителя конкретного продукта в Интернет??? По крайней мере это звучит странно!

На данном форуме, к великому сожалению (и уже здесь кто-то отписывался на эту тему) нет системного и четкого описания использования продуктов Beholder в отличных от Windows ОС...
Последний раз редактировалось ks5 11 окт 2009, 05:51, всего редактировалось 1 раз.
Профиль 
Сообщение Добавлено: 28 авг 2009, 01:52. Заголовок сообщения: 
Зарегистрирован:
    28 май 2006, 22:41
Сообщения: 42
писал(а):
Если Вам не хочется этим заниматься (поддержкой), то просто не нужно морочить пользователям голову о якобы имеющейся поддержке в других ОС

А что вам не нравится? Поддержка на уровне драйверов есть для всех моделей, кроме пары самых новых, и, как можно видеть, самые новые тоже вскоре будут поддерживаться.
Жаль, конечно, что родного ПО под линукс нет, но и без него смотреть/записывать ТВ и радио вполне можно родными Linux-программами.

У других производителей и этого нет.
Профиль 
Сообщение Добавлено: 28 авг 2009, 16:03. Заголовок сообщения: 
Зарегистрирован:
    06 май 2006, 23:14
Сообщения: 44
Я бы предложил администрации создать на сайте wiki-раздел, в котором будет содержаться информация как по поддержке на уровне ядра, так и по приложениям для работы с тюнерами. А то на форуме действительно не очень удобно, когда нужная информация разбросана по разным темам, и надо ещё из нескольких вариантов выбирать более актуальный на данный момент.
Профиль 
Сообщение Добавлено: 01 сен 2009, 02:07. Заголовок сообщения: 
Beholder
Аватара пользователя
Зарегистрирован:
    19 авг 2004, 11:51
Сообщения: 396
Поймите, что ресурсы на поддержку ограничены и если стоит выбор доработать драйвера или разбираться со сторонними программами для работы с радио или ТВ то выбор производителя это доработка драйверов. Так же не вижу смысла терять время на объяснение базовых вещей по Линукс когда это все уже по сто раз разжевано на соответствующих форумах, надо просто не ленится искать. В драйверах для Линукс не смотря на то, что что-то уже написано сообществом, еще много чего надо дописывать и доделывать.

Что-то вроде WiKi для помощи в настройки наполненный в том числе пользователями Линукс будет.

Для проверки работы и сбора статистики нужны тестеры с Х7. Основные требования – опыт по работе с основными инструментами для сборки. Волонтёров прошу написать в личку адрес эл.почты для связи.
Профиль 
Сообщение Добавлено: 01 сен 2009, 16:31. Заголовок сообщения:  Re: Тюнер X7
Зарегистрирован:
    01 сен 2009, 16:28
Сообщения: 1
писал(а):
Начата поддержка тюнер Х7 под ОС Linux.

На текущий момент работает аналоговое ТВ и пульт дистанционного управления. Патч отправлен на включение в репозиторий video4linux.

Скажите, пожалуйста, а аппаратное кодирование работает?
Профиль 
Сообщение Добавлено: 02 сен 2009, 01:42. Заголовок сообщения: 
Beholder
Аватара пользователя
Зарегистрирован:
    19 авг 2004, 11:51
Сообщения: 396
2vc24: В настоящий момент нет. Сначало будет добавлена поддержка FM радио, затем DVB-T. Запуск аппаратного кодировщика будет не простым.
Профиль 
Сообщение Добавлено: 02 сен 2009, 04:40. Заголовок сообщения: 
Beholder
Аватара пользователя
Зарегистрирован:
    19 авг 2004, 11:51
Сообщения: 396
Добавлена поддержка FM радио. Патч отправлен на принятие в репозиторий.

Для нетерпеливых:

Код:
diff -r 28f8b0ebd224 linux/drivers/media/common/tuners/xc5000.c
--- a/linux/drivers/media/common/tuners/xc5000.c   Sun Aug 23 13:55:25 2009 -0300
+++ b/linux/drivers/media/common/tuners/xc5000.c   Wed Sep 02 06:32:12 2009 +1000
@@ -747,14 +747,11 @@
    return ret;
 }
 
-static int xc5000_set_analog_params(struct dvb_frontend *fe,
+static int xc5000_set_tv_freq(struct dvb_frontend *fe,
    struct analog_parameters *params)
 {
    struct xc5000_priv *priv = fe->tuner_priv;
    int ret;
-
-   if (xc5000_is_firmware_loaded(fe) != XC_RESULT_SUCCESS)
-      xc_load_fw_and_init_tuner(fe);
 
    dprintk(1, "%s() frequency=%d (in units of 62.5khz)\n",
       __func__, params->frequency);
@@ -834,6 +831,67 @@
 
    return 0;
 }
+
+static int xc5000_set_radio_freq(struct dvb_frontend *fe,
+   struct analog_parameters *params)
+{
+   struct xc5000_priv *priv = fe->tuner_priv;
+   int ret = -EINVAL;
+
+   dprintk(1, "%s() frequency=%d (in units of khz)\n",
+      __func__, params->frequency);
+
+   priv->freq_hz = params->frequency * 125 / 2;
+
+   priv->rf_mode = XC_RF_MODE_AIR;
+
+   ret = xc_SetTVStandard(priv,
+      XC5000_Standard[FM_Radio_INPUT1].VideoMode,
+      XC5000_Standard[FM_Radio_INPUT1].AudioMode);
+
+   if (ret != XC_RESULT_SUCCESS) {
+      printk(KERN_ERR "xc5000: xc_SetTVStandard failed\n");
+      return -EREMOTEIO;
+   }
+
+   ret = xc_SetSignalSource(priv, priv->rf_mode);
+   if (ret != XC_RESULT_SUCCESS) {
+      printk(KERN_ERR
+         "xc5000: xc_SetSignalSource(%d) failed\n",
+         priv->rf_mode);
+      return -EREMOTEIO;
+   }
+
+   xc_tune_channel(priv, priv->freq_hz, XC_TUNE_ANALOG);
+
+   return 0;
+}
+
+static int xc5000_set_analog_params(struct dvb_frontend *fe,
+              struct analog_parameters *params)
+{
+   struct xc5000_priv *priv = fe->tuner_priv;
+   int ret = -EINVAL;
+
+   if (priv->i2c_props.adap == NULL)
+      return -EINVAL;
+
+   if (xc5000_is_firmware_loaded(fe) != XC_RESULT_SUCCESS)
+      xc_load_fw_and_init_tuner(fe);
+
+   switch (params->mode) {
+   case V4L2_TUNER_RADIO:
+      ret = xc5000_set_radio_freq(fe, params);
+      break;
+   case V4L2_TUNER_ANALOG_TV:
+   case V4L2_TUNER_DIGITAL_TV:
+      ret = xc5000_set_tv_freq(fe, params);
+      break;
+   }
+
+   return ret;
+}
+
 
 static int xc5000_get_frequency(struct dvb_frontend *fe, u32 *freq)
 {
Профиль 
Сообщение Добавлено: 28 сен 2009, 00:02. Заголовок сообщения: 
Зарегистрирован:
    26 авг 2009, 21:18
Сообщения: 37
Откуда: г.Саранск
Имею тюнер X7 под Ubuntu 9.04
Команда lspci выдает:
02:01.0 Multimedia controller: Philips Semiconductors SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (rev d1)

что согласуется с описанием на тюнер ( http://www.nix.ru/autocatalog/tv_tuners ... 83665.html )

В патчах, же приведенных выше, фигурирует чип SAA7134,

Это так и должно быть?

И по поводу патча - что-то пока его не видно на http://linuxtv.org/hg/v4l-dvb
Профиль 
Сообщение Добавлено: 28 сен 2009, 04:24. Заголовок сообщения:  Re: Тюнер X7
Зарегистрирован:
    28 сен 2009, 04:10
Сообщения: 3
писал(а):
Начата поддержка тюнер Х7 под ОС Linux.

На текущий момент работает аналоговое ТВ и пульт дистанционного управления. Патч отправлен на включение в репозиторий video4linux.

Просьба попробовать и отписать по результату в эту тему.

Доброго времени суток.
Ubuntu 9.0.4. Ядро 28. Взяты свежие исходники.
Beholder-ы в нем все предыдущие есть. Крайний:

[SAA7134_BOARD_BEHOLD_H6] = {
/* Igor Kuznetsov <igk> */
.name = "Beholder BeholdTV H6",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_FMD1216ME_MK3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,

Попробовал накатить патч. Вылетает в процессе наката с ошибкой.

Запустил с вербозой:

Hmm... Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff -r 28f8b0ebd224 linux/drivers/media/video/saa7134/saa7134-cards.c
|
|
|--- a/linux/drivers/media/video/saa7134/saa7134-cards.c Sun Aug 23 13:55:25 2009 -0300
|
|
|+++ b/linux/drivers/media/video/saa7134/saa7134-cards.c Wed Aug 26 08:52:37 2009 +1000
|
|
--------------------------
Patching file linux/drivers/media/video/saa7134/saa7134-cards.c using Plan A...
patch: **** malformed patch at line 17:


Что ему не нравится - ума не приложу...
Я уже лист вдоль и поперек прошарил...
ну пытается он добавить .name, и что ему не так-то?

Кстати, FM-патч вылетает с такой же ошибкой по 23 строке.

Господа, подскажите, плиз, куда рыть дальше. Может у меня после дачи помутнение рассудка, и срочно требуется исправление в генетическом коде...
Профиль 
Сообщение Добавлено: 28 сен 2009, 09:10. Заголовок сообщения: 
Beholder
Аватара пользователя
Зарегистрирован:
    19 авг 2004, 11:51
Сообщения: 396
2ks5: первый патч включен, см тут http://linuxtv.org/hg/v4l-dvb/rev/632aed299270

Второй патч + доработка майнтейнером v4l2 драйвера xc5000 + еще один патч будет добавлен видимо на этой неделе.

Текущее состояние: работает аналоговое ТВ, FM-радио, ИК пульт.

2Alexryba: патчи надо накладывать на свежескачанный video4linux репозиторий. Как взять его свежий хорошо описано здесь: http://www.linuxtv.org/wiki/index.php/H ... _Mercurial

Волонтеры для тестов все еще ищутся...
Профиль 
Сообщение Добавлено: 28 сен 2009, 09:49. Заголовок сообщения: 
Зарегистрирован:
    06 май 2006, 23:14
Сообщения: 44
Цитата:
Волонтеры для тестов все еще ищутся...

А у себя нельзя протестировать? Или вы имеете в виду цифровое ТВ, а у вас его не ловит?
Amd Athlon64 3500+; 5GiB RAM DDR2; GeForce 6600GT; 250Gb S-ATA2 HDD
Профиль 
Сообщение Добавлено: 28 сен 2009, 10:17. Заголовок сообщения: 
Beholder
Аватара пользователя
Зарегистрирован:
    19 авг 2004, 11:51
Сообщения: 396
Да, нужны в основном для проверки DVB-T. С ним проблемы, не везде есть.
Профиль 
Показать сообщения за:  Поле сортировки:    
Начать новую темуОтветить на тему  Страница 1 из 14  [ Сообщений: 204 ]  На страницу   1, 2, 3, 4, 5 ... 14  След.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения
Найти:  
Перейти: