Dienstag, Januar 07, 2014

Sendersuchlauf

Sender suchen

Anleitung ist http://www.vdr-wiki.de/wiki/index.php/W_scan

Wichtig: Vorher vdr stoppen. Das geht mit

/etc/init.d/vdr stop

Konkreter Befehl, wenn Astra 19,2 Ost (Offizielle Senderliste) verwendet wird und eine Ausgabe für VDR (>= 1.7) erzeugt werden soll:

sudo -u vdr sh -c "w_scan -o7 -fs -sS19E2 >>/var/lib/vdr/channels.conf"

Die Ausgabe sollte so aussehen:

w_scan version 20120605 (compiled for DVB API 5.4)
using settings for 19.2 east Astra 1F/1G/1H/1KR/1L
scan type SATELLITE, channellist 67
output format vdr-1.7
output charset 'UTF-8', use -C <charset> to override
Info: using DVB adapter auto detection.
    /dev/dvb/adapter0/frontend0 -> SATELLITE "Conexant CX24116/CX24118": very good :-))

Using SATELLITE frontend (adapter /dev/dvb/adapter0/frontend0)
-_-_-_-_ Getting frontend capabilities-_-_-_-_
Using DVB API 5.4
frontend 'Conexant CX24116/CX24118' supports
INVERSION_AUTO
DVB-S
DVB-S2
FREQ (0.95GHz ... 2.15GHz)
SRATE (1.000MSym/s ... 45.000MSym/s)
using LNB "UNIVERSAL"
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
trying 'S2 f = 10729 kHz V SR = 22000  2/3 0,35  8PSK'
(time: 00:00)
trying 'S  f = 10744 kHz H SR = 22000  5/6 0,35  QPSK'
(time: 00:03) (time: 00:05) signal ok:
    S  f = 10744 kHz H SR = 22000  5/6 0,35  QPSK
Zwischendurch sollten die Namen der Sender auftauchen, z.B.:
tune to: S  f = 10743 kHz H SR = 22000  5/6 0,35  QPSK
(time: 03:04)     service = tagesschau24 (ARD)
    service = Einsfestival (ARD)
    service = EinsPlus (ARD)
    service = arte (ARD)
    service = PHOENIX (ARD)
    service = Test-R (ARD)

Läuft bei mir ca. 25 Minuten und erzeugt 1254 Zeilen in channels.conf
wc -l channels.conf
1254 channels.conf

Montag, Januar 06, 2014

Treiber für Hauppauge installieren

Treiber installieren

Firmware per Paketmanager installieren - Ist dieser Schritt wirklich nötig?

In vielen Anleitungen, die ich gefunden habe, steht, dass Treiber-Firmware installiert werden muss. Das ist richtig. Dazu werden oft die folgenden zwei Pakete genannt und installiert. Ich habe das auch gemacht, aber zweifle am Erfolg, denn in den Listen der Pakete ist kein Treiber CX24116 enthalten. Bei manchen scheint es auch ohne die Firmware zu klappen, aber es gibt auch einige, die damit ein Problem haben: http://www.vdr-portal.de/board/thread.php?threadid=92729


Man findet die Pakete, wenn man nach "dvb" oder "firmware" sucht:
  1. firmware-linux-free-3.2
    Dieses Paket enthält Firmware, die bisher im Linux-Kernel enthalten war und den Debian Free Software Guidelines gerecht wird.
  2. firmware-linux-nonfree-0.36+wheezy.1
    This package contains the binary firmware for  various drivers in the Linux kernel.  This is a collection of firmware blobs which are not individually large enough to warrant a standalone package.

Firmware manuell installieren

Für Hauppauge WinTV-NOVA-HD-S2 muss derselbe Treiber wie Hauppauge WinTV-HVR-4000 installiert werden: CX24116. Auf der Seite von linuxtv.org ist eine ausführliche Beschreibung über die unterschiedlichen Versionen des Treibers. Derzeit funktionieren aber nur die Links der folgenden Versionen:
Jetzt einfach die Anleitung auf linuxtv.org befolgen und den Treiber erzeugen und nach /lib/firmware kopieren.

Leider hat Hauppauge keine Linux-Treiber auf seiner Homepage: http://www.hauppauge.de/site/support/support_linux.html.

Karte erkennen

root@debian:/home/jdufner# lspci -vnn
...
01:00.0 VGA compatible controller [0300]: Advanced Micro Devices [AMD] nee ATI Cedar PRO [Radeon HD 5450/6350] [1002:68f9] (prog-if 00 [VGA controller])
    Subsystem: Micro-Star International Co., Ltd. Device [1462:2127]
    Flags: bus master, fast devsel, latency 0, IRQ 11
    Memory at d0000000 (64-bit, prefetchable) [size=256M]
    Memory at fdde0000 (64-bit, non-prefetchable) [size=128K]
    I/O ports at dc00 [size=256]
    Expansion ROM at fde00000 [disabled] [size=128K]
    Capabilities: [50] Power Management version 3
    Capabilities: [58] Express Legacy Endpoint, MSI 00
    Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+
    Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
    Capabilities: [150] Advanced Error Reporting

01:00.1 Audio device [0403]: Advanced Micro Devices [AMD] nee ATI Cedar HDMI Audio [Radeon HD 5400/6300 Series] [1002:aa68]
    Subsystem: Micro-Star International Co., Ltd. Device [1462:aa68]
    Flags: bus master, fast devsel, latency 0, IRQ 51
    Memory at fdddc000 (64-bit, non-prefetchable) [size=16K]
    Capabilities: [50] Power Management version 3
    Capabilities: [58] Express Legacy Endpoint, MSI 00
    Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
    Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
    Capabilities: [150] Advanced Error Reporting
    Kernel driver in use: snd_hda_intel

04:02.0 Multimedia video controller [0400]: Conexant Systems, Inc. CX23880/1/2/3 PCI Video and Audio Decoder [14f1:8800] (rev 05)
    Subsystem: Hauppauge computer works Inc. Device [0070:6906]
    Flags: bus master, medium devsel, latency 64, IRQ 18
    Memory at f9000000 (32-bit, non-prefetchable) [size=16M]
    Capabilities: [44] Vital Product Data
    Capabilities: [4c] Power Management version 2
    Kernel driver in use: cx8800

04:02.1 Multimedia controller [0480]: Conexant Systems, Inc. CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] [14f1:8801] (rev 05)
    Subsystem: Hauppauge computer works Inc. Device [0070:6906]
    Flags: bus master, medium devsel, latency 64, IRQ 18
    Memory at fa000000 (32-bit, non-prefetchable) [size=16M]
    Capabilities: [4c] Power Management version 2
    Kernel driver in use: cx88_audio

04:02.2 Multimedia controller [0480]: Conexant Systems, Inc. CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] [14f1:8802] (rev 05)
    Subsystem: Hauppauge computer works Inc. Device [0070:6906]
    Flags: bus master, medium devsel, latency 64, IRQ 18
    Memory at fb000000 (32-bit, non-prefetchable) [size=16M]
    Capabilities: [4c] Power Management version 2
    Kernel driver in use: cx88-mpeg driver manager

04:02.4 Multimedia controller [0480]: Conexant Systems, Inc. CX23880/1/2/3 PCI Video and Audio Decoder [IR Port] [14f1:8804] (rev 05)
    Subsystem: Hauppauge computer works Inc. Device [0070:6906]
    Flags: bus master, medium devsel, latency 64, IRQ 9
    Memory at fc000000 (32-bit, non-prefetchable) [size=16M]
    Capabilities: [4c] Power Management version 2
Grafikkarte und TV-Karte gefunden (andere Sachen wir Netzwerkkarte, SATA-Controller etc entfernt)!

 Was sagt Linux zur TV-Karte?
root@debian:/home/jdufner# dmesg | grep -i hauppauge
[    7.662275] cx88[0]: subsystem: 0070:6906, board: Hauppauge WinTV-HVR4000(Lite) DVB-S/S2 [card=69,autodetected], frontend(s): 1
[    7.880799] tveeprom 1-0050: Hauppauge model 69100, rev B4C3, serial# 8545779
[    7.880814] cx88[0]: hauppauge eeprom: model=69100
[    7.924011] Registered IR keymap rc-hauppauge
[    7.924146] input: cx88 IR (Hauppauge WinTV-HVR400 as /devices/pci0000:00/0000:00:1e.0/0000:04:02.2/rc/rc0/input6
[    7.924198] rc0: cx88 IR (Hauppauge WinTV-HVR400 as /devices/pci0000:00/0000:00:1e.0/0000:04:02.2/rc/rc0
[    7.959460] cx88[0]/2: subsystem: 0070:6906, board: Hauppauge WinTV-HVR4000(Lite) DVB-S/S2 [card=69]
Was sagt Linux zum Treiber?

root@debian:/home/jdufner# dmesg | grep cx
[   29.539838] cx24116_firmware_ondemand: Waiting for firmware upload (dvb-fe-cx24116.fw)...
[   30.008694] cx88-mpeg driver manager 0000:04:02.2: firmware: agent loaded dvb-fe-cx24116.fw into memory
[   34.959511] cx24116_load_firmware: FW version 1.26.90.0
[   34.959527] cx24116_firmware_ondemand: Firmware upload complete
Erkannt!

Die Treiber funktionieren, wenn hier folgende Geräte angezeigt werden:

root@debian:/home/jdufner# ls  -l /dev/dvb/adapter0/
insgesamt 0
crw-rw---T+ 1 root video 212, 1 Jan  6 17:03 demux0
crw-rw---T+ 1 root video 212, 2 Jan  6 17:03 dvr0
crw-rw---T+ 1 root video 212, 0 Jan  6 17:03 frontend0
crw-rw---T+ 1 root video 212, 3 Jan  6 17:03 net0
Bingo!

Unfreien Radeon-Treiber installieren

Anleitung:

http://wiki.debianforum.de/Unfreie_Grafiktreiber_für_ATI

Nach Intialisierung folgende Ausgabe:

root@debian:/home/jdufner# aticonfig --initial
Uninitialised file found, configuring.
Using /etc/X11/xorg.conf
Saving back-up to /etc/X11/xorg.conf.original-0

Debian-Paketquellen erweitern

Debian ist enthält per Definition nur freie Software, also auch keine von Herstellern für Linux zur Verfügung gestellte Treiben, die Closed Source sind. Um diese Treiber trotzdem installieren zu können, müssen die Paketquellen erweitert werden:

/etc/apt/sources.list

deb http://ftp.de.debian.org/debian/ wheezy main contrib non-free
deb-src http://ftp.de.debian.org/debian/ wheezy main contrib non-free

deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free

# wheezy-updates, previously known as 'volatile'
deb http://ftp.de.debian.org/debian/ wheezy-updates main contrib non-free
deb-src http://ftp.de.debian.org/debian/ wheezy-updates main contrib non-free
Dokumentation: http://wiki.debianforum.de/Sources.list

Eine weiter Möglichkeit neue Paketquellen hinzuzufügen ist:

root@debian:/etc/apt# wget -P /etc/apt/sources.list.d http://www.e-tobi.net/blog/files/e-tobi.list
--2014-01-06 08:40:36--  http://www.e-tobi.net/blog/files/e-tobi.list
Auflösen des Hostnamen »www.e-tobi.net (www.e-tobi.net)«... 77.236.96.67
Verbindungsaufbau zu www.e-tobi.net (www.e-tobi.net)|77.236.96.67|:80... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 200 OK
Länge: 200 [application/octet-stream]
In »»/etc/apt/sources.list.d/e-tobi.list«« speichern.

100%[==================================================================================================>] 200         --.-K/s   in 0s     

2014-01-06 08:40:36 (26,4 MB/s) - »»/etc/apt/sources.list.d/e-tobi.list«« gespeichert [200/200]

root@debian:/etc/apt# wget -P /etc/apt/preferences.d http://www.e-tobi.net/blog/files/e-tobi
--2014-01-06 08:40:49--  http://www.e-tobi.net/blog/files/e-tobi
Auflösen des Hostnamen »www.e-tobi.net (www.e-tobi.net)«... 77.236.96.67
Verbindungsaufbau zu www.e-tobi.net (www.e-tobi.net)|77.236.96.67|:80... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 200 OK
Länge: 56 [application/octet-stream]
In »»/etc/apt/preferences.d/e-tobi«« speichern.

100%[==================================================================================================>] 56          --.-K/s   in 0s     

2014-01-06 08:40:49 (7,92 MB/s) - »»/etc/apt/preferences.d/e-tobi«« gespeichert [56/56]

Sonntag, Januar 05, 2014

GDM3 für Remote-Login von Windows / Cygwin konfigurieren

Linux konfigurieren

 Betriebssystem:

jdufner@debian:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 7.3 (wheezy)
Release:        7.3
Codename:       wheezy

Remote Login für GDM3 / XDM einstellen. Dazu folgende Dateien ändern:

/etc/gdm3/daemon.conf
[security]
DisallowTCP=false

[xdmcp]
DisplaysPerHost=1
Enable=true

Zugriff von Windows

cygwin-Commandline:
X -screen 0 1024x768@1 -broadcast :1

oder
X -screen 0 1024:768@1 -query 192.168.2.110 :1
Viel Spaß damit!

Sonntag, August 25, 2013

JUnit-Tests parallel ausführen

Q: Wie kann ich JUnit-Tests parallel ausführen?
A: Mit org.junit.experimental.ParallelComputer.ParallelComputer(boolean, boolean) ! Ein Anwendungsbeispiel ist in
How to make JUnit test cases execute in parallel? [duplicate] gezeigt. Ich hab's ausprobiert und es funktioniert wunderbar. Es funktioniert sowohl den ParallelComputerTest alleine auszführen als auch in einer Suite mit anderen Tests, wobei die anderen Tests sequentiell ausgeführt werden..

Aufsetzen der Cordova-Android-Entwicklungsumgebung

Installationsrezept

  1. Java Standard Edition Development Kit downloaden und installieren (derzeit ist Java 7.0.25 aktuell, ich verwende die 64-bit Edition)
    • JAVA_HOME setzen
    • %JAVA_HOME%\bin in PATH aufnehmen
  2. Apache Ant downloaden und installieren (derzeit ist 1.9.2 aktuell)
    • ANT_HOME setzen
    • %ANT_HOME%\bin in PATH aufnehmen
  3. Android SDK downloaden und installieren (ich verwende die 64-bit Edition, die aktuelle Version)
    • ANDROID_SDK_HOME setzen
    • %ANDROID_SDK_HOME%\tools und %ANDROID_SDK_HOME%\platform-tools in PATH aufnehmen
  4. Node.js downloaden und installieren (ich verwende v0.10.17)
    1. Command-Shell öffnen mit cmd
    2. Cordova installieren: npm install -g cordova
  5. Netbeans downloaden und installieren (derzeit ist 7.3.1 aktuell, die 7.4 Beta ist nicht aktuell)
  6. Google Chrome downloaden und installieren, sowie folgende Plugins
    1. NetBeans Connector installieren
    2. Ripple Emulator (Beta) installieren

Erstes Projekt:  "Hello World!"

Einfach die Anleitung don Cordova-CLI befolgen.

Im nächsten Blog erzähle ich, wie man das GitHub-Projekt Zählerverwaltung auscheckt und zum Laufen bekommt. Bis dahin könnt ihr schonmal einen GutHub-User anlegen.

Samstag, August 24, 2013

Relaunch

Das ist der erste Post seit Jahren. Hiermit starte ich meinen Blog erneut um ein paar Notizen zu machen.

Sonntag, August 06, 2006

Ich suche ein Perl-Skript mit dem ich zwei Text-Dateien voneinander subtrahieren kann. Der Inhalt der Dateien ist ähnlich im Sinnes davon, dass die Zeilen gleich formatiert sind. Kann ich die Dateien evtl. auch mit diff subtrahieren?

Da ich in kurzer Zeit nichts passendes finden konnte habe ich ein eigenes Skript subtractOptimized.pl geschrieben:
open(FILE0, $ARGV[0]);
@lines0 = <FILE0>;
@lines0 = sort @lines0;
open(FILE1, $ARGV[1]);
@lines1 = <FILE1>;
@lines1 = sort @lines1;
for (@lines0) {
  $left = $_;
  $left =~ s/\r|\n//g;
  &find();
}
close(FILE0);
close(FILE1);


sub find() {
  my $remove = 0;
  my $retry = 0;
  if (scalar @lines1 > 0) {
    $right = $lines1[0];
    $right =~ s/\r|\n//g;
    if ($left lt $right) {
      print $left."\n";
    }
    if ($left eq $right) {
      $remove = 1;
    }
    if ($left gt $right) {
      $remove = 1;
      $retry = 1;
    }
    if ($remove > 0) {
      shift @lines1;
    }
    if ($retry > 0) {
      &find();
    }
  } else {
    print $left."\n";
  }
}

Das Skript subtrahiert Datei2 von Datei1, mit der Randbedingung, dass die Dateien sortiert werden. Diese Randbedingung ist für meine Zwecke ok und verbessert die Laufzeit. Wen die Randbedingung (Sortierung) stört, der darf selbst noch Hand anlegen.

Sonntag, März 26, 2006

Lieblingszitate

Lieblingszitate


Ja, mach nur einen Plan
Sei nur ein großes Licht!
Und mach dann noch 'nen zweiten Plan
Gehn tun sie beide nicht.
- Bertolt Brecht, Dreigroschenoper

singt Jonathan Jeremias Peachum, der Bettlerkönig, in der Dreigroschenoper in seinem Lied von der Unzulänglichkeit menschlichen Strebens.