LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (https://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   How to bring up an 'unknown' TV-tuner card: Zogis RA220 TV-Tuner (https://www.linuxquestions.org/questions/linux-hardware-18/how-to-bring-up-an-unknown-tv-tuner-card-zogis-ra220-tv-tuner-655784/)

Fritz_Katz 07-14-2008 10:32 PM

How to bring up an 'unknown' TV-tuner card: Zogis RA220 TV-Tuner
 
I've got a Zogis Real Angel 220 RA220 TV-Tuner card.
http://www.zogis.com/main_products_s..._PCI_RA220.htm

In spite of what the box says, the card doesn't do all three analog TV standards: NTSC/PAL/SECAM. Zogis sells different versions for various parts of the world and uses the same box. I've got the NTSC version.

Unfortunately, it's not recognized by V4L. I get this message in dmesg:

# dmesg
Code:

Linux video capture interface: v2.00
phy0: hwaddr 00:40:f4:f8:83:e4, RTL8185vD + rtl8225z2
saa7130/34: v4l2 driver version 0.2.14 loaded
ACPI: PCI Interrupt 0000:00:09.0[A] -> GSI 17 (level, low) -> IRQ 17
saa7130[0]: found at 0000:00:09.0, rev: 1, irq: 17, latency: 32, mmio: 0xe2000000
saa7134: <rant>
saa7134:  Congratulations!  Your TV card vendor saved a few
saa7134:  cents for a eeprom, thus your pci board has no
saa7134:  subsystem ID and I can't identify it automatically
saa7134: </rant>
saa7134: I feel better now.  Ok, here are the good news:
saa7134: You can use the card=<nr> insmod option to specify
saa7134: which board do you have.  The list:
saa7134:  card=0 -> UNKNOWN/GENERIC                       
saa7134:  card=1 -> Proteus Pro [philips reference design]  1131:2001 1131:2001
saa7134:  card=2 -> LifeView FlyVIDEO3000                    5168:0138 4e42:0138
saa7134:  card=3 -> LifeView/Typhoon FlyVIDEO2000            5168:0138 4e42:0138
  ((( blah, blah, blah,... )))
saa7134:  card=144 -> Beholder BeholdTV M6 Extra              5ace:6193
saa7130[0]: subsystem: 1131:0000, board: UNKNOWN/GENERIC [card=0,autodetected]
saa7130[0]: board init: gpio is 80c008
saa7130[0]: Huh, no eeprom present (err=-5)?
saa7130[0]: i2c scan: found device @ 0xc0  [tuner (analog)]
saa7130[0]: i2c scan: found device @ 0xc2  [???]
saa7130[0]: registered device video0 [v4l2]
saa7130[0]: registered device vbi0

# lspci -vv
Code:

00:09.0 Multimedia controller: Philips Semiconductors SAA7130 Video Broadcast Decoder (rev 01)
        Subsystem: Philips Semiconductors Unknown device 0000
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR+ INTx-
        Latency: 32 (3750ns min, 9500ns max)
        Interrupt: pin A routed to IRQ 17
        Region 0: Memory at e2000000 (32-bit, non-prefetchable) [size=1K]
        Capabilities: [40] Power Management version 1
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
        Kernel driver in use: saa7134
        Kernel modules: saa7134



Ran a script to test all the possible combos. Apparently it's necessary to cycle through rmmod/modprobe/watchTV to see if it works. Is there an easier way to find out? Here's the script:

test_all_saa7134_card_combos.sh
Code:

#/bin/sh
MAXCARD=144
MAXTUNER=69
for i in $(seq 0 $MAXCARD);
do
  for j in $(seq 0 $MAXTUNER);
  do
    rmmod tuner saa7134
    modprobe saa7134 card=$i tuner=$j
    echo "Is TVtime working with card=" $i " and tuner=" $j " ? "
    sleep 1 # make sure /dev/video is registered when tvtime starts
    tvtime
  done
done

I got lucky, after only doing a few hundred tests, "modprobe saa7134 card=3 tuner=0" worked. Many other tuner numbers worked too with card=3. Video and audio quality is good.

This is strange -- the video output doesn't appear on the 'Television' output -- but instead appears on 'Composite2' output. You can only tune channels by using 'Input Configuration', switching to a blue-screen 'Television' and then switching back to 'Composite' to view it.

There is no /dev/tuner. Should there be?

These messages appeared at each loop when doing the modprobe:

# tail -f /var/log/messages
Code:

  kernel: tuner-simple 1-0060: destroying instance
  kernel: saa7130/34: v4l2 driver version 0.2.14 loaded
  kernel: saa7130[0]: found at 0000:00:09.0, rev: 1, irq: 17, latency: 32, mmio: 0xe2000000
  kernel: saa7130[0]: subsystem: 1131:0000, board: LifeView/Typhoon FlyVIDEO2000 [card=3,insmod option]
  kernel: saa7130[0]: board init: gpio is 808008
  kernel: saa7130[0]: there are different flyvideo cards with different tuners
  kernel: saa7130[0]: out there, you might have to use the tuner=<nr> insmod
  kernel: saa7130[0]: option to override the default value.
  kernel: input: saa7134 IR (LifeView/Typhoon Fl as /class/input/input80
  kernel: saa7130[0]: Huh, no eeprom present (err=-5)?
  kernel: saa7130[0]: i2c scan: found device @ 0xc0  [tuner (analog)]
  kernel: saa7130[0]: i2c scan: found device @ 0xc2  [???]
  kernel: All bytes are equal. It is not a TEA5767
  kernel: tuner' 1-0060: chip found @ 0xc0 (saa7130[0])
  kernel: tuner' 1-0061: chip found @ 0xc2 (saa7130[0])
  kernel: tuner-simple 1-0060: creating new instance
  kernel: tuner-simple 1-0060: type set to 37 (LG PAL (newer TAPC series))
  kernel: saa7130[0]: registered device video0 [v4l2]
  kernel: saa7130[0]: registered device vbi0
  kernel: saa7130[0]: registered device radio0
  kernel: saa7130[0]/irq: looping -- clearing PE (parity error!) enable bit


elliott678 07-15-2008 07:02 PM

Quote:

Originally Posted by Fritz_Katz (Post 3214678)
Ran a script to test all the possible combos. Apparently it's necessary to cycle through rmmod/modprobe/watchTV to see if it works. Is there an easier way to find out?

If you don't have a card that is on the list, you have 2 options, the script, or do it manually. The ones not on the list are almost always clones of one on the list, it took me days to figure out my one of my no-name cards was a Sabrent clone.

Quote:

Originally Posted by Fritz_Katz (Post 3214678)
This is strange -- the video output doesn't appear on the 'Television' output -- but instead appears on 'Composite2' output. You can only tune channels by using 'Input Configuration', switching to a blue-screen 'Television' and then switching back to 'Composite' to view it.

This happens when you have the wrong card parameter passed, usually 5 or 6 of them will give you a picture but the input order will be different. If there is really no card on the list that will give you a picture and put the inputs in the correct order, you are going to have to open the driver's source code, edit one of the existing cards to suit your card, then recompile. I've been down that road once with one of my saa7134 cards, it is a pain, but it can be done with nearly zero knowledge of driver programming. It isn't a common thing to need though, I had to do that years ago, they should have nearly every combination out there listed now.


Quote:

Originally Posted by Fritz_Katz (Post 3214678)
There is no /dev/tuner. Should there be?

Nope.

These no-name saa7134 cards can be a major pain, I haven't even successfully installed one on Windows and had it fully functional, stuff like channels missing and inputs not working is common in Windows, even with the drivers they send with the cards. I've had significantly better luck with them in Linux.

I will tell you that your card looks suspiciously like my Sabrent clone, which seems to be one of the most cloned cards on the market, you might want to try card=42.


All times are GMT -5. The time now is 05:32 PM.