ubuntuusers.de

Pi VDR mit Cinergy S2 USB STICK 0ccd:0102

Status: Ungelöst | Ubuntu-Version: Kein Ubuntu
Antworten |

hakunamatata Team-Icon

Supporter
Avatar von hakunamatata

Anmeldungsdatum:
30. Juni 2009

Beiträge: 5130

Es gibt wieder ein neues DKMS-Paket zum Testen:

sudo wget https://www.dropbox.com/sh/2ex0yaoognjsrcc/AACjfsvqmKBc2Fl7UOIlrV8ga/dw2102-dkms_3.19A_all.deb -O dw2102-dkms_3.19_all.deb
sudo dpkg -i dw2102-dkms_3.19_all.deb

In diesem Paket ist nun der ursprüngliche Patch für deinen Stick 0ccd:0102.patch und das Modul ts2020 wird nun zusätzlich aus dem Liplianin-Paket gebaut. Die Änderungen, dass das Kernelmodul ts2020 unverändert verwendet werden kann, habe ich wieder zurückgenommen.

derLarry

(Themenstarter)

Anmeldungsdatum:
10. Juni 2015

Beiträge: 18

Es gibt wieder ein neues DKMS-Paket zum Testen:

Hi, habe es runtergeladen und installiert. Die Source-Code Dateien haben auch das Änderungsdatum von gestern –- Leider funktioniert es nicht. Die dmesg Meldungen sind die selben:

dmesg | egrep -i "dvb|dw2102|ds3|firmware|ts2020"
[    7.466010] dw2102: su3000_identify_state
[    7.967956] dvb-usb: found a 'Terratec Cinergy S2 USB HD Rev.3' in warm state.
[    8.439390] dw2102: su3000_power_ctrl: 1, initialized 0
[    8.934491] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[    9.220927] DVB: registering new adapter (Terratec Cinergy S2 USB HD Rev.3)
[    9.523514] dvb-usb: MAC address: ff:ff:ff:ff:ff:ff
[   10.038541] DS3000 chip version: 0.192 attached.
[   10.199430] ts2020_attach: Read tuner reg[0] = 195
[   10.274439]  Chip ID = [DS300X]! Not supported by this module
[   10.308075] dw2102: Failed to attach DS310x/TS202x!
[   10.367977] dvb-usb: no frontend was attached by 'Terratec Cinergy S2 USB HD Rev.3'
[   10.397959] input: IR-receiver inside an USB DVB receiver as /devices/platform/bcm2708_usb/usb1/1-1/1-1.2/1-1.2.4/input/input3
[   10.438593] dvb-usb: schedule remote query interval to 150 msecs.
[   10.467835] dw2102: su3000_power_ctrl: 0, initialized 1
[   10.524015] dvb-usb: Terratec Cinergy S2 USB HD Rev.3 successfully initialized and connected.
[   10.545428] usbcore: registered new interface driver dw2102
[   12.617812] dvb-usb: recv bulk message failed: -110
[   12.647732] dw2102: i2c transfer failed.

Meine gemachten Änderungen sind durch das Paket überschrieben. Da die jetzt auch nicht im Log auftauchen, ist das Modul mit dem dpkg -i installiert.

LG, derLarry

hakunamatata Team-Icon

Supporter
Avatar von hakunamatata

Anmeldungsdatum:
30. Juni 2009

Beiträge: 5130

Da die jetzt auch nicht im Log auftauchen, ist das Modul mit dem dpkg -i installiert.

Nur zur Sicherheit: Zwischen der Installation und der Ausgabe wurde das System bereits einmal neugestartet ?

Ich sehe es mir jedenfalls an und melde mich wieder.

hakunamatata Team-Icon

Supporter
Avatar von hakunamatata

Anmeldungsdatum:
30. Juni 2009

Beiträge: 5130

[   10.199430] ts2020_attach: Read tuner reg[0] = 195

Alles klar. 195 sollte kein TS2020 sein, sondern ein TS2022. Dein Stick verwendet anscheinend die Kombination DS3000/TS2022. Ich berücksichtige das im Treiber und melde mich wieder.

hakunamatata Team-Icon

Supporter
Avatar von hakunamatata

Anmeldungsdatum:
30. Juni 2009

Beiträge: 5130

Wieder ein Patch:

cd /usr/src/dw2102-3.19
sudo dkms remove -m dw2102 -v 3.19 --all
sudo wget https://media-cdn.ubuntu-de.org/forum/attachments/05/26/7642363-dw2102-ts2022.patch -O dw2102-ts2022.patch
sudo patch -p1 < dw2102-ts2022.patch
sudo dkms install -m dw2102 -v 3.19

Mit diesem Patch wird zwar weiterhin diese Meldung auftauchen:

ts2020_attach: Read tuner reg[0] = 195

Ich hoffe aber, dass danach mit einer erfolgreichen Zuordnung zum TS2022 fortgesetzt wird:

dw2102: Attached DS3000/TS2022!
dw2102-ts2022.patch (378 Bytes)
Download dw2102-ts2022.patch

derLarry

(Themenstarter)

Anmeldungsdatum:
10. Juni 2015

Beiträge: 18

Wieder ein Patch:

hakunamatata ist der Größte!!!! Es läuft.

 dmesg | egrep -i "dvb|dw2102|ds3|firmware|ts2020|frontend"
[    8.245393] dw2102: su3000_identify_state
[    8.733029] dvb-usb: found a 'Terratec Cinergy S2 USB HD Rev.3' in warm state.
[    9.007163] dw2102: su3000_power_ctrl: 1, initialized 0
[    9.323450] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[    9.478045] DVB: registering new adapter (Terratec Cinergy S2 USB HD Rev.3)
[    9.608592] dvb-usb: MAC address: ff:ff:ff:ff:ff:ff
[   10.110301] DS3000 chip version: 0.192 attached.
[   10.218977] ts2020_attach: Read tuner reg[0] = 195
[   10.278990] dw2102: Attached DS3000/TS2022!
[   10.302339] usb 1-1.2.4: DVB: registering adapter 0 frontend 0 (Montage Technology DS3000)...
[   10.337784] input: IR-receiver inside an USB DVB receiver as /devices/platform/bcm2708_usb/usb1/1-1/1-1.2/1-1.2.4/input/input3
[   10.378846] dvb-usb: schedule remote query interval to 150 msecs.
[   10.423540] dw2102: su3000_power_ctrl: 0, initialized 1
[   10.493523] dvb-usb: Terratec Cinergy S2 USB HD Rev.3 successfully initialized and connected.
[   10.514979] usbcore: registered new interface driver dw2102
[   12.567766] dvb-usb: recv bulk message failed: -110
[   12.607768] dw2102: i2c transfer failed.
[  325.888317] dw2102: su3000_power_ctrl: 1, initialized 1
[  325.905966] ds3000_firmware_ondemand: Waiting for firmware upload (dvb-fe-ds3000.fw)...
[  325.910813] ds3000_firmware_ondemand: Waiting for firmware upload(2)... 

Tausend Dank für die fantastische Unterstützung. Vielleicht könntest du das DKMS Paket mit dem integrierten Patch bauen. Es war einfach nur super mit dir zusammenzuarbeiten. Ich werde noch eine Zusammenfassung für alles schreiben.

LG, derLarry

hakunamatata Team-Icon

Supporter
Avatar von hakunamatata

Anmeldungsdatum:
30. Juni 2009

Beiträge: 5130

Vielleicht könntest du das DKMS Paket mit dem integrierten Patch bauen.

Kein Problem. Wenn es nun funktioniert, ist der Paketbau mit

sudo dkms mkdeb -m dw2102 -v 3.19 --source-only

ja schnell erledigt.

Ich habe die alten Zwischenversionen nun gelöscht und durch das neue Paket ersetzt. Der Download und die Installation des neuen DKMS-Pakets ist nun so möglich:

wget https://www.dropbox.com/sh/2ex0yaoognjsrcc/AACu1MWG4TEyV9_AHYoZtjxsa/dw2102-dkms_3.19_S2R3_all.deb -O dw2102-dkms_3.19_S2R3_all.deb
sudo dpkg -i dw2102-dkms_3.19_S2R3_all.deb

Da sich das Thema im Ubuntu-Supportbereich befindet, noch der Hinweis für Ubuntuuser, die hier mitlesen: Das Paket funktioniert natürlich auch mit Ubuntu 😉 Auf jeden Fall mit Ubuntuversionen, die Kernel 3.19 verwenden (Ubuntu 15.04 und zukünftig auch Ubuntu 14.04.3), ist aber auch z.B.: mit Kernel 3.13 fehlerfrei erstellbar. Ob es damit auch fehlerfrei funktioniert, kann ich aber mangels Hardware nicht testen.

Für Interessierte habe ich auch noch den vollständigen Patch angehängt, der für diese Liplianin-Version verwendet werden kann, aus der ich den Quelltext für die Datei dw2102.c bezogen habe.

dw2102-0ccd0102.patch (1.2 KiB)
Download dw2102-0ccd0102.patch

derLarry

(Themenstarter)

Anmeldungsdatum:
10. Juni 2015

Beiträge: 18

Zusammenfassung und kleines Skript um Cinergy S2 USB STICK 0ccd:0102 unter Ubuntu bzw. Raspian Wheezy ans Laufen zu bekommen:

Die Anleitung funktioniert mit Raspian Wheezy Kernel Version 3.18.14+ (uname -r) - Basisimage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# Download Weezly 2015-05-15 Image
# Um das Passwort zu ändern, das Keyboard auf Deutsch einzustellen, Overclocking*, Hostname usw.
raspi-config
# Update/-grade auf den aktuellsten Stand 
sudo apt-get update
sudo apt-get dist-upgrade
sudo rpi-update
reboot

# Welchen Kernel hab ich denn jetzt. Ergebnis: 3.18.14+
uname -r
# Wurde der Stick als DVB Gerät vom Treiber erkannt und initialisiert. Noch nicht :-)
lsusb
dmesg | grep -i dvb

# mit diesem Kommando wird auch der compiler mit installiert
sudo apt-get install dkms
# immer zum installierten Kernel passend die Kommandos anpassen
wget http://www.niksula.hut.fi/~mhiienka/Rpi/linux-headers-rpi/linux-headers-3.18.14+_3.18.14+-2_armhf.deb
sudo dpkg -i linux-headers-3.18.14+_3.18.14+-2_armhf.deb
 
# hier das Treiber Wunder Paket von [user:hakunamatata:]
wget https://www.dropbox.com/sh/2ex0yaoognjsrcc/AACu1MWG4TEyV9_AHYoZtjxsa/dw2102-dkms_3.19_S2R3_all.deb -O dw2102-dkms_3.19_S2R3_all.deb
sudo dpkg -i dw2102-dkms_3.19_S2R3_all.deb

wget http://www.dvbsky.net/download/linux/dvbsky-firmware.tar.gz
# die richtige Firmware !!!! 
tar -xzf dvbsky-firmware.tar.gz dvbsky-firmware/
# im Verzeichnis landen die Firmware für die USB Box dvb-fe-ds3102.fw und die Firmware für den Stick (0ccd:0102) dvb-fe-ds300x.fw
# Nur zur Vollständigkeit für die Box [https://forum.ubuntuusers.de/topic/pi-vdr-mit-cinergy-s2-usb-r2-0ccd-0105/3/ Formseintrag zur USB-ID der Box 0ccd:0105]
# ''sudo mv dvbsky-firmware/dvb-fe-ds3103.fw /lib/firmware/''
# Für den hier beschriebenen Stick (0ccd:0102) - Die Firmware wird nach dvb-fe-ds3000.fw umbenannt
sudo mv dvbsky-firmware/dvb-fe-ds300x.fw /lib/firmware/dvb-fe-ds3000.fw
#Ein Boot und ich sehe zum ersten mal in dmesg | grep -i dvb Meldungen von der erfolgreichen Initialisierung ( ... in warm state)

#Dann habe ich DVBLink installiert und die Software erkennt das DVB Endgerät und greift darauf zu. Dabei erscheint dann in dmesg die Meldung
#Scan funktioniert und ich kann HD Kanäle streamen - Yieppieh!

#TVHeadEnd habe ich auch installiert und DVBLink mal kurzfristig deaktiviert - dieser Anleitung folgend: [http://www.forum-raspberrypi.de/Thread-tutorial-tvheadend-server]
#Auch hier funktioniert alles wie gewünscht.

Nochmal vielen Dank an hakunamatata

@hakunamatata, meinst Du, man könnte die Lösung in die offiziellen Kernel Quellen einbauen, sodass eine Lösung für alle RaspiPi Distros (OpenElec, usw.) und Ubuntu gegeben wäre?

LG, derLarry und vielen Dank.

hakunamatata Team-Icon

Supporter
Avatar von hakunamatata

Anmeldungsdatum:
30. Juni 2009

Beiträge: 5130

derLarry schrieb:

@hakunamatata, meinst Du, man könnte die Lösung in die offiziellen Kernel Quellen einbauen, sodass eine Lösung für alle RaspiPi Distros (OpenElec, usw.) und Ubuntu gegeben wäre?

Möglich ist es auf jeden Fall. Das Problem ist nur, dass die Liplianin-Quellen und die Kernelquellen etwas auseinanderdriften, so dass die zusätzlichen Karten, die in den Liplianin-Quellen derzeit unterstützt werden, nicht einfach auf die gleiche Weise in den Kernelquellen berücksichtigt werden können. Außerdem ist es ja auch jetzt bereits so, dass jede Linux-Distro bei Verwendung der Liplianin-Quellen den Patch verwenden kann.

Mir ist bewusst, dass die Installationsanleitung nicht für jede Distro ganz ident aussehen wird; Interesse an einer genauen Installationsanleitung für jede Distro wird aber primär die jeweilige Community haben. Deshalb hilfst du glaub ich am meisten, wenn du die Anleitungen in den Foren der jeweiligen Community zur Verfügung stellst.

Zusammenfassend hier noch die Anleitungen für Ubuntu, die eventuell auch als Muster für andere Distros dienen können:

# Erforderliche Pakete installieren
sudo apt-get install build-essential libproc-processtable-perl mercurial linux-headers-$(uname -r)
# Firmware herunterladen und installieren
sudo wget https://github.com/OpenELEC/dvb-firmware/raw/master/firmware/dvb-fe-ds3000.fw -O /lib/firmware/dvb-fe-ds3000.fw
# Liplianin-Quellen herunterladen
hg clone https://bitbucket.org/CrazyCat/s2-liplianin-v39
cd s2-liplianin-v39
# Patch herunterladen und anwenden
wget http://media-cdn.ubuntu-de.org/forum/attachments/48/26/7645813-dw2102-0ccd0102.patch -O dw2102-0ccd:0102.patch
patch -p1 < dw2102-0ccd:0102.patch
# Kernelmodule bauen und danach installieren
make
sudo make install
# Neustart
sudo reboot

  • Erstellung der Kernelmodule mit dem DKMS-Paket:

# Erforderliche Pakete installieren
sudo apt-get install dkms linux-headers-$(uname -r)
# Firmware herunterladen und installieren
sudo wget https://github.com/OpenELEC/dvb-firmware/raw/master/firmware/dvb-fe-ds3000.fw -O /lib/firmware/dvb-fe-ds3000.fw
# DKMS-Paket herunterladen und installieren
wget https://www.dropbox.com/sh/2ex0yaoognjsrcc/AACu1MWG4TEyV9_AHYoZtjxsa/dw2102-dkms_3.19_S2R3_all.deb -O dw2102-dkms_3.19_S2R3_all.deb
sudo dpkg -i dw2102-dkms_3.19_S2R3_all.deb
# Neustart
sudo reboot

hakunamatata Team-Icon

Supporter
Avatar von hakunamatata

Anmeldungsdatum:
30. Juni 2009

Beiträge: 5130

meinst Du, man könnte die Lösung in die offiziellen Kernel Quellen einbauen

Ich habe mir das nochmals angesehen. Ab Kernel 4.1 wurde das Modul ts2020 so verändert, dass nun dort auch ein Tuner ts2022 unterstützt wird. Das sollte diese Änderung, die nicht genauso in den Kernel übernommen werden kann, überflüssig machen:

@@ -1314,6 +1314,11 @@
 			info("Attached DS3000/TS2020!\n");
 			return 0;
 		}
+		if (dvb_attach(ts2022_attach, d->fe_adap[0].fe, 0x60,
+				&d->dev->i2c_adap)) {
+			info("Attached DS3000/TS2022!\n");
+			return 0;
+		}
 	}
 
 	d->fe_adap[0].fe = dvb_attach(ds3103_attach,  

Das vereinfacht die Sache! Die restlichen Änderungen können im Prinzip genauso im Kernel verwendet werden. Für die aktuelleste stabile Kernelversion 4.1.1 und die aktuellste Kernelversion 4.2-rc1 (s.https://www.kernel.org) habe ich die benötigten Patches angehängt.

dw2102-k4.1.1.patch (893 Bytes)
Patch für Kernel 4.1.1
Download dw2102-k4.1.1.patch
dw2102-k4.2-rc1.patch (875 Bytes)
Patch für Kernel 4.2-rc1
Download dw2102-k4.2-rc1.patch

derLarry

(Themenstarter)

Anmeldungsdatum:
10. Juni 2015

Beiträge: 18

Hi hakunamatata, ich hab jetzt mal in einem Forum den Link zu beiden Posts veröffentlicht. Ja, ich denke auch, das ist der beste Weg.

Jetzt habe ich aber ein neues Problem. Es gibt eine neue Hardware vom Raspberry Pi. Den Raspberry Pi 2 - der hat eine andere CPU und mehr RAM. Das schöne daran ist, dass damit die MediaCenter Software schön geschmeidig läuft. Das blöde daran, die Arm CPU handhabt wohl USB Geräte anders. Ich boote das Gerät mit exakt der gleichen SD-Karte mit meinen / deinen Patches. Boote ich auf dem Raspberry Pi B (älteres Modell), wird der Stick erkannt, boote ich auf dem Pi 2 die gleiche SD-Karte wird nix erkannt und der dvb Event wird nicht ausgelöst. Hast du eine Erklärung? Kann das an der CPU und am Handling der USB Geräte liegen?

Eine Spur habe ich schon ...

1
2
3
''uname -r'' bzw ''uname -a''
  3.18.14-v7
  Linux meinHostName 3.18.14-v7+ #794 SMP PREEMPT Sun Jun 7 12:50:51 BST 2015 armv7l GNU/Linux

So jetzt nehme ich mal an ich muß folgendes machen. Ich lade mir die passenden Header zu diesem Kernel. Dann mach ich

sudo dkms remove -m dw2102 -v 3.19 --all
sudo dkms install -m dw2102 -v 3.19

Ich probiers gleich mal aus. Melde mich wieder.

LG, derLarry

derLarry

(Themenstarter)

Anmeldungsdatum:
10. Juni 2015

Beiträge: 18

Folgendes hat ausgereicht:

wget http://www.niksula.hut.fi/~mhiienka/Rpi/linux-headers-rpi/linux-headers-`uname -r_uname -r-2_armhf.deb sudo dpkg -i linux-headers-uname -r_uname -r-2_armhf.deb Bei der Installation des Paketes werden alle Module neu gegebaut. Deine DKMS Paket muss natürlich schon vorher installiert gewesen sein. LG, derLarry

hakunamatata Team-Icon

Supporter
Avatar von hakunamatata

Anmeldungsdatum:
30. Juni 2009

Beiträge: 5130

derLarry schrieb:

Bei der Installation des Paketes werden alle Module neu gegebaut.

Das war der eigentliche Sinn der DKMS-Pakete. Für Ubuntu gibt es relativ häufig Kernel-Updates und danach ist immer wieder eine Neuerstellung der Kernelmodule notwendig. Das sollte mit den DKMS-Paketen automatisiert werden.

Ich habe auch noch eine Bitte an dich: Ich möchte zu deinem Stick auch noch hier Lösungen dokumentieren.

Dazu würde ich gerne auch deine "dmesg"-Ausgaben verwenden. Für den Patch zur CrazyCat-Liplianin-Version könnte ich - wenn es dir recht ist - bereits deine Ausgaben verwenden; zu den Kernel-Patches würde ich aber auch noch gerne Ausgaben veröffentlichen. Wenn ich dazu auch DKMS-Pakete erstelle, würdest du diese testen ? Die Installation und Deinstallation von diesen Paketen ist ja recht einfach. Aus Kernel 4.1 und 4.2 würde ich - ähnlich wie bei dem Liplianin-Paket, nur die benötigten Module entnehmen und patchen.

hakunamatata Team-Icon

Supporter
Avatar von hakunamatata

Anmeldungsdatum:
30. Juni 2009

Beiträge: 5130

Ich habe nun auch gepatchte DKMS-Pakete aus den Kernelversionen 4.1 und 4.2 gebaut. Die beiden Pakete befinden sich hier.

  • Installation wäre für 4.1 mit:

wget https://www.dropbox.com/sh/2ex0yaoognjsrcc/AABTO4voYN1U27qBo6HQBECLa/dw2102-dkms_4.1_all.deb -O dw2102-dkms_4.1_all.deb
sudo dpkg -i dw2102-dkms_4.1_all.deb
  • Installation wäre für 4.2 mit:

wget https://www.dropbox.com/sh/2ex0yaoognjsrcc/AACTBHj6pJ7UZEl0xDYYXCUZa/dw2102-dkms_4.2_all.deb -O dw2102-dkms_4.2_all.deb
sudo dpkg -i dw2102-dkms_4.2_all.deb

Die Pakete sollten auch mit älteren Kernelversion ab 3.17 die 3 Kernelmodule ts2020, ds3000 und dvb-usb-dw2102 erstellen. Die Erstellung habe ich mit Kernel 3.19 getestet; ob die Module auch funktionstüchtig sind konnte ich aber mangels Hardware nicht testen.

derLarry

(Themenstarter)

Anmeldungsdatum:
10. Juni 2015

Beiträge: 18

Hallo hakunamatata, sehr gute Idee mit der Dokumentation. Klar kannst du meine outputs usw. verwenden.

Mittlerweile läuft mein Raspi 2 mit der Kernel Version 4.0.8-v7+ . Ich habe jetzt mal das letzte Paket

1
2
wget https://www.dropbox.com/sh/2ex0yaoognjsrcc/AACTBHj6pJ7UZEl0xDYYXCUZa/dw2102-dkms_4.2_all.deb -O dw2102-dkms_4.2_all.deb
sudo dpkg -i dw2102-dkms_4.2_all.deb

installiert. Leider wird der Stick nicht erkannt. Ich mach jetzt nochmal alles auf Anfang und versuche folgendes:

- Neuinstallation mit Kernel 3.18 - Dann Update auf den Kernel 4.0.8-v7+

  • - dabei Installation mit deinem DKMS 3.19

  • - dann 4.1

  • - dann 4.2

Sorry, dass ich so lange gebraucht habe, war längere Zeit beruflich unterwegs und kam nicht dazu.

LG, derLarry