TerraTec H7 - Xubuntu

Device info on main page.

Work log

2016-03-12: f4 - sdb2 - the machine got upgraded to Xubuntu 14.04.4 LTS:

tingo@kg-f4:~$ lsb_release -a
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 14.04.4 LTS
Release:    14.04
Codename:    trusty

with a 3.13 kernel

tingo@kg-f4:~$ uname -a
Linux kg-f4 3.13.0-79-generic #123-Ubuntu SMP Fri Feb 19 14:27:58 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

the H7 is detected. From dmesg output:

[    2.704019] usb 2-1: New USB device found, idVendor=0ccd, idProduct=10a3
[    2.704029] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    2.704033] usb 2-1: Product: TerraTec H7
[    2.704038] usb 2-1: Manufacturer: TerraTec Electronic GmbH
[    2.704042] usb 2-1: SerialNumber: 0008CA1EB0EC

[    9.989734] usb 2-1: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
[    9.989795] DVB: registering new adapter (Terratec H7)
[   10.013625] usb 2-1: dvb_usb_v2: MAC address: c2:cd:0c:a3:10:00
[   10.076025] drxk: frontend initialized.
[   10.081589] usb 2-1: DVB: registering adapter 1 frontend 0 (DRXK)...
[   10.113254] mt2063_attach: Attaching MT2063
[   10.128291] drxk: status = 0x439130d9
[   10.128304] drxk: detected a drx-3913k, spin A2, xtal 27.000 MHz
[   10.162206] Registered IR keymap rc-nec-terratec-cinergy-xs
[   10.162549] input: Terratec H7 as /devices/pci0000:00/0000:00:13.2/usb2/2-1/rc/rc1/input14
[   10.162705] rc1: Terratec H7 as /devices/pci0000:00/0000:00:13.2/usb2/2-1/rc/rc1
[   10.162716] usb 2-1: dvb_usb_v2: schedule remote query interval to 400 msecs
[   10.162723] usb 2-1: dvb_usb_v2: 'Terratec H7' successfully initialized and connected
[   10.162843] usbcore: registered new interface driver dvb_usb_az6007

[   12.395646] drxk: DRXK driver version 0.9.4300

and device nodes are created in dev

tingo@kg-f4:~$ ls -l /dev/dvb/adapter1
total 0
crw-rw----+ 1 root video 212, 7 Mar 12 13:38 ca0
crw-rw----+ 1 root video 212, 4 Mar 12 13:38 demux0
crw-rw----+ 1 root video 212, 5 Mar 12 13:38 dvr0
crw-rw----+ 1 root video 212, 8 Mar 12 13:38 frontend0
crw-rw----+ 1 root video 212, 6 Mar 12 13:38 net0

good.

2014-02-16: sdb5 - I booted Xubuntu 12.04 (modified) to check on stuff. OS info:

tingo@kg-f4:~$ lsb_release -a
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 12.04.1 LTS
Release:    12.04
Codename:    precise
tingo@kg-f4:~$ uname -a
Linux kg-f4 3.2.24 #2 SMP Wed Sep 5 01:14:55 CEST 2012 x86_64 x86_64 x86_64 GNU/Linux

disk info

tingo@kg-f4:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb5        13G  5.6G  6.3G  48% /
udev            3.7G  4.0K  3.7G   1% /dev
tmpfs           1.5G  924K  1.5G   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            3.8G   96K  3.8G   1% /run/shm
/dev/sdc1        99G  8.9G   85G  10% /storage

dvb info from dmesg

tingo@kg-f4:~$ dmesg | grep -i dvb
[    8.984050] usb 2-1: dvb_usb_v2: found a 'Terratec H7' in warm state
[    8.992380] usbcore: registered new interface driver dvb_usb_az6007
[   10.172574] usb 2-1: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
[   10.172617] DVB: registering new adapter (Terratec H7)
[   10.175470] usb 2-1: dvb_usb_v2: MAC address: c2:cd:0c:a3:10:00
[   10.201130] usb 2-1: DVB: registering adapter 0 frontend 0 (DRXK)...
[   10.241189] usb 2-1: dvb_usb_v2: schedule remote query interval to 400 msecs
[   10.241197] usb 2-1: dvb_usb_v2: 'Terratec H7' successfully initialized and connected

more info

tingo@kg-f4:~$ dmesg | grep -i drx
[   10.197334] drxk: frontend initialized.
[   10.201130] usb 2-1: DVB: registering adapter 0 frontend 0 (DRXK)...
[   10.258320] drxk: status = 0x439130d9
[   10.258330] drxk: detected a drx-3913k, spin A2, xtal 27.000 MHz
[   12.512289] DRXK driver version 0.9.4300

so the PCTV nanoStick T2 isn't detected. w_scan

tingo@kg-f4:~/work/w_scan-20121111$ ./w_scan -fc -c NO -C ISO8859-1
w_scan version 20121111 (compiled for DVB API 5.4)
using settings for NORWAY
DVB cable
DVB-C
scan type CABLE, channellist 7
output format vdr-1.6
output charset 'ISO-8859-1'
Info: using DVB adapter auto detection.
    /dev/dvb/adapter0/frontend0 -> CABLE "DRXK DVB-C DVB-T": good :-)
Using CABLE frontend (adapter /dev/dvb/adapter0/frontend0)
-_-_-_-_ Getting frontend capabilities-_-_-_-_
Using DVB API 5.a
frontend 'DRXK DVB-C DVB-T' supports
INVERSION_AUTO
QAM_AUTO not supported, trying QAM_64 QAM_256.
FEC_AUTO
FREQ (47.00MHz ... 865.00MHz)
SRATE (0.870MSym/s ... 11.700MSym/s)
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
searching QAM64...
73000: sr6900 (time: 00:02) sr6875 (time: 00:07)
81000: sr6900 (time: 00:11) sr6875 (time: 00:16)
(output snipped)
850000: sr6900 (time: 25:40) sr6875 (time: 25:45)
858000: sr6900 (time: 25:50) sr6875 (time: 25:55)

ERROR: Sorry - i couldn't get any working frequency/transponder
 Nothing to scan!!

Ok, so it doesn't work.

2014-02-16: f4 - sdb5 - I booted Xubuntu 11.10 to see if it can do better. OS info

tingo@kg-f4:~$ lsb_release -a
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 11.10
Release:    11.10
Codename:    oneiric
tingo@kg-f4:~$ uname -a
Linux kg-f4 3.0.0-16-generic #29-Ubuntu SMP Tue Feb 14 12:48:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

disk info

tingo@kg-f4:~$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sdb4              12G  5.0G  6.1G  45% /
udev                  3.8G  4.0K  3.8G   1% /dev
tmpfs                 1.5G  884K  1.5G   1% /run
none                  5.0M     0  5.0M   0% /run/lock
none                  3.8G  160K  3.8G   1% /run/shm

dvb info from dmesg:

tingo@kg-f4:~$ dmesg | grep -i dvb
[   10.097817] em28xx: DVB interface 0 found
[   10.122567] dvb-usb: found a 'TerraTec DTV StarBox DVB-T/C USB2.0 (az6007)' in cold state, will try to load a firmware
[   10.354369] dvb-usb: downloading firmware from file 'dvb-usb-terratec-h7-az6007.fw'
[   10.526395] dvb-usb: found a 'TerraTec DTV StarBox DVB-T/C USB2.0 (az6007)' in warm state.
[   10.866204] DVB: registering new adapter (em28xx #0)
[   10.866214] DVB: registering adapter 0 frontend 0 (Sony CXD2820R)...
[   10.866903] em28xx #0: Successfully loaded em28xx-dvb
[   10.866910] Em28xx: Initialized (Em28xx dvb Extension) extension
[   11.776591] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[   11.777467] DVB: registering new adapter (TerraTec DTV StarBox DVB-T/C USB2.0 (az6007))
[   11.780724] dvb-usb: MAC address reading failed.
[   14.192576] DVB: registering adapter 1 frontend 0 (DRXK DVB-C DVB-T)...
[   14.268345] input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:13.2/usb2/2-1/rc/rc1/input8
[   14.268475] rc1: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:13.2/usb2/2-1/rc/rc1
[   14.268481] dvb-usb: schedule remote query interval to 400 msecs.
[   14.268488] dvb-usb: TerraTec DTV StarBox DVB-T/C USB2.0 (az6007) successfully initialized and connected.
[   14.268540] usbcore: registered new interface driver dvb_usb_az6007

interesting, both adapters are detected. Files:

tingo@kg-f4:~$ ls -l /dev/dvb/*/*
crw-rw----+ 1 root video 212, 1 2014-02-16 20:00 /dev/dvb/adapter0/demux0
crw-rw----+ 1 root video 212, 2 2014-02-16 20:00 /dev/dvb/adapter0/dvr0
crw-rw----+ 1 root video 212, 0 2014-02-16 20:00 /dev/dvb/adapter0/frontend0
crw-rw----+ 1 root video 212, 3 2014-02-16 20:00 /dev/dvb/adapter0/net0
crw-rw----+ 1 root video 212, 7 2014-02-16 20:00 /dev/dvb/adapter1/ca0
crw-rw----+ 1 root video 212, 4 2014-02-16 20:00 /dev/dvb/adapter1/demux0
crw-rw----+ 1 root video 212, 5 2014-02-16 20:00 /dev/dvb/adapter1/dvr0
crw-rw----+ 1 root video 212, 8 2014-02-16 20:00 /dev/dvb/adapter1/frontend0
crw-rw----+ 1 root video 212, 6 2014-02-16 20:00 /dev/dvb/adapter1/net0

Good. w_scan

tingo@kg-f4:~$ w_scan -fc -c NO -C ISO8859-1 -a1
w_scan version 20120128 (compiled for DVB API 5.3)
using settings for NORWAY
DVB cable
DVB-C
scan type CABLE, channellist 7
output format vdr-1.6
output charset 'ISO-8859-1'
-_-_-_-_ Getting frontend capabilities-_-_-_-_
Using DVB API 5.5
frontend 'DRXK DVB-C DVB-T' supports
INVERSION_AUTO
QAM_AUTO not supported, trying QAM_64 QAM_256.
FEC_AUTO
FREQ (47.00MHz ... 865.00MHz)
SRATE (0.870MSym/s ... 11.700MSym/s)
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
searching QAM64...
73000: sr6900 (time: 00:01) sr6875 (time: 00:06)
81000: sr6900 (time: 00:10) sr6875 (time: 00:15)
(output snipped)
850000: sr6900 (time: 25:44) sr6875 (time: 25:49)
858000: sr6900 (time: 25:54) sr6875 (time: 25:59)

ERROR: Sorry - i couldn't get any working frequency/transponder
 Nothing to scan!!

So that didn't work either.

2013-01-31: f4 - sdb5 - with the media_build tree installed, I get this on reboot:

tingo@kg-f4:~$ uname -a
Linux kg-f4 3.2.24 #2 SMP Wed Sep 5 01:14:55 CEST 2012 x86_64 x86_64 x86_64 GNU/Linux
tingo@kg-f4:~$ dmesg | grep -i dvb
[    9.013452] usbcore: registered new interface driver dvb_usb_az6007
[    9.014108] usb 2-1: dvb_usb_v2: found a 'Terratec H7' in cold state
[    9.746658] usb 2-1: dvb_usb_v2: downloading firmware from file 'dvb-usb-terratec-h7-az6007.fw'
[    9.770522] usb 2-1: dvb_usb_v2: found a 'Terratec H7' in warm state
[   11.008581] usb 2-1: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
[   11.008625] DVB: registering new adapter (Terratec H7)
[   11.011489] usb 2-1: dvb_usb_v2: MAC address: c2:cd:0c:a3:10:00
[   11.036565] usb 2-1: DVB: registering adapter 0 frontend 0 (DRXK)...
[   11.072354] usb 2-1: dvb_usb_v2: schedule remote query interval to 400 msecs
[   11.072361] usb 2-1: dvb_usb_v2: 'Terratec H7' successfully initialized and connected

Nice! From dmesg

[    9.001128] Latest git patches (needed if you report a bug to linux-media@vger.kernel.org):
[    9.001130]  a32f7d1ad3744914273c6907204c2ab3b5d496a0 Merge branch 'v4l_for_linus' into staging/for_v3.9
[    9.001132]  6b9e50c463efc5c361496ae6a895cc966ff8025b [media] stv090x: On STV0903 do not set registers of the second path
[    9.001134]  f67102c49a123b32a4469b28407feb52b37144f5 [media] mb86a20s: remove global BER/PER counters if per-layer counters vanish

Detailed info about H7 from dmesg:

[    9.013452] usbcore: registered new interface driver dvb_usb_az6007

[    9.014108] usb 2-1: dvb_usb_v2: found a 'Terratec H7' in cold state

[    9.746658] usb 2-1: dvb_usb_v2: downloading firmware from file 'dvb-usb-terratec-h7-az6007.fw'
[    9.770522] usb 2-1: dvb_usb_v2: found a 'Terratec H7' in warm state

[   11.008581] usb 2-1: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
[   11.008625] DVB: registering new adapter (Terratec H7)
[   11.011489] usb 2-1: dvb_usb_v2: MAC address: c2:cd:0c:a3:10:00
[   11.025188] drxk: frontend initialized.
[   11.036565] usb 2-1: DVB: registering adapter 0 frontend 0 (DRXK)...
[   11.047302] mt2063_attach: Attaching MT2063
[   11.072035] Registered IR keymap rc-nec-terratec-cinergy-xs
[   11.072230] input: Terratec H7 as /devices/pci0000:00/0000:00:13.2/usb2/2-1/rc/rc0/input13
[   11.072346] rc0: Terratec H7 as /devices/pci0000:00/0000:00:13.2/usb2/2-1/rc/rc0
[   11.072354] usb 2-1: dvb_usb_v2: schedule remote query interval to 400 msecs
[   11.072361] usb 2-1: dvb_usb_v2: 'Terratec H7' successfully initialized and connected
[   11.088076] drxk: status = 0x439130d9
[   11.088085] drxk: detected a drx-3913k, spin A2, xtal 27.000 MHz

[   13.349526] DRXK driver version 0.9.4300

look in dev

tingo@kg-f4:~$ ls -l /dev/dvb/adapter0
total 0
crw-rw----+ 1 root video 212, 3 Jan 31 21:06 ca0
crw-rw----+ 1 root video 212, 0 Jan 31 21:06 demux0
crw-rw----+ 1 root video 212, 1 Jan 31 21:06 dvr0
crw-rw----+ 1 root video 212, 4 Jan 31 21:06 frontend0
crw-rw----+ 1 root video 212, 2 Jan 31 21:06 net0

Ok, Let me try w_scan:

tingo@kg-f4:~$ w_scan -fc -c NO
w_scan version 20111203 (compiled for DVB API 5.4)
using settings for NORWAY
DVB cable
DVB-C
frontend_type DVB-C, channellist 7
output format vdr-1.6
WARNING: could not guess your codepage. Falling back to 'UTF-8'
output charset 'UTF-8', use -C <charset> to override
Info: using DVB adapter auto detection.
    /dev/dvb/adapter0/frontend0 -> DVB-S "DRXK DVB-C DVB-T": specified was DVB-C -> SEARCH NEXT ONE.
main:3079: FATAL: ***** NO USEABLE DVB-C CARD FOUND. *****
Please check wether dvb driver is loaded and
verify that no dvb application (i.e. vdr) is running.

Huh? Retry with adapter and frontend specified:

tingo@kg-f4:~$ w_scan -fc -c NO -C ISO-8859-1 -a /dev/dvb/adapter0/frontend0
w_scan version 20111203 (compiled for DVB API 5.4)
using settings for NORWAY
DVB cable
DVB-C
frontend_type DVB-C, channellist 7
output format vdr-1.6
output charset 'ISO-8859-1'
-_-_-_-_ Getting frontend capabilities-_-_-_-_
Using DVB API 5.a
frontend 'DRXK DVB-C DVB-T' supports
INVERSION_AUTO
QAM_AUTO not supported, trying QAM_64.
TRANSMISSION_MODE_AUTO
GUARD_INTERVAL_AUTO
HIERARCHY_AUTO
FEC_AUTO
FREQ (47.00MHz ... 865.00MHz)
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
main:3281: FATAL: Frontend 'DRXK DVB-C DVB-T'(DVB-T) doesnt support your choosen scan type 'DVB-C'

Ok, something else is needed. I downloaded the latest w_scan, compiled it, and now try with that:

tingo@kg-f4:~/work/w_scan-20121111$ ./w_scan -fc -c NO -C ISO-8859-1
w_scan version 20121111 (compiled for DVB API 5.4)
using settings for NORWAY
DVB cable
DVB-C
scan type CABLE, channellist 7
output format vdr-1.6
output charset 'ISO-8859-1'
Info: using DVB adapter auto detection.
    /dev/dvb/adapter0/frontend0 -> CABLE "DRXK DVB-C DVB-T": good :-)
Using CABLE frontend (adapter /dev/dvb/adapter0/frontend0)
-_-_-_-_ Getting frontend capabilities-_-_-_-_
Using DVB API 5.a
frontend 'DRXK DVB-C DVB-T' supports
INVERSION_AUTO
QAM_AUTO not supported, trying QAM_64 QAM_256.
FEC_AUTO
FREQ (47.00MHz ... 865.00MHz)
SRATE (0.870MSym/s ... 11.700MSym/s)
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
(lots of output snipped)
850000: sr6900 (time: 13:12) sr6875 (time: 13:14)
858000: sr6900 (time: 13:17) sr6875 (time: 13:19)

ERROR: Sorry - i couldn't get any working frequency/transponder
 Nothing to scan!!

Ouch - doesn't work.

2013-01-31: f4 - sdb5 - lets see if I can get a media_build tree running. Prepare:

tingo@kg-f4:~$ cd /storage
tingo@kg-f4:/storage$ mkdir work2
tingo@kg-f4:/storage$ cd work2
tingo@kg-f4:/storage/work2$

check out the media build tree:

tingo@kg-f4:/storage/work2$ git clone git://linuxtv.org/media_build.git
Cloning into 'media_build'...
remote: Counting objects: 1813, done.
remote: Compressing objects: 100% (591/591), done.
remote: Total 1813 (delta 1223), reused 1751 (delta 1183)
Receiving objects: 100% (1813/1813), 423.66 KiB | 190 KiB/s, done.
Resolving deltas: 100% (1223/1223), done.

Now, try to build it:

tingo@kg-f4:/storage/work2$ cd media_build
tingo@kg-f4:/storage/work2/media_build$ ./build
Checking if the needed tools for Ubuntu 12.04.1 LTS are available
ERROR: please install "lsdiff", otherwise, build won't work.
ERROR: please install "Proc::ProcessTable", otherwise, build won't work.
You should run:
    sudo apt-get install  patchutils libproc-processtable-perl
Build can't procceed as 2 dependencies are missing at ./build line 265.

Ok, install missing tools:

tingo@kg-f4:/storage/work2/media_build$ sudo apt-get install  patchutils libproc-processtable-perl
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libgmtk0-data libdiscid0 libgpod-common libgmtk0 libgpod4 libneon27-gnutls libmusicbrainz3-6 libgmlib0
Use 'apt-get autoremove' to remove them.
The following NEW packages will be installed:
  libproc-processtable-perl patchutils
0 upgraded, 2 newly installed, 0 to remove and 364 not upgraded.
Need to get 132 kB of archives.
After this operation, 371 kB of additional disk space will be used.
Get:1 http://ubuntu.mirror.su.se/ubuntu/ precise/universe libproc-processtable-perl amd64 0.45-3 [41.1 kB]
Get:2 http://ubuntu.mirror.su.se/ubuntu/ precise/main patchutils amd64 0.3.2-1.1 [91.2 kB]
Fetched 132 kB in 0s (372 kB/s)     
Selecting previously unselected package libproc-processtable-perl.
(Reading database ... 184017 files and directories currently installed.)
Unpacking libproc-processtable-perl (from .../libproc-processtable-perl_0.45-3_amd64.deb) ...
Selecting previously unselected package patchutils.
Unpacking patchutils (from .../patchutils_0.3.2-1.1_amd64.deb) ...
Processing triggers for man-db ...
Setting up libproc-processtable-perl (0.45-3) ...
Setting up patchutils (0.3.2-1.1) ...

try the build again:

$ ./build
(after a long while)
make[2]: Leaving directory `/storage/kernel/linux-source-3.2.0'
./scripts/rmmod.pl check
found 510 modules
make[1]: Leaving directory `/storage/work2/media_build/v4l'
**********************************************************
* Compilation finished. Use 'make install' to install them
**********************************************************

Nice, now install it:

tingo@kg-f4:/storage/work2/media_build$ sudo make install
(lots of output snipped)
make[2]: Leaving directory `/storage/work2/media_build/v4l/firmware'
make[1]: Leaving directory `/storage/work2/media_build/v4l'

Firmware updated:

tingo@kg-f4:/storage/work2/media_build$ ls -l /lib/firmware/*h7*
-rw-r--r-- 1 root root 8832 Jan 31 21:00 /lib/firmware/dvb-usb-terratec-h7-az6007.fw
-rw-r--r-- 1 root root 7770 Jan 31 21:00 /lib/firmware/dvb-usb-terratec-h7-drxk.fw

Ok, reboot and test

2013-01-31: f4 - sdb5 - booting my "modified" Xubuntu 12.04, it runs kernel:

tingo@kg-f4:~$ lsb_release -a
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 12.04.1 LTS
Release:    12.04
Codename:    precise
tingo@kg-f4:~$ uname -a
Linux kg-f4 3.2.24 #2 SMP Wed Sep 5 01:14:55 CEST 2012 x86_64 x86_64 x86_64 GNU/Linux

I notice that it only has one firmware for the H7:

tingo@kg-f4:~$ ls -l /lib/firmware/*h7*
-rw-r--r-- 1 root root 8832 Aug 31 21:11 /lib/firmware/dvb-usb-terratec-h7-az6007.fw

So, get new firmware:

tingo@kg-f4:~/dl$ wget http://linuxtv.org/downloads/firmware/dvb-usb-terratec-h7-drxk.fw
--2013-01-31 20:05:47--  http://linuxtv.org/downloads/firmware/dvb-usb-terratec-h7-drxk.fw
Resolving linuxtv.org (linuxtv.org)... 130.149.80.248
Connecting to linuxtv.org (linuxtv.org)|130.149.80.248|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 7770 (7.6K) [text/plain]
Saving to: `dvb-usb-terratec-h7-drxk.fw'

100%[============================================================================>] 7,770       --.-K/s   in 0.03s  

2013-01-31 20:05:47 (220 KB/s) - `dvb-usb-terratec-h7-drxk.fw' saved [7770/7770]

copy in place:

tingo@kg-f4:~/dl$ sudo cp -v dvb-usb-terratec-h7-drxk.fw /lib/firmware
`dvb-usb-terratec-h7-drxk.fw' -> `/lib/firmware/dvb-usb-terratec-h7-drxk.fw'

verify:

tingo@kg-f4:~/dl$ ls -l /lib/firmware/*h7*
-rw-r--r-- 1 root root 8832 Aug 31 21:11 /lib/firmware/dvb-usb-terratec-h7-az6007.fw
-rw-r--r-- 1 root root 7770 Jan 31 20:07 /lib/firmware/dvb-usb-terratec-h7-drxk.fw

and reboot, to see if it helps. No, it does not - the H7 is not detected as a DVB device.

2013-01-31: f4 - sdb2 - the machine got a lot of updates, and a new kernel:

tingo@kg-f4:~$ uname -a
Linux kg-f4 3.2.0-36-generic #57-Ubuntu SMP Tue Jan 8 21:44:52 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

Unfortunately, this doesn't seem to have improved the situation for the H7:

tingo@kg-f4:~$ dmesg | grep -i dvb
[    5.356937] DVB: registering new adapter (em28xx #0)
[    5.356944] DVB: registering adapter 0 frontend 0 (Sony CXD2820R (DVB-T/T2))...
[    5.357117] DVB: registering adapter 0 frontend 1 (Sony CXD2820R (DVB-C))...
[    5.357909] em28xx #0: Successfully loaded em28xx-dvb
[    5.357920] Em28xx: Initialized (Em28xx dvb Extension) extension

it is not detected as a DVB adapter.

2013-01-31: f4 - sdb2 - more testing of the H7. The machine still runs Xubuntu 12.04:

tingo@kg-f4:~$ lsb_release -a
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 12.04.1 LTS
Release:    12.04
Codename:    precise
tingo@kg-f4:~$ uname -a
Linux kg-f4 3.2.0-29-generic #46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

check what DVB adapters are detected:

tingo@kg-f4:~/dl$ dmesg | grep -i dvb
[    5.625707] DVB: registering new adapter (em28xx #0)
[    5.625713] DVB: registering adapter 0 frontend 0 (Sony CXD2820R (DVB-T/T2))...
[    5.625877] DVB: registering adapter 0 frontend 1 (Sony CXD2820R (DVB-C))...
[    5.626687] em28xx #0: Successfully loaded em28xx-dvb
[    5.626694] Em28xx: Initialized (Em28xx dvb Extension) extension

OK, only the nanoStick T2. what firmware for the H7 do we have in place?

tingo@kg-f4:~$ ls -l /lib/firmware/*h7*
-rw-r--r-- 1 root root 8832 Aug 31 21:11 /lib/firmware/dvb-usb-terratec-h7-az6007.fw

Ok, let's try the other one. Get it:

tingo@kg-f4:~/dl$ wget http://linuxtv.org/downloads/firmware/dvb-usb-terratec-h7-drxk.fw
--2013-01-31 18:32:21--  http://linuxtv.org/downloads/firmware/dvb-usb-terratec-h7-drxk.fw
Resolving linuxtv.org (linuxtv.org)... 130.149.80.248
Connecting to linuxtv.org (linuxtv.org)|130.149.80.248|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 7770 (7.6K) [text/plain]
Saving to: `dvb-usb-terratec-h7-drxk.fw'

100%[==============================================================================================================>] 7,770       --.-K/s   in 0.03s  

2013-01-31 18:32:22 (229 KB/s) - `dvb-usb-terratec-h7-drxk.fw' saved [7770/7770]

copy it in place:

tingo@kg-f4:~/dl$ sudo cp -v dvb-usb-terratec-h7-drxk.fw /lib/firmware
`dvb-usb-terratec-h7-drxk.fw' -> `/lib/firmware/dvb-usb-terratec-h7-drxk.fw'

Next, reboot the machine. After the reboot, there is still nothing in the dmesg output about the H7. Both firmware files are in place:

tingo@kg-f4:~$ ls -l /lib/firmware/*h7*
-rw-r--r-- 1 root root 8832 Aug 31 21:11 /lib/firmware/dvb-usb-terratec-h7-az6007.fw
-rw-r--r-- 1 root root 7770 Jan 31 18:33 /lib/firmware/dvb-usb-terratec-h7-drxk.fw

lsusb confirms that the device is there:

tingo@kg-f4:~$ sudo lsusb -v -s 2:2

Bus 002 Device 002: ID 0ccd:10a3 TerraTec Electronic GmbH
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x0ccd TerraTec Electronic GmbH
  idProduct          0x10a3
  bcdDevice            0.03
  iManufacturer           1 TerraTec Electronic GmbH
  iProduct                2 TerraTec H7
  iSerial                 3 0008CA1EB0EC
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xc0
      Self Powered
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval             100
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0001
  Self Powered

What more is needed?

2012-08-31: f4 - sdb2 - I installed Xubuntu 12.04 on the f4 machine, and this is how it detects the H7.

tingo@kg-f4:~/work/1_dmesg$ lsb_release -a
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 12.04.1 LTS
Release:    12.04
Codename:    precise
tingo@kg-f4:~/work/1_dmesg$ uname -a
Linux kg-f4 3.2.0-29-generic #46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

from lsusb:

tingo@kg-f4:~/work/1_dmesg$ lsusb -s 1:3
Bus 001 Device 003: ID 0ccd:10a3 TerraTec Electronic GmbH

There isn't anything about the H7 in dmesg output, or in /dev/dvb. Get firmware:

tingo@kg-f4:~/dl$ wget http://linuxtv.org/downloads/firmware/dvb-usb-terratec-h7-az6007.fw
--2012-08-31 21:09:08--  http://linuxtv.org/downloads/firmware/dvb-usb-terratec-h7-az6007.fw
Resolving linuxtv.org (linuxtv.org)... 130.149.80.248
Connecting to linuxtv.org (linuxtv.org)|130.149.80.248|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 8832 (8.6K) [text/plain]
Saving to: `dvb-usb-terratec-h7-az6007.fw'

100%[==================================================================>] 8,832       --.-K/s   in 0.07s  

2012-08-31 21:09:08 (117 KB/s) - `dvb-usb-terratec-h7-az6007.fw' saved [8832/8832]

Copy it to /lib/firmware:

tingo@kg-f4:~/dl$ sudo cp -v dvb-usb-terratec-h7-az6007.fw /lib/firmware
`dvb-usb-terratec-h7-az6007.fw' -> `/lib/firmware/dvb-usb-terratec-h7-az6007.fw'

reboot the machine, and see if it gets picked up now. No, it does not.

2012-02-08: I plugged the H7 into a machine running Xubuntu 11.10:

tingo@kg-f4:~$ lsb_release -a
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 11.10
Release:    11.10
Codename:    oneiric
tingo@kg-f4:~$ uname -a
Linux kg-f4 3.0.0-15-generic #26-Ubuntu SMP Fri Jan 20 17:23:00 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

and got this in /var/log/messages:

Feb  8 00:48:00 kg-f4 kernel: [  768.812066] usb 1-2: new high speed USB device number 4 using ehci_hcd

That's all.

2011-05-14: There is a new driver over at the TerraTec site: 20110323_TERRATEC_H7_Linux.tar.gz. This time with instructions. It only supports DVB-T at this time, but I had to try to build it (on my test machine) anyway:

tingo@vm:~$ cd work
tingo@vm:~/work$ mkdir h7
tingo@vm:~/work$ cd h7
tingo@vm:~/work/h7$ tar xvf ~/dl/20110323_TERRATEC_H7_Linux.tar.gz
tingo@vm:~/work/h7$ hg clone http://mercurial.intuxication.org/hg/s2-liplianin

copy the firmware:

tingo@vm:~/work/h7$ sudo cp dvb-usb-az6007-03.fw /lib/firmware

copy necessary files:

tingo@vm:~/work/h7$ cp -v dvb-usb/* s2-liplianin/linux/drivers/media/dvb/dvb-usb
`dvb-usb/az6007.c' -> `s2-liplianin/linux/drivers/media/dvb/dvb-usb/az6007.c'
`dvb-usb/az6007.h' -> `s2-liplianin/linux/drivers/media/dvb/dvb-usb/az6007.h'
tingo@vm:~/work/h7$ cp -v frontends/* s2-liplianin/linux/drivers/media/dvb/frontends
`frontends/drxk.c' -> `s2-liplianin/linux/drivers/media/dvb/frontends/drxk.c'
`frontends/drxk_driver.c' -> `s2-liplianin/linux/drivers/media/dvb/frontends/drxk_driver.c'
`frontends/drxk_driver.h' -> `s2-liplianin/linux/drivers/media/dvb/frontends/drxk_driver.h'
`frontends/drxk_filters.h' -> `s2-liplianin/linux/drivers/media/dvb/frontends/drxk_filters.h'
`frontends/drxk.h' -> `s2-liplianin/linux/drivers/media/dvb/frontends/drxk.h'
`frontends/drxk_map.h' -> `s2-liplianin/linux/drivers/media/dvb/frontends/drxk_map.h'
`frontends/drxk_mc.h' -> `s2-liplianin/linux/drivers/media/dvb/frontends/drxk_mc.h'
`frontends/drxk_preset.h' -> `s2-liplianin/linux/drivers/media/dvb/frontends/drxk_preset.h'
`frontends/drxk_type.h' -> `s2-liplianin/linux/drivers/media/dvb/frontends/drxk_type.h'
`frontends/mt2063.c' -> `s2-liplianin/linux/drivers/media/dvb/frontends/mt2063.c'
`frontends/mt2063_cfg.h' -> `s2-liplianin/linux/drivers/media/dvb/frontends/mt2063_cfg.h'
`frontends/mt2063.h' -> `s2-liplianin/linux/drivers/media/dvb/frontends/mt2063.h'

patch it:

tingo@vm:~/work/h7$ cd s2-liplianin
tingo@vm:~/work/h7/s2-liplianin$ patch -p1 < ../terratec_h7.patch
patching file linux/drivers/media/dvb/dvb-core/dvb_frontend.h
patching file linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
patching file linux/drivers/media/dvb/dvb-usb/Kconfig
patching file linux/drivers/media/dvb/dvb-usb/Makefile
patching file linux/drivers/media/dvb/frontends/Kconfig
patching file linux/drivers/media/dvb/frontends/Makefile

make it:

tingo@vm:~/work/h7/s2-liplianin$ make

got the FIREDTV module error, fix it:

tingo@vm:~/work/h7/s2-liplianin$ sed -i 's/CONFIG_DVB_FIREDTV=m/CONFIG_DVB_FIREDTV=n/' ./v4l/.config

and try again:

tingo@vm:~/work/h7/s2-liplianin$ make

That worked, now install it:

tingo@vm:~/work/h7/s2-liplianin$ sudo make install

Then I powered off and on the H7, and got this in /var/log/messages:

May 14 23:59:26 vm kernel: [ 4226.560048] usb 1-2: new high speed USB device using ehci_hcd and address 3
May 14 23:59:27 vm kernel: [ 4227.007366] az6007: henry :: az6007 usb module init
May 14 23:59:27 vm kernel: [ 4227.007551] az6007: usb in operation failed. (-32)
May 14 23:59:27 vm kernel: [ 4227.007795] az6007: FW GET_VERSION length: -32
May 14 23:59:27 vm kernel: [ 4227.007796]
May 14 23:59:27 vm kernel: [ 4227.007798] az6007: cold: 1
May 14 23:59:27 vm kernel: [ 4227.007798]
May 14 23:59:27 vm kernel: [ 4227.007800] dvb-usb: found a 'TerraTec DTV StarBox DVB-T/C USB2.0 (az6007)' in cold state, will try to load a firmware
May 14 23:59:27 vm kernel: [ 4227.009825] dvb-usb: downloading firmware from file 'dvb-usb-az6007-03.fw'
May 14 23:59:27 vm kernel: [ 4227.084577] dvb-usb: found a 'TerraTec DTV StarBox DVB-T/C USB2.0 (az6007)' in warm state.
May 14 23:59:27 vm kernel: [ 4227.084674] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
May 14 23:59:27 vm kernel: [ 4227.302655] DVB: registering new adapter (TerraTec DTV StarBox DVB-T/C USB2.0 (az6007))
May 14 23:59:27 vm kernel: [ 4227.311991] dvb-usb: MAC address: c2:cd:0c:a3:10:00
May 14 23:59:27 vm kernel: [ 4227.312475] az6007: az6007_frontend_poweron adap=f34ee88c adap->dev=f34ee000
May 14 23:59:27 vm kernel: [ 4227.312478]
May 14 23:59:28 vm kernel: [ 4227.720338] az6007: az6007_frontend_poweron
May 14 23:59:28 vm kernel: [ 4227.720343]
May 14 23:59:28 vm kernel: [ 4227.720349] az6007: az6007_frontend_reset adap=f34ee88c adap->dev=f34ee000
May 14 23:59:28 vm kernel: [ 4227.720352]
May 14 23:59:28 vm kernel: [ 4228.332027] az6007: reset az6007 frontend
May 14 23:59:28 vm kernel: [ 4228.332032]
May 14 23:59:28 vm kernel: [ 4228.332036] az6007: az6007_frontend_attach
May 14 23:59:28 vm kernel: [ 4228.332038]
May 14 23:59:28 vm kernel: [ 4228.332040] az6007: az6007_drxk3913_config_DVBT
May 14 23:59:28 vm kernel: [ 4228.332042]
May 14 23:59:28 vm kernel: [ 4228.332046] state->frontend.ops = drxk3913_ops_dvbt
May 14 23:59:28 vm kernel: [ 4228.332053] mt2063_attach: Attaching MT2063
May 14 23:59:28 vm kernel: [ 4228.332057] az6007: found STB6100 DVB-C/DVB-T frontend @0xc0
May 14 23:59:28 vm kernel: [ 4228.332059]
May 14 23:59:28 vm kernel: [ 4228.332066] DVB: registering adapter 0 frontend 0 (DRXK3913 Multistandard DVB_T)...
May 14 23:59:28 vm kernel: [ 4228.332278] input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:13.5/usb1/1-2/input/input4
May 14 23:59:28 vm kernel: [ 4228.332335] dvb-usb: schedule remote query interval to 400 msecs.
May 14 23:59:28 vm kernel: [ 4228.332341] dvb-usb: TerraTec DTV StarBox DVB-T/C USB2.0 (az6007) successfully initialized and connected.
May 14 23:59:28 vm kernel: [ 4228.332385] usbcore: registered new interface driver dvb_usb_az6007

Cool. To bad it only supports DVB-T so far.

2010-12-31: Connected to my Xubuntu 10.10 laptop, this is what I get in /var/log/messages:

Dec 31 17:37:33 kg-u35jc kernel: [761190.947534] usb 2-1.3: new high speed USB device using ehci_hcd and address 4

lsusb output (relevant line):

Bus 002 Device 004: ID 0ccd:10a3 TerraTec Electronic GmbH

Verbose output:

tingo@kg-u35jc:~$ sudo lsusb -s 002:004 -v

Bus 002 Device 004: ID 0ccd:10a3 TerraTec Electronic GmbH
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x0ccd TerraTec Electronic GmbH
  idProduct          0x10a3
  bcdDevice            0.03
  iManufacturer           1 TerraTec Electronic GmbH
  iProduct                2 TerraTec H7
  iSerial                 3 0008CA1EB0EC
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xc0
      Self Powered
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval             100
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0001
  Self Powered

That's all so far.