[linux-dvb] FlyDVB-T Duo Cardbus simple patch (for the analog tv)

Andrea Venturi a.venturi at cineca.it
Wed Apr 6 11:58:41 CEST 2005


Nico Sabbi wrote:
> Andrea Venturi wrote:
> 
>> hi,
>>
>> i just purchased a el-cheapo but "maybe" interesting pcmcia card:
>>
>> http://www.lifeview.com.tw/html/products/dual_tv_solution/flydvbt_duo_cardbus.htm 
>>
>>
>> first of all, FYI, i had a painful "out of the box" experience on the
>> only "supposed supported" OS! it doesn't lock any of the italian dvb-t
>> signal i get in bologna! but i'm not the only one:
>>
>>   http://www.tv-cards.com/messageboard/viewtopic.php?t=9442
>>
>> anyway, my target is to have it running "soon or later" on gnu/linux (at
>> least for the dvb-t tuning).
>>
>> it's a dual tuner, analog and dvb-t, with both a composite and s-video
>> input too (_if_ it works, a good bang for the bucks in italy: 83EUR!)
>>
>> i made my homework and found it shows as a pci device:
>>
>> ===========================
>> hostname:~$ lspci -vv -d 1131:7133
>> 0000:04:00.0 Multimedia controller: Philips Semiconductors SAA7133
>> Audio+video broadcast decoder (rev f0)
>>         Subsystem: Animation Technologies Inc.: Unknown device 0502
>>         Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
>> ParErr- Stepping- SERR- FastB2B-
>>         Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium
>>
>>> TAbort- <TAbort- <MAbort- >SERR- <PERR-
>>
>>
>>         Latency: 64 (21000ns min, 8000ns max)
>>         Interrupt: pin A routed to IRQ 217
>>         Region 0: Memory at 40800000 (32-bit, non-prefetchable) [size=2K]
>>         Capabilities: <available only to root>
>> ===========================
>>
>> the v4l2 driver on a vanilla 2.6.11 kernel is the saa7134 module
>>
>> when i load it, these is the relevant info:
>>
>> ===========================
>> Linux video capture interface: v1.00
>> saa7130/34: v4l2 driver version 0.2.12 loaded
>> PCI: Enabling device 0000:04:00.0 (0000 -> 0002)
>> ACPI: PCI interrupt 0000:04:00.0[A] -> GSI 19 (level, low) -> IRQ 217
>> saa7133[0]: found at 0000:04:00.0, rev: 240, irq: 217, latency: 0, mmio:
>> 0x40800
>> 000
>> PCI: Setting latency timer of device 0000:04:00.0 to 64
>> saa7133[0]: subsystem: 5168:0502, board: UNKNOWN/GENERIC
>> [card=0,autodetected]
>> saa7133[0]: board init: gpio is e010000
>> saa7133[0]: dsp access wait timeout [bit=WRR]
>> saa7133[0]: dsp access wait timeout [bit=WRR]
>> saa7133[0]: i2c eeprom 00: 68 51 02 05 54 20 1c 00 43 43 a9 1c 55 d2 
>> b2 92
>> saa7133[0]: i2c eeprom 10: 00 ff 22 0f ff 20 ff ff ff ff ff ff ff ff 
>> ff ff
>> saa7133[0]: i2c eeprom 20: 01 40 01 03 03 01 01 03 08 ff 01 aa ff ff 
>> ff ff
>> saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
>> ff ff
>> saa7133[0]: registered device video0 [v4l2]
>> saa7133[0]: registered device vbi0
>> ===========================
>>
>> BTW subsystem 5168:0502 is exactly "lifeview:flydvb-t duo" on the pci-id
>> database! http://pciids.sourceforge.net/pci.ids.gz
>>
>> but, as you can see on the log "board: UNKNOWN/GENERIC", the card
>> autodetection failed, and i know i could, at least, give to the saa7134
>> module two parameters, card= & tuner= but it seems they are not
>> available in the CARDLIST.saa7134 in the kernel Documentation /
>> video4linux dir (maybe i am blind..)
> 
> 
> 
> in the latest snapshot of v4l there's a definition for the PCI variant 
> of the card
> that works very well on the analog side. 

hi,

here you can find a patch against the latest v4l snapshot adding a new 
definition for this FLYDVB-T DUO CARDBUS:


====================================================
--- saa7134.h.orig      2005-04-05 13:35:40.000000000 +0200
+++ saa7134.h   2005-04-05 12:22:42.000000000 +0200
@@ -197,6 +197,7 @@
  #define SAA7135_BOARD_ASUSTeK_TVFM7135 53
  #define SAA7134_BOARD_FLYTVPLATINUM_FM 54
  #define SAA7134_BOARD_FLYDVBTDUO 55
+#define SAA7134_BOARD_FLYDVBTDUO_CARDBUS 56

  #define SAA7134_MAXBOARDS 8
  #define SAA7134_INPUT_MAX 8

--- saa7134-cards.c.orig        2005-04-05 12:24:25.000000000 +0200
+++ saa7134-cards.c     2005-04-05 12:31:00.000000000 +0200
@@ -1546,6 +1546,36 @@
  //                      .gpio = 0x4000,
                  }},
          },
+        [SAA7134_BOARD_FLYDVBTDUO_CARDBUS] = {
+                /* LifeView FlyDVB-T DUO CARDBUS*/
+                /* "Andrea Venturi <a.venturi at cineca.it> */
+                .name           = "LifeView FlyDVB-T DUO CARDBUS",
+                .audio_clock    = 0x00200000,
+                .tuner_type     = TUNER_PHILIPS_TDA8290,
+//              .gpiomask       = 0xe000,
+                .inputs         = {{
+                        .name = name_tv,
+                        .vmux = 1,
+                        .amux = TV,
+//                      .gpio = 0x0000,
+                        .tv   = 1,
+                },{
+                        .name = name_comp1,     /* Composite signal on 
S-Videoinput */
+                        .vmux = 0,
+                        .amux = LINE2,
+//                      .gpio = 0x4000,
+                },{
+                        .name = name_comp2,     /* Composite input */
+                        .vmux = 3,
+                        .amux = LINE2,
+//                      .gpio = 0x4000,
+                },{
+                        .name = name_svideo,    /* S-Video signal on 
S-Video input */
+                        .vmux = 8,
+                        .amux = LINE2,
+//                      .gpio = 0x4000,
+                }},
+        },
  };
  const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);

@@ -1838,6 +1868,12 @@
                  .subvendor    = 0x5168,
                  .subdevice    = 0x0306,
                  .driver_data  = SAA7134_BOARD_FLYDVBTDUO,
+        },{
+                .vendor       = PCI_VENDOR_ID_PHILIPS,
+                .device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
+                .subvendor    = 0x5168,
+                .subdevice    = 0x0502,
+                .driver_data  = SAA7134_BOARD_FLYDVBTDUO_CARDBUS,

          },{
                  /* --- boards without eeprom + subsystem ID --- */
====================================================

at least, i can see (with tvtime.sf.net)

- the card autodetected
- the analog television  (and tune tv stations)
- the composite1 (inside the svideo input)
- the svideo (thru the same svideo input)
- composite2 (the standalone composite input)

but beware i have NOT been able to get the sound coming in (neither i 
didn't spend too much time working on it!)

BTW i force the load of the audio part with

   modprobe saa7134 oss=1

and i can see the device in dmesg and aumixer can modify the /dev/mixer1 
but  i get no sound from the dsp1 device with:

   sox -t ossdsp -w -r 32000 -c 2 /dev/dsp1 /tmp/audiotv.wav

i'm wondering if anyone is using successfully the audio part of the 
saa713x driver!

bye

andrea venturi




More information about the linux-dvb mailing list