When suffering from insomnia, some people count sheep. Others watch television. I ported Ralph Metzler’s drx-d driver into the kernel and finally debugged the issues required to get the HVR-900R2 and PCTV 330e digital support working.
I know many people have been waiting a long time for this, and I am happy to announce that we’ve got a tree setup which can be merged into the upstream kernel, as well as firmware which can be legally redistributed.
Testers are welcome to try the following hg tree:
hg clone http://kernellabs.com/hg/~dheitmueller/v4l-dvb-drxd
Note, under Ubuntu if you receive errors about not being able to compile the firedtv driver, open â€œv4l/.configâ€ and change the firedtv=m to be firedtv=n.
You will need to get the firmware from the following location and copy it to /lib/firmware
I’ll be looking to get the firmware bundled into the distros, so that the products will work “out of the box”.
The usual disclaimers apply as of this point I’ve only done minimal testing at this point with a DVB generator and tzap/mplayer (if you want to consider the last 12-14 hours of testing and debugging/fixing problems and edge cases as I found them as “minimal”).
Feedback welcome (both positive or negative) by commenting below. And as this was another unfunded project that KernelLabs did solely for the benefit of the community, if you find this work useful then feel free to throw a couple of bucks into Devin’s LinuxTV support fund
UPDATE 2010-02-28 11:04: I forgot to mention that in addition to the drx firmware, you also need the firmware for the xc3028 tuner, which can be installed via the following directions. Sorry for the confusion (and thanks to users wishmerhill and fabio for pointing out my oversight)!
180 thoughts on “Call for testers: HVR-900R2 and PCTV 330e”
Great work, but I think I may have found a bug (I have the HVR-900R2 and use openSUSE 11.2). There seems to be insufficient locking between analog and digital TV. To simulate time-shifting I use mencoder to record analog TV and then simultaneously watch the recorded file. Normally I use Kaffeine (the kde3 version) to do this, which I also use to watch digital TV (it is important to note that Kaffeine has some sort of auto-detection of DVB-devices). With v4l-dvb-drxd mencoder reports a failure as soon as Kaffeine is started. Because other programs like mplayer with no auto-detection of DVB-devices don’t cause this problem, I think the problem is caused because Kaffeine tries to access the DVB-part while mencoder still uses the analog-part.
The problem you described is not specific to this product – the vast majority of hybrid tuners under Linux experience essentially the same issue. The LinuxTV subsystem lacks a coherent strategy for dealing with this sort of locking between analog and digital interfaces that share the same underlying hardware.
That said, while I agree that you’ve found an issue, it’s outside the scope of the work specifically for the 900R2 driver.
Very thanks for your mercurial repo and firmware. You’ve saved my life 🙂
I just successfully compiled on 2.6.31-gentoo-r6 x86_64.
I can watch with my Pinnacle 330e DVB-T with sound. Analog not tested
Thanks a lot for your great job. I couldn’t install my pinnacle 330e in ubuntu without your help.
But I have a problem. I’m from Spain, and we have a mux with the frequency 858 Mhz. It seems that the firmware, or driver, is not capable to tune frequencies above 855 Mhz. I get this when I try to tune that frequency:
tune_to_transponder:1508: ERROR: Setting frontend parameters failed: 22 Invalid argument
You must do the following:
edit with your favourite editor, the files drxd_hard.c and drxd397xD.c
change the line saying “frequency_max=855250000” to “frequency_max=858000000”
I am from Barcelona, and I had exactly the same problem (didn’t get ANTENA3), where are you from?
Wow, perfect… thank you very much Enric.
It does the trick.
I am from Madrid. Now with your trick I am able to watch all th stations in that mux, expecially the one with football ;).
Thanx! I would like to contact you … my email is firstname.lastname@example.org, can you please contact me?
Thanks guys, what about Terratec Cinergy T USB XS? The USB ID is 0ccd:0072. Thanks!
Thanks a lot! it is absolutely fantastic, I’ve been struggling with this bloody usb stick for 2 years and finally … It works!!, thanks a lot from Barcelona, Spain. By the way, I changed the initial value of frequency_max to 858 Mhz to suit my area, is there any reason to be initialised to 855.25 Mhz? Again, thanks a lot.
Not compile for kernel 2.6.34 there is a patch?
Great great work, I have a wintv-hvr900 R2 and have been struggling for two days before finding your drivers and firmwares… It works, I got a PKGBUILD for Arch now and its beautifully simple… Good work
Hi, is it going to go mainline?
The code is there and the licensing is worked out. The only thing pending is finding the ten or fifteen hours of man-hours required to make the code conform to the Linux “coding standard”. That’s the part where they won’t accept perfectly good code because it doesn’t have the right indentation. 😉
The driver don’t compile anymore on kernel 2.6.34, due to minore changes: the first that I noticed is that for kfree and similar methods to be defined,
need to be included explicitly… Hope you could update the drivers soon…
it seem that all the file that refer to the kfree or kzalloc
functions needs #include
It’s a very long list
I meant #include
ok, I will not use inequality signs 🙂
quick ‘n ditrty 🙂
debian:/tmp/tvcard/v4l-dvb-drxd/v4l# for i in $(egrep ‘kzalloc|kfree’ *.c -r | cut -d “:” -f1 | uniq); do sed -ie ‘1i\#include ‘ $i; done
hmm. missing the linux/slab.h after #include.
Marvellous thanks Devin,
I use Pinnacle 330e with Ubuntu 10.04. Actually, I tried Kaffeine but got error messages when seeking channels; stopped searching at 98% and no channel was added to the list.
I installed tvtime then that seems to work out fine but unfortunately no sound. I guess this issue can be solved as I found a funny solution already:
* open tvtime, switch to an existing channel = video OK
* open Multimedia Systems Selector / Sound / Default Input: Click to Test = Sound OK
i have pctv 330e pinacle usb and i search channels using the analog dvb option (greece) but i only hear clear sound of the channel.any help?and in the screen it writes “digital sound service”
thnx in advance
on OpenSuse 11.3 rc 1, Kernel 2.6.34-12-desktop, 64bits :
I receive this error when I do the ‘make’ :
make: Leaving directory `/home/lau/v4l-dvb-as102/v4l/firmware’
Kernel build directory is /lib/modules/2.6.34-12-desktop/build
make -C /lib/modules/2.6.34-12-desktop/build SUBDIRS=/home/lau/v4l-dvb-as102/v4l modules
make: Entering directory `/usr/src/linux-2.6.34-12-obj/x86_64/desktop’
make -C ../../../linux-2.6.34-12 O=/usr/src/linux-2.6.34-12-obj/x86_64/desktop/. modules
CC [M] /home/lau/v4l-dvb-as102/v4l/tuner-xc2028.o
/home/lau/v4l-dvb-as102/v4l/tuner-xc2028.c: In function ‘free_firmware’:
/home/lau/v4l-dvb-as102/v4l/tuner-xc2028.c:252:3: error: implicit declaration of function ‘kfree’
/home/lau/v4l-dvb-as102/v4l/tuner-xc2028.c: In function ‘load_all_firmwares’:
/home/lau/v4l-dvb-as102/v4l/tuner-xc2028.c:314:2: error: implicit declaration of function ‘kzalloc’
/home/lau/v4l-dvb-as102/v4l/tuner-xc2028.c:314:13: warning: assignment makes pointer from integer without a cast
/home/lau/v4l-dvb-as102/v4l/tuner-xc2028.c:365:21: warning: assignment makes pointer from integer without a cast
/home/lau/v4l-dvb-as102/v4l/tuner-xc2028.c: In function ‘xc2028_attach’:
/home/lau/v4l-dvb-as102/v4l/tuner-xc2028.c:1269:13: warning: assignment makes pointer from integer without a cast
make: *** [/home/lau/v4l-dvb-as102/v4l/tuner-xc2028.o] Erreur 1
make: *** [_module_/home/lau/v4l-dvb-as102/v4l] Erreur 2
Thanks for your help and good job.
Thanks for the good work. Following your steps I got id immediately working on
Ubuntu Netbook Remix 10.4 on a DELL Mini Inspirion 1011
with Pinnacle PCTV e330.
My Kernel: 2.6.32-23-generic
I forogot to say I*m living in Munich (Germany) and I*am receiving DVB-T
Wonderful news on support being available, and thanks for putting the time into getting it going… but I’m not getting any love with my HVR900 R2 (USB ID 8040:6502).
When I run dvbscan -n -p I get the “tuning failed” messages that Michael had previously, but I’ve double-checked that my hardware is in the supported list, the firmware is all in place (dmesg seems happy about everything — except that every time I re-run dvbscan it tells me that it’s loading the firmware again, but that could be expected).
I did the make; make install; reboot as suggested, but I’m a complete newbie when it comes to TV-related hackery, so I might have missed some otherwise obvious step. What else can I try to diagnose this and get my little DVB stick chugging along?
This driver found up to kernel 2.6.33, i’m waiting for support to 2.6.34-35.
I use the pctv 330e with mplayer. If i watch a dvb channel and next an analog channel, screen becomes black after 10seconds. I’ve to change to another analog channel to start watch something without problem
You understand that you cannot capture with analog and digital at the same time, right?
Hello, I wonder wether this driver is forseen to be merged in the linux kernel?
That is definitely the plan. The big issue at this point is just I haven’t had time to do the required cleanup in order to meet the kernel “coding standards”. As a result, the tree cannot simply be accepted upstream (regardless of how well the driver works).
I’m trying to compile the module in v4l-dvb-drxd against the 2.6.35 kernel
After including linux/slab.h in all sources that use kfree and kzalloc i run make
and get a new error about “struct dev_mc_list”, “mc_count” and “mc_list”.
I’ve tryed to fix the problem but i think my programming skill are not enough to do this,
I attach the output of make, thank you again for your work,
#### make output #####
CC [M] /home/fabio/src/v4l-dvb-drxd/v4l/dvb_filter.o
CC [M] /home/fabio/src/v4l-dvb-drxd/v4l/dvb_ca_en50221.o
CC [M] /home/fabio/src/v4l-dvb-drxd/v4l/dvb_frontend.o
CC [M] /home/fabio/src/v4l-dvb-drxd/v4l/dvb_net.o
/home/fabio/src/v4l-dvb-drxd/v4l/dvb_net.c:1179: warning: ‘struct dev_mc_list’ declared inside parameter list
/home/fabio/src/v4l-dvb-drxd/v4l/dvb_net.c:1179: warning: its scope is only this definition or declaration, which is probably not what you want
/home/fabio/src/v4l-dvb-drxd/v4l/dvb_net.c: In function ‘dvb_set_mc_filter’:
/home/fabio/src/v4l-dvb-drxd/v4l/dvb_net.c:1186: error: dereferencing pointer to incomplete type
/home/fabio/src/v4l-dvb-drxd/v4l/dvb_net.c: In function ‘wq_set_multicast_list’:
/home/fabio/src/v4l-dvb-drxd/v4l/dvb_net.c:1226: error: ‘struct net_device’ has no member named ‘mc_count’
/home/fabio/src/v4l-dvb-drxd/v4l/dvb_net.c:1230: error: ‘struct net_device’ has no member named ‘mc_count’
/home/fabio/src/v4l-dvb-drxd/v4l/dvb_net.c:1236: error: ‘struct net_device’ has no member named ‘mc_list’
/home/fabio/src/v4l-dvb-drxd/v4l/dvb_net.c:1237: error: ‘struct net_device’ has no member named ‘mc_count’
/home/fabio/src/v4l-dvb-drxd/v4l/dvb_net.c:1238: error: dereferencing pointer to incomplete type
/home/fabio/src/v4l-dvb-drxd/v4l/dvb_net.c:1238: warning: left-hand operand of comma expression has no effect
/home/fabio/src/v4l-dvb-drxd/v4l/dvb_net.c:1238: warning: value computed is not used
/home/fabio/src/v4l-dvb-drxd/v4l/dvb_net.c:1239: warning: passing argument 2 of ‘dvb_set_mc_filter’ from incompatible pointer type
/home/fabio/src/v4l-dvb-drxd/v4l/dvb_net.c:1179: note: expected ‘struct dev_mc_list *’ but argument is of type ‘struct dev_mc_list *’
/home/fabio/src/v4l-dvb-drxd/v4l/dvb_net.c: In function ‘dvb_net_setup’:
/home/fabio/src/v4l-dvb-drxd/v4l/dvb_net.c:1363: error: ‘struct net_device’ has no member named ‘mc_count’
make: *** [/home/fabio/src/v4l-dvb-drxd/v4l/dvb_net.o] Error 1
make: *** [_module_/home/fabio/src/v4l-dvb-drxd/v4l] Error 2
make: Leaving directory `/usr/src/kernels/2.6.35-kal.i686′
make: *** [default] Error 2
make: Leaving directory `/home/fabio/src/v4l-dvb-drxd/v4l’
make: *** [all] Error 2
Yeah, I really need to find some time to rebase against the current v4l-dvb tree, which will result in it working properly against 2.6.35. I’ve just been too busy with other projects.
same for me. it looks like the problem is this:
but i don’t know how to fix it 🙁
Any news about merging upstream?
Does it compile against 2.6.36?
Please keep it up, as you know there is support for 2.6.35. Btw great job. You can also contact me for testing
ops.. *there isn’t support for 😛
Thank you very much from Sevilla, this tutorial has been very useful for me.
Well the new ubuntu 10.10 is in Rc, i’waiting for news with the support for 2.6.35 kernel.
Please don’t let this die like the old em28xx driver.
If this is the problem…
“The only thing pending is finding the ten or fifteen hours of man-hours required to make the code conform to the Linux â€œcoding standardâ€.”
…I’m pretty sure there are plenty of users willing to donate 20$ to see it merged.
Cofundos (http://cofundos.org/) may be the solution.
I have a workaround for 2.6.35. It is quite simple if you only want the stick to work. I am in the process of creating patch-files. For those who are willing to have some fun:
I have copied drxd.h drxd_firm.c drxd_firm.h drxd_hard.c drxd_map_firm.h to /usr/src/linux/drivers/media/dvb/frontend, modified the Makefile:
“drxd-objs = drxd_firm.o drxd_hard.o” added on line 12
“#obj-$(CONFIG_DVB_DRX397XD) += drx397xD.o” on line 39 is now:
“obj-$(CONFIG_DVB_DRX397XD) += drxd.o” drxd is now compiled if drx397xd is selected in the config!
The hard bit of work was modifying em28xx-cards.c and em28xx-dvb.c. If you do not require IR-Remote, then only 10 lines has to modified/written.
As I do not want to loose time in giving specific instructions, I will create patch-files and post the link.
Unfortunately I have to use 2.6.36 🙁
Were you able to create the patches? Would you share them with us? 🙂
I merged Devin’s driver for 2.6.32 with 2.6.35 em28xx from ubuntu stock kernel. It builds and works fine for me (dvb-t, alsa audio and IR remote control).
Please kernel hackers review my crude work. Everybody else stay away, unless you want to risk having your computer delete your porn collection, flirting with your girlfriend/boyfriend and scare your cat to death.
OK, I’m running Ubuntu 10.10 and would really like to get my 900 (R2) working.
I’ve followed these steps, including the change for #include %lt; linux/slab.h > but i still get errors about the reference to kfree etc.
Is slab.h standard issue, or do I need to download this? Or do I need to add a reference as to where it can find slab.h?
Thanks one and all.
Hi Devin Heitmueller
Thanks a lot from Denmark, it’s works 🙂
Ubuntu 10.04, HVR 900R2
Best regards Svend
– hi Devin,
I am so happy with your work. I almost got it working myself, but I couldn’t figure out the right firmware to download to the HVR900-R2. Not much info on the Micronas chipset didn’t exactly help. Seems they now released it for the public? Strange. Best of all: Your work + MythTv unleashed new power in the HVR900-R2 I didn’t even know about! I can know record 1 dvb program while watching another dvb. Never knew there were 2 dvb tuners. Also HD channels and MPEG4 works perfectly. Ironically this never worked with Happauge”s own (ridiculous) WinTV software! Thank you so much. I will gladly help with “code beautification” for upstream acceptance.
Any info to getting it work on latest kernels?
ubuntu (debian unstable too maybe?) dkms debs (install drxd and the appropriate em28xx for your 2.36-36 or 2.37 kernel) and devin sources, rebased by me against 2.35 and 2.37 mainline. You need kernel headers to build. Have fun
U S E A T Y O U R O W N R I S K !
New em28xx will build also on 2.6.37-rc5:
Oh, does it work with the older HRV-900H ?
No, the 900H is a totally different device that uses different chips.
most drivers need kfree()
it will not compile because linux/slab.h not included in drivers. I choosed to insert
I tried to get it working with gentoo 2.6.35. I compiled, installed and loaded the
em28xx and drxd modules without errors, but the dvb device is missing.
Any ideas ?
I don’t do much with Gentoo, but from what I understand others who have tried these trees under that distro generally had problems getting their module dependencies correct. If the dependencies are correct you should never need to modprobe anything. All the correct modules should load automatically when the device is inserted.
I also tried the tree from Voland_IT (but kernel 2.6.37). The dvb-t support for HVR-900 R2 is disabled there. Maybe because drxd is not in mainline kernel. I enabled it, but the code crashes in ir_close called by em28xx_ir_fini when the device is removed. I still have to look at this.
How should I compile it with 2.6.37 and a non debian based distro? If I run make from em28xx-2.6.37-klabs100227+lca101214 I get:
WARNING: “snd_pcm_period_elapsed” [/home/niko2/devel/em28xx-2.6.37-klabs100227+lca101214/temp/em28xx-alsa.ko] undefined!
WARNING: “snd_card_create” [/home/niko2/devel/em28xx-2.6.37-klabs100227+lca101214/temp/em28xx-alsa.ko] undefined!
WARNING: “snd_pcm_hw_constraint_integer” [/home/niko2/devel/em28xx-2.6.37-klabs100227+lca101214/temp/em28xx-alsa.ko] undefined!
WARNING: “snd_pcm_link_rwlock” [/home/niko2/devel/em28xx-2.6.37-klabs100227+lca101214/temp/em28xx-alsa.ko] undefined!
WARNING: “snd_pcm_set_ops” [/home/niko2/devel/em28xx-2.6.37-klabs100227+lca101214/temp/em28xx-alsa.ko] undefined!
WARNING: “snd_pcm_lib_ioctl” [/home/niko2/devel/em28xx-2.6.37-klabs100227+lca101214/temp/em28xx-alsa.ko] undefined!
WARNING: “snd_card_free” [/home/niko2/devel/em28xx-2.6.37-klabs100227+lca101214/temp/em28xx-alsa.ko] undefined!
WARNING: “snd_card_register” [/home/niko2/devel/em28xx-2.6.37-klabs100227+lca101214/temp/em28xx-alsa.ko] undefined!
WARNING: “snd_pcm_new” [/home/niko2/devel/em28xx-2.6.37-klabs100227+lca101214/temp/em28xx-alsa.ko] undefined!
# insmod ./em28xx.ko
insmod: error inserting ‘./em28xx.ko’: -1 Unknown symbol in module
Hai jabber? Aggiungi email@example.com
The code does not compile under 2.6.38 kernel. The header and module of ir-core.h were removed.
Correct – these are development trees which were never intended to track the latest kernels. They will not compile for a variety of reasons, most of which have to do with useless renaming of functions.
In order to be be able to compile the complete module tree for kernel 2.6.35 I have made the needed modifications. I generated the patch file and made it available with this link:
I have compiled it on Ubuntu 10.10 Maverick (AMD64) with firewire-dvb disabled. Also I compiled the tree with the patch applied on Ubuntu 10.04 (x86-32bit). On both systems my PCTV 330e is working as expected, used with VLC mediaplayer.
I was very excited to hear of this new driver but sadly I’ve not had any joy with Ubuntu 10.10. Using this patch, everything compiles correctly and I’ve installed the firmware, however for some reason my HVR-900 isn’t coming to life. I’m not an expert on such things, but I’m presuming everything is installed right/
I have yet to try it on one of my 10.04 running machines – hopefully I’ll have more luck with them.
But anyway, thanks for the work – looking forward to the day this just works out of the box :o)
Just been trying it on Ubuntu Netbook Remix 10.04 and sadly same problem. the HVR-900R2 just refuses to budge. Very frustrating given it’s worked for other people on 10.04
I have a feeling I’ve not done something correctly but everything compiles correctly and make install is done. I’ve installed both sets of firmware, and still nothing.
Oh well. Guess Vista it will have to be for a bit longer.
Oh boy am I dumb. Have a WinTV -HVR 900-H!
Nice HVR900 running nice on SuseLinux64 11.3
Very nice, good work man, thanks!
I tried this driver with an Elgato EyeTV Hybrid 2008 (Mac clone of HVR 900 R2 with USB device ID 2040:6502). The kernel version is 2.6.34 and I used the sources posted above for kernel 2.6.35. The device is detected and firmware loads but the card is still unusable.
In analog mode I can scan channels but the video is not viewable. The frames are jerking in the screen and the color is distorted. In OSX everything works just fine.
Dvb mode is not available because no dvb devices are created. Should there be any additions to udev rules or module load scripts in etc?
PS. I do not use Ubuntu.
Now I can scan DVB channels and read EPG, but all attempts to watch them fail. The only message I get is from xawtv4 “dvb ioctl: FE_SET_FRONTEND(0x81da100) … … Frontend tuning failed”.
Try Kaffeine. I’ve done absolutely no testing with xawtv4 (since it never really left ‘beta’ status).
Here is the log after inserting the Elgato EyeTv Hybrid (2008): Everything appears normal, but nothing really works.
Feb 19 04:53:26 Mac kernel: [ 429.195855] em28xx #0:^ITable at 0x24, strings=0x1e82, 0x186a, 0x0000
Feb 19 04:53:26 Mac kernel: [ 429.196990] em28xx #0: Identified as Hauppauge WinTV HVR 900 (R2) (card=18)
Feb 19 04:53:26 Mac kernel: [ 429.200560] tveeprom 8-0050: Hauppauge model 65018, rev B3C0, serial# 4150645
Feb 19 04:53:26 Mac kernel: [ 429.200566] tveeprom 8-0050: tuner model is Xceive XC3028 (idx 120, type 71)
Feb 19 04:53:26 Mac kernel: [ 429.200571] tveeprom 8-0050: TV standards PAL(B/G) PAL(I) PAL(D/D1/K) ATSC/DVB Digital (eeprom 0xd4)
Feb 19 04:53:26 Mac kernel: [ 429.200576] tveeprom 8-0050: audio processor is None (idx 0)
Feb 19 04:53:26 Mac kernel: [ 429.200579] tveeprom 8-0050: has radio
Feb 19 04:53:26 Mac kernel: [ 429.203767] tvp5150 8-005c: chip found @ 0xb8 (em28xx #0)
Feb 19 04:53:26 Mac kernel: [ 429.211376] tuner 8-0061: chip found @ 0xc2 (em28xx #0)
Feb 19 04:53:26 Mac kernel: [ 429.211524] xc2028 8-0061: creating new instance
Feb 19 04:53:26 Mac kernel: [ 429.211528] xc2028 8-0061: type set to XCeive xc2028/xc3028 tuner
Feb 19 04:53:26 Mac kernel: [ 429.211538] usb 2-1.4: firmware: requesting xc3028-v27.fw
Feb 19 04:53:26 Mac kernel: [ 429.214176] xc2028 8-0061: Loading 80 firmware images from xc3028-v27.fw, type: xc2028 firmware, ver 2.7
Feb 19 04:53:26 Mac kernel: [ 429.260696] xc2028 8-0061: Loading firmware for type=BASE (1), id 0000000000000000.
Feb 19 04:53:27 Mac kernel: [ 430.160008] xc2028 8-0061: Loading firmware for type=(0), id 000000000000b700.
Feb 19 04:53:27 Mac kernel: [ 430.173902] SCODE (20000000), id 000000000000b700:
Feb 19 04:53:27 Mac kernel: [ 430.173910] xc2028 8-0061: Loading SCODE for type=MONO SCODE HAS_IF_4320 (60008000), id 0000000000008000.
Feb 19 04:53:27 Mac kernel: [ 430.354602] input: em28xx IR (em28xx #0) as /devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1.4/input/input13
Feb 19 04:53:27 Mac kernel: [ 430.354763] Creating IR device irrcv0
Feb 19 04:53:27 Mac kernel: [ 430.354955] em28xx #0: Config register raw data: 0xd0
Feb 19 04:53:27 Mac kernel: [ 430.355650] em28xx #0: AC97 vendor ID = 0xffffffff
Feb 19 04:53:27 Mac kernel: [ 430.356020] em28xx #0: AC97 features = 0x6a90
Feb 19 04:53:27 Mac kernel: [ 430.356022] em28xx #0: Empia 202 AC97 audio processor detected
Feb 19 04:53:27 Mac kernel: [ 430.486715] tvp5150 8-005c: tvp5150am1 detected.
Feb 19 04:53:27 Mac kernel: [ 430.590340] em28xx #0: v4l2 driver version 0.1.2
Feb 19 04:53:28 Mac kernel: [ 430.681060] em28xx #0: V4L2 video device registered as video1
Feb 19 04:53:28 Mac kernel: [ 430.681065] em28xx #0: V4L2 VBI device registered as vbi0
Feb 19 04:53:28 Mac kernel: [ 430.681069] em28xx-audio.c: probing for em28x1 non standard usbaudio
Feb 19 04:53:28 Mac kernel: [ 430.681073] em28xx-audio.c: Copyright (C) 2006 Markus Rechberger
Feb 19 04:53:28 Mac kernel: [ 430.731495] xc2028 8-0061: attaching existing instance
Feb 19 04:53:28 Mac kernel: [ 430.731499] xc2028 8-0061: type set to XCeive xc2028/xc3028 tuner
Feb 19 04:53:28 Mac kernel: [ 430.731502] em28xx #0: em28xx #0/2: xc3028 attached
Feb 19 04:53:28 Mac kernel: [ 430.731505] DVB: registering new adapter (em28xx #0)
Feb 19 04:53:28 Mac kernel: [ 430.731509] DVB: registering adapter 0 frontend 0 (Micronas DRXD DVB-T)…
Feb 19 04:53:28 Mac kernel: [ 430.731994] em28xx #0: Successfully loaded em28xx-dvb
Feb 19 04:53:28 Mac kernel: [ 430.808283] drxd: deviceId = 50d9
Feb 19 04:53:28 Mac kernel: [ 430.808287] DRX3975D-B1
Feb 19 04:53:28 Mac kernel: [ 430.808292] usb 2-1.4: firmware: requesting drxd-b1-1.1.fw
Feb 19 04:53:28 Mac kernel: [ 430.901094] tvp5150 8-005c: tvp5150am1 detected.
The analog video issues are properly an incorrectly selected video standard. Try using tvtime, and also try the composite/s-video input. If the composite and s-video work but the RF input does not, then it’s almost certainly an improperly selected video standard.
Devivce: HVR-900R2 65018 (USB ID 2040:6502)
System: Debian Wheezy(testing) 2.6.32-5-amd64
Software: Me TV 1.3.6-1
Status: Works shiny 🙂 THANK YOU VERY MUCH!
I try to compile for OpenSuse 11.3 and failed with the above error, that linux/slab.h is missing. I applied the missing files with the code mentioned several comments above and fail again with a new error:
/root/v4l-dvb-drxd/v4l/tvp7002.c: In function ‘tvp7002_s_register’:
/root/v4l-dvb-drxd/v4l/tvp7002.c:899:9: error: ‘struct tvp7002’ has no member named ‘registers’
Is it possible to create only the em38xx module without the rest? How?
This support has been merged into the upstream kernel, so you should use the current linuxtv.org media_build tree instead of trying to build my hg tree (which no longer compiles against recent kernels).
You can look in the linuxtv.org wiki for more instructions on building v4l-dvb, or ask for help on the linux-media mailing list.
Just out of interest, when exactly was this merged? As Gentoo doesn’t always have the newest kernel versions. Is there some way I can check without having to compile the whole thing from scratch? (Ie, some source file I should look for?)
It was accepted upstream on April 2nd for 2.6.40. There were a bunch of different source files changed, so it’s not like you can copy two files, recompile and expect it to work. The Git tree can be found here, from which you can probably manually do a merge:
Alternatively, you can build the latest media_build tree, which contains my initial work as well as cleanup Mauro did afterwards. See the linuxtv.org wiki for instructions on installing the media_build tree.
Finally good news! 🙂 The merge in the mainstream, the upcoming 3.0.0, is really something I was waiting for!
Congratulations and, once again, thanks!