Jul 26 2014

First steps using the Kworld UB499-2T USB TV in Ubuntu Precise

Category: hardware,multimediadublinads @ 7:36 pm

My aim is to explore the capabilities of this device under Xubuntu 12.04 Precise. This Ubuntu distribution has the following kernel version: 3.2.0-52-generic

The KWorld UB499-2T USB TV receiver

After plugging the USB dongle, the following entry appears when running lspci

Bus 001 Device 002: ID 1b80:e409 Afatech IT9137FN Dual DVB-T [KWorld UB499-2T]

Dmesg shows the following details about what Ubuntu discovered

[ 2576.131053] it913x: Chip Version=01 Chip Type=9135
[ 2576.131053] it913x: Dual mode=3 Remote=5 Tuner Type=38
[ 2576.131053] it913x: Chip Version=01 Chip Type=9135
[ 2576.131053] dvb-usb: found a 'Kworld UB499-2T T09(IT9137)' in cold state, will try to load a firmware
[ 2576.182035] dvb-usb: did not find the firmware file. (dvb-usb-it9137-01.fw) Please see linux/Documentation/dvb/ for more details on firmware-problems. (-2)
[ 2576.182050] it913x: DEV it913x Error
[ 2576.182139] usbcore: registered new interface driver it913x
[ 2576.229039] IR NEC protocol handler initialized
[ 2576.318930] IR RC5(x) protocol handler initialized
[ 2576.386718] IR RC6 protocol handler initialized
[ 2576.418104] IR JVC protocol handler initialized
[ 2576.607765] IR Sony protocol handler initialized
[ 2576.644941] IR MCE Keyboard/mouse protocol handler initialized
[ 2576.720781] lirc_dev: IR Remote Control driver registered, major 251
[ 2576.725057] IR LIRC bridge handler initialized

For now, I am going to trust that the chip and type version found is the one displayed: type 9135 and version 01

[ 2576.131053] it913x: Chip Version=01 Chip Type=9135

Then, I look at the message about the firmware file:

[ 2576.182035] dvb-usb: did not find the firmware file. (dvb-usb-it9137-01.fw)

First of all, I get the .fw file directly from github and attempt to copy to the required folder

cd /lib/firmware

sudo wget https://github.com/OpenELEC/dvb-firmware/blob/master/firmware/dvb-usb-it9137-01.fw?raw=true -o dvb-usb-it9137-01.fw

However, this results in an error in dmesg like the following:

[ 1819.861719] dvb-usb: downloading firmware from file 'dvb-usb-it9137-01.fw'
[ 1819.862468] it913x: FRM Starting Firmware Download
[ 1820.268051] it913x: FRM Firmware Download Failed (ffffffed)
[ 1820.468160] it913x: Chip Version=2b Chip Type=0203

The reason is that the firmware is only one component for activating the device.  There is another set of components that needs to be compiled and installed.

Then I go to Ubuntu’s help website on the specific page for this subject and follow these instructions:

sudo apt-get update

sudo apt-get install git linux-headers-$(uname -r) build-essential patchutils libproc-processtable-perl

cd ~

git clone git://linuxtv.org/media_build.git

cd media_build

./build

sudo make install

What will happen is that a good number of files were compiled to create what look like specific drivers for DVB-T devices called v4l, short for Video for Linux or Video4Linux.

This is what I can see what the installer is doing:

  • files are being compiled into *.o objects using gcc

While compiling, I get the following errors:

/home/ubu/media_build/v4l/v4l2-of.c: In function 'v4l2_of_parse_csi_bus':
/home/ubu/media_build/v4l/v4l2-of.c:38:4: error: implicit declaration of function 'of_prop_next_u32' [-Werror=implicit-function-declaration]
/home/ubu/media_build/v4l/v4l2-of.c:38:9: warning: assignment makes pointer from integer without a cast [enabled by default]
cc1: some warnings being treated as errors
make[3]: *** [/home/ubu/media_build/v4l/v4l2-of.o] Error 1
make[2]: *** [_module_/home/ubu/media_build/v4l] Error 2

 

Apparently, this means that I need a more modern kernel that can understand the 0f_prop_next_u32 option.

I had to upgrade my kernel while being on Precise to a Raring Ringtail distro kernel (3.8).

After that, I started the build above again by running:

cd ~/media_build
sudo make clean

This clears the failed compilation and starts to compile again

Finally, I installed the components

sudo make install

Additional resources

LinuxTV.org wiki page

http://www.linuxtv.org/wiki/index.php/ITE_IT9135

Tags:

Leave a Reply

*
= 5 + 3