problem with driver dvb card

I am the owner dvb-usb card Tevii S660. This device worked without problems
with driver http://www.tevii.com/linux_tevii_ds3000.rar from the website
Tevii / support in the operating system OpenSuse 11.1 x86-64, kernel 2.6.27.
After switching to the operating system opensuse 11.3 x86-64, kernel 2.6.34
there was a problem.
The card on this kernel should work without the use of card driver, but it is
not so.
Driver ds3000 or any other (liplianin, v4l) not compile. The result in the
attachment.
Can you please advise how to solve this problem.

compilation

milan@linux-bfem:~/Downloads/dvb/linux-tevii-ds3000/linux/include/linux> ln -s /usr/src/linux/include/linux/compiler.h compiler.h
milan@linux-bfem:~/Downloads/dvb/linux-tevii-ds3000/linux/include/linux> cd /home/milan/Downloads/dvb/linux-tevii-ds3000
milan@linux-bfem:~/Downloads/dvb/linux-tevii-ds3000> make
make -C /home/milan/Downloads/dvb/linux-tevii-ds3000/v4l
make[1]: Entering directory /home/milan/Downloads/dvb/linux-tevii-ds3000/v4l' No version yet, using 2.6.34-12-default make[1]: Leaving directory /home/milan/Downloads/dvb/linux-tevii-ds3000/v4l’
make[1]: Entering directory /home/milan/Downloads/dvb/linux-tevii-ds3000/v4l' scripts/make_makefile.pl Updating/Creating .config Preparing to compile for kernel version 2.6.34 Created default (all yes) .config file ./scripts/make_myconfig.pl make[1]: Leaving directory /home/milan/Downloads/dvb/linux-tevii-ds3000/v4l’
make[1]: Entering directory /home/milan/Downloads/dvb/linux-tevii-ds3000/v4l' perl scripts/make_config_compat.pl /lib/modules/2.6.34-12-default/source ./.myconfig ./config-compat.h creating symbolic links... ln -sf . oss make -C firmware prep make[2]: Entering directory /home/milan/Downloads/dvb/linux-tevii-ds3000/v4l/firmware’
make[2]: Leaving directory /home/milan/Downloads/dvb/linux-tevii-ds3000/v4l/firmware' make -C firmware make[2]: Entering directory /home/milan/Downloads/dvb/linux-tevii-ds3000/v4l/firmware’
CC ihex2fw
Generating vicam/firmware.fw
Generating dabusb/firmware.fw
Generating dabusb/bitstream.bin
Generating ttusb-budget/dspbootcode.bin
Generating cpia2/stv0672_vp4.bin
Generating av7110/bootcode.bin
make[2]: Leaving directory /home/milan/Downloads/dvb/linux-tevii-ds3000/v4l/firmware' Kernel build directory is /lib/modules/2.6.34-12-default/build make -C /lib/modules/2.6.34-12-default/build SUBDIRS=/home/milan/Downloads/dvb/linux-tevii-ds3000/v4l modules make[2]: Entering directory /usr/src/linux-2.6.34-12-obj/x86_64/default’
make -C …/…/…/linux-2.6.34-12 O=/usr/src/linux-2.6.34-12-obj/x86_64/default/. modules
CC [M] /home/milan/Downloads/dvb/linux-tevii-ds3000/v4l/tuner-xc2028.o
/home/milan/Downloads/dvb/linux-tevii-ds3000/v4l/tuner-xc2028.c: In function ‘free_firmware’:
/home/milan/Downloads/dvb/linux-tevii-ds3000/v4l/tuner-xc2028.c:252:3: error: implicit declaration of function ‘kfree’
/home/milan/Downloads/dvb/linux-tevii-ds3000/v4l/tuner-xc2028.c: In function ‘load_all_firmwares’:
/home/milan/Downloads/dvb/linux-tevii-ds3000/v4l/tuner-xc2028.c:314:2: error: implicit declaration of function ‘kzalloc’
/home/milan/Downloads/dvb/linux-tevii-ds3000/v4l/tuner-xc2028.c:314:13: warning: assignment makes pointer from integer without a cast
/home/milan/Downloads/dvb/linux-tevii-ds3000/v4l/tuner-xc2028.c:365:21: warning: assignment makes pointer from integer without a cast
/home/milan/Downloads/dvb/linux-tevii-ds3000/v4l/tuner-xc2028.c: In function ‘xc2028_attach’:
/home/milan/Downloads/dvb/linux-tevii-ds3000/v4l/tuner-xc2028.c:1269:13: warning: assignment makes pointer from integer without a cast
make[5]: *** [/home/milan/Downloads/dvb/linux-tevii-ds3000/v4l/tuner-xc2028.o] Error 1
make[4]: *** [module/home/milan/Downloads/dvb/linux-tevii-ds3000/v4l] Error 2
make[3]: *** [sub-make] Error 2
make[2]: *** [all] Error 2
make[2]: Leaving directory /usr/src/linux-2.6.34-12-obj/x86_64/default' make[1]: *** [default] Error 2 make[1]: Leaving directory /home/milan/Downloads/dvb/linux-tevii-ds3000/v4l’
make: *** [all] Error 2
milan@linux-bfem:~/Downloads/dvb/linux-tevii-ds3000>

Hi milan,

Is there any progress on this one? I have the same error compiling Steven Thot’s saa7164-driver for the Haupppauge HVR2200:

 make
make -C /home/jogchum/Downloads/saa7164-stable-cf2d7530d676/v4l 
make[1]: Map '/home/jogchum/Downloads/saa7164-stable-cf2d7530d676/v4l' wordt binnengegaan
Updating/Creating .config
Preparing to compile for kernel version 2.6.34
Created default (all yes) .config file
./scripts/make_myconfig.pl
make[1]: Map '/home/jogchum/Downloads/saa7164-stable-cf2d7530d676/v4l' wordt verlaten
make[1]: Map '/home/jogchum/Downloads/saa7164-stable-cf2d7530d676/v4l' wordt binnengegaan
perl scripts/make_config_compat.pl /lib/modules/2.6.34.7-0.5-desktop/source ./.myconfig ./config-compat.h
creating symbolic links...
ln -sf . oss
make -C firmware prep
make[2]: Entering directory `/home/jogchum/Downloads/saa7164-stable-cf2d7530d676/v4l/firmware'
make[2]: Leaving directory `/home/jogchum/Downloads/saa7164-stable-cf2d7530d676/v4l/firmware'
make -C firmware
make[2]: Entering directory `/home/jogchum/Downloads/saa7164-stable-cf2d7530d676/v4l/firmware'
  CC  ihex2fw
Generating vicam/firmware.fw
Generating dabusb/firmware.fw
Generating dabusb/bitstream.bin
Generating ttusb-budget/dspbootcode.bin
Generating cpia2/stv0672_vp4.bin
Generating av7110/bootcode.bin
make[2]: Leaving directory `/home/jogchum/Downloads/saa7164-stable-cf2d7530d676/v4l/firmware'
Kernel build directory is /lib/modules/2.6.34.7-0.5-desktop/build
make -C /lib/modules/2.6.34.7-0.5-desktop/build SUBDIRS=/home/jogchum/Downloads/saa7164-stable-cf2d7530d676/v4l  modules
make[2]: Entering directory `/usr/src/linux-2.6.34.7-0.5-obj/x86_64/desktop'
make -C ../../../linux-2.6.34.7-0.5 O=/usr/src/linux-2.6.34.7-0.5-obj/x86_64/desktop/. modules
  CC [M]  /home/jogchum/Downloads/saa7164-stable-cf2d7530d676/v4l/tuner-xc2028.o
/home/jogchum/Downloads/saa7164-stable-cf2d7530d676/v4l/tuner-xc2028.c: In function 'free_firmware':
/home/jogchum/Downloads/saa7164-stable-cf2d7530d676/v4l/tuner-xc2028.c:252:3: error: implicit declaration of function 'kfree'
/home/jogchum/Downloads/saa7164-stable-cf2d7530d676/v4l/tuner-xc2028.c: In function 'load_all_firmwares':
/home/jogchum/Downloads/saa7164-stable-cf2d7530d676/v4l/tuner-xc2028.c:314:2: error: implicit declaration of function 'kzalloc'
/home/jogchum/Downloads/saa7164-stable-cf2d7530d676/v4l/tuner-xc2028.c:314:13: warning: assignment makes pointer from integer without a cast
/home/jogchum/Downloads/saa7164-stable-cf2d7530d676/v4l/tuner-xc2028.c:365:21: warning: assignment makes pointer from integer without a cast
/home/jogchum/Downloads/saa7164-stable-cf2d7530d676/v4l/tuner-xc2028.c: In function 'xc2028_attach':
/home/jogchum/Downloads/saa7164-stable-cf2d7530d676/v4l/tuner-xc2028.c:1314:13: warning: assignment makes pointer from integer without a cast
make[5]: *** [/home/jogchum/Downloads/saa7164-stable-cf2d7530d676/v4l/tuner-xc2028.o] Fout 1
make[4]: *** [_module_/home/jogchum/Downloads/saa7164-stable-cf2d7530d676/v4l] Fout 2
make[3]: *** [sub-make] Error 2
make[2]: *** [all] Error 2
make[2]: Leaving directory `/usr/src/linux-2.6.34.7-0.5-obj/x86_64/desktop'
make[1]: *** [default] Fout 2
make[1]: Map '/home/jogchum/Downloads/saa7164-stable-cf2d7530d676/v4l' wordt verlaten
make: *** [all] Fout 2

Also I saw the same error in Ubuntu (https://bugs.launchpad.net/ubuntu/+source/linux/+bug/591179/comments/3)

I may be mistaken, but you might need to run the whole build as root.

Just start a console, change to your initial build directory, then use the su command and enter root password when prompted.

I looks like some of the build process might be happening in the kernel source directories, and the non-root user does not have write permissions in those directories.

Paul

Thanks for your reply. But I’m afraid the errors remain the same. To be sure, I did (as root) a “make distclean” and “make”, but even then the result is the same. The errors are possibly non-matching header files, which cause the “implicit declaration” errors of functions ‘kfree’ and ‘kzalloc’?

Compile-time problems can sometimes arise on account of the the version of gcc being used.

A program that compiled perfectly under a previous gcc release may fail to compile under a newer gcc release.

Occasionally, a quick hand patch of the offending source code file can resolve these issues, if you know what you are doing.

As an aside: Are the drivers in question not included in the main kernel build, or are they just not automatically loading? (Excuse my ignorance since I am not familiar with the hardware in question).

Just as a test, I ran (as root): modprobe ds3000 on my 11.3 box, and the module loaded with no error.

Paul

Hi Paul,

You triggered me to inspect boot.msg, and there I saw the OS (openSuse 11.3) did try to load the saa7164-driver, but that it fails to load the firmware

saa7164_downloadfirmware() no first image
<6>    8.031121] saa7164_downloadfirmware() Waiting for firmware upload (v4l-saa7164-1.0.3.fw)
<6>    8.031124] saa7164 0000:02:00.0: firmware: requesting v4l-saa7164-1.0.3.fw
<3>    8.032293] saa7164_downloadfirmware() Upload failed. (file not found?)

I will try to find out where this firmware can be found, but in the meantime: thanks!

Jogchum

Again a few steps further:

  • located the firmware on Steven Toth’s site, downloaded, extracted and copied it to the correct location
  • rebooted
  • now the firmware is seen and loaded correctly
  • dir’s /dev/adapter0 and /dev/adapter1 are created with

crw-rw----+ 1 root video 212, 1 nov 28 16:04 demux0
crw-rw----+ 1 root video 212, 2 nov 28 16:04 dvr0
crw-rw----+ 1 root video 212, 0 nov 28 16:04 frontend0
crw-rw----+ 1 root video 212, 3 nov 28 16:04 net0

Strange enough Yast2 (opensuse mostly very good system management tool) still doesn’t see a TV-card.

But anyhow, I got a lot further thanks to Paul’s hint.

Jogchum

@jehoyakim: thanks for the feedback. Hopefully now you can get your desired apps to use the card. Make sure that your user/s are a member of video group and you should be fine.

@OP: any progress?

Paul

@prhunt: mythtv sees the card, so I think I’m there. But to get real proof I have to take a subscription to digital tv (I take it that the analog input of the HVR2200 isn’t supported by the driver yet?) and do some cabling. I didn’t want to spend money onb that before I could be sure the card is supported in openSuse. So it will be a while before I can enhance my feedback. But I have no doubt succes will be met. I’ll report my findings here.

Thanks again!

It has been some time since my last update on this, but there have been some new developments.
Formerly only the digital part of the 2250 card was supported, but now Stephen Toth has developed (still more or less experimental) support for the analog part. So I can test that part without taking a digital account from my provider. On
Hauppauge WinTV-HVR-2200 - LinuxTVWiki
is shown how to work. It takes downloading and extracting the firmwares

v4l-saa7164-1.0.3.fw
NXP7164-2010-03-10.1.fw
dvb-fe-tda10048-1.0.fw

and placing them in the right place for the kernel in use; in my case:

/lib/firmware/2.6.37.6-0.5-desktop/

After that, (and with “mercurial” installed) one has to

hg clone http://kernellabs.com/hg/saa7164-stable/
cd saa7164-stable

and after that

make menuconfig
edit as needed but should have all enabled that is needed
make
make install
reboot

The “make” command of this last command sequence leads to exact the same error messages this thread started with, so in that respect I’m no further…

On booting, v4l-saa7164-1.0.3.fw and NXP7164-2010-03-10.1.fw are loaded (but not dvb-fe-tda10048-1.0.fw) and the devices nodes are created:

    6.287992] saa7164 driver loaded
    6.288085] saa7164 0000:04:00.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
    6.288668] CORE saa7164[0]: subsystem: 0070:8980, board: Hauppauge WinTV-HVR2200 [card=4,autodetected]
    6.288672] saa7164[0]/0: found at 0000:04:00.0, rev: 129, irq: 18, latency: 0, mmio: 0xfd000000
    6.288677] saa7164 0000:04:00.0: setting latency timer to 64
..........................................................................................
    6.398031] saa7164_downloadfirmware() no first image
    6.398086] saa7164_downloadfirmware() Waiting for firmware upload (NXP7164-2010-03-10.1.fw)
    6.659277] saa7164_downloadfirmware() firmware read 4019072 bytes.
    6.659279] saa7164_downloadfirmware() firmware loaded.
    6.659281] Firmware file header part 1:
    6.659282]  .FirmwareSize = 0x0
    6.659283]  .BSLSize = 0x0
    6.659284]  .Reserved = 0x3d538
    6.659285]  .Version = 0x3
    6.659286] saa7164_downloadfirmware() SecBootLoader.FileSize = 4019072
    6.659290] saa7164_downloadfirmware() FirmwareSize = 0x1fd6
    6.659291] saa7164_downloadfirmware() BSLSize = 0x0
    6.659292] saa7164_downloadfirmware() Reserved = 0x0
    6.659293] saa7164_downloadfirmware() Version = 0x1661c00
   10.402039] saa7164_downloadimage() Image downloaded, booting...
   10.402043] saa7164_downloadimage() Image booted successfully.
   10.402045] starting firmware download(2)
   12.125037] saa7164_downloadimage() Image downloaded, booting...
   14.246039] saa7164_downloadimage() Image booted successfully.
   14.246042] firmware download complete.
   14.281318] tveeprom 3-0000: Hauppauge model 89619, rev D1F2, serial# 5244859
   14.281320] tveeprom 3-0000: MAC address is 00:0d:fe:50:07:bb
   14.281322] tveeprom 3-0000: tuner model is NXP 18271C2_716x (idx 152, type 4)
   14.281324] tveeprom 3-0000: TV standards PAL(B/G) NTSC(M) PAL(I) SECAM(L/L') PAL(D/D1/K) ATSC/DVB Digital (eeprom 0xfc)
   14.281326] tveeprom 3-0000: audio processor is SAA7164 (idx 43)
   14.281328] tveeprom 3-0000: decoder processor is SAA7164 (idx 40)
   14.281329] tveeprom 3-0000: has radio
   14.281330] saa7164[0]: Hauppauge eeprom: model=89619
   14.399770] tda18271 4-0060: creating new instance
   14.404281] TDA18271HD/C2 detected @ 4-0060
   14.613574] DVB: registering new adapter (saa7164)
   14.613577] DVB: registering adapter 0 frontend 0 (NXP TDA10048HN DVB-T)...
   14.644902] tda18271 5-0060: creating new instance
   14.649415] TDA18271HD/C2 detected @ 5-0060
   14.857788] tda18271: performing RF tracking filter calibration
   17.065841] tda18271: RF tracking filter calibration complete
   17.066357] DVB: registering new adapter (saa7164)
   17.066360] DVB: registering adapter 1 frontend 0 (NXP TDA10048HN DVB-T)...
   17.066583] saa7164[0]: registered device video0 [mpeg]
   17.296775] saa7164[0]: registered device video1 [mpeg]
   17.506706] saa7164[0]: registered device vbi0 [vbi]
   17.506727] saa7164[0]: registered device vbi1 [vbi]
cat /dev/video[01]

gives a blue screen, with audible noise.
Mythtv now sees the card, both the digital and the analog parts. After configuring video-sources and all that for the analog part, it seems to find channels, although after seemlingly finding (some 69) channels, there´s nothing to be seen in Live TV-mode.

mythtvbackend complains

2011-06-09 20:16:48.679 Channel(/dev/video0) Error: SetInputAndFormat(1, PAL) 
                        while setting format (v4l v2)
                        eno: Ongeldig argument (22)
2011-06-09 20:16:48.845 Channel(/dev/video0) Error: SetInputAndFormat(1, PAL) 
                        while setting format (v4l v2)
                        eno: Ongeldig argument (22)
2011-06-09 20:16:49.011 Channel(/dev/video0) Error: SetInputAndFormat(1, PAL) 
                        while setting format (v4l v2)
                        eno: Ongeldig argument (22)
2011-06-09 20:16:49.011 Channel(/dev/video0): SetInputAndFormat() failed
2011-06-09 20:16:49.032 TVRec(5) Error: Problem finding starting channel, setting to default of '3'.
2011-06-09 20:16:49.032 ChannelBase(5) Error: InitializeInputs(): 
                        Could not get inputs for the capturecard.
                        Perhaps you have forgotten to bind video
                        sources to your card's inputs?

(and to avoid misunderstandings, I did bind video sources the the card’s analog input).

So, I don’t know if the failing compilation, or the fact that dvb-fe-tda10048-1.0.fw isn’t loaded at boot time, has anything to do with my problems, but who knows someone on this forum knows. If so, please let me (us) know!

Oh, and forgot to mention: I am member of the video-group!

jehojakim,

Did you already find a solution? I have exactly the same problem and I am still looking for a solution…

A thread full of dutch :smiley:

What would be handy is, that you post information on openSUSE version, videocard + driver used etc. MythTV is not an easy thing to setup. A good try would be to wait a bit, to download and boot from a 12.1 LiveCD and see if the the card is detected, recognized and has a driver loaded. A lot of dvb cards are now supported in the kernel AFAIK, so this could make a difference.

Actually I’m using mythbuntu 11.10 with the driver included in the kernel. I’ve discovered that the analog part is working. If I open vlc, choose /dev/video0 or /dev/video1 as input source and manually tune to a channel, I can watch the show. The colors are a not right thought. Probably there is no need for me to compile the latest driver. It seems like an issue in mythtv.

Anyway, I’m back to windows media center since that was running on that PC for the last two years. I just wanted to give mythtv a try because my hard disk crashed and I had to reinstall my htpc anyway. My media center addicted girlfriend (and me) was tired of watching live tv :slight_smile: