Liebe VDR-Liebhaber.
Bei mir funktionieren die Pakete saa716x-dkms und tts2-6400.
Viel Spaß beim benutzen und verbessern...
Liebe VDR-Liebhaber.
Bei mir funktionieren die Pakete saa716x-dkms und tts2-6400.
Viel Spaß beim benutzen und verbessern...
QuoteAber meine Hilfe ist ja anscheinend sowieso nicht gefragt, andere glauben wieder mal, es besser zu wissen.
Lieber S:oren. Was würden wir ohne dich machen? Bitte lass den Kopf nicht hängen. Ich bin auf jeden Fall ein großer Fan von dir!
Yeah!
Aufgrund des Threads von shofmann habe ich das Paket saa716x-dkms erstellt
und in mein Repository gepackt.
Vielen Dank dafür!
Source: saa716x-dkms_0.1.tar.gz
Binary: saa716x-dkms_0.1_all.deb
Die Firmware ist jetzt in einem separaten Paket.
Source: firmware-saa716x_0.1.tar.xz
Binary: firmware-saa716x_0.1_all.deb
Alternativ - soweit mein Repository benutzt wird - kann man das Paket saa716x-dkms installieren:
sudo apt update
sudo apt install saa716x-dkms
Angefangen hatte ich mit dem Script tts2-6400.sh. Dieses hat aber den Nachteil, dass es jedesmal, wenn ein neuer Kernel installiert wird, erneut aufgerufen werden muss. Dank Stefan konnte ich ein dkms-Paket erstellen, so dass beim Kernelupdate die Module nun automatisch gebaut werden.
Viel Spaß beim ausprobieren und verbessern...
klak Es spricht theoretisch nichts dagegen, dass das Script auch unter bookworm läuft.
Bei der Nexus musste man noch die PCI-Latenz ändern. Ich mache dies auch bei der TT und habe folgende udev Regel in /etc/udev/rules.d/zz-ir.rules (Das Paket pciutils wird benötigt).
###############
# DVB devices #
###############
SUBSYSTEMS=="dvb",\
OWNER="vdr",\
GROUP="video",\
MODE="666"
##################
# DVB IR devices #
##################
KERNELS=="input*",\
ATTRS{name}=="TT6400 DVB IR receiver",\
OWNER="vdr",\
GROUP="input",\
MODE="666",\
SYMLINK+="input/ir", \
RUN+="/etc/udev/commands/dvb"
KERNELS=="input*",\
ATTRS{name}=="DVB on-card IR receiver",\
OWNER="vdr",\
GROUP="input",\
MODE="666",\
SYMLINK+="input/irnexus",\
RUN+="/etc/udev/commands/dvb"
KERNELS=="input*",\
ATTRS{name}=="cx88 IR (Hauppauge Nova-S-Plus",\
OWNER="vdr",\
GROUP="input",\
MODE="666",\
SYMLINK+="input/irnova"
RUN+="/etc/udev/commands/dvb"
KERNELS=="input*",\
ATTRS{name}=="Budget-CI dvb ir receiver saa7146 (0)",\
OWNER="vdr",\
GROUP="input",\
MODE="666",\
SYMLINK+="input/irbudget"
RUN+="/etc/udev/commands/dvb"
Display More
und das dazugehörige Script /etc/udev/commands/dvb (ausführbar)
#!/bin/sh
#
# according to /etc/udev/rules.d/zz-ir.rules
#
# Set PCI latency
#
# Needs: pciutils
#
PATH=/bin:/sbin:/usr/bin:/usr/sbin
DEVICES="$(lspci | cut -d' ' -f1)"
LATENCY=40
set_latency() {
logger -t kernel "Setting LATENCY_TIMER=$2 for device $STRING"
setpci -s $1 LATENCY_TIMER=$2
}
for DEVICE in $DEVICES; do
STRING="$(lspci -s $DEVICE)"
[ "x$STRING" != "x$DEVICE Multimedia controller: Philips Semiconductors SAA7160 (rev 02)" ] || set_latency $DEVICE $LATENCY
[ "x$STRING" != "x$DEVICE Multimedia controller: Philips Semiconductors SAA7146 (rev 01)" ] || set_latency $DEVICE $LATENCY
[ "x$STRING" != "x$DEVICE Network controller: Techsan Electronics Co Ltd B2C2 FlexCopII DVB chip / Technisat SkyStar2 DVB card (rev 02)" ] || set_latency $DEVICE $LATENCY
[ "x$STRING" != "x$DEVICE Multimedia video controller: Spin Master Ltd. Device 3038 (rev 01)" ] || set_latency $DEVICE $LATENCY
done
# Grant access to RTC for VDR
if [ -e /sys/class/rtc/rtc0/wakealarm ]; then
chown root:vdr /sys/class/rtc/rtc0/wakealarm
chmod 0666 /sys/class/rtc/rtc0/wakealarm
fi
# Create /dev/vdr-console for statusleds plugin
if [ ! -e /dev/vdr-console ]; then
mknod -m 666 /dev/vdr-console c 5 1
chown vdr:vdr /dev/vdr-console
fi
# Grant access to IR for VDR
if [ -e /proc/av7110_ir ]; then
chown vdr:input /proc/av7110_ir
chmod 0666 /proc/av7110_ir
fi
if [ -e /dev/input/ir ]; then
chown vdr:input /dev/input/ir
chmod 0666 /dev/input/ir
fi
if [ -e /dev/input/irnexus ]; then
chown vdr:input /dev/input/irnexus
chmod 0666 /dev/input/irnexus
fi
if [ -e /dev/input/ircx88 ]; then
chown vdr:input /dev/input/ircx88
chmod 0666 /dev/input/ircx88
fi
if [ -e /dev/input/irbudget ]; then
chown vdr:input /dev/input/irbudget
chmod 0666 /dev/input/irbudget
fi
exit 0
Display More
Die Datei /etc/default/vdr habe ich erweitert
# /etc/default/vdr
#
# See also /usr/share/doc/vdr/README.Debian.gz
#
# Change to 1 to enable vdr's init-script
ENABLED=1
# Change this to 1 if you want vdr to be able to shutdown the
# computer
ENABLE_SHUTDOWN=1
# Options that will be passed to vdr's commandline
# for example: OPTIONS="-w 15"
OPTIONS="-w 20"
# VDR executes <COMMAND> when the power-off-key of the remote is pressed after
# processing all shutdown hook scripts. Shutdown hooks may override this
# command. See section "Shutdown-Hooks" below. SHUTDOWNCMD will be executed
# detached in background.
#SHUTDOWNCMD="/bin/systemctl hibernate"
SHUTDOWNCMD="/sbin/poweroff"
# The recording directory
VIDEO_DIR=/srv/vdr/video.00
# Services to stop/start during suspend/hibernate
SERVICES="lircd vdr"
# Modules to unload/load during suspend/hibernate
# Combiation of WinTV Nexus and SkyStar 970
#MODULES="b2c2_flexcop_pci b2c2_flexcop cx24123 s5h1420 dvb_ttpci stv0299 saa7146_vv saa7146 ttpci_eeprom dvb_core v4l2_common videobuf_dma_sg videobuf_core serial_ir"
# TechnoTrend HD DVB Premium S2-6400
MODULES="serial_ir saa716x_ff"
Display More
die Datei /lib/systemd/system-sleep/suspend (ausführbar)
#!/bin/sh
SCRIPTS="$(find /etc/pm/sleep.d/ -type f | sort -u)"
case $1 in
pre) # before suspend
for SCRIPT in $SCRIPTS; do { SCRIPTS_REVERTED="$SCRIPT $SCRIPTS_REVERTED"; }; done
for SCRIPT in $SCRIPTS_REVERTED; do /bin/sh "$SCRIPT" suspend; done
;;
post) # after resume
for SCRIPT in $SCRIPTS; do /bin/sh "$SCRIPT" resume; done
;;
esac
Display More
Ich habe den automatischen Start des VDR's im systemd deaktiviert (sudo systemctl disable vdr) und starte ihn statt dessen mit folgendem Script in /etc/pm/sleep.d/30-vdr (ausführbar):
#!/bin/sh
#
# Action script to handle VDR
#
PATH=/bin:/sbin:/usr/bin:/usr/sbin
DEFAULT=/etc/default/vdr
SERVICES=""
MODULES=""
log() { echo "$1"; logger -t vdr "$1"; }
testmod() { grep -sq $1 /proc/modules; }
[ -e "$DEFAULT" ] || exit 1
. $DEFAULT
[ x$ENABLED = x1 ] || [ x$ENABLED = xtrue ] || exit 0
[ "x$MODULES" != "x" ] || log "no modules"
[ "x$SERVICES" != "x" ] || log "no services"
case "$1" in
thaw|resume)
[ ! -e /dev/ttyS0 ] || /bin/setserial /dev/ttyS0 uart none
for MODULE in $MODULES; do { if ! testmod $MODULE; then modprobe $MODULE >/dev/null 2>&1 || log "module load failed: $MODULE"; fi;} done
for SERVICE in $SERVICES; do systemctl start $SERVICE.service >/dev/null 2>&1 || log "service start failed: $SERVICE"; done
;;
hibernate|suspend)
for SERVICE in $SERVICES; do SERVICES_REVERSE="$SERVICE $SERVICES_REVERSE"; done
for SERVICE in $SERVICES_REVERSE; do systemctl stop $SERVICE.service >/dev/null 2>&1 || log "service stop failed: $SERVICE"; done
for MODULE in $MODULES; do MODULES_REVERSE="$MODULE $MODULES_REVERSE"; done
for MODULE in $MODULES_REVERSE; do { if testmod $MODULE; then modprobe -r $MODULE >/dev/null 2>&1 || log "module unload failed: $MODULE"; fi; }; done
;;
esac
Display More
Ich habe von Virtualisierung keine Ahnung.
bei mir sieht es (ohne KVM) so aus:
[ 1119.440970] SAA716x FF 0000:01:00.0: found a Technotrend S2 6400 Dual S2 Premium PCIe card
[ 1119.441144] SAA716x FF 0000:01:00.0: SAA7160 Rev 2, irq: 50 (MSI)
[ 1119.452053] SAA716x FF 0000:01:00.0: Initializing SAA716x I2C Core 0 @ 400kHz
[ 1119.454938] SAA716x FF 0000:01:00.0: Initializing SAA716x I2C Core 1 @ 400kHz
[ 1119.577928] SAA716x FF 0000:01:00.0: firmware: direct-loading firmware dvb-ttpremium-fpga-01.fw
[ 1120.840060] SAA716x FF 0000:01:00.0: FPGA version 1.10
[ 1120.900388] SAA716x FF 0000:01:00.0: firmware: direct-loading firmware dvb-ttpremium-loader-01.fw
[ 1120.900396] SAA716x FF 0000:01:00.0: loader version 1.03
[ 1121.193680] SAA716x FF 0000:01:00.0: firmware: direct-loading firmware dvb-ttpremium-st7109-01.fw
[ 1121.501509] dvbdev: DVB: registering new adapter (SAA716x dvb adapter)
[ 1121.595539] i2c i2c-15: Attaching STV6110x
[ 1121.603154] SAA716x FF 0000:01:00.0: DVB: registering adapter 0 frontend 0 (STV090x Multistandard)...
[ 1121.603460] dvbdev: DVB: registering new adapter (SAA716x dvb adapter)
[ 1121.604502] i2c i2c-15: Attaching STV6110x
[ 1121.631506] SAA716x FF 0000:01:00.0: DVB: registering adapter 1 frontend 0 (STV090x Multistandard)...
[ 1122.410268] SAA716x FF 0000:01:00.0: firmware version 0.5.1
[ 1122.410356] input: TT6400 DVB IR receiver as /devices/pci0000:00/0000:00:02.0/0000:01:00.0/input/input29
Display More
Dein Problem ist in Zeile 31 deines Codeblocks.
So soll es sein.
Das freut mich zu hören.
Laut meiner Recherechen liegt daran, dass die include files des Kernels nicht zum kernel passen.
Ich habe das selbe Problem mit Kubuntu in der VirtualBox. Ich hoffe ja, dass ein Ubuntu-Kernel-Kenner da weiter helfen kann.
Siehe: TT S2-6400 - saa716x kompilieren unter Debian Buster oder Bullseye
UPDATE: saa716x-dkms
Damit ich nicht immer das VDR-Portal zuschwalle - einfach diesen Thread bookmarken.
Hier findet man immer die aktuelle Version.
Hab's mal als Debian Paket verpackt.
Wer will, kann sich das Paket tts2-6400 aus meinem Repository installieren/runterladen - und gerne verbessern.
Unter Debian GNU/Linux Buster und Bullseye läuft es bei mir mittlerweile bulletproofed.
Ich werde mich darum bemühen, das Paket so aktuell wie möglich zu halten.
Um mein Repository zu nutzen, einfach die Datei jueling-keyring.gpg in das Verzeichnis /etc/apt/trusted.gpg.d kopieren und die Datei /etc/apt/sources.list.d/www.jueling.de.list mit folgendem Inhalt erstellen
(z. B. sudo nano /etc/apt/sources.list.d/www.jueling.de.list):
#Debian Bullseye:
deb https://www.jueling.de/vdr bullseye main contrib non-free
deb-src https://www.jueling.de/vdr bullseye main contrib non-free
#Debian Buster:
deb https://www.jueling.de/vdr buster main contrib non-free
deb-src https://www.jueling.de/vdr buster main contrib non-free
#Debian Bookworm:
deb https://www.jueling.de/vdr bookworm main contrib non-free
deb-src https://www.jueling.de/vdr bookworm main contrib non-free
Anschließend sudo apt update ausführen. Danach kann man mit sudo apt install tts2-6400 das Paket installieren.
Die Quelldateien können mit apt source tts2-6400 heruntergeladen werden.
Die Module müssen neu gebaut werden, sobald ein anderer Kernel läuft!
Dies geschieht mit
sudo dpkg-reconfigure tts2-6400.
oder
sudo tts2-6400.sh
Da Ubuntu auf Debian GNU/Linux basiert, sollte es nicht schwer sein, auch für Ubuntu und Derivate das Paket anzupassen.
Momentan fragt das postinst-script ab, ob Debian GNU/Linux oder Ubuntu benutzt wird.
Einfach mal unter Ubuntu ausprobieren und bitte ein Feedback geben.
Heute ist nicht mein Tag. Habe noch die Abfrage, ob das Source Verzeichnis existiert, hinzugefügt.
#!/bin/sh
#
# Build Debian modules for TechnoTrend Premium DVB S2-6400
# The build directory needs at least 1 GByte space!
#
BUILDDIR=/tmp/linux-saa716x
LOGFILE=$BUILDDIR.log
KERNELVERSION=$(uname -r)
KMAJOR=$(echo $KERNELVERSION | cut -d'.' -f1)
KMINOR=$(echo $KERNELVERSION | cut -d'.' -f2)
FWLOADER=http://www.aregel.de/file_download/7/dvb-ttpremium-loader-01_v1_03.zip
FWFPGA=http://www.aregel.de/file_download/26/dvb-ttpremium-fpga-01_v1_10.zip
FWST7109=http://www.aregel.de/file_download/28/dvb-ttpremium-st7109-01_v0_5_1.zip
URL=https://github.com/s-moch/linux-saa716x/compare
PATCH=saa716x-$KMAJOR.$KMINOR.diff
DESTINATION=/lib/modules/$KERNELVERSION/kernel
PACKAGES="fakeroot build-essential devscripts libncurses5 libncurses5-dev bison flex libssl-dev wget libelf-dev unzip findutils linux-source-$KMAJOR.$KMINOR linux-headers-$KERNELVERSION"
if [ $KMAJOR -gt 4 ]; then
SECTION=drivers/media/pci/saa716x
else
SECTION=drivers/media/common/saa716x
fi
print() { echo "## $1" | tee -a $LOGFILE; }
finish() { if [ x$? = x0 ]; then print "SUCCESS"; rm -rf $BUILDDIR; else print "FAILED"; fi; print "Logfile: $LOGFILE"; }
[ x$(whoami) = xroot ] || exit 1
rm -rf $BUILDDIR $LOGFILE
mkdir -p $BUILDDIR || exit 1
touch $LOGFILE
trap finish exit
cd $BUILDDIR
print "Check distribution"
[ -e /etc/os-release ] || exit 1
. /etc/os-release
[ x$VERSION_CODENAME = xbuster ] || [ x$VERSION_CODENAME = xbullseye ] || exit 1
print "Install dependencies"
apt-get -y install $PACKAGES >>$LOGFILE 2>&1 || exit 1
print "Get firmware"
wget $URL/$PATCH >>$LOGFILE 2>&1 || exit 1
wget $FWLOADER >>$LOGFILE 2>&1 || exit 1
wget $FWFPGA >>$LOGFILE 2>&1 || exit 1
wget $FWST7109 >>$LOGFILE 2>&1 || exit 1
print "Extract firmware"
unzip $(basename $FWLOADER) >>$LOGFILE 2>&1 || exit 1
unzip $(basename $FWFPGA) >>$LOGFILE 2>&1 || exit 1
unzip $(basename $FWST7109) >>$LOGFILE 2>&1 || exit 1
print "Install firmware"
cp -af *.fw /lib/firmware/ || exit 1
SOURCE=$(find /usr/src -type f -name linux-source-$KMAJOR.$KMINOR*)
[ x$SOURCE != x ] || exit 1
print "Extract kernel source"
tar xf $SOURCE || exit 1
SOURCEDIR=$(find . -type d -name linux-*)
[ x$SOURCEDIR != x ] || exit 1
cd $SOURCEDIR || exit 1
print "Prepare kernel source"
cp /boot/config-$KERNELVERSION .config || exit 1
cp /usr/src/linux-headers-$KERNELVERSION/Module.symvers . || exit 1
cp /boot/System.map-$KERNELVERSION System.map || exit 1
patch -p1 < ../$PATCH >>$LOGFILE 2>&1 || exit 1
printf "y\nm\nm\nm\nm\n" | make oldconfig >>$LOGFILE 2>&1 || exit 1
print "Build modules"
make KERNELVERSION=$KERNELVERSION -j6 modules_prepare >>$LOGFILE 2>&1 || exit 1
make KERNELVERSION=$KERNELVERSION -j6 M=$SECTION modules >>$LOGFILE 2>&1 || exit 1
print "Install modules"
#make KERNELVERSION=$KERNELVERSION M=$SECTION modules_install >>$LOGFILE 2>&1 || exit 1
[ -e $DESTINATION/$SECTION ] || mkdir -p $DESTINATION/$SECTION || exit 1
cp -af $SECTION/*.ko $DESTINATION/$SECTION/ || exit 1
depmod $KERNELVERSION || exit 1
grep -sq saa716x /proc/modules || modprobe saa716x_ff || exit 1
Display More
Habe die Ausgabe des Scripts in ein Logfile exportiert und weitere kleine Änderungen gemacht.
Ich denke, dass es die letzte Version ist.
#!/bin/sh
#
# Build Debian modules for TechnoTrend Premium DVB S2-6400
# The build directory needs at least 1 GByte space!
#
BUILDDIR=/tmp/linux-saa716x
LOGFILE=$BUILDDIR.log
KERNELVERSION=$(uname -r)
KMAJOR=$(echo $KERNELVERSION | cut -d'.' -f1)
KMINOR=$(echo $KERNELVERSION | cut -d'.' -f2)
FWLOADER=http://www.aregel.de/file_download/7/dvb-ttpremium-loader-01_v1_03.zip
FWFPGA=http://www.aregel.de/file_download/26/dvb-ttpremium-fpga-01_v1_10.zip
FWST7109=http://www.aregel.de/file_download/28/dvb-ttpremium-st7109-01_v0_5_1.zip
URL=https://github.com/s-moch/linux-saa716x/compare
PATCH=saa716x-$KMAJOR.$KMINOR.diff
DESTINATION=/lib/modules/$KERNELVERSION/kernel
PACKAGES="fakeroot build-essential devscripts libncurses5 libncurses5-dev bison flex libssl-dev wget libelf-dev unzip findutils linux-source-$KMAJOR.$KMINOR linux-headers-$KERNELVERSION"
if [ $KMAJOR -gt 4 ]; then
SECTION=drivers/media/pci/saa716x
else
SECTION=drivers/media/common/saa716x
fi
print() { echo "## $1" | tee -a $LOGFILE; }
finish() { if [ x$? = x0 ]; then print "SUCCESS"; rm -rf $BUILDDIR; else print "FAILED"; fi; print "Logfile: $LOGFILE"; }
[ x$(whoami) = xroot ] || exit 1
rm -rf $BUILDDIR $LOGFILE
mkdir -p $BUILDDIR || exit 1
touch $LOGFILE
trap finish exit
cd $BUILDDIR
print "Check distribution"
[ -e /etc/os-release ] || exit 1
. /etc/os-release
[ x$VERSION_CODENAME = xbuster ] || [ x$VERSION_CODENAME = xbullseye ] || exit 1
print "Install dependencies"
apt-get -y install $PACKAGES >>$LOGFILE 2>&1 || exit 1
print "Get firmware"
wget $URL/$PATCH >>$LOGFILE 2>&1 || exit 1
wget $FWLOADER >>$LOGFILE 2>&1 || exit 1
wget $FWFPGA >>$LOGFILE 2>&1 || exit 1
wget $FWST7109 >>$LOGFILE 2>&1 || exit 1
print "Extract firmware"
unzip $(basename $FWLOADER) >>$LOGFILE 2>&1 || exit 1
unzip $(basename $FWFPGA) >>$LOGFILE 2>&1 || exit 1
unzip $(basename $FWST7109) >>$LOGFILE 2>&1 || exit 1
print "Install firmware"
cp -af *.fw /lib/firmware/ || exit 1
SOURCE=$(find /usr/src -type f -name linux-source-$KMAJOR.$KMINOR*)
[ x$SOURCE != x ] || exit 1
print "Extract kernel source"
tar xf $SOURCE || exit 1
SOURCEDIR=$(find . -type d -name linux-*)
cd $SOURCEDIR || exit 1
print "Prepare linux source"
cp /boot/config-$KERNELVERSION .config || exit 1
cp /usr/src/linux-headers-$KERNELVERSION/Module.symvers . || exit 1
cp /boot/System.map-$KERNELVERSION System.map || exit 1
patch -p1 < ../$PATCH >>$LOGFILE 2>&1 || exit 1
printf "y\nm\nm\nm\nm\n" | make oldconfig >>$LOGFILE 2>&1 || exit 1
print "Build modules"
make KERNELVERSION=$KERNELVERSION -j6 modules_prepare >>$LOGFILE 2>&1 || exit 1
make KERNELVERSION=$KERNELVERSION -j6 M=$SECTION modules >>$LOGFILE 2>&1 || exit 1
print "Install modules"
#make KERNELVERSION=$KERNELVERSION M=$SECTION modules_install >>$LOGFILE 2>&1 || exit 1
[ -e $DESTINATION/$SECTION ] || mkdir -p $DESTINATION/$SECTION || exit 1
cp -af $SECTION/*.ko $DESTINATION/$SECTION/ || exit 1
depmod $KERNELVERSION || exit 1
grep -sq saa716x /proc/modules || modprobe saa716x_ff || exit 1
Display More
Im Anhang befindet sich meine Logdatei.
Das Script fragt jetzt auch die Distribution ab.
Ausserdem habe ich wirbel's Vorschlag eingebaut.
#!/bin/sh
#
# Build Debian modules for TechnoTrend Premium DVB S2-6400
# The build directory needs at least 1 GByte space!
#
BUILDDIR=/tmp/linux-saa716x
KERNELVERSION=$(uname -r)
KMAJOR=$(echo $KERNELVERSION | cut -d'.' -f1)
KMINOR=$(echo $KERNELVERSION | cut -d'.' -f2)
FWLOADER=http://www.aregel.de/file_download/7/dvb-ttpremium-loader-01_v1_03.zip
FWFPGA=http://www.aregel.de/file_download/26/dvb-ttpremium-fpga-01_v1_10.zip
FWST7109=http://www.aregel.de/file_download/28/dvb-ttpremium-st7109-01_v0_5_1.zip
URL=https://github.com/s-moch/linux-saa716x/compare
PATCH=saa716x-$KMAJOR.$KMINOR.diff
DESTINATION=/lib/modules/$KERNELVERSION/kernel
PACKAGES="fakeroot build-essential devscripts libncurses5 libncurses5-dev bison flex libssl-dev wget libelf-dev unzip findutils linux-source-$KMAJOR.$KMINOR linux-headers-$KERNELVERSION"
if [ $KMAJOR -gt 4 ]; then
SECTION=drivers/media/pci/saa716x
else
SECTION=drivers/media/common/saa716x
fi
finish() { if [ x$? = x0 ]; then echo "## SUCCESS"; rm -rf $BUILDDIR; else echo "## FAILED"; fi; }
[ x$(whoami) = xroot ] || exit 1
[ -e /etc/os-release ] || exit 1
. /etc/os-release
[ x$VERSION_CODENAME = xbuster ] || [ x$VERSION_CODENAME = xbullseye ] || exit 1
apt-get install $PACKAGES || exit 1
trap finish exit
rm -rf $BUILDDIR
mkdir -p $BUILDDIR || exit 1
cd $BUILDDIR || exit 1
wget $URL/$PATCH || exit 1
wget $FWLOADER || exit 1
wget $FWFPGA || exit 1
wget $FWST7109 || exit 1
unzip $(basename $FWLOADER) || exit 1
unzip $(basename $FWFPGA) || exit 1
unzip $(basename $FWST7109) || exit 1
cp -af *.fw /lib/firmware/ || exit 1
SOURCE=$(find /usr/src -type f -name linux-source-$KMAJOR.$KMINOR*)
[ x$SOURCE != x ] || exit 1
tar xf $SOURCE || exit 1
cd linux-source-$KMAJOR.$KMINOR/ || exit 1
cp /boot/config-$KERNELVERSION .config || exit 1
cp /usr/src/linux-headers-$KERNELVERSION/Module.symvers . || exit 1
cp /boot/System.map-$KERNELVERSION System.map || exit 1
patch -p1 < ../$PATCH || exit 1
printf "y\nm\nm\nm\nm\n" | make oldconfig || exit 1
make KERNELVERSION=$KERNELVERSION -j6 modules_prepare || exit 1
make KERNELVERSION=$KERNELVERSION -j6 M=$SECTION modules || exit 1
#make KERNELVERSION=$KERNELVERSION M=$SECTION modules_install 2>$BUILDDIR.log || exit 1
[ -e $DESTINATION/$SECTION ] || mkdir -p $DESTINATION/$SECTION || exit 1
cp -af $SECTION/*.ko $DESTINATION/$SECTION/ || exit 1
depmod $KERNELVERSION || exit 1
grep -sq saa716x /proc/modules || modprobe saa716x_ff || exit 1
Display More
Das Paket 'linux-source-5.4' ist nicht installiert.
Es existiert aber auch nicht im offiziellen Debian Repository http://ftp.de.debian.org/debian/pool/main/l/linux.
Das Script funktioniert nicht bei Ubuntu.
Das Script lädt und installiert nun auch die Firmware.
#!/bin/sh
#
# Build Debian modules for TechnoTrend Premium DVB S2-6400
# The build directory needs at least 1 GByte space!
#
URL=https://github.com/s-moch/linux-saa716x/compare
FWLOADER=http://www.aregel.de/file_download/7/dvb-ttpremium-loader-01_v1_03.zip
FPGAFW=http://www.aregel.de/file_download/26/dvb-ttpremium-fpga-01_v1_10.zip
FIRMWARE=http://www.aregel.de/file_download/28/dvb-ttpremium-st7109-01_v0_5_1.zip
BUILDDIR=/tmp/linux-saa716x
KERNELVERSION=$(uname -r)
KMAJOR=$(echo $KERNELVERSION | cut -d'.' -f1)
KMINOR=$(echo $KERNELVERSION | cut -d'.' -f2)
DIFF=saa716x-$KMAJOR.$KMINOR.diff
DESTINATION=/lib/modules/$KERNELVERSION/kernel
PACKAGES="fakeroot build-essential devscripts libncurses5 libncurses5-dev bison flex libssl-dev wget libelf-dev unzip linux-source-$KMAJOR.$KMINOR linux-headers-$KERNELVERSION"
if [ $KMAJOR -gt 4 ]; then
# Bullseye
SECTION=drivers/media/pci/saa716x
else
# Buster
SECTION=drivers/media/common/saa716x
fi
finish() {
if [ $? = 0 ]; then
# rm -rf $BUILDDIR/linux-source-$KMAJOR.$KMINOR $BUILDDIR/*.zip
# tar -czf /tmp/linux-saa716x.tar.gz $BUILDDIR
echo "## SUCCESS"
else
echo "## FAILED"
fi
rm -rf $BUILDDIR
}
[ x$(whoami) = xroot ] || exit 1
apt-get install $PACKAGES || exit 1
trap finish exit
rm -rf $BUILDDIR
mkdir -p $BUILDDIR || exit 1
cd $BUILDDIR || exit 1
wget $URL/$DIFF || exit 1
wget $FWLOADER || exit 1
wget $FPGAFW || exit 1
wget $FIRMWARE || exit 1
unzip $(basename $FWLOADER) || exit 1
unzip $(basename $FPGAFW) || exit 1
unzip $(basename $FIRMWARE) || exit 1
cp -af *.fw /lib/firmware/ || exit 1
tar xJf /usr/src/linux-source-$KMAJOR.$KMINOR.tar.xz || exit 1
cd linux-source-$KMAJOR.$KMINOR/ || exit 1
cp /boot/config-$KERNELVERSION .config || exit 1
cp /usr/src/linux-headers-$KERNELVERSION/Module.symvers . || exit 1
patch -p1 < ../$DIFF || exit 1
printf "y\nm\nm\nm\nm\n" | make oldconfig || exit 1
make KERNELVERSION=$KERNELVERSION -j6 modules_prepare || exit 1
make KERNELVERSION=$KERNELVERSION -j6 M=$SECTION modules || exit 1
[ -e $DESTINATION/$SECTION ] || mkdir -p $DESTINATION/$SECTION || exit 1
cp -f $SECTION/*.ko $DESTINATION/$SECTION/ || exit 1
depmod $KERNELVERSION || exit 1
grep -sq saa716x /proc/modules || modprobe saa716x_ff || exit 1
Display More
I'll try it and reply the result.
Thank you very much.
Mist - muss jetzt los zum Billardturnier.
Melde mich später nochmal...
Nachteil beim streamen: kein OSD, keine Fernbedienung (IR/Tastatur).
Umschalten mit der Fernbedinung geht bestimmt mit dem VLC Player - aber ohne OSD, oder?
Mit der Nexus konnte ich, mit der entsprechenden keytable, tvtime bequem den VDR per Tastatur und OSD bedienen.
Es geht um das MPlayer Plugin in Kombination mit meiner Onboard-Grafik, bzw. mit der internen Radeon Grafikeinheit.
Hat dies jemand per HDMI bei HD-Auflösung 1920x1080 zum Laufen bekommen?
Ich kann mit der S2-6400 entweder über HDMI am TV oder mit dem VLC per streamdev-server gucken.
Früher hatte ich keinen HD-Fernseher und guckte zuerst mit kvdr, später dann mit tvtime auf dem Monitor.
Ich blick' da nicht durch. Bei der Nexus ging das über v4l - bei der S2-6400 nicht.
*Kopfklopf*
Habe eine TT Premium DVB S2-6400 - früher liefen (mit der WinTV Nexus) kvdr und tvtime wunderbar auf meiner Kiste.
Nun kann ich nur noch mit dem VLC und dem streamdev-client auf dem Desktop fernsehen.
Kann man wirklich nicht mehr den Stream direkt auf dem Desktop bereit stellen?