Digital TV tuner drivers for Puppy 2.12 up

What works, and doesn't, for you. Be specific, and please include Puppy version.
Message
Author
tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

Digital TV tuner drivers for Puppy 2.12 up

#1 Post by tempestuous »

Puppy already contains most, but not all, DVB modules. This package provides the extra DVB modules, compatible with the kernel in Puppy vers 2.12 - 2.16.

They're at MU's site -
http://puppyfiles.org/dotpupsde/dotpups ... 6.18.1.pet
Modules included -

ivtv
ivtv-fb
saa717x
video-buf-dvb
cx88-alsa
cx88-blackbird
cx88-dvb
cx88-vp3054-i2c
pvrusb2
saa7134-alsa
saa7134-dvb
isl6421

The package also provides the necessary firmware files for several different drivers, originally from http://dl.ivtvdriver.org/ivtv/firmware/
And the package also includes the MAKEDEV-DVB.sh script, to create the necessary device nodes for DVB devices.

Basic instructions are contained in the README file, which will automatically launch after the dotpet has installed.

EDIT: IVTV drivers for the Hauppauge "PVR" TV tuner cards, compatible with Puppy 2.17 are attached later in this thread.
Last edited by tempestuous on Thu 06 Sep 2007, 11:58, edited 2 times in total.

shenen
Posts: 37
Joined: Sun 03 Dec 2006, 18:19

Is there an updated package used for Puppy 2.17 or above?

#2 Post by shenen »

Hi Just wondering, if there is an updated package(TV tuner drivers) for puppy 2.17.

Thanks.
shenen

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#3 Post by tempestuous »

The standard DVB kernel modules are now all included in Puppy 2.17 and 3.00.
So the only missing modules are the (third party) IVTV modules.
I now attach these.

Update October 7 2007
IVTV modules recompiled from patched source code from
http://linuxtv.org/hg/~hverkuil/v4l-dvb ... 61b30f3e35
to support 3 additional cards:
Yuan PG600V2/GotView PCI DVD Lite
Club3D ZAP-TV1x01
AverTV MCE 116 Plus

Run "modinfo ivtv" to see supported cardtypes.

These packages include the necessary firmware for the IVTV modules, plus the IVTV utilities:
cx25840ctl
ivtv-mpegindex
ivtv-radio
ivtv-tune
ivtvctl
ivtvfbctl
ivtvplay
ps-analyzer
v4l2-ctl
Last edited by tempestuous on Wed 11 Jun 2008, 07:38, edited 6 times in total.

shenen
Posts: 37
Joined: Sun 03 Dec 2006, 18:19

#4 Post by shenen »

Hi:
Thanks for the reply. After installing it, and modprobe ivtv, then
dmesg|grep ivtv, I get following messge.

ivtv: Unknown symbol i2c_bit_add_bus
ivtv: Unknown symbol cx2341x_ext_ctrls
ivtv: Unknown symbol v4l_compat_translate_ioctl
ivtv: Unknown symbol cx2341x_ctrl_query
ivtv: Unknown symbol v4l2_ctrl_next
ivtv: Unknown symbol tveeprom_read
ivtv: Unknown symbol v4l2_ctrl_query_menu
ivtv: Unknown symbol video_unregister_device
ivtv: Unknown symbol cx2341x_update
ivtv: Unknown symbol video_device_alloc
ivtv: Unknown symbol video_register_device
ivtv: Unknown symbol cx2341x_ctrl_get_menu
ivtv: Unknown symbol cx2341x_log_status
ivtv: Unknown symbol cx2341x_fill_defaults
ivtv: Unknown symbol video_usercopy
ivtv: Unknown symbol tveeprom_hauppauge_analog
ivtv: Unknown symbol video_device_release
ivtv: Unknown symbol cx2341x_mpeg_ctrls
ivtv: Unknown symbol i2c_bit_add_bus
ivtv: Unknown symbol cx2341x_ext_ctrls
ivtv: Unknown symbol v4l_compat_translate_ioctl
ivtv: Unknown symbol cx2341x_ctrl_query
ivtv: Unknown symbol v4l2_ctrl_next
ivtv: Unknown symbol tveeprom_read
ivtv: Unknown symbol v4l2_ctrl_query_menu
ivtv: Unknown symbol video_unregister_device
ivtv: Unknown symbol cx2341x_update
ivtv: Unknown symbol video_device_alloc
ivtv: Unknown symbol video_register_device
ivtv: Unknown symbol cx2341x_ctrl_get_menu
ivtv: Unknown symbol cx2341x_log_status
ivtv: Unknown symbol cx2341x_fill_defaults
ivtv: Unknown symbol video_usercopy
ivtv: Unknown symbol tveeprom_hauppauge_analog
ivtv: Unknown symbol video_device_release
ivtv: Unknown symbol cx2341x_mpeg_ctrls

However, before I ask for more help, perhaps allow me to ask how to identify the card.

The card I have is in my HP computer model m260n. The only information on the card is:

Hauppauge
Wintv 48512 Rev I126

The message from Windows is:
Wintv PCI II, that's it.

HP web site does not provide further information.


I googled seached and found out some people said it's PVR 250, which use ivtv. So I can only assume this is what my card is.

Any help is appreciated.

Shenen

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#5 Post by tempestuous »

Yes it appears to be a PVR250, but it may be an OEM version with the hardware ID disabled.
Try to specify the type (PVR250) when loading the module, like this -

Code: Select all

modprobe ivtv cardtype 1
If no success, load all other modules the ivtv module depends on first -

Code: Select all

modprobe v4l2-common
modprobe v4l1-compat
modprobe videodev
modprobe cx2341x
modprobe i2c-core
modprobe i2c-algo-bit
modprobe tveeprom
modprobe firmware_class
modprobe ivtv cardtype 1

shenen
Posts: 37
Joined: Sun 03 Dec 2006, 18:19

#6 Post by shenen »

Code: Select all


ivtv:  ==================== START INIT IVTV ====================
ivtv:  version 0.10.5 (tagged release) loading
ivtv:  Linux version: 2.6.21.5 mod_unload 486 
ivtv:  In case of problems please include the debug info between
ivtv:  the START INIT IVTV and END INIT IVTV lines, along with
ivtv:  any module options, when mailing the ivtv-users mailinglist.
ivtv0: Autodetected Hauppauge card (cx23415 based)
ivtv0: loaded v4l-cx2341x-enc.fw firmware (376836 bytes)
ivtv0: loaded v4l-cx2341x-dec.fw firmware (262144 bytes)
ivtv0: Encoder revision: 0x02060039
ivtv0: Decoder revision: 0x02020023
ivtv0: Autodetected Hauppauge WinTV PVR-250
tuner 0-0061: chip found @ 0xc2 (ivtv i2c driver #0)
saa7115 0-0021: saa7115 found (1f7115d0e100000) @ 0x42 (ivtv i2c driver #0)
msp3400 0-0040: MSP4448G-A2 found @ 0x80 (ivtv i2c driver #0)
ivtv0: Registered device video0 for encoder MPEG (4 MB)
 [<c8b2fe91>] ivtv_stream_alloc+0xd1/0x2d0 [ivtv]
 [<c8b2d35e>] ivtv_reg_dev+0x28e/0x310 [ivtv]
 [<c8b2d41e>] ivtv_streams_setup+0x3e/0x70 [ivtv]
 [<c8b29911>] ivtv_probe+0x2b1/0x8b0 [ivtv]
 [<c8b2a2cb>] module_start+0x8b/0x100 [ivtv]
ivtv0: Couldn't allocate buffers for encoder MPEG stream
ivtv0: Error -12 setting up streams
ivtv0: Error -12 on initialization
ivtv: probe of 0000:00:0d.0 failed with error -12
ivtv:  ====================  END INIT IVTV  ====================

Hi:
modprobe ivtv cardtype 1 doesn't work,
but load other modules first does work, however, there are still some error message, and I don't know what they mean, as shown on the last 5 lines above.
Thanks.
Shenen

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#7 Post by tempestuous »

Just checking that you ran the "MAKEDEV-IVTV.sh" script. If not, your system will not have the necessary device nodes.

Otherwise, the initialisation looks good up to a certain point. But a Google search doesn't reveal an obvious solution. I suggest you submit your START INIT - END INIT information to the ivtv-users mailinglist -
http://ivtvdriver.org/mailman/listinfo/ivtv-users
Last edited by tempestuous on Sun 23 Sep 2007, 01:08, edited 1 time in total.

shenen
Posts: 37
Joined: Sun 03 Dec 2006, 18:19

#8 Post by shenen »

Hi:

All the instructions you've mentioned have been followed, I still get the same error message. I will check that mailing list.

Thanks for your help.
Shenen

shenen
Posts: 37
Joined: Sun 03 Dec 2006, 18:19

#9 Post by shenen »

Hi:
Thank you for the tips, I went to the mailing list and found out a clue, it's due to not enough memory. The test machine has only 128M RAM, I move it to another one which has 512MB RAM, then the error message goes away.

Would you mind tell me what is next step, I believe it's application layer. I try to get this video capture(from VCR) feature work in Linux.

Thanks.
Shenen


Code: Select all

ivtv:  ==================== START INIT IVTV ====================
ivtv:  version 0.10.5 (tagged release) loading
ivtv:  Linux version: 2.6.21.5 mod_unload 486 
ivtv:  In case of problems please include the debug info between
ivtv:  the START INIT IVTV and END INIT IVTV lines, along with
ivtv:  any module options, when mailing the ivtv-users mailinglist.
ivtv0: Autodetected Hauppauge card (cx23415 based)
ivtv0: loaded v4l-cx2341x-enc.fw firmware (376836 bytes)
ivtv0: loaded v4l-cx2341x-dec.fw firmware (262144 bytes)
ivtv0: Encoder revision: 0x02060039
ivtv0: Decoder revision: 0x02020023
ivtv0: Autodetected Hauppauge WinTV PVR-250
tuner 1-0061: chip found @ 0xc2 (ivtv i2c driver #0)
saa7115 1-0021: saa7115 found (1f7115d0e100000) @ 0x42 (ivtv i2c driver #0)
msp3400 1-0040: MSP4448G-A2 found @ 0x80 (ivtv i2c driver #0)
ivtv0: Registered device video0 for encoder MPEG (4 MB)
ivtv0: Registered device video32 for encoder YUV (2 MB)
ivtv0: Registered device vbi0 for encoder VBI (1 MB)
ivtv0: Registered device video24 for encoder PCM audio (1 MB)
ivtv0: Initialized Hauppauge WinTV PVR-250, card #0
ivtv:  ====================  END INIT IVTV  ====================
[/code]

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#10 Post by tempestuous »

My IVTV package includes the "v4l2-ctl" utility. First you need to obtain information about your PVR250's inputs, using then "-I" parameter (that's uppercase i, not lowercase L) -

Code: Select all

v4l2-ctl -I
I imagine the results should be something like "composite" and/or "S-video".
Then you need to set the input using the "-i" parameter:

Code: Select all

v4l2-ctl -i composite
And you may also need to set the video standard: pal, ntsc, or secam with the "-s" parameter. Example -

Code: Select all

v4l2-ctl -s pal
It should be possible (?) to see the video signal coming into your PVR250 with MPlayer. Get MPlayer here -
http://dotpups.de/dotpups/Multimedia/Mplayer-1.0rc1/
Then run this command -

Code: Select all

mplayer /dev/video0
Now to record the video signal -

Code: Select all

cat /dev/video0 > test.mpg
This will produce an MPEG2 file that you can play with MPlayer ...
or you can use this MPEG2 file to author a DVD, using plinej's "pupdvdtool-0.8"
http://www.murga-linux.com/puppy/viewtopic.php?t=11212
Last edited by tempestuous on Fri 07 Sep 2007, 08:38, edited 1 time in total.

shenen
Posts: 37
Joined: Sun 03 Dec 2006, 18:19

#11 Post by shenen »

Thanks for the info, I tried it, and it works great. When Puppy 2.20 stable release is out, I will be waiting for your updated ivtv .pet file. I think 2.20 also upgraded the kernel.

Thanks.
Shenen

modesto
Posts: 7
Joined: Sat 28 Jul 2007, 17:41

#12 Post by modesto »

Edited 9/19

I was having a major problem with a PVR150, but switched boxes and now I have it 90% working. My problem: I have no sound on my playback or files!

This seems a common complaint yet I have not seen a good FAQ to answer it. Any ideas anyone?

I am running pupply linux 2.14 and a Aver PVR150. I am using cardtype=16 and have no errors shown in dmesg. I am not sure if cardtype=16 is optimum, there seems to be no specific card type for the avermedia PVR150

I wonder if I need to load or initialize the sound drivers in the PVR150 or something like that. Surely there must be a setting for input volume etc.

I do have sound when using the TV tuner, just not for composite or S-video input. I have checked the sound inputs settings and they seem correct and they switch automtically when the input is switched.

I have used a video captrure card in the past without mpeg encoding so I am not completely new to all this.

Any ideas anyone?

Thanks

Phil

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#13 Post by tempestuous »

Try these commands

Code: Select all

v4l2-ctl --list-audio-inputs

Code: Select all

v4l2-ctl --get-audio-input

Code: Select all

v4l2-ctl --set-audio-input=<num>

modesto
Posts: 7
Joined: Sat 28 Jul 2007, 17:41

#14 Post by modesto »

Good idea, but I have tried that. I am spending a lot of compulsive time on this, still, so sorry for not telling you what I have done.

I have tried
setting inputs to all valid and invalid vlaues as you described
tried changing volume
tried muting and unmuting
changing to PAL etc
tried many options within ivtv-ctrl/v4l2-ctl etc
tried different card types in options, and different orders for modprobe

my dmesg shows:
ivtv: ==================== START INIT IVTV ====================
ivtv: version 0.10.1 (tagged release) loading
ivtv: Linux version: 2.6.18.1 mod_unload 486 gcc-3.4
ivtv: In case of problems please include the debug info between
ivtv: the START INIT IVTV and END INIT IVTV lines, along with
ivtv: any module options, when mailing the ivtv-users mailinglist.
ivtv0: User specified GotView PCI DVD2 Deluxe card (detected cx23416 based chip)
PCI: setting IRQ 10 as level-triggered
PCI: Found IRQ 10 for device 0000:00:0c.0
ivtv0: Unreasonably low latency timer, setting to 64 (was 32)
ivtv0: loaded v4l-cx2341x-enc.fw firmware (376836 bytes)
ivtv0: Encoder revision: 0x02060039
tuner 5-0043: chip found @ 0x86 (ivtv i2c driver #0)
tda9887 5-0043: tda988[5/6/7] found @ 0x43 (tuner)
tuner 5-0060: All bytes are equal. It is not a TEA5767
tuner 5-0060: chip found @ 0xc0 (ivtv i2c driver #0)
wm8739 5-001a: chip found @ 0x34 (ivtv i2c driver #0)
cx25840 5-0044: cx25841-23 found @ 0x88 (ivtv i2c driver #0)
cx25840 5-0044: loaded v4l-cx25840.fw firmware (16382 bytes)
ivtv0: Registered device video0 for encoder MPEG (4 MB)
ivtv0: Registered device video32 for encoder YUV (2 MB)
ivtv0: Registered device vbi0 for encoder VBI (1 MB)
ivtv0: Registered device video24 for encoder PCM audio (1 MB)
ivtv0: Registered device radio0 for encoder radio
tuner 5-0060: type set to 38 (Philips PAL/SECAM multi (FM1216ME MK3))
ivtv0: Initialized GotView PCI DVD2 Deluxe, card #0
ivtv: ==================== END INIT IVTV ====================

I think the key is that this is a odd ball board and uses a wm8739.

I found this page which shows the same problem on the same card,
http://www.gossamer-threads.com/lists/ivtv/devel/36205

the answer-er suggested a patched ivtv driver
http://linuxtv.org/hg/~hverkuil/v4l-dvb ... 61b30f3e35

but I have never compiled on Puppy, and do not have that module installed, so I have been avoiding that.

I do have sound in tuner mode, so it could be worse, I just lose stereo and a bit of quality runing video through a modulator and then the tuner.

I think I read somewhere that v4l-dvb supports the wm8739 and that someone got the card to work video in (only), using ivtv-dvb (makes sense as the stream is very similar to dvb) any ideas how to do that though? I tried using dvb//:2@ch number, that does not work ( I have a DVB-S card intalled hence 2@)

Any ideas? Thanks for the reply.

Phil

modesto
Posts: 7
Joined: Sat 28 Jul 2007, 17:41

#15 Post by modesto »

PS

The release noted for the updates to ivtv (ithink he calls it a tree)I mentioned in the last post say :

- Split Club3D card from Yuan PG600-2, GotView PCI DVD Lite (different composite input)
- Add AVerTV MCE 116 Plus (M116) card
- Allow Xceive cards to be used without Xceive support
- Update Xceive support to latest userspace tuner (still not on by default,
pending inclusion of userspace tuner in the kernel).
- Use CONFIG_XC3028 rather than HAVE_XC3028: gentree.pl will remove them
automatically.

I think maybe the problem is that the cardtype=16 is very close to the card that I do have but does not quite behave exactly the same , and this could be the result. Goes to show trying ALL values of inoputs and outputs might get it towork. When I used cardtype=1 for example, Svideo and composite were swapped, so a wrong card might work with the wrong input values. I will try once more maybe.

Is there a simple way to change registers via I2C from the console? Although I would need to know what to change in the wm8739.

How simple is it to install the develoment/compile module and compile stuff like this?

Thanks again for the reply. It showed me I am not totally dumb.

Phil

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#16 Post by tempestuous »

The http://linuxtv.org/hg/~hverkuil/v4l-dvb ... 61b30f3e35
link provides the full v4l/ivtv source code patched for AverMedia MCE116, not just the patch itself.
So I have compiled the patched ivtv modules, and attached the package to the 3rd post in this thread.

modesto
Posts: 7
Joined: Sat 28 Jul 2007, 17:41

#17 Post by modesto »

Thanks very much indeed.

I have not tried it yet as I am still using Puppy 2.14 and was dragging my feet on upgrading as it took me so long to get Nvidia TV out and DVB-S working properly, and have so many dot pets.

Seems like there is a good reason now.

Thanks

Phil

shenen
Posts: 37
Joined: Sun 03 Dec 2006, 18:19

#18 Post by shenen »

Hi tempestuous,
The ivtv module for the PVR250 is fine, however, the encoded video quality is not as good as that of the one recorded in Windows.

When I zoom it to full screen, I can see a kind of mesh in the video quality, I doubt it's a resolution issue, if it's a video resolution, usually you can see kind of mosaic effect when you zoom it.

Do you know what is that, or if there are parameters to fine tune the video encoding quality?
(VCR output to PVR input)

Thanks.
Shenen

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#19 Post by tempestuous »

First, make sure the comparison is equitable. I suggest you save the Linux video recording to a FAT32 partition or USB flash drive, then play it in Windows.
If the recordings made in Linux and Windows look identical (they should) then the "mesh" appearance is a problem with the media player application in
Linux.

But if the Linux recording definitely looks worse, that will be strange, because the PVR series cards have HARDWARE encoding chips, so the encoding is not done in software, and the process should be independent of the operating system.

Your problem then requires expertise from the IVTV developers. I suggest you submit your query to the ivtv-users mailinglist -
http://ivtvdriver.org/mailman/listinfo/ivtv-users

shenen
Posts: 37
Joined: Sun 03 Dec 2006, 18:19

#20 Post by shenen »

Based on what I have read, it seems to me the encoding and decoding are done through firmware, which is taken from windows driver.

http://ivtvdriver.org/index.php/Firmware

I played using Windows media player, it shows the same effect.

Theoretically the result should be the same. I don't know why, but I will look for more information.

Thanks.
Shenen

Post Reply