User:Hlangos: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
No edit summary
(→‎Comparison: added pictures)
 
(62 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Conditional table playground ==
{| class="wikitable"

[[HLPlayground1]] using Extension ParserFunctions

[[HLPlayground2]] using template as Parameter

== stats ==

=== Statistics ===

Table shamelessly stolen from [http://meta.wikimedia.org/wiki/Help:Magic_words].

{| class="wikitable" border="2" cellpadding="4" cellspacing="0"
! Word
! Example
! Explanation
|-
|-
| <nowiki>{{CURRENTVERSION}}</nowiki>
! load with
| <code>{{CURRENTVERSION}}</code>
! af9015
| '''[MW1.7+]''' [http://mail.wikipedia.org/pipermail/mediawiki-i18n/2006-May/000026.html]
! vp7045
! dib3000mc
|-
|-
|<nowiki>{{NUMBEROFEDITS}}</nowiki><br /><nowiki>{{NUMBEROFEDITS:R}}</nowiki>
! zap wo pid filter
| <code>{{NUMBEROFEDITS}}</code><br /><code>{{NUMBEROFEDITS:R}}</code>
| 30.8
| '''[MW1.10+ (r21319)]''' Returns the total number of page edits since MediaWiki, the software that runs this site, was installed.
| 5.8
| 5.8
|-
|-
| <nowiki>{{NUMBEROFARTICLES}}</nowiki><br /><nowiki>{{NUMBEROFARTICLES:R}}</nowiki>
! vdr wo pid
| <code>{{NUMBEROFARTICLES}}</code><br /><code>{{NUMBEROFARTICLES:R}}</code>
| 34.6
| A [[Help:Variable|variable]] which returns the total number of articles on the Wiki. See [[mw:Manual:Article]] for information on what constitutes an article.
| 14.8
| 14.4
|-
|-
| <nowiki>{{NUMBEROFPAGES}}</nowiki><br /><nowiki>{{NUMBEROFPAGES:R}}</nowiki>
! zap w pid
| <code>{{NUMBEROFPAGES}}</code><br /><code>{{NUMBEROFPAGES:R}}</code>
| 1.1
| '''[MW1.7+]''' Returns the total number of pages. [http://mail.wikipedia.org/pipermail/mediawiki-i18n/2006-May/000026.html]
| -
| 0.5
|-
|-
| <nowiki>{{NUMBEROFFILES}}</nowiki><br /><nowiki>{{NUMBEROFFILES:R}}</nowiki>
! vdr w pid
| <code>{{NUMBEROFFILES}}</code><br /><code>{{NUMBEROFFILES:R}}</code>
| 16.8
| '''[MW1.5+]''' Returns the number of uploaded files (rows in the image table).
| -
|-
| 9.7
| <nowiki>{{NUMBEROFUSERS}}</nowiki><br /><nowiki>{{NUMBEROFUSERS:R}}</nowiki>
| <code>{{NUMBEROFUSERS}}</code><br /><code>{{NUMBEROFUSERS:R}}</code>
| '''[MW1.7+]''' Returns the number of registered users (rows in the user table).
|-
| <nowiki>{{NUMBEROFADMINS}}</nowiki><br /><nowiki>{{NUMBEROFADMINS:R}}</nowiki>
| <code>{{NUMBEROFADMINS}}</code><br /><code>{{NUMBEROFADMINS:R}}</code>
| '''[MW1.7+]''' Returns the number of administrators (users in the ''sysop'' group).

|}
|}


== System Load ==


If your machine has a multicore desktop CPU running at full speed all the time you will probably not even notice that there IS a load on the machine. I however happen to run an old notebook as a server and whenever the load goes up a bit, the nasty little fan starts making a lot of noise. So I tried to hunt down the source of the system load.

=== Comparison ===

The following table shows system load. That is time spent in C0(cpu running) in contrast to time spent in one of the sleep states. It should be noted that the work is being done at 188MHz on a 1.5GHz CPU.


{| class="sortable wikitable" style="text-align:right"
|-
! Device
! driver
| Picture
! usb transfer<br/>blocksize
! zap w/o<br/>pid filter
! vdr w/o<br/>pid filter
! zap with<br/>pid filter
! vdr with<br/>pid filter
|-

! [[MSI_DigiVox_mini_II_V3.0|MSI DigiVOX<br/>mini II V3.0]]
! af9015 (from hg branch)
| [[image:Dvb-t-usb-msi-digivox-ii-rev3-001.jpg|thumb|120px]]
| 512
| 27.6
| 34.3
| 1.1
| 14.7
|-

! Fujitsu-Siemens DVB-T<br/>Mobile TV Tuner
! vp7045 (hg main)
| [[Image:Fujitsu-Siemens-DVB-T-Mobile-001.jpg|thumb|120px]]
| 4096
| 5.8
| 14.8
| -
| -
|-

! Toshiba USB DVB-T<br/>Tuner PX1211E-1TVD
! dib3000mc (hg main)
| [[image:Dvb-t-usb-toshiba-px1211e-1tvd-001.jpg|thumb|120px]]
| 4096
| 5.8
| 13.4
| 0.5
| 8.0
|-

! [[E3C EC168|Sino Video<br/>SV3420D-V02]]
! ec168 (hg branch)
| [[image:Dvb-t-usb-sinovideo-sv3420d-v02-005.jpg|thumb|120px]]
| 16384
| 2.3
| 9.3
| -
| -
|-

! TerraTec<br/>Cinergy XXS
! dib0070 (hg main)
| [[Image:Terratec Cinergy XXS 001.jpg|thumb|120px]]
| 39480
| 1.8
| 8.9
| -
| -
|-

|}

As you can see the differences in system load are quite dramatic. The dominating factor is the number of USB transfers. Looking at the dvb sources, the dib0700 driver seems to use 39480 byte buffers. I finally got my fingers on a Cinergy XXS. I had to repeat some measurements for the EC168 but now the data is quite solid.

=== Detailed powertop measurements ===

More details:

I ran '''zap''' and '''vdr''' on a system that is idle. Without zap or vdr
the system does about 5 wakups per second and spends about 0.1% of its time in C0 (cpu running).

Polling of the remote is disabled using the module option '''''disable_rc_polling=1''''' for the '''dvb_usb''' module.

The hardware PID filter is enabled with the option '''''force_pid_filter_usage=1''''' for the '''dvb_usb''' module.

'''vdr''' is the one from ''e-tobi.net/vdr-experimental lenny vdr-extensions''
here's the list of plugins that were enabled during the test:
| Searching for plugins (VDR 1.6.0-2/1.6.0) (cache hit): epgsearch quickepgsearch conflictcheckonly live epgsearchonly ffnetdev streamdev-server.


==== MSI DigiVOX mini II rev.3 ====

Compiled and installed according to the instructions on [[MSI_DigiVox_mini_II_V3.0]].

The device has a hardware PID filter, but the maximum block size for transfers over USB seems to be
limited to 512 byte. This causes a lot of protocol overhead.


<pre>
<pre>
modprobe -v dvb_usb_af9015
insmod /lib/modules/2.6.26-1-686/kernel/drivers/media/dvb/dvb-core/dvb-core.ko
insmod /lib/modules/2.6.26-1-686/kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko disable_rc_polling=1
insmod /lib/modules/2.6.26-1-686/kernel/drivers/media/dvb/dvb-usb/dvb-usb-af9015.ko
# dmesg | tail
[421479.228321] af9015: recv bulk message failed:-110
[421481.228225] af9015: recv bulk message failed:-110
[421481.236400] dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in warm state.
[421481.236940] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[421481.237973] DVB: registering new adapter (Afatech AF9015 DVB-T USB2.0 stick)
[421481.714270] af9013: firmware version:4.95.0
[421481.724131] DVB: registering adapter 0 frontend 0 (Afatech AF9013 DVB-T)...
[421481.724847] tda18271 0-00c0: creating new instance
[421481.729438] TDA18271HD/C2 detected @ 0-00c0
[421481.994205] dvb-usb: Afatech AF9015 DVB-T USB2.0 stick successfully initialized and connected.
[421482.012365] usbcore: registered new interface driver dvb_usb_af9015
[421992.345780] tda18271: performing RF tracking filter calibration
[421997.798964] tda18271: RF tracking filter calibration complete


#####################################################
==================== remote disabled, pid filter disabled
------------------ running zap
PowerTOP version 1.10 (C) 2007 Intel Corporation


Cn Avg residency P-states (frequencies)
C0 (cpu running) (27.6%) 750 Mhz 0.0%
polling 0.0ms ( 0.0%) 563 Mhz 0.0%
C1 halt 0.0ms ( 0.0%) 375 Mhz 0.0%
C2 0.0ms ( 0.0%) 188 Mhz 100.0%
C3 0.3ms (72.4%)


Wakeups-from-idle per second : 2721.4 interval: 10.0s
====================== no pid filter =========================
no ACPI power usage estimate available


Top causes for wakeups:
zap:
63.1% (4686.6) /sys/bus/usb/devices/5-1
| PowerTOP version 1.10 (C) 2007 Intel Corporation
36.7% (2724.0) <interrupt> : uhci_hcd:usb1, HDA Intel, ehci_hcd:usb5
|
| Cn Avg residency P-states (frequencies)
0.1% ( 7.1) zap : schedule_timeout (process_timeout)
| C0 (cpu running) (30.8%) 750 Mhz 0.0%
0.0% ( 2.0) xfsaild : schedule_timeout (process_timeout)
| polling 0.2ms ( 0.0%) 563 Mhz 0.0%
0.0% ( 1.6) <kernel module> : ehci_work (ehci_watchdog)
| C1 halt 0.0ms ( 0.0%) 375 Mhz 0.0%
0.0% ( 1.6) xfsbufd : schedule_timeout (process_timeout)
0.0% ( 1.0) kdvb-ad-0-fe-0 : schedule_timeout (process_timeout)
| C2 0.4ms ( 7.3%) 188 Mhz 100.0%
| C3 0.2ms (61.9%)
0.0% ( 1.0) ifconfig : b44_open (b44_timer)
0.0% ( 1.0) zap : do_nanosleep (hrtimer_wakeup)
|
0.0% ( 0.5) <kernel core> : neigh_table_init_no_netlink (neigh_periodic_timer)
| Wakeups-from-idle per second : 3100.6 interval: 10.0s
| no ACPI power usage estimate available
|
| Top causes for wakeups:
| 60.5% (4774.2) USB device 5-1 : DVB-T 2 (Afatech)
| 39.3% (3107.5) <interrupt> : uhci_hcd:usb1, HDA Intel, ehci_hcd:usb5
| 0.1% ( 5.7) zap : schedule_timeout (process_timeout)
| 0.0% ( 2.0) xfsaild : schedule_timeout (process_timeout)
| 0.0% ( 1.6) xfsbufd : schedule_timeout (process_timeout)
| 0.0% ( 1.2) syslogd : ehci_irq (ehci_watchdog)
| 0.0% ( 1.0) zap : do_nanosleep (hrtimer_wakeup)
| 0.0% ( 1.0) ifconfig : b44_open (b44_timer)


------------------- running vdr
vdr:
| PowerTOP version 1.10 (C) 2007 Intel Corporation
PowerTOP version 1.10 (C) 2007 Intel Corporation
|
| Cn Avg residency P-states (frequencies)
| C0 (cpu running) (34.6%) 750 Mhz 0.0%
| polling 0.0ms ( 0.0%) 563 Mhz 0.0%
| C1 halt 0.0ms ( 0.0%) 375 Mhz 0.0%
| C2 0.1ms ( 0.5%) 188 Mhz 100.0%
| C3 0.3ms (64.9%)
|
| Wakeups-from-idle per second : 2588.7 interval: 10.0s
| no ACPI power usage estimate available
|
| Top causes for wakeups:
| 59.3% (4318.9) USB device 5-1 : DVB-T 2 (Afatech)
| 37.5% (2730.5) <interrupt> : uhci_hcd:usb1, HDA Intel, ehci_hcd:usb5
| 3.0% (220.9) vdr : futex_wait (hrtimer_wakeup)
| 0.1% ( 6.2) vdr : schedule_timeout (process_timeout)
| 0.0% ( 2.0) xfsaild : schedule_timeout (process_timeout)
| 0.0% ( 1.6) xfsbufd : schedule_timeout (process_timeout)
| 0.0% ( 1.3) syslogd : ehci_irq (ehci_watchdog)
| 0.0% ( 1.1) vdr : hrtick_set (hrtick)
| 0.0% ( 1.0) vdr : do_nanosleep (hrtimer_wakeup)
| 0.0% ( 1.0) ifconfig : b44_open (b44_timer)


Cn Avg residency P-states (frequencies)
C0 (cpu running) (34.4%) 750 Mhz 0.0%
polling 0.0ms ( 0.0%) 563 Mhz 0.0%
C1 halt 0.0ms ( 0.0%) 375 Mhz 0.0%
C2 0.4ms (36.3%) 188 Mhz 100.0%
C3 0.2ms (29.3%)

Wakeups-from-idle per second : 2580.6 interval: 10.0s
no ACPI power usage estimate available

Top causes for wakeups:
59.1% (4300.1) /sys/bus/usb/devices/5-1
37.6% (2730.7) <interrupt> : uhci_hcd:usb1, HDA Intel, ehci_hcd:usb5
3.0% (221.1) vdr : futex_wait (hrtimer_wakeup)
0.1% ( 6.1) vdr : schedule_timeout (process_timeout)
0.0% ( 2.0) xfsaild : schedule_timeout (process_timeout)
0.0% ( 1.6) xfsbufd : schedule_timeout (process_timeout)
0.0% ( 1.5) vdr : hrtick_set (hrtick)
0.0% ( 1.0) ifconfig : b44_open (b44_timer)
0.0% ( 1.0) vdr : do_nanosleep (hrtimer_wakeup)
0.0% ( 1.0) tail : do_nanosleep (hrtimer_wakeup)
0.0% ( 0.9) <kernel module> : ehci_work (ehci_watchdog)

#######################################

------------------ remote disabled, pid filter enabled:
------------------ running zap
PowerTOP version 1.10 (C) 2007 Intel Corporation

Cn Avg residency P-states (frequencies)
C0 (cpu running) ( 1.1%) 750 Mhz 0.0%
polling 0.0ms ( 0.0%) 563 Mhz 0.0%
C1 halt 0.0ms ( 0.0%) 375 Mhz 0.0%
C2 0.0ms ( 0.0%) 188 Mhz 100.0%
C3 11.4ms (98.9%)

Wakeups-from-idle per second : 89.0 interval: 15.0s
no ACPI power usage estimate available

Top causes for wakeups:
47.5% ( 63.9) <interrupt> : uhci_hcd:usb1, HDA Intel, ehci_hcd:usb5
31.9% ( 43.0) /sys/bus/usb/devices/5-1
8.1% ( 10.9) <kernel module> : ehci_work (ehci_watchdog)
5.6% ( 7.6) zap : schedule_timeout (process_timeout)
1.5% ( 2.0) xfsaild : schedule_timeout (process_timeout)
1.3% ( 1.7) xfsbufd : schedule_timeout (process_timeout)
0.7% ( 1.0) zap : do_nanosleep (hrtimer_wakeup)
0.7% ( 1.0) ifconfig : b44_open (b44_timer)
0.7% ( 1.0) kdvb-ad-0-fe-0 : schedule_timeout (process_timeout)
0.4% ( 0.5) <kernel core> : neigh_table_init_no_netlink (neigh_periodic_timer)

------------------ running vdr

PowerTOP version 1.10 (C) 2007 Intel Corporation

Cn Avg residency P-states (frequencies)
C0 (cpu running) (14.7%) 750 Mhz 0.0%
polling 0.0ms ( 0.0%) 563 Mhz 0.0%
C1 halt 0.0ms ( 0.0%) 375 Mhz 0.0%
C2 0.1ms ( 0.2%) 188 Mhz 100.0%
C3 1.1ms (85.1%)

Wakeups-from-idle per second : 823.2 interval: 10.0s
no ACPI power usage estimate available

Top causes for wakeups:
46.2% (784.8) /sys/bus/usb/devices/5-1
39.4% (668.4) <interrupt> : uhci_hcd:usb1, HDA Intel, ehci_hcd:usb5
13.0% (221.3) vdr : futex_wait (hrtimer_wakeup)
0.4% ( 6.9) <kernel module> : ehci_work (ehci_watchdog)
0.4% ( 6.3) vdr : schedule_timeout (process_timeout)
0.1% ( 2.0) xfsaild : schedule_timeout (process_timeout)
0.1% ( 1.6) xfsbufd : schedule_timeout (process_timeout)
0.1% ( 1.0) tail : do_nanosleep (hrtimer_wakeup)
0.1% ( 1.0) ifconfig : b44_open (b44_timer)
0.1% ( 1.0) vdr : do_nanosleep (hrtimer_wakeup)
0.1% ( 0.9) kdvb-ad-0-fe-0 : schedule_timeout (process_timeout)
0.0% ( 0.5) <kernel core> : neigh_table_init_no_netlink (neigh_periodic_timer)

#########################################
</pre>

==== Fujitsu-Siemens DVB-T Mobile TV Tuner ====

It doesn't have a hardware PID filter but uses 4096 byte bulk transfers over USB. Thus has less USB protocol overhead.

<pre>
--------------------------- without remote, without pid filter
------------------ zap
PowerTOP version 1.10 (C) 2007 Intel Corporation

Cn Avg residency P-states (frequencies)
C0 (cpu running) ( 5.7%) 750 Mhz 0.0%
polling 0.0ms ( 0.0%) 563 Mhz 0.0%
C1 halt 0.0ms ( 0.0%) 375 Mhz 0.0%
C2 0.0ms ( 0.0%) 188 Mhz 100.0%
C3 2.0ms (94.3%)

Wakeups-from-idle per second : 473.5 interval: 10.0s
no ACPI power usage estimate available

Top causes for wakeups:
55.7% (592.2) USB device 5-1 : DVB-T 2 (Afatech)
42.9% (455.9) <interrupt> : uhci_hcd:usb1, ehci_hcd:usb5, HDA Intel
0.5% ( 5.7) zap : schedule_timeout (process_timeout)
0.2% ( 2.4) kdvb-ad-0-fe-0 : schedule_timeout (process_timeout)
0.2% ( 2.0) xfsaild : schedule_timeout (process_timeout)
0.2% ( 1.6) xfsbufd : schedule_timeout (process_timeout)
0.1% ( 1.0) zap : do_nanosleep (hrtimer_wakeup)

-------------------- vdr
PowerTOP version 1.10 (C) 2007 Intel Corporation

Cn Avg residency P-states (frequencies)
C0 (cpu running) (13.0%) 750 Mhz 0.0%
polling 0.0ms ( 0.0%) 563 Mhz 0.0%
C1 halt 0.0ms ( 0.0%) 375 Mhz 0.0%
C2 0.1ms ( 0.1%) 188 Mhz 100.0%
C3 1.5ms (86.8%)

Wakeups-from-idle per second : 611.1 interval: 10.0s
no ACPI power usage estimate available

Top causes for wakeups:
45.1% (540.5) USB device 5-1 : DVB-T 2 (Afatech)
34.9% (418.2) <interrupt> : uhci_hcd:usb1, ehci_hcd:usb5, HDA Intel
18.4% (220.8) vdr : futex_wait (hrtimer_wakeup)


--------------------------
</pre>


==== Toshiba USB DVB-T TV PX1211E-1TVD ====

This device has a hardware PID filter and uses 4096 Byte bulk transfers.

<pre>
[329345.857835] dvb-usb: found a 'LITE-ON USB2.0 DVB-T Tuner' in warm state.
[329345.859820] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[329345.862374] DVB: registering new adapter (LITE-ON USB2.0 DVB-T Tuner)
[329345.875554] DVB: registering adapter 0 frontend 0 (DiBcom 3000MC/P)...
[329345.898401] MT2060: successfully identified (IF1 = 1220)
[329346.390290] dvb-usb: LITE-ON USB2.0 DVB-T Tuner successfully initialized and connected.
[329346.390729] usbcore: registered new interface driver dvb_usb_dibusb_mc


===================================== without pid filter
============ zap
PowerTOP version 1.10 (C) 2007 Intel Corporation

Cn Avg residency P-states (frequencies)
C0 (cpu running) ( 5.8%) 750 Mhz 0.0%
polling 0.0ms ( 0.0%) 563 Mhz 0.0%
C1 halt 0.0ms ( 0.0%) 375 Mhz 0.0%
C2 0.1ms ( 0.0%) 188 Mhz 100.0%
C3 2.0ms (94.2%)

Wakeups-from-idle per second : 484.0 interval: 10.0s
no ACPI power usage estimate available

Top causes for wakeups:
55.9% (611.8) USB device 5-1 : DVB-T 2 (Afatech)
42.9% (469.2) <interrupt> : uhci_hcd:usb1, HDA Intel, ehci_hcd:usb5
0.5% ( 5.5) zap : schedule_timeout (process_timeout)
0.2% ( 2.0) xfsaild : schedule_timeout (process_timeout)
0.1% ( 1.6) xfsbufd : schedule_timeout (process_timeout)
0.1% ( 1.0) ifconfig : b44_open (b44_timer)

============ vdr
PowerTOP version 1.10 (C) 2007 Intel Corporation

Cn Avg residency P-states (frequencies)
C0 (cpu running) (13.4%) 750 Mhz 0.0%
polling 0.0ms ( 0.0%) 563 Mhz 0.0%
C1 halt 0.0ms ( 0.0%) 375 Mhz 0.0%
C2 0.1ms ( 0.1%) 188 Mhz 100.0%
C3 1.4ms (86.5%)

Wakeups-from-idle per second : 616.6 interval: 10.0s
no ACPI power usage estimate available

Top causes for wakeups:
45.5% (553.8) /sys/bus/usb/devices/5-1
35.0% (425.1) <interrupt> : uhci_hcd:usb1, HDA Intel, ehci_hcd:usb5
18.2% (221.1) vdr : futex_wait (hrtimer_wakeup)
0.5% ( 5.9) vdr : schedule_timeout (process_timeout)
0.2% ( 2.0) xfsaild : schedule_timeout (process_timeout)
0.1% ( 1.8) xfsbufd : schedule_timeout (process_timeout)
0.1% ( 1.0) ifconfig : b44_open (b44_timer)
0.1% ( 1.0) tail : do_nanosleep (hrtimer_wakeup)
0.1% ( 1.0) vdr : do_nanosleep (hrtimer_wakeup)
0.0% ( 0.5) <kernel core> : neigh_table_init_no_netlink (neigh_periodic_timer)
0.0% ( 0.5) <kernel core> : schedule_delayed_work_on (delayed_work_timer_fn)
0.0% ( 0.5) kdvb-ad-0-fe-0 : schedule_timeout (process_timeout)

=================================with pid filter
==================== zap
PowerTOP version 1.10 (C) 2007 Intel Corporation

Cn Avg residency P-states (frequencies)
C0 (cpu running) ( 0.5%) 750 Mhz 0.0%
polling 0.0ms ( 0.0%) 563 Mhz 0.0%
C1 halt 0.0ms ( 0.0%) 375 Mhz 0.0%
C2 0.0ms ( 0.0%) 188 Mhz 100.0%
C3 36.1ms (99.5%)

Wakeups-from-idle per second : 27.6 interval: 20.0s
no ACPI power usage estimate available

Top causes for wakeups:
31.2% ( 10.0) syslogd : ehci_irq (ehci_watchdog)
29.0% ( 9.3) zap : schedule_timeout (process_timeout)
8.7% ( 2.8) <interrupt> : uhci_hcd:usb1, HDA Intel, ehci_hcd:usb5
6.2% ( 2.0) xfsaild : schedule_timeout (process_timeout)
5.8% ( 1.9) USB device 5-1 : DVB-T 2 (Afatech)
5.3% ( 1.7) xfsbufd : schedule_timeout (process_timeout)
3.1% ( 1.0) ifconfig : b44_open (b44_timer)
3.1% ( 1.0) zap : do_nanosleep (hrtimer_wakeup)

===================== vdr
PowerTOP version 1.10 (C) 2007 Intel Corporation

Cn Avg residency P-states (frequencies)
C0 (cpu running) ( 8.0%) 750 Mhz 0.0%
polling 0.0ms ( 0.0%) 563 Mhz 0.0%
C1 halt 0.0ms ( 0.0%) 375 Mhz 0.0%
C2 0.1ms ( 0.0%) 188 Mhz 100.0%
C3 3.0ms (91.9%)

Wakeups-from-idle per second : 311.3 interval: 10.0s
no ACPI power usage estimate available

Top causes for wakeups:
50.1% (221.4) vdr : futex_wait (hrtimer_wakeup)
24.3% (107.5) /sys/bus/usb/devices/5-1
20.3% ( 89.5) <interrupt> : uhci_hcd:usb1, HDA Intel, ehci_hcd:usb5
1.7% ( 7.3) <kernel module> : ehci_work (ehci_watchdog)
1.4% ( 6.0) vdr : schedule_timeout (process_timeout)
0.5% ( 2.0) xfsaild : schedule_timeout (process_timeout)
0.4% ( 1.8) xfsbufd : schedule_timeout (process_timeout)
0.2% ( 1.0) ifconfig : b44_open (b44_timer)
0.2% ( 1.0) vdr : do_nanosleep (hrtimer_wakeup)
0.2% ( 1.0) tail : do_nanosleep (hrtimer_wakeup)
0.1% ( 0.5) kdvb-ad-0-fe-0 : schedule_timeout (process_timeout)

</pre>

==== SinoVideo SV3420D-V02 ====

This device is based on the [[E3C_EC168]] Chip. Support is very experimental and based on USB sniffing. Most features will not work. It probably does not have a pid filter but thats just one of the many unknowns. If anybody gets hold of the EC168 or EC188 specs please please send me a copy.

The name and number schema seems a little intransparent for the whole family of devices but they are cheap as chips. I picked up mine new via ebay from a Chinese shop for less than 6 Euros (+pp), including remote and antenna. It was sold to me as SV3420B but the PCB says SV3420D-V02. I've seen pictures of the device under a lot of different pseudo brands. (Try a google image search for "3420 DVB-T".)

The driver CD is named "SV3420A" and all files are timestamped September 2007. So my guess is that the only changes that happened between the "A" version an the current "D-V02" version are changes to the case design, the PCB layout and maybe some minor components. Since the windows driver seems to be the same for all those devices, my guess is that the Linux driver should also work equally for all of them.


<gallery>
Image:Dvb-t-usb-sinovideo-sv3420d-v02-004.jpg
Image:Dvb-t-usb-sinovideo-sv3420d-v02-005.jpg
Image:Dvb-t-usb-sinovideo-sv3420d-v02-009.JPG
Image:Dvb-t-usb-sinovideo-sv3420d-v02-007.JPG
</gallery>

<pre>
[1217714.429823] usb 5-1: new high speed USB device using ehci_hcd and address 11
[1217714.561392] usb 5-1: configuration #1 chosen from 1 choice
[1217714.572099] input: HID 18b4:1689 as /class/input/input9
[1217714.600549] input,hidraw0: USB HID v1.11 Keyboard [HID 18b4:1689] on usb-0000:00:1d.7-1
[1217714.601760] usb 5-1: New USB device found, idVendor=18b4, idProduct=1689
[1217714.601896] usb 5-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0

</pre>
Without any driver the device is recognized as hid raw device.

<pre>
[1220628.851806] dvb-usb: found a 'E3C EC168 DVB-T USB2.0 reference design' in cold state, will try to load a firmware
[1220628.852984] firmware: requesting dvb-usb-ec168.fw
[1220629.527759] dvb-usb: downloading firmware from file 'dvb-usb-ec168.fw'
[1220629.551527] dvb-usb: found a 'E3C EC168 DVB-T USB2.0 reference design' in warm state.
[1220629.552845] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[1220629.554959] DVB: registering new adapter (E3C EC168 DVB-T USB2.0 reference design)
[1220629.558609] DVB: registering adapter 0 frontend 0 (E3C EC100 DVB-T)...
[1220629.559342] MXL5005S: Attached at address 0xc6
[1220629.560823] dvb-usb: E3C EC168 DVB-T USB2.0 reference design successfully initialized and connected.
[1220629.561204] usbcore: registered new interface driver dvb_usb_ec168
</pre>
After compiling the ec168 driver as described in [https://www.dealextreme.com/forums/Default.dx/sku.8325~threadid.278942 a possible way to get the ec168 working] the device is registered by the dvb_usb framework.

Having it recognized as hid device causes additional 10 wakups per second and an idle load in C0 of 0.4%. I unloaded the '''usbhid''' module to have the same baseline
for my load tests.

<pre>
====================================== running zap
PowerTOP version 1.10 (C) 2007 Intel Corporation

Cn Avg residency P-states (frequencies)
C0 (cpu running) ( 2.3%) 750 Mhz 0.0%
polling 0.0ms ( 0.0%) 563 Mhz 0.0%
C1 halt 0.0ms ( 0.0%) 375 Mhz 0.0%
C2 0.1ms ( 0.0%) 188 Mhz 100.0%
C3 7.4ms (97.7%)

Wakeups-from-idle per second : 132.2 interval: 15.0s
no ACPI power usage estimate available

Top causes for wakeups:
51.2% (135.7) USB device 5-1 : TvTUNER (SKGZ)
42.7% (113.1) <interrupt> : uhci_hcd:usb1, HDA Intel, ehci_hcd:usb5
2.7% ( 7.1) zap : schedule_timeout (process_timeout)
0.8% ( 2.0) xfsaild : schedule_timeout (process_timeout)
0.7% ( 1.7) xfsbufd : schedule_timeout (process_timeout)
0.4% ( 1.0) ifconfig : b44_open (b44_timer)
0.4% ( 1.0) zap : do_nanosleep (hrtimer_wakeup)
0.2% ( 0.6) kdvb-ad-0-fe-0 : schedule_timeout (process_timeout)


======================================= running vdr
PowerTOP version 1.10 (C) 2007 Intel Corporation

Cn Avg residency P-states (frequencies)
C0 (cpu running) ( 9.3%) 750 Mhz 0.0%
polling 0.0ms ( 0.0%) 563 Mhz 0.0%
C1 halt 0.0ms ( 0.0%) 375 Mhz 0.0%
C2 0.1ms ( 0.1%) 188 Mhz 100.0%
C3 2.9ms (90.7%)

Wakeups-from-idle per second : 321.5 interval: 10.0s
no ACPI power usage estimate available

Top causes for wakeups:
45.7% (220.8) vdr : futex_wait (hrtimer_wakeup)
28.8% (138.8) USB device 5-1 : TvTUNER (SKGZ)
22.3% (107.5) <interrupt> : uhci_hcd:usb1, ehci_hcd:usb5, HDA Intel
1.2% ( 6.0) vdr : schedule_timeout (process_timeout)
0.4% ( 2.0) xfsaild : schedule_timeout (process_timeout)
0.4% ( 1.8) xfsbufd : schedule_timeout (process_timeout)
0.2% ( 1.0) vdr : do_nanosleep (hrtimer_wakeup)
0.2% ( 1.0) ifconfig : b44_open (b44_timer)
0.2% ( 1.0) <kernel core> : ehci_work (ehci_watchdog)
0.1% ( 0.6) kdvb-ad-0-fe-0 : schedule_timeout (process_timeout)

</pre>

==== TerraTec Cinergy XXS ====

<pre>
====================================== running zap
PowerTOP version 1.10 (C) 2007 Intel Corporation


Cn Avg residency P-states (frequencies)
C0 (cpu running) ( 1.8%) 750 Mhz 0.0%
polling 0.0ms ( 0.0%) 563 Mhz 0.0%
C1 halt 0.0ms ( 0.0%) 375 Mhz 0.0%
C2 0.1ms ( 0.0%) 188 Mhz 100.0%
C3 14.3ms (98.2%)


Wakeups-from-idle per second : 68.6 interval: 15.0s
====================== with hw pid filter =========================
no ACPI power usage estimate available


Top causes for wakeups:
# modprobe -v dvb-usb force_pid_filter_usage=1
47.7% ( 56.9) USB device 5-1 : CinergyTUSB XXS (TerraTec GmbH)
insmod /lib/modules/2.6.26-1-686/kernel/drivers/media/dvb/dvb-core/dvb-core.ko
40.0% ( 47.7) <interrupt> : uhci_hcd:usb1, ehci_hcd:usb5, HDA Intel
insmod /lib/modules/2.6.26-1-686/kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko force_pid_filter_usage=1 disable_rc_polling=1
4.8% ( 5.7) zap : schedule_timeout (process_timeout)
# modprobe -v dvb_usb_af9015
1.7% ( 2.0) xfsaild : schedule_timeout (process_timeout)
insmod /lib/modules/2.6.26-1-686/kernel/drivers/media/dvb/dvb-usb/dvb-usb-af9015.ko
1.5% ( 1.7) xfsbufd : schedule_timeout (process_timeout)
0.8% ( 1.0) ifconfig : b44_open (b44_timer)
0.8% ( 1.0) zap : do_nanosleep (hrtimer_wakeup)
0.4% ( 0.5) kdvb-ad-0-fe-0 : schedule_timeout (process_timeout)
0.4% ( 0.5) <kernel core> : schedule_delayed_work_on (delayed_work_timer_fn)


====================================== running vdr
PowerTOP version 1.10 (C) 2007 Intel Corporation


Cn Avg residency P-states (frequencies)
zap:
| PowerTOP version 1.10 (C) 2007 Intel Corporation
C0 (cpu running) ( 8.9%) 750 Mhz 0.0%
polling 0.0ms ( 0.0%) 563 Mhz 0.0%
|
| Cn Avg residency P-states (frequencies)
C1 halt 0.0ms ( 0.0%) 375 Mhz 0.0%
| C0 (cpu running) ( 1.1%) 750 Mhz 0.0%
C2 0.1ms ( 0.0%) 188 Mhz 100.0%
| polling 0.0ms ( 0.0%) 563 Mhz 0.0%
C3 3.5ms (91.1%)
| C1 halt 0.0ms ( 0.0%) 375 Mhz 0.0%
| C2 0.0ms ( 0.0%) 188 Mhz 100.0%
| C3 10.6ms (98.9%)
|
| Wakeups-from-idle per second : 95.7 interval: 15.0s
| no ACPI power usage estimate available
|
| Top causes for wakeups:
| 48.8% ( 70.1) <interrupt> : uhci_hcd:usb1, HDA Intel, ehci_hcd:usb5
| 33.2% ( 47.7) USB device 5-1 : DVB-T 2 (Afatech)
| 7.0% ( 10.1) syslogd : ehci_irq (ehci_watchdog)
| 4.7% ( 6.8) zap : schedule_timeout (process_timeout)
| 1.4% ( 2.0) xfsaild : schedule_timeout (process_timeout)
| 1.2% ( 1.7) xfsbufd : schedule_timeout (process_timeout)
| 0.7% ( 1.1) kdvb-ad-0-fe-0 : schedule_timeout (process_timeout)
| 0.7% ( 1.0) ifconfig : b44_open (b44_timer)
| 0.7% ( 1.0) zap : do_nanosleep (hrtimer_wakeup)
vdr:
| PowerTOP version 1.10 (C) 2007 Intel Corporation
|
| Cn Avg residency P-states (frequencies)
| C0 (cpu running) (16.8%) 750 Mhz 0.0%
| polling 0.1ms ( 0.0%) 563 Mhz 0.0%
| C1 halt 0.0ms ( 0.0%) 375 Mhz 0.0%
| C2 0.1ms ( 0.3%) 188 Mhz 100.0%
| C3 0.9ms (82.9%)
|
| Wakeups-from-idle per second : 938.4 interval: 10.0s
| no ACPI power usage estimate available
|
| Top causes for wakeups:
| 48.6% (988.7) USB device 5-1 : DVB-T 2 (Afatech)
| 39.5% (804.2) <interrupt> : uhci_hcd:usb1, HDA Intel, ehci_hcd:usb5
| 10.9% (221.1) vdr : futex_wait (hrtimer_wakeup)
| 0.3% ( 6.9) syslogd : ehci_irq (ehci_watchdog)
| 0.3% ( 6.0) vdr : schedule_timeout (process_timeout)
| 0.1% ( 2.0) xfsaild : schedule_timeout (process_timeout)
| 0.1% ( 1.6) xfsbufd : schedule_timeout (process_timeout)
| 0.0% ( 1.0) ifconfig : b44_open (b44_timer)
| 0.0% ( 1.0) vdr : do_nanosleep (hrtimer_wakeup)


Wakeups-from-idle per second : 265.4 interval: 10.0s
no ACPI power usage estimate available


Top causes for wakeups:
64.7% (221.2) vdr : futex_wait (hrtimer_wakeup)
16.6% ( 56.9) USB device 5-1 : CinergyTUSB XXS (TerraTec GmbH)
13.2% ( 45.0) <interrupt> : uhci_hcd:usb1, ehci_hcd:usb5, HDA Intel
1.8% ( 6.0) vdr : schedule_timeout (process_timeout)
0.6% ( 2.0) xfsaild : schedule_timeout (process_timeout)
0.5% ( 1.6) xfsbufd : schedule_timeout (process_timeout)
0.4% ( 1.5) <kernel core> : ehci_work (ehci_watchdog)
0.4% ( 1.3) <interrupt> : ide0
0.3% ( 1.0) vdr : do_nanosleep (hrtimer_wakeup)
0.3% ( 1.0) tail : do_nanosleep (hrtimer_wakeup)
0.3% ( 1.0) ifconfig : b44_open (b44_timer)
0.1% ( 0.5) <kernel core> : schedule_delayed_work_on (delayed_work_timer_fn)
0.1% ( 0.5) kdvb-ad-0-fe-0 : schedule_timeout (process_timeout)


</pre>
</pre>

Latest revision as of 07:45, 6 October 2009

Conditional table playground

HLPlayground1 using Extension ParserFunctions

HLPlayground2 using template as Parameter

stats

Statistics

Table shamelessly stolen from [1].

Word Example Explanation
{{CURRENTVERSION}} 1.39.10 [MW1.7+] [2]
{{NUMBEROFEDITS}}
{{NUMBEROFEDITS:R}}
31,833
31833
[MW1.10+ (r21319)] Returns the total number of page edits since MediaWiki, the software that runs this site, was installed.
{{NUMBEROFARTICLES}}
{{NUMBEROFARTICLES:R}}
1,308
1308
A variable which returns the total number of articles on the Wiki. See mw:Manual:Article for information on what constitutes an article.
{{NUMBEROFPAGES}}
{{NUMBEROFPAGES:R}}
4,669
4669
[MW1.7+] Returns the total number of pages. [3]
{{NUMBEROFFILES}}
{{NUMBEROFFILES:R}}
1,275
1275
[MW1.5+] Returns the number of uploaded files (rows in the image table).
{{NUMBEROFUSERS}}
{{NUMBEROFUSERS:R}}
8,924
8924
[MW1.7+] Returns the number of registered users (rows in the user table).
{{NUMBEROFADMINS}}
{{NUMBEROFADMINS:R}}
16
16
[MW1.7+] Returns the number of administrators (users in the sysop group).

System Load

If your machine has a multicore desktop CPU running at full speed all the time you will probably not even notice that there IS a load on the machine. I however happen to run an old notebook as a server and whenever the load goes up a bit, the nasty little fan starts making a lot of noise. So I tried to hunt down the source of the system load.

Comparison

The following table shows system load. That is time spent in C0(cpu running) in contrast to time spent in one of the sleep states. It should be noted that the work is being done at 188MHz on a 1.5GHz CPU.


Device driver Picture usb transfer
blocksize
zap w/o
pid filter
vdr w/o
pid filter
zap with
pid filter
vdr with
pid filter
MSI DigiVOX
mini II V3.0
af9015 (from hg branch)
Dvb-t-usb-msi-digivox-ii-rev3-001.jpg
512 27.6 34.3 1.1 14.7
Fujitsu-Siemens DVB-T
Mobile TV Tuner
vp7045 (hg main)
Fujitsu-Siemens-DVB-T-Mobile-001.jpg
4096 5.8 14.8 - -
Toshiba USB DVB-T
Tuner PX1211E-1TVD
dib3000mc (hg main)
Dvb-t-usb-toshiba-px1211e-1tvd-001.jpg
4096 5.8 13.4 0.5 8.0
Sino Video
SV3420D-V02
ec168 (hg branch)
Dvb-t-usb-sinovideo-sv3420d-v02-005.jpg
16384 2.3 9.3 - -
TerraTec
Cinergy XXS
dib0070 (hg main)
Terratec Cinergy XXS 001.jpg
39480 1.8 8.9 - -

As you can see the differences in system load are quite dramatic. The dominating factor is the number of USB transfers. Looking at the dvb sources, the dib0700 driver seems to use 39480 byte buffers. I finally got my fingers on a Cinergy XXS. I had to repeat some measurements for the EC168 but now the data is quite solid.

Detailed powertop measurements

More details:

I ran zap and vdr on a system that is idle. Without zap or vdr the system does about 5 wakups per second and spends about 0.1% of its time in C0 (cpu running).

Polling of the remote is disabled using the module option disable_rc_polling=1 for the dvb_usb module.

The hardware PID filter is enabled with the option force_pid_filter_usage=1 for the dvb_usb module.

vdr is the one from e-tobi.net/vdr-experimental lenny vdr-extensions here's the list of plugins that were enabled during the test: | Searching for plugins (VDR 1.6.0-2/1.6.0) (cache hit): epgsearch quickepgsearch conflictcheckonly live epgsearchonly ffnetdev streamdev-server.


MSI DigiVOX mini II rev.3

Compiled and installed according to the instructions on MSI_DigiVox_mini_II_V3.0.

The device has a hardware PID filter, but the maximum block size for transfers over USB seems to be limited to 512 byte. This causes a lot of protocol overhead.


#####################################################
==================== remote disabled, pid filter disabled
------------------ running zap
     PowerTOP version 1.10      (C) 2007 Intel Corporation

Cn                Avg residency       P-states (frequencies)
C0 (cpu running)        (27.6%)          750 Mhz     0.0%
polling           0.0ms ( 0.0%)          563 Mhz     0.0%
C1 halt           0.0ms ( 0.0%)          375 Mhz     0.0%
C2                0.0ms ( 0.0%)          188 Mhz   100.0%
C3                0.3ms (72.4%)

Wakeups-from-idle per second : 2721.4   interval: 10.0s
no ACPI power usage estimate available

Top causes for wakeups:
  63.1% (4686.6)   /sys/bus/usb/devices/5-1
  36.7% (2724.0)       <interrupt> : uhci_hcd:usb1, HDA Intel, ehci_hcd:usb5
   0.1% (  7.1)               zap : schedule_timeout (process_timeout)
   0.0% (  2.0)           xfsaild : schedule_timeout (process_timeout)
   0.0% (  1.6)   <kernel module> : ehci_work (ehci_watchdog)
   0.0% (  1.6)           xfsbufd : schedule_timeout (process_timeout)
   0.0% (  1.0)    kdvb-ad-0-fe-0 : schedule_timeout (process_timeout)
   0.0% (  1.0)          ifconfig : b44_open (b44_timer)
   0.0% (  1.0)               zap : do_nanosleep (hrtimer_wakeup)
   0.0% (  0.5)     <kernel core> : neigh_table_init_no_netlink (neigh_periodic_timer)

------------------- running vdr
     PowerTOP version 1.10      (C) 2007 Intel Corporation

Cn                Avg residency       P-states (frequencies)
C0 (cpu running)        (34.4%)          750 Mhz     0.0%
polling           0.0ms ( 0.0%)          563 Mhz     0.0%
C1 halt           0.0ms ( 0.0%)          375 Mhz     0.0%
C2                0.4ms (36.3%)          188 Mhz   100.0%
C3                0.2ms (29.3%)

Wakeups-from-idle per second : 2580.6   interval: 10.0s
no ACPI power usage estimate available

Top causes for wakeups:
  59.1% (4300.1)   /sys/bus/usb/devices/5-1
  37.6% (2730.7)       <interrupt> : uhci_hcd:usb1, HDA Intel, ehci_hcd:usb5
   3.0% (221.1)               vdr : futex_wait (hrtimer_wakeup)
   0.1% (  6.1)               vdr : schedule_timeout (process_timeout)
   0.0% (  2.0)           xfsaild : schedule_timeout (process_timeout)
   0.0% (  1.6)           xfsbufd : schedule_timeout (process_timeout)
   0.0% (  1.5)               vdr : hrtick_set (hrtick)
   0.0% (  1.0)          ifconfig : b44_open (b44_timer)
   0.0% (  1.0)               vdr : do_nanosleep (hrtimer_wakeup)
   0.0% (  1.0)              tail : do_nanosleep (hrtimer_wakeup)
   0.0% (  0.9)   <kernel module> : ehci_work (ehci_watchdog)

#######################################

------------------ remote disabled, pid filter enabled:
------------------ running zap
     PowerTOP version 1.10      (C) 2007 Intel Corporation

Cn                Avg residency       P-states (frequencies)
C0 (cpu running)        ( 1.1%)          750 Mhz     0.0%
polling           0.0ms ( 0.0%)          563 Mhz     0.0%
C1 halt           0.0ms ( 0.0%)          375 Mhz     0.0%
C2                0.0ms ( 0.0%)          188 Mhz   100.0%
C3               11.4ms (98.9%)

Wakeups-from-idle per second : 89.0     interval: 15.0s
no ACPI power usage estimate available

Top causes for wakeups:
  47.5% ( 63.9)       <interrupt> : uhci_hcd:usb1, HDA Intel, ehci_hcd:usb5
  31.9% ( 43.0)   /sys/bus/usb/devices/5-1
   8.1% ( 10.9)   <kernel module> : ehci_work (ehci_watchdog)
   5.6% (  7.6)               zap : schedule_timeout (process_timeout)
   1.5% (  2.0)           xfsaild : schedule_timeout (process_timeout)
   1.3% (  1.7)           xfsbufd : schedule_timeout (process_timeout)
   0.7% (  1.0)               zap : do_nanosleep (hrtimer_wakeup)
   0.7% (  1.0)          ifconfig : b44_open (b44_timer)
   0.7% (  1.0)    kdvb-ad-0-fe-0 : schedule_timeout (process_timeout)
   0.4% (  0.5)     <kernel core> : neigh_table_init_no_netlink (neigh_periodic_timer)

------------------ running vdr

     PowerTOP version 1.10      (C) 2007 Intel Corporation

Cn                Avg residency       P-states (frequencies)
C0 (cpu running)        (14.7%)          750 Mhz     0.0%
polling           0.0ms ( 0.0%)          563 Mhz     0.0%
C1 halt           0.0ms ( 0.0%)          375 Mhz     0.0%
C2                0.1ms ( 0.2%)          188 Mhz   100.0%
C3                1.1ms (85.1%)

Wakeups-from-idle per second : 823.2    interval: 10.0s
no ACPI power usage estimate available

Top causes for wakeups:
  46.2% (784.8)   /sys/bus/usb/devices/5-1
  39.4% (668.4)       <interrupt> : uhci_hcd:usb1, HDA Intel, ehci_hcd:usb5
  13.0% (221.3)               vdr : futex_wait (hrtimer_wakeup)
   0.4% (  6.9)   <kernel module> : ehci_work (ehci_watchdog)
   0.4% (  6.3)               vdr : schedule_timeout (process_timeout)
   0.1% (  2.0)           xfsaild : schedule_timeout (process_timeout)
   0.1% (  1.6)           xfsbufd : schedule_timeout (process_timeout)
   0.1% (  1.0)              tail : do_nanosleep (hrtimer_wakeup)
   0.1% (  1.0)          ifconfig : b44_open (b44_timer)
   0.1% (  1.0)               vdr : do_nanosleep (hrtimer_wakeup)
   0.1% (  0.9)    kdvb-ad-0-fe-0 : schedule_timeout (process_timeout)
   0.0% (  0.5)     <kernel core> : neigh_table_init_no_netlink (neigh_periodic_timer)

#########################################

Fujitsu-Siemens DVB-T Mobile TV Tuner

It doesn't have a hardware PID filter but uses 4096 byte bulk transfers over USB. Thus has less USB protocol overhead.

--------------------------- without remote, without pid filter
------------------ zap
     PowerTOP version 1.10      (C) 2007 Intel Corporation

Cn                Avg residency       P-states (frequencies)
C0 (cpu running)        ( 5.7%)          750 Mhz     0.0%
polling           0.0ms ( 0.0%)          563 Mhz     0.0%
C1 halt           0.0ms ( 0.0%)          375 Mhz     0.0%
C2                0.0ms ( 0.0%)          188 Mhz   100.0%
C3                2.0ms (94.3%)

Wakeups-from-idle per second : 473.5    interval: 10.0s
no ACPI power usage estimate available

Top causes for wakeups:
  55.7% (592.2)   USB device  5-1 : DVB-T 2 (Afatech)
  42.9% (455.9)       <interrupt> : uhci_hcd:usb1, ehci_hcd:usb5, HDA Intel
   0.5% (  5.7)               zap : schedule_timeout (process_timeout)
   0.2% (  2.4)    kdvb-ad-0-fe-0 : schedule_timeout (process_timeout)
   0.2% (  2.0)           xfsaild : schedule_timeout (process_timeout)
   0.2% (  1.6)           xfsbufd : schedule_timeout (process_timeout)
   0.1% (  1.0)               zap : do_nanosleep (hrtimer_wakeup)

-------------------- vdr
     PowerTOP version 1.10      (C) 2007 Intel Corporation

Cn                Avg residency       P-states (frequencies)
C0 (cpu running)        (13.0%)          750 Mhz     0.0%
polling           0.0ms ( 0.0%)          563 Mhz     0.0%
C1 halt           0.0ms ( 0.0%)          375 Mhz     0.0%
C2                0.1ms ( 0.1%)          188 Mhz   100.0%
C3                1.5ms (86.8%)

Wakeups-from-idle per second : 611.1    interval: 10.0s
no ACPI power usage estimate available

Top causes for wakeups:
  45.1% (540.5)   USB device  5-1 : DVB-T 2 (Afatech)
  34.9% (418.2)       <interrupt> : uhci_hcd:usb1, ehci_hcd:usb5, HDA Intel
  18.4% (220.8)               vdr : futex_wait (hrtimer_wakeup)


--------------------------


Toshiba USB DVB-T TV PX1211E-1TVD

This device has a hardware PID filter and uses 4096 Byte bulk transfers.

[329345.857835] dvb-usb: found a 'LITE-ON USB2.0 DVB-T Tuner' in warm state.
[329345.859820] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[329345.862374] DVB: registering new adapter (LITE-ON USB2.0 DVB-T Tuner)
[329345.875554] DVB: registering adapter 0 frontend 0 (DiBcom 3000MC/P)...
[329345.898401] MT2060: successfully identified (IF1 = 1220)
[329346.390290] dvb-usb: LITE-ON USB2.0 DVB-T Tuner successfully initialized and connected.
[329346.390729] usbcore: registered new interface driver dvb_usb_dibusb_mc


===================================== without pid filter
============ zap
     PowerTOP version 1.10      (C) 2007 Intel Corporation

Cn                Avg residency       P-states (frequencies)
C0 (cpu running)        ( 5.8%)          750 Mhz     0.0%
polling           0.0ms ( 0.0%)          563 Mhz     0.0%
C1 halt           0.0ms ( 0.0%)          375 Mhz     0.0%
C2                0.1ms ( 0.0%)          188 Mhz   100.0%
C3                2.0ms (94.2%)

Wakeups-from-idle per second : 484.0    interval: 10.0s
no ACPI power usage estimate available

Top causes for wakeups:
  55.9% (611.8)   USB device  5-1 : DVB-T 2 (Afatech) 
  42.9% (469.2)       <interrupt> : uhci_hcd:usb1, HDA Intel, ehci_hcd:usb5 
   0.5% (  5.5)               zap : schedule_timeout (process_timeout)
   0.2% (  2.0)           xfsaild : schedule_timeout (process_timeout)
   0.1% (  1.6)           xfsbufd : schedule_timeout (process_timeout)
   0.1% (  1.0)          ifconfig : b44_open (b44_timer)

============  vdr
     PowerTOP version 1.10      (C) 2007 Intel Corporation

Cn                Avg residency       P-states (frequencies)
C0 (cpu running)        (13.4%)          750 Mhz     0.0%
polling           0.0ms ( 0.0%)          563 Mhz     0.0%
C1 halt           0.0ms ( 0.0%)          375 Mhz     0.0%
C2                0.1ms ( 0.1%)          188 Mhz   100.0%
C3                1.4ms (86.5%)

Wakeups-from-idle per second : 616.6    interval: 10.0s
no ACPI power usage estimate available

Top causes for wakeups:
  45.5% (553.8)   /sys/bus/usb/devices/5-1
  35.0% (425.1)       <interrupt> : uhci_hcd:usb1, HDA Intel, ehci_hcd:usb5
  18.2% (221.1)               vdr : futex_wait (hrtimer_wakeup)
   0.5% (  5.9)               vdr : schedule_timeout (process_timeout)
   0.2% (  2.0)           xfsaild : schedule_timeout (process_timeout)
   0.1% (  1.8)           xfsbufd : schedule_timeout (process_timeout)
   0.1% (  1.0)          ifconfig : b44_open (b44_timer)
   0.1% (  1.0)              tail : do_nanosleep (hrtimer_wakeup)
   0.1% (  1.0)               vdr : do_nanosleep (hrtimer_wakeup)
   0.0% (  0.5)     <kernel core> : neigh_table_init_no_netlink (neigh_periodic_timer)
   0.0% (  0.5)     <kernel core> : schedule_delayed_work_on (delayed_work_timer_fn)
   0.0% (  0.5)    kdvb-ad-0-fe-0 : schedule_timeout (process_timeout)

=================================with pid filter
==================== zap
     PowerTOP version 1.10      (C) 2007 Intel Corporation

Cn                Avg residency       P-states (frequencies)
C0 (cpu running)        ( 0.5%)          750 Mhz     0.0%
polling           0.0ms ( 0.0%)          563 Mhz     0.0%
C1 halt           0.0ms ( 0.0%)          375 Mhz     0.0%
C2                0.0ms ( 0.0%)          188 Mhz   100.0%
C3               36.1ms (99.5%)

Wakeups-from-idle per second : 27.6     interval: 20.0s
no ACPI power usage estimate available

Top causes for wakeups:
  31.2% ( 10.0)           syslogd : ehci_irq (ehci_watchdog) 
  29.0% (  9.3)               zap : schedule_timeout (process_timeout)
   8.7% (  2.8)       <interrupt> : uhci_hcd:usb1, HDA Intel, ehci_hcd:usb5
   6.2% (  2.0)           xfsaild : schedule_timeout (process_timeout)
   5.8% (  1.9)   USB device  5-1 : DVB-T 2 (Afatech)
   5.3% (  1.7)           xfsbufd : schedule_timeout (process_timeout)
   3.1% (  1.0)          ifconfig : b44_open (b44_timer)
   3.1% (  1.0)               zap : do_nanosleep (hrtimer_wakeup)

===================== vdr
     PowerTOP version 1.10      (C) 2007 Intel Corporation

Cn                Avg residency       P-states (frequencies)
C0 (cpu running)        ( 8.0%)          750 Mhz     0.0%
polling           0.0ms ( 0.0%)          563 Mhz     0.0%
C1 halt           0.0ms ( 0.0%)          375 Mhz     0.0%
C2                0.1ms ( 0.0%)          188 Mhz   100.0%
C3                3.0ms (91.9%)

Wakeups-from-idle per second : 311.3    interval: 10.0s
no ACPI power usage estimate available

Top causes for wakeups:
  50.1% (221.4)               vdr : futex_wait (hrtimer_wakeup)
  24.3% (107.5)   /sys/bus/usb/devices/5-1
  20.3% ( 89.5)       <interrupt> : uhci_hcd:usb1, HDA Intel, ehci_hcd:usb5
   1.7% (  7.3)   <kernel module> : ehci_work (ehci_watchdog)
   1.4% (  6.0)               vdr : schedule_timeout (process_timeout)
   0.5% (  2.0)           xfsaild : schedule_timeout (process_timeout)
   0.4% (  1.8)           xfsbufd : schedule_timeout (process_timeout)
   0.2% (  1.0)          ifconfig : b44_open (b44_timer)
   0.2% (  1.0)               vdr : do_nanosleep (hrtimer_wakeup)
   0.2% (  1.0)              tail : do_nanosleep (hrtimer_wakeup)
   0.1% (  0.5)    kdvb-ad-0-fe-0 : schedule_timeout (process_timeout)

SinoVideo SV3420D-V02

This device is based on the E3C_EC168 Chip. Support is very experimental and based on USB sniffing. Most features will not work. It probably does not have a pid filter but thats just one of the many unknowns. If anybody gets hold of the EC168 or EC188 specs please please send me a copy.

The name and number schema seems a little intransparent for the whole family of devices but they are cheap as chips. I picked up mine new via ebay from a Chinese shop for less than 6 Euros (+pp), including remote and antenna. It was sold to me as SV3420B but the PCB says SV3420D-V02. I've seen pictures of the device under a lot of different pseudo brands. (Try a google image search for "3420 DVB-T".)

The driver CD is named "SV3420A" and all files are timestamped September 2007. So my guess is that the only changes that happened between the "A" version an the current "D-V02" version are changes to the case design, the PCB layout and maybe some minor components. Since the windows driver seems to be the same for all those devices, my guess is that the Linux driver should also work equally for all of them.


[1217714.429823] usb 5-1: new high speed USB device using ehci_hcd and address 11
[1217714.561392] usb 5-1: configuration #1 chosen from 1 choice
[1217714.572099] input: HID 18b4:1689 as /class/input/input9
[1217714.600549] input,hidraw0: USB HID v1.11 Keyboard [HID 18b4:1689] on usb-0000:00:1d.7-1
[1217714.601760] usb 5-1: New USB device found, idVendor=18b4, idProduct=1689
[1217714.601896] usb 5-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0

Without any driver the device is recognized as hid raw device.

[1220628.851806] dvb-usb: found a 'E3C EC168 DVB-T USB2.0 reference design' in cold state, will try to load a firmware
[1220628.852984] firmware: requesting dvb-usb-ec168.fw
[1220629.527759] dvb-usb: downloading firmware from file 'dvb-usb-ec168.fw'
[1220629.551527] dvb-usb: found a 'E3C EC168 DVB-T USB2.0 reference design' in warm state.
[1220629.552845] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[1220629.554959] DVB: registering new adapter (E3C EC168 DVB-T USB2.0 reference design)
[1220629.558609] DVB: registering adapter 0 frontend 0 (E3C EC100 DVB-T)...
[1220629.559342] MXL5005S: Attached at address 0xc6
[1220629.560823] dvb-usb: E3C EC168 DVB-T USB2.0 reference design successfully initialized and connected.
[1220629.561204] usbcore: registered new interface driver dvb_usb_ec168

After compiling the ec168 driver as described in a possible way to get the ec168 working the device is registered by the dvb_usb framework.

Having it recognized as hid device causes additional 10 wakups per second and an idle load in C0 of 0.4%. I unloaded the usbhid module to have the same baseline for my load tests.

====================================== running zap
     PowerTOP version 1.10      (C) 2007 Intel Corporation

Cn                Avg residency       P-states (frequencies)
C0 (cpu running)        ( 2.3%)          750 Mhz     0.0%
polling           0.0ms ( 0.0%)          563 Mhz     0.0%
C1 halt           0.0ms ( 0.0%)          375 Mhz     0.0%
C2                0.1ms ( 0.0%)          188 Mhz   100.0%
C3                7.4ms (97.7%)

Wakeups-from-idle per second : 132.2    interval: 15.0s
no ACPI power usage estimate available

Top causes for wakeups:
  51.2% (135.7)   USB device  5-1 : TvTUNER (SKGZ)
  42.7% (113.1)       <interrupt> : uhci_hcd:usb1, HDA Intel, ehci_hcd:usb5
   2.7% (  7.1)               zap : schedule_timeout (process_timeout)
   0.8% (  2.0)           xfsaild : schedule_timeout (process_timeout)
   0.7% (  1.7)           xfsbufd : schedule_timeout (process_timeout)
   0.4% (  1.0)          ifconfig : b44_open (b44_timer)
   0.4% (  1.0)               zap : do_nanosleep (hrtimer_wakeup)
   0.2% (  0.6)    kdvb-ad-0-fe-0 : schedule_timeout (process_timeout)


======================================= running vdr
     PowerTOP version 1.10      (C) 2007 Intel Corporation

Cn                Avg residency       P-states (frequencies)
C0 (cpu running)        ( 9.3%)          750 Mhz     0.0%
polling           0.0ms ( 0.0%)          563 Mhz     0.0%
C1 halt           0.0ms ( 0.0%)          375 Mhz     0.0%
C2                0.1ms ( 0.1%)          188 Mhz   100.0%
C3                2.9ms (90.7%)

Wakeups-from-idle per second : 321.5    interval: 10.0s
no ACPI power usage estimate available

Top causes for wakeups:
  45.7% (220.8)               vdr : futex_wait (hrtimer_wakeup)
  28.8% (138.8)   USB device  5-1 : TvTUNER (SKGZ)
  22.3% (107.5)       <interrupt> : uhci_hcd:usb1, ehci_hcd:usb5, HDA Intel
   1.2% (  6.0)               vdr : schedule_timeout (process_timeout)
   0.4% (  2.0)           xfsaild : schedule_timeout (process_timeout)
   0.4% (  1.8)           xfsbufd : schedule_timeout (process_timeout)
   0.2% (  1.0)               vdr : do_nanosleep (hrtimer_wakeup)
   0.2% (  1.0)          ifconfig : b44_open (b44_timer)
   0.2% (  1.0)     <kernel core> : ehci_work (ehci_watchdog)
   0.1% (  0.6)    kdvb-ad-0-fe-0 : schedule_timeout (process_timeout)

TerraTec Cinergy XXS

====================================== running zap
     PowerTOP version 1.10      (C) 2007 Intel Corporation                                                                                     

Cn                Avg residency       P-states (frequencies)
C0 (cpu running)        ( 1.8%)          750 Mhz     0.0%
polling           0.0ms ( 0.0%)          563 Mhz     0.0%
C1 halt           0.0ms ( 0.0%)          375 Mhz     0.0%
C2                0.1ms ( 0.0%)          188 Mhz   100.0%
C3               14.3ms (98.2%)

Wakeups-from-idle per second : 68.6     interval: 15.0s                                                                                        
no ACPI power usage estimate available

Top causes for wakeups:
  47.7% ( 56.9)   USB device  5-1 : CinergyTUSB XXS (TerraTec GmbH) 
  40.0% ( 47.7)       <interrupt> : uhci_hcd:usb1, ehci_hcd:usb5, HDA Intel 
   4.8% (  5.7)               zap : schedule_timeout (process_timeout)
   1.7% (  2.0)           xfsaild : schedule_timeout (process_timeout)
   1.5% (  1.7)           xfsbufd : schedule_timeout (process_timeout)
   0.8% (  1.0)          ifconfig : b44_open (b44_timer)
   0.8% (  1.0)               zap : do_nanosleep (hrtimer_wakeup)
   0.4% (  0.5)    kdvb-ad-0-fe-0 : schedule_timeout (process_timeout)
   0.4% (  0.5)     <kernel core> : schedule_delayed_work_on (delayed_work_timer_fn)

====================================== running vdr
     PowerTOP version 1.10      (C) 2007 Intel Corporation

Cn                Avg residency       P-states (frequencies)
C0 (cpu running)        ( 8.9%)          750 Mhz     0.0%
polling           0.0ms ( 0.0%)          563 Mhz     0.0%
C1 halt           0.0ms ( 0.0%)          375 Mhz     0.0%
C2                0.1ms ( 0.0%)          188 Mhz   100.0%
C3                3.5ms (91.1%)

Wakeups-from-idle per second : 265.4    interval: 10.0s
no ACPI power usage estimate available

Top causes for wakeups:
  64.7% (221.2)               vdr : futex_wait (hrtimer_wakeup) 
  16.6% ( 56.9)   USB device  5-1 : CinergyTUSB XXS (TerraTec GmbH) 
  13.2% ( 45.0)       <interrupt> : uhci_hcd:usb1, ehci_hcd:usb5, HDA Intel 
   1.8% (  6.0)               vdr : schedule_timeout (process_timeout)
   0.6% (  2.0)           xfsaild : schedule_timeout (process_timeout)
   0.5% (  1.6)           xfsbufd : schedule_timeout (process_timeout)
   0.4% (  1.5)     <kernel core> : ehci_work (ehci_watchdog)
   0.4% (  1.3)       <interrupt> : ide0
   0.3% (  1.0)               vdr : do_nanosleep (hrtimer_wakeup)
   0.3% (  1.0)              tail : do_nanosleep (hrtimer_wakeup)
   0.3% (  1.0)          ifconfig : b44_open (b44_timer)
   0.1% (  0.5)     <kernel core> : schedule_delayed_work_on (delayed_work_timer_fn)
   0.1% (  0.5)    kdvb-ad-0-fe-0 : schedule_timeout (process_timeout)