This time I overdid it definitively.
System is a Samsung Q35 pro Barnit with 2,5 GB Ram and Intel Chipset.
OS Information
OS: Linux 2.6.27.29-0.1-pae i686
System: openSUSE 11.1 (i586)
KDE: 3.5.10 “release 61”
No Xen installed.
I wanted a linux compatible stick for watching DTV with my laptop. So DVBT/TDT High Definition Tuner Zaapa ZT-DVBTSTUSB.I choose the stick because the producer puts explicitly a nice penguin on the box and claims “supports Linux”.
fine, so far so good.
I prepared the system conveniently. The system required V4L, kernel-sources and headers and ncurses-devel.
I installed all of it.
You open the box and find the stick and an install CD. This has a directory for linux and a how-to to be followed. I report it here below.
Driver Installation in Linux (How-to of the producer). -begin-
1 Copy the folder ‘080821_rtd2831u_driver’ to the desktop.
2 Click ‘Applications’ → ‘Accessories’ → ‘Terminal’ to enter the console mode.
3 Type ‘cd /root/Desktop/080821_rtd2831u_driver’ to enter the folder.
4 In the folder ‘080821_rtd2831u_driver’, type the following command to compile & install.
a. Type ‘cp -f . /usr/src/linux-$(uname -r)’/drivers/media/dvb/dvb-usb’ to copy all files into
linux kernel code.
b. add the following lines to Makefile in /usr/src/linux-$(uname -r)’/drivers/media/dvb/dvbusb.
dvb-usb-rtl2831u-objs = math_mpi.o foundation_2831u.o demod_rtl2830.o tuner_demod_io.o
tuner_mxl5005s.o mt_spuravoid.o
mt_userdef.o mt2060_basic.o tuner_ah.o MT2060Tuner.o rtd2830.o rtd2830u.o
obj-$(CONFIG_DVB_USB_RTL2831U) += dvb-usb-rtl2831u.o
c. add the following lines to Kconfig in /usr/src/linux-$(uname -r)’/drivers/media/dvb/dvbusb.
config DVB_USB_RTL2831U
tristate “Realtek RTL2831U DVB-T USB2.0 support”
depends on DVB_USB
help
Realtek RTL2831U DVB-T driver.
d. Type ‘cd /usr/src/linux-$(uname -r)’ and type ‘make menuconfig’
Device Drivers —>
Multimedia devices —>
Digital Video Broadcasting Devices —>
[li] DVB For Linux
[/li]<M> DVB Core Support
…
<M> Support for various USB DVB devices----->
…
<M> Realtek RTL2831U DVB-T USB2.0 support
And ‘YES’ to save your new kernel configuration.
e. Type ‘make modules’
f. Type ‘make modules_install’
5 Plug in our DVB-T USB device;
6 Type ‘lsmod | grep dvb’, and it will show
dvb_usb_rtl2831u
dvb_usb
dvb_core
i2c_core
Your driver has been installed successfully.
End of How-to
The recommended installation procedure fails with the following error(s)
the command a) give the output that /usr/src/linux-2.6.27.29-0.1-pae is not a directory.
It copies alright if you replace the uname with the directory name /usr/src/linux-2.6.27.29-0.1.
Up to point e) then everything is ok.
After point d) the kernel advices to run make (while the howto requests only make modules ).
Question: Is it correct to run make modules only or do I have to run make (what at the end I did after trying in vane with make modules and make_install, since I got a huge number of error messages during compile)?
e) runs but give a lot of errors
In file included from drivers/media/dvb/dvb-usb/tuner_mxl5005s.h:429,
from drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:13:
drivers/media/dvb/dvb-usb/tuner_base_2831u.h:16:24: error: foundation.h: No such file or directory
In file included from drivers/media/dvb/dvb-usb/tuner_mxl5005s.h:429,
from drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:13:
drivers/media/dvb/dvb-usb/tuner_base_2831u.h:266: error: expected specifier-qualifier-list before
‘BASE_INTERFACE_MODULE’
In file included from drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:13:
drivers/media/dvb/dvb-usb/tuner_mxl5005s.h:581: error: expected declaration specifiers or ‘…’
before ‘BASE_INTERFACE_MODULE’
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:74: error: expected declaration specifiers or ‘…’
before ‘BASE_INTERFACE_MODULE’
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c: In function ‘BuildMxl5005sModule’:
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:102: error: ‘TUNER_MODULE’ has no member
named ‘pBaseInterface’
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:102: error: ‘pBaseInterfaceModuleMemory’
undeclared (first use in this function)
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:102: error: (Each undeclared identifier is reported
only once
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:102: error: for each function it appears in.)
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:103: error: ‘TUNER_MODULE’ has no member
named ‘pI2cBridge’
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:114: error: ‘TUNER_MODULE’ has no member
named ‘SetDeviceAddr’
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:116: error: ‘TUNER_MODULE’ has no member
named ‘GetTunerType’
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:117: error: ‘TUNER_MODULE’ has no member
named ‘GetDeviceAddr’
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:119: error: ‘TUNER_MODULE’ has no member
named ‘Initialize’
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:120: error: ‘TUNER_MODULE’ has no member
named ‘SetRfFreqHz’
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:121: error: ‘TUNER_MODULE’ has no member
named ‘GetRfFreqHz’
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:132: error: ‘NO’ undeclared (first use in this function)
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:140: error: ‘IF_FREQ_4570000HZ’ undeclared (first
use in this function)
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:141: error: ‘CRYSTAL_FREQ_16000000HZ’
undeclared (first use in this function)
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:175: error: ‘TUNER_TYPE_MXL5005S’ undeclared
(first use in this function)
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:178: error: ‘TUNER_MODULE’ has no member
named ‘SetDeviceAddr’
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c: In function ‘mxl5005s_SetDeviceAddr’:
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:227: error: ‘YES’ undeclared (first use in this
function)
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c: In function ‘mxl5005s_GetDeviceAddr’:
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:281: error: ‘YES’ undeclared (first use in this
function)
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:287: error: ‘FUNCTION_SUCCESS’ undeclared
(first use in this function)
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:291: error: ‘FUNCTION_ERROR’ undeclared (first
use in this function)
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c: In function ‘mxl5005s_Initialize’:
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:338: error: ‘LEN_1_BYTE’ undeclared (first use in
this function)
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:338: error: ‘FUNCTION_SUCCESS’ undeclared
(first use in this function)
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:353: error: ‘FUNCTION_ERROR’ undeclared (first
use in this function)
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c: In function ‘mxl5005s_SetRfFreqHz’:
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:378: error: ‘BASE_INTERFACE_MODULE’
undeclared (first use in this function)
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:378: error: ‘pBaseInterface’ undeclared (first use in
this function)
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:380: warning: ISO C90 forbids mixed declarations
and code
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:392: error: ‘TUNER_MODULE’ has no member
named ‘pBaseInterface’
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:406: error: ‘LEN_1_BYTE’ undeclared (first use in
this function)
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:406: error: ‘FUNCTION_SUCCESS’ undeclared
(first use in this function)
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:450: error: ‘YES’ undeclared (first use in this
function)
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:457: error: ‘FUNCTION_ERROR’ undeclared (first
use in this function)
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c: In function ‘mxl5005s_GetRfFreqHz’:
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:482: error: ‘YES’ undeclared (first use in this
function)
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:488: error: ‘FUNCTION_SUCCESS’ undeclared
(first use in this function)
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:492: error: ‘FUNCTION_ERROR’ undeclared (first
use in this function)
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c: In function ‘mxl5005s_SetRegsWithTable’:
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:585: error: ‘TUNER_MODULE’ has no member
named ‘GetDeviceAddr’
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:590: error: ‘FUNCTION_ERROR’ undeclared (first
use in this function)
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:599: error: ‘FUNCTION_SUCCESS’ undeclared
(first use in this function)
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c: In function ‘mxl5005s_SetRegMaskBits’:
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:658: error: ‘LEN_1_BYTE’ undeclared (first use in
this function)
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:658: error: ‘FUNCTION_SUCCESS’ undeclared
(first use in this function)
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:666: error: ‘FUNCTION_ERROR’ undeclared (first
use in this function)
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c: In function ‘mxl5005s_SetSpectrumMode’:
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:685: error: ‘SPECTRUM_MODE_NUM’ undeclared
(first use in this function)
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:703: error: ‘FUNCTION_SUCCESS’ undeclared
(first use in this function)
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:711: error: ‘FUNCTION_ERROR’ undeclared (first
use in this function)
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:685: warning: unused variable ‘BbIqswapTable’
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c: In function ‘mxl5005s_SetBandwidthHz’:
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:750: error: ‘FUNCTION_SUCCESS’ undeclared
(first use in this function)
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:758: error: ‘FUNCTION_ERROR’ undeclared (first
use in this function)
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c: In function
‘mxl5005s_SetI2cBridgeModuleTunerArg’:
drivers/media/dvb/dvb-usb/tuner_mxl5005s.c:809: error: ‘TUNER_MODULE’ has no member
named ‘pI2cBridge’
make[4]: *** [drivers/media/dvb/dvb-usb/tuner_mxl5005s.o] Error 1
make[3]: *** [drivers/media/dvb/dvb-usb] Error 2
make[2]: *** [drivers/media/dvb] Error 2
make[1]: *** [drivers/media] Error 2
make: *** [drivers] Error 2
f) does not compile and gives only errors
cp: cannot stat drivers/gpu/drm/mga/mga.ko': No such file or directory INSTALL drivers/gpu/drm/r128/r128.ko cp: cannot stat
drivers/gpu/drm/r128/r128.ko’: No such file or directory
INSTALL drivers/gpu/drm/radeon/radeon.ko
cp: cannot stat drivers/gpu/drm/radeon/radeon.ko': No such file or directory INSTALL drivers/gpu/drm/savage/savage.ko cp: cannot stat
drivers/gpu/drm/savage/savage.ko’: No such file or directory
INSTALL drivers/gpu/drm/sis/sis.ko
cp: cannot stat `drivers/gpu/drm/sis/sis.ko’: No such file or directory
INSTALL drivers/gpu/drm/tdfx/tdfx.ko
And so on and so forth…
Since the modules did not build the system now does not start (only up to root giving a large number of error messages about modules).
If anybody is out there that has an idea about how to get out of the situation without a reinstall fine, and I will post the rest of the long error story.
In all cases I need the stick to run (or to give it back claiming that it is not compatible). I think there is something assumed in the howto that is just different in openSUSE.
a) I would like to repair the system
b) I would like to have the stick installed
c) I would be seriously delighted to take this as an occasion to be able to learn and to understand where is the problem and how to solve it on my own the next time. So please be verbose when explaining and take nothing for granted. I am confident that what will help me will help the next one with a similar problem.
Thanks in advance.