TwonkyMedia
Hallo,
ich habe TwonkyMedia auf der 7390 zum Laufen gebracht. Ich benutze die Version 4.4.18 die man hier runterladen kann:
http://www.twonkyforum.com/unsupported/4.4.18/twonkymedia-mipseb-uclibc-0.9.28-4.4.18.zip
Außerdem benötigt man die uClibc in Version 0.9.28 und zwar wie oben beschrieben in Big Endian. Mir ist es (hoffe ich) gelungen, diese zu erstellen (siehe Anhang). Auf der 7390 ist die uClibc in Version 0.9.29 enthalten und damit läuft TwonkyMedia nicht.
Wie man TwonkyMedia generell auf der 7170 installiert, ist hier beschrieben:
http://www.ip-phone-forum.de/showthread.php?t=125562
Bei meiner 7390 habe ich es so gemacht:
Auf der USB-Festplatte habe ich alle Dateien von TwonkyMedia 4.4.18 ins Verzeichnis Twonky kopiert.
Von der uClibc braucht man nur die Dateien libuClibc-0.9.28.so und libpthread-0.9.28.so.
Diese habe ich ins Verzeichnis TwonkyLibMips kopiert.
Da FAT32 auf meinem USB-Laufwerk keine Links unterstützt, muss man die Dateien nochmals kopieren und zwar die libuClibc-0.9.28.so nach libc.so und nach libc.so.0 und die libpthread-0.9.28.so nach libpthread.so und libpthread.so.0.
Das müsste dann so aussehen wie im Bild TwonkyLibMips.jpg (siehe Anhang).
Jetzt muss noch die Datei twonkymedia.sh im Verzeichnis Twonky angepasst werden, damit Twonkymedia die uClic 0.9.28 findet.
Wichtig dabei sind die Zeilen:
Code:
LD_LIBRARY_PATH=/var/media/NEW_LINK/TwonkyLibMips:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
Meine twonkymedia.sh sieht so aus:
Code:
#!/bin/sh
#
# MediaServer Control File written by Itzchak Rehberg
# Modified for fedora/redhat by Landon Bradshaw <[email protected]>
# Adapted to TwonkyMedia 3.0 by TwonkyVision GmbH
# Adapted to TwonkyMedia 4.0 by TwonkyVision GmbH
#
# This script is intended for SuSE and Fedora systems. Please report
# problems and suggestions at http://www.twonkyvision.de/mantis/
#
#
###############################################################################
#
### BEGIN INIT INFO
# Provides: twonkymedia
# Required-Start: $network $remote_fs
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Description: TwonkyVision UPnP server
### END INIT INFO
#
# Comments to support chkconfig on RedHat/Fedora Linux
# chkconfig: 345 71 29
# description: TwonkyVision UPnP server
#
#==================================================================[ Setup ]===
WORKDIR1="/var/media/NEW_LINK/Twonky"
#WORKDIR2="`dirname $0`"
PIDFILE=/var/run/twonky.pid
#=================================================================[ Script ]===
# Source function library.
if [ -f /etc/rc.status ]; then
# SUSE
. /etc/rc.status
rc_reset
else
# Reset commands if not available
rc_status() {
case "$1" in
-v)
true
;;
*)
false
;;
esac
echo
}
alias rc_exit=exit
fi
if [ -x "$WORKDIR1" ]; then
WORKDIR="$WORKDIR1"
else
WORKDIR="$WORKDIR2"
fi
DAEMON=twonkymedia
if [ ! -f "${WORKDIR}/${DAEMON}" ]
then
DAEMON=twonkymusic
fi
TWONKYSRV="${WORKDIR}/${DAEMON}"
INIFILE="${WORKDIR}/twonkyvision-mediaserver.ini"
cd $WORKDIR
case "$1" in
start)
if [ -e $PIDFILE ]; then
PID=`cat $PIDFILE`
echo "Twonky server seems already be running under PID $PID"
echo "(PID file $PIDFILE already exists). Checking for process..."
# running=`ps --no-headers -o "%c" -p $PID`
running=`ps | grep $PID | grep twonky | sed s/^..........................//g | sed 's/\([^ ]*\).*/\1/'`
# if [ "${DAEMON}" == "${running}" ]; then
if [ "${TWONKYSRV}" == "${running}" ]; then
echo "Process IS running. Not started again."
else
echo "Looks like the daemon crashed: the PID does not match the daemon."
echo "Removing flag file..."
rm $PIDFILE
$0 start
exit $?
fi
exit 0
else
if [ ! -x "${TWONKYSRV}" ]; then
echo "Twonky servers not found".
rc_status -u
exit $?
fi
echo -n "Starting $TWONKYSRV ... "
LD_LIBRARY_PATH=/var/media/NEW_LINK/TwonkyLibMips:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
$TWONKYSRV -D -inifile "${INIFILE}"
rc_status -v
fi
;;
stop)
if [ ! -e $PIDFILE ]; then
echo "PID file $PIDFILE not found, stopping server anyway..."
killall -TERM twonkymedia twonkymusic
rc_status -u
exit 3
else
echo -n "Stopping Twonky MediaServer ... "
PID=`cat $PIDFILE`
kill -TERM $PID
rm -f $PIDFILE
rc_status -v
fi
;;
reload)
if [ ! -e $PIDFILE ]; then
echo "PID file $PIDFILE not found, stopping server anyway..."
killall -TERM twonkymedia twonkymusic
rc_status -u
exit 3
else
echo -n "Reloading Twonky server ... "
PID=`cat $PIDFILE`
kill -HUP $PID
rc_status -v
fi
;;
restart)
$0 stop
$0 start
;;
status)
if [ ! -e $PIDFILE ]; then
# running="`ps ax --no-headers | grep -e twonkymedia -e twonkymusic | grep -v grep | grep -v twonkymedia.sh | cut -d ' ' -f 1`"
running="`ps | grep -e twonkymedia -e twonkymusic | grep -v grep | grep -v twonkymedia.sh`"
if [ "${running}" == "" ]; then
echo "No twonky server is running"
else
echo "A twonky server seems to be running (PID: "${running}"), but no PID file exists."
echo "Probably no write permission for ${PIDFILE}."
fi
exit 0
fi
PID=`cat $PIDFILE`
# running=`ps --no-headers -o "%c" -p $PID`
running=`ps | grep $PID | grep twonky | sed s/^..........................//g | sed 's/\([^ ]*\).*/\1/'`
# if [ "${DAEMON}" == "${running}" ]; then
if [ "${TWONKYSRV}" == "${running}" ]; then
# echo ${TWONKYSRV}
# echo ${running}
echo "Twonky server IS running."
else
echo "Looks like the daemon crashed: the PID does not match the daemon."
fi
;;
*)
echo ""
echo "Twonky server"
echo "-------------"
echo "Syntax:"
echo " $0 {start|stop|restart|reload|status}"
echo ""
exit 3
;;
esac
rc_exit
Meine debug.cfg sieht so aus.
Code:
#!/bin/sh
#Twonky Startscript ausfuehren
sleep 60
cp /var/media/NEW_LINK/Twonky/twonkymedia.sh /var/tmp/twonky
chmod +x /var/tmp/twonky
/var/tmp/twonky start
Um TwonkyMedia unter der 7170 zum Laufen zu bringen, war noch die Datei libcm.so nötig. Diese scheint aber nicht mehr gebraucht zu werden.???