Talk:Llink:synology: Difference between revisions

From Lundman Wiki
No edit summary
No edit summary
 
(12 intermediate revisions by the same user not shown)
Line 3: Line 3:
When I ran llink on my CS-406 I did have some optware installed already; the bootstrap and toolchain from NSLU2-linux,org and the SSODS3 packages (which include the ELDK). Perhaps it influenced the successful installation? Maybe more things are needed apart from the telnet/SSH-patch currently listed?
When I ran llink on my CS-406 I did have some optware installed already; the bootstrap and toolchain from NSLU2-linux,org and the SSODS3 packages (which include the ELDK). Perhaps it influenced the successful installation? Maybe more things are needed apart from the telnet/SSH-patch currently listed?
<br> / [[User:Dc11ab|dc11ab]] 00:09, 5 January 2008 (JST)
<br> / [[User:Dc11ab|dc11ab]] 00:09, 5 January 2008 (JST)
UPDATE: Not needed. All is well. / [[User:Dc11ab|dc11ab]] 18:36, 19 June 2008 (JST)


=== Slimserver/SqueezeCenter hickup's ===
=== Slimserver/SqueezeCenter hickup's ===
Line 52: Line 54:


=== Autostart ===
=== Autostart ===
I'm not sure where to start and what to do in order to get llink autostart on boot. After poking around I decided to post some rc-files that might make some sense for someone who knows *nix better than me.
After some more Googling and poking in the Synology forum and wiki, I might have found a way?
Copy the start file to the autostart directory  with prefix of the startup shellscript, "S99":


/ [[User:Dc11ab|dc11ab]] 21:37, 5 January 2008 (JST)
<code>
vi /usr/syno/etc/rc.d/S99llink.sh
</code>


Heres the '''/etc/rc'''
Set the PATH and LD_LIBRARY_PATH to the llink directory.:
<pre>
<code>
CubeStation> cat rc
PATH=/volume1/path/to/llink-X.Y/llink/src/
#!/bin/sh
LD_LIBRARY_PATH=/volume1/llink-X.Y/llink/src/
# Copyright (c) 2000-2006 Synology Inc. All rights reserved.
</code>


HOME=/
Then export them:
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/bin:/usr/syno/sbin:/usr/local/bin:/usr/local/sbin
<code>
export HOME PATH
export PATH
 
export LD_LIBRARY_PATH
BOOT_SEQ_FILE="/tmp/boot_seq.tmp"
<code>
#SEQ_BOOT_NONE=0    no use here
SEQ_START_ETCRC=1
SEQ_CHECK_FS=2
SEQ_START_SERVICE=3
#SEQ_BOOT_DONE=4 is echo by /usr/syno/etc/rc.d/S99Zbootok.sh
 
###################################################
echo "STEP=$SEQ_START_ETCRC" > ${BOOT_SEQ_FILE}
echo "Starting /etc/rc ..."
###################################################
 
LinuxVersion=`/bin/uname -r | /usr/bin/cut -c1-3`
SYNOLoadModule()
{
        for MODULE in ${KERNEL_MODULES}
        do
                MODULE_PATH=/lib/modules/${MODULE}
                if [ -f ${MODULE_PATH} ]; then
                        echo "Load ${MODULE}... "
                        insmod ${MODULE_PATH}
                fi
        done
}
 
SupportRAID=`/bin/get_key_value /etc.defaults/synoinfo.conf supportraid`
ResRAID=$?
if [ $ResRAID -ne 1 ]; then
    SupportRAID="no"
fi
 
FStab="fstab"
 
mount -o remount,rw /
echo "Mounting proc filesystem..."
mount -n -t proc /proc /proc
grep /dev/root /proc/mounts > /etc/mtab
rm -rf /var/tmp
ln -s /tmp /var/tmp
mount -t tmpfs /tmp /tmp
 
[ -f /initrd/tmp/usbinfoall ] && cp -f /initrd/tmp/usbinfoall /tmp/usbinfoall
[ -d /initrd ] && [ ! -f /.nofree ] && /bin/umount /initrd && /sbin/freeramdisk /dev/ram0
 
dmesg > /var/run/dmesg.boot
 
# see if need repartitioning
/etc/newdisk.sh
 
# turn swap on
if [ "$SupportRAID" = "yes" ]; then
    SwapDevice="/dev/md1"
else
    SwapDevice="/dev/hda2"
fi
 
swapon $SwapDevice
RetSWAPON=$?
if [ "$RetSWAPON" -ne 0 ]; then
        if [ -d /initrd ]; then
                echo "RetSWAPON=$RetSWAPON, doing mkswap..."
              mkswap ${SwapDevice}
                RetMKSWAP=$?
                if [ "$RetMKSWAP" -ne 0 ]; then
                        echo "RetMKSWAP=$RetMKSWAP, doing mkswap..."
                else
                        swapon $SwapDevice
                fi
        fi
fi
 
# remount root as readonly
mount -ro /
 
#ConfList="/etc/defaults/rc.conf /etc/rc.conf"
ConfList="/etc/sysconfig/network"
for ThisConfig in $ConfList;
do
        if [ -r "$ThisConfig" ]; then
                . $ThisConfig
        fi
done
 
if [ -n "${GATEWAY}" -a "${NETWORKING}" = "yes" ]; then
        defaultrouter=$GATEWAY
fi
 
# Set the host name
#
if [ -z "${HOSTNAME}" ]; then
        HOSTNAME="${hostname:-diskstation}"
fi
hostname ${HOSTNAME}
echo -n "Hostname "
hostname
 
grep ${HOSTNAME} /etc/hosts
if [ "$?" != "0" ]; then
        echo "0.0.0.0  ${HOSTNAME}" >> /etc/hosts
fi
 
CWD=`pwd`
cd /etc/sysconfig/network-scripts
 
network_interfaces=`ls ifcfg* | cut -d'-' -f 2`
echo -n "Network interfaces: "
for thisif in $network_interfaces;
do
        echo -n "$thisif "
        ThisIfConf="/etc/sysconfig/network-scripts/ifcfg-${thisif}"
        BOOTPROTO=`grep -s ^BOOTPROTO ${ThisIfConf} | cut -d'=' -f 2`
        if [ "${BOOTPROTO}" = "static" -o "${thisif}" = "lo" ]; then
                IPADDR=`grep -s ^IPADDR ${ThisIfConf} | cut -d'=' -f 2`
                NETMASK=`grep -s ^NETMASK ${ThisIfConf} | cut -d'=' -f 2`
                thisvalue="inet ${IPADDR} netmask ${NETMASK}"
                eval \ifconfig_${thisif}='$thisvalue'
        else
                eval \ifconfig_${thisif}='dhcp'
        fi
done
echo
cd $CWD
 
ThisMachine=`uname -m`
if [ "x${LinuxVersion}" != "x2.6" ]; then
        KERNEL_MODULES="appletalk.o fat.o netlink_dev.o reiserfs.o vfat.o ntfs.o scsi_mod.o sd_mod.o sg.o usbcore.o quota_v2.o slhc.o ppp_generic.o ppp_async.o nfsd.o"
        if [ "${ThisMachine}" = "ppc" ]; then
                KERNEL_MODULES="${KERNEL_MODULES} soundcore.o snd-page-alloc.o snd.o snd-seq-device.o snd-rawmidi.o snd-usb-lib.o snd-hwdep.o snd-timer.o snd-pcm.o snd-usb-audio.o snd-mixer-oss.o snd-pcm-oss.o"
        fi
else
        KERNEL_MODULES="llc.ko psnap.ko appletalk.ko fat.ko vfat.ko ntfs.ko sg.ko usbcore.ko quota_v2.ko soundcore.ko snd-page-alloc.ko snd.ko snd-rawmidi.ko snd-usb-lib.ko snd-hwdep.ko snd-timer.ko snd-pcm.ko snd-usb-audio.ko snd-mixer-oss.ko snd-pcm-oss.ko slhc.ko ppp_generic.ko crc-ccitt.ko ppp_async.ko exportfs.ko nfsd.ko"
fi
 
SYNOLoadModule
 
if [ "x${LinuxVersion}" != "x2.6" ]; then
        echo "Mounting usbdevfs..."
        mount -t usbdevfs /proc/bus/usb /proc/bus/usb
else
        echo "Mounting sysfs..."
        mount -t sysfs /sys /sys
        echo "Mounting usbfs..."
        mount -t usbfs /proc/bus/usb /proc/bus/usb
fi
 
case "${ThisMachine}" in
armv5b)
        #ModuleList="csr ixp425_eth eepro100"
        ModuleList="ixp400 ixp425_eth"
        for ThisModule in $ModuleList;
        do
                insmod /lib/modules/${ThisModule}.o
        done
        ;;
ppc)
        if [ "x${LinuxVersion}" != "x2.6" ]; then
                insmod /lib/modules/sk98lin.o
        else
                if [ -f /lib/modules/sk98lin.ko ]; then
                        insmod /lib/modules/sk98lin.ko
                elif [ -f /lib/modules/skge.ko ]; then
                        insmod /lib/modules/skge.ko
                fi
        fi
        ;;
esac
 
case "${ThisMachine}" in
*86)
        echo "Skip loading synobios"
        ;;
*)
        RunSynoBios=`/bin/get_key_value /etc/synoinfo.conf synobios`
        if [ "no" != "$RunSynoBios" ]; then
                echo "Load synobios...."
                if [ "x${LinuxVersion}" != "x2.6" ]; then
                        insmod /lib/modules/synobios.o
                else
                        insmod /lib/modules/synobios.ko
                fi
                cd /dev
                /bin/mknod synobios c 201 0
                cd $CWD
        fi
        ;;
esac
 
for PidDir in /var/run /etc/dhcpc;
do
        rm -rf ${PidDir}/*.pid
done
 
## remove samba's tdb of usbprinter.tdb in each reboot to clean out of control job ##
## see DS20 #1340
if [ -e "/var/run/printing/usbprinter.tdb" ]; then
        rm -rf /var/run/printing/usbprinter.tdb
fi
 
#if [ -r /etc/rc.network ]; then
if [ -r /etc/rc.network -a "${NETWORKING}" = "yes" ]; then
        . /etc/rc.network
        start_network
fi
 
case "${ThisMachine}" in
armv5b)
        # Third party software support
        if [ -d "/writeable/usr/local" ]; then
                ln -sf /writeable/usr/local /usr/local
        fi
 
        for ThisDir in /usr/local/armv5b-linux;
        do
                if [ -e "$ThisDir/lib" ]; then
                        rm -rf $ThisDir/lib
                fi
                mkdir -p $ThisDir
                ln -sf /lib $ThisDir/lib
        done
        ARMTZDir="/usr/local/armv5b-linux/etc"
        ARMTZ="${ARMTZDir}/localtime"
        if [ ! -d "$ARMTZDir" ]; then
                rm -rf $ARMTZDir
                mkdir -p $ARMTZDir
        fi
        rm -rf $ARMTZ
        ln -sf /etc/localtime $ARMTZ
        ;;
*)       
        # Third party software support
        if [ -d "/writeable/usr/local" ]; then
                ln -sf /writeable/usr/local /usr/local
        fi
        ;;
esac
 
if [ -r "/etc.defaults/sysctl.conf" ]; then
        /sbin/sysctl -p /etc.defaults/sysctl.conf
fi
 
syslogd_enable="YES"
syslogd_flags="-S"
case ${syslogd_enable} in
[Yy][Ee][Ss])
        # Transitional symlink (for the next couple of years :) until all
        # binaries have had a chance to move towards /var/run/log.
        if [ ! -L /dev/log ]; then
                # might complain for r/o root f/s
                ln -sf /var/run/log /dev/log
        fi
 
        rm -f /var/run/log
        echo "Starting syslogd..."
        ${syslogd_program:-/sbin/syslogd} ${syslogd_flags}
        /sbin/klogd
        ;;
esac
 
for CFGEN in /usr/syno/cfgen/*;
do
        if [ -x "$CFGEN" ]; then
                $CFGEN
        fi
done
 
###################################################
echo "STEP=$SEQ_CHECK_FS" > ${BOOT_SEQ_FILE}
echo "Checking and Mounting filesystem(s) ..."
###################################################
 
# initial findhostd first to report quota check progress, see DS20 bug #
/usr/syno/etc/rc.d/S98findhostd.sh start
 
UsrVolumeList=`grep /volume /etc/${FStab} |awk '{printf("%s:%s \n", $1, $2)}'`
 
rm -f /tmp/hdhealth
for ThisList in $UsrVolumeList;
do
        ThisDevice=`echo $ThisList | cut -d':' -f 1 `
        ThisVolume=`echo $ThisList | cut -d':' -f 2 `
        DevName=`echo $ThisDevice | cut -c6-`
        mkdir -p $ThisVolume
 
        FS=`/usr/syno/bin/synogetfstype ${ThisDevice}`
        ResGetFS=$?
        if [ $ResGetFS -eq 1 ]; then
                echo "synogetfstype read file system magic failed on $ThisDevice:$ThisVolume. errno=$ResGetFS"
                echo "Trying ext3"
                FS=ext3
        fi
 
        FSCK="/sbin/fsck.${FS} -pq"
 
 
        DoMount=1
 
        IsClean=`${FSCK} $ThisDevice | grep "is cleanly umounted"`
        if [ -n "$IsClean"  ]; then
                echo "$ThisDevice. Clean. "
                IsClean=1
        else
                IsClean=0
        fi
 
        echo "Mounting $ThisDevice on $ThisVolume."
        mount -n -t ${FS} $ThisDevice $ThisVolume
        ResMount=$?
        if [ $ResMount -ge 1 ]; then
                echo "Mount failed on $ThisDevice:$ThisVolume. errno=$ResMount"
 
                if [ "${FS}" = "ext3" ]; then
                        for SB in 1 131072 393216 655360 917504 1179648 3276800 3538944
                        do
                                echo "Mounting $ThisDevice on $ThisVolume.(read only, sb=${SB})"
                                grep -v "${DevName}mount" /tmp/hdhealth > /tmp/hdhealth.tmp
                                mount -t ${FS} -o ro,sb=${SB} $ThisDevice $ThisVolume
                                ResMount=$?
                                if [ $ResMount -ge 1 ]; then
                                        echo "Mount read only failed on $ThisDevice:$ThisVolume. errno=$ResMount"
                                        echo "${DevName}mount=\"fail\"" >> /tmp/hdhealth.tmp
                                        mv -f /tmp/hdhealth.tmp /tmp/hdhealth
                                else
                                        echo "${DevName}mount=\"ro\"" >> /tmp/hdhealth.tmp
                                        mv -f /tmp/hdhealth.tmp /tmp/hdhealth
                                        MOUNT_OPT=",ro"
                                        break
                                fi
                        done
                else
                        echo "Mounting $ThisDevice on $ThisVolume.(read only)"
                        mount -t ${FS} -o ro $ThisDevice $ThisVolume
                        ResMount=$?
                        if [ $ResMount -ge 1 ]; then
                                echo "Mount read only failed on $ThisDevice:$ThisVolume. errno=$ResMount"
                                echo "${DevName}mount=\"fail\"" >> /tmp/hdhealth
                        else
                                echo "${DevName}mount=\"ro\"" >> /tmp/hdhealth
                        fi
                fi
        else
                rm -rf $ThisVolume/@tmp
                mkdir $ThisVolume/@tmp
                chmod 777 $ThisVolume/@tmp
        fi
        mount -o remount,usrquota,grpquota${MOUNT_OPT} $ThisVolume
        ResMount=$?
        if [ $ResMount -ge 1 ]; then
                echo "ReMount failed on $ThisDevice:$ThisVolume. errno=$ResMount"
        fi
 
        if [ -f "$ThisVolume/aquota.user" -a -f "$ThisVolume/aquota.group" ]; then
                DoQuotaCheck=0
        else
                DoQuotaCheck=1
        fi
 
        if [ $IsClean -eq 0 ]; then
                DoQuotaCheck=1
        fi
 
        if [ -f ${ThisVolume}/.needquotacheck ]; then
                /usr/syno/bin/synologset1 sys warn 0x11100001
                DoQuotaCheck=1
        fi
 
        if [ $DoQuotaCheck -eq 1 ]; then
                echo "Quotacheck on $ThisVolume."
                /sbin/quotacheck -g -u -F vfsv0 $ThisVolume
 
                mount -o remount,usrquota,grpquota${MOUNT_OPT} $ThisVolume
                rm -f ${ThisVolume}/.needquotacheck
        fi
 
        echo "Quotaon on $ThisVolume."
        /sbin/quotaon -F vfsv0 $ThisVolume
done
 
#set time zone information to kernel
/usr/syno/bin/synokerneltz
 
/sbin/sysctl -w kernel.core_pattern=/volume1/@%e.core
 
if [ "x${LinuxVersion}" != "x2.6" ]; then
        /sbin/sysctl -w kernel.suid_dumpable=2
else
        /sbin/sysctl -w fs.suid_dumpable=2
fi
ulimit -c unlimited


if [ "x${LinuxVersion}" == "x2.6" ]; then
    /sbin/sysctl -w vm.min_free_kbytes=4096
fi


Configured=`/bin/get_key_value /etc/synoinfo.conf configured`
With this fixed, the Synology NAS should start llink upon reboot.
if [ "$Configured" = "no" -a "$SupportRAID" = "no"  ];then
    CheckList="/volume1 /volume1/public"
    for EachItem in $CheckList;
    do
        if [ ! -d "$EachItem" ]; then
                /bin/mkdir -p $EachItem
        fi
        /bin/chmod 777 $EachItem
    done
fi


/usr/syno/bin/synologset1 sys info 0x11100002


###################################################
'''UPDATE''': This is alread fixed with a startup script called from the /etc/rc.local file. I see that Synology has introduced new firmware as of June 2008 which might require some changes. Yet to be seen. So far, all is well.  
echo "STEP=$SEQ_START_SERVICE" > ${BOOT_SEQ_FILE}
echo "Starting scemd ..."
###################################################


/usr/syno/bin/scemd
/ [[User:Dc11ab|dc11ab]] 18:38, 19 June 2008 (JST)
Ret=$?
if [ $Ret -ne 0 ]; then
        echo "Failed to start scemd, reboot and get into steel plan or network install mode."
        touch "/.noroot"
        reboot
fi


== Cross-compiling for the ppc and Marvell-based cpu's of Synology NAS on Intel Macbook ==
if [ -r /etc/rc.network -a "${NETWORKING}" = "yes" ]; then
My intention is to set up an environment with toolchain to compile  for the  Synologies on my Intel based Macbook.  I'm Googling as fast as time allows to figure out how to do it. Any hints are appreciated!
        # Start PPPoE if enabled
        start_pppoe
fi


if [ ! -d /initrd ]; then
/ [[User:Dc11ab|dc11ab]] 09:00, 6 January 2008 (JST)
#      echo "Starting inetd in flash_rd..."
#      /usr/sbin/inetd
        echo "Starting findhostd in flash_rd..."
        /usr/syno/bin/findhostd
fi


# For bug 1248, probe USB device after scemd
# usb-uhci.o is for VIA, usb-ohci.o is for NEC
# KERNEL_MODULES="ehci-hcd.o usb-uhci.o usb-storage.o printer.o"
if [ "x${LinuxVersion}" != "x2.6" ]; then
KERNEL_MODULES="ehci-hcd.o usb-ohci.o usb-uhci.o usb-storage.o printer.o hid.o"
else
KERNEL_MODULES="ehci-hcd.ko ohci-hcd.ko uhci-hcd.ko usb-storage.ko usblp.ko usbhid.ko"
fi
SYNOLoadModule


if [ -r /etc/rc.local ]; then
'''UPDATE:''' Cross-compiling wasn't as easy as I thought. Well, I didn't actually thought it was going to be easy, but as for me this project is on ice. Hopefully someone else can pick it up.
        echo -n 'Starting local daemons:'
        sh /etc/rc.local
        echo '.'
fi


echo -n 'Local package initialization:'
/ [[User:Dc11ab|dc11ab]] 18:41, 19 June 2008 (JST)
if [ -z "${local_startup}" ]; then
        local_startup="/etc/rc.d /usr/syno/etc/rc.d /usr/local/etc/rc.d"
fi


startupd=`get_key_value /etc.defaults/synoinfo.conf supportstartupd`
== Conversation ==
if [ "$startupd" = "yes" ]; then
        echo 'startup daemons'
        if [ -d /volume1/startup ]; then
                for startsh in /volume1/startup/S* ; do
                        if [ -f $startsh ]; then
                                echo "start $startsh"
                                $startsh
                        fi
                done
        fi
fi


echo '.'
Woah, I need to set wiki to tell me whenever there is posts in Discussions.. Any of the stuff in here still need my attention?


echo ''


echo "done."
Not really. Some matters are already dealt with. As for the SSODS part, it didn't really do anything to the system, someone else should report a real problem first. All is well (I suppose ;-)
 
/[[User:Dc11ab|dc11ab]] 18:42, 19 June 2008 (JST)
date
 
if [ ! -d /initrd ]; then
        if [ -f /.nodisk ]; then
                /usr/sbin/burning_test > /dev/null 2>&1 &
        fi
fi
 
ManuTild=/usr/syno/sbin/manutild
$ManuTild
 
exit 0
</pre>
 
And the '''/etc/rc.local''' (which shows the SSODS/Slimserver)
 
<pre>
CubeStation> cat rc.local
/volume1/SSODS/etc/init.d/rc.ssods # SSODS3 (keep the tag)
</pre>
 
And the '''/volume1/SSODS/etc/intit.d/rc.ssoods''' looks like this:
 
<pre>
CubeStation> cat /volume1/SSODS/etc/init.d/rc.ssods
#!/volume1/SSODS/bin/bash
#
# $Id: rc.ssods,v 1.4 2007/10/03 22:27:17 flip Exp flip $
#
# this script runs the scripts ${SSODSDIR}/etc/init.d/{S,K}??*
# in (alpha)numerical order
#
# Copyright (c) 2006, 2007 Philippe Kehl <flipflip at gmx dot net>
#
# This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License version 2 as published by the
# Free Software Foundation.
#
# See the documentation for details and copying conditions.
#
 
# get site config
source /volume1/SSODS/etc/ssods/ssods.conf || exit 1
PATH=${SSODSDIR}/sbin:${PATH}
export PATH
 
RCSSODS=yes
 
# start or stop?
case "$1" in
 
    stop)
        cmd=stop
        key=K
        ;;
    start|*)
        cmd=start
        key=S
        ;;
esac
 
for S in ${SSODSDIR}/etc/init.d/${key}*; do
 
    # ignore broken symlinks
    [ ! -f ${S} ] && continue
 
    echo "*** ${S} ${cmd} ***"
    # source (!) script
    source $S ${cmd}
 
done
 
# eof
</pre>

Latest revision as of 09:42, 19 June 2008

Installation pre-requisites

When I ran llink on my CS-406 I did have some optware installed already; the bootstrap and toolchain from NSLU2-linux,org and the SSODS3 packages (which include the ELDK). Perhaps it influenced the successful installation? Maybe more things are needed apart from the telnet/SSH-patch currently listed?
/ dc11ab 00:09, 5 January 2008 (JST)

UPDATE: Not needed. All is well. / dc11ab 18:36, 19 June 2008 (JST)

Slimserver/SqueezeCenter hickup's

On a Synology NAS with SSODS Slimserver installation there are unhandled http header requests from cookies seen in the llink log: I have not idea if this something worth looking into or not.

[request] is listening
[request] New request from 192.168.1.2:64543
[request] >> 'GET / HTTP/1.1'
[request] clearnode
keepalive
[request] GET for '/' ('')
[request] >> 'Host: 192.168.1.5:8888'
[request] >> 'User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en; rv:1.8.1.11) Gecko/20071128 Camino/1.5.4'
[request] >> 'Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5'
[request] >> 'Accept-Language: en-US,en;q=0.9,sv;q=0.9,ja;q=0.8,fr;q=0.8,de;q=0.7,es;q=0.6,it;q=0.6,nl;q=0.5,nb;q=0.4,da;q=0.4,fi;q=0.3,pt;q=0.3,zh-Hans;q=0.2,zh-Hant;q=0.1,ko;q=0.1'
[request] Unhandled HTTP header 'Accept-Language:' with 'en-US,en;q=0.9,sv;q=0.9,ja;q=0.8,fr;q=0.8,de;q=0.7,es;q=0.6,it;q=0.6,nl;q=0.5,nb;q=0.4,da;q=0.4,fi;q=0.3,pt;q=0.3,zh-Hans;q=0.2,zh-Hant;q=0.1,ko;q=0.1'
[request] >> 'Accept-Encoding: gzip,deflate'
[request] Unhandled HTTP header 'Accept-Encoding:' with 'gzip,deflate'
[request] >> 'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7'
[request] Unhandled HTTP header 'Accept-Charset:' with 'ISO-8859-1,utf-8;q=0.7,*;q=0.7'
[request] >> 'Keep-Alive: 300'
[request] Unhandled HTTP header 'Keep-Alive:' with '300'
[request] >> 'Connection: keep-alive'
[request] connection type: 1
[request] >> 'Cookie: SqueezeCenter-player=00%3A04%3A20%3A06%3Af8%3Ae5; SqueezeCenter-expandPlayerControl=true; SqueezeCenter-expanded-MY_MUSIC=0; SqueezeCenter-expanded-RADIO=0; SqueezeCenter-expanded-MUSIC_SERVICES=0; SqueezeCenter-expanded-FAVORITES=0; SqueezeCenter-expanded-PLUGINS=0'
[request] Unhandled HTTP header 'Cookie:' with 'SqueezeCenter-player=00%3A04%3A20%3A06%3Af8%3Ae5; SqueezeCenter-expandPlayerControl=true; SqueezeCenter-expanded-MY_MUSIC=0; SqueezeCenter-expanded-RADIO=0; SqueezeCenter-expanded-MUSIC_SERVICES=0; SqueezeCenter-expanded-FAVORITES=0; SqueezeCenter-expanded-PLUGINS=0'
[request] >> ''
[request] actioning request for /
[request] disabling socket input for duration of process
[request] tmpname '/tmp/.llink.G69xU6'
[request] tmpfile closed
[request] reopening tmpfile
[request] actioning request for /
[request] disabling socket input for duration of process
[request] sending file
[request] sending reply code 200:OK

Found the following ports used by the SqueezeCenter7

  • 3483 UDP/TCP (used by Squeezbox player for streaming traffic??))
  • 9000 TCP (Server web interface)
  • 9090 TCP (CLI)

I guess the ports have nothing to do with it., but I'm stuck at this,.
/ dc11ab 00:11, 5 January 2008 (JST)

Autostart

After some more Googling and poking in the Synology forum and wiki, I might have found a way? Copy the start file to the autostart directory with prefix of the startup shellscript, "S99":

vi /usr/syno/etc/rc.d/S99llink.sh

Set the PATH and LD_LIBRARY_PATH to the llink directory.: PATH=/volume1/path/to/llink-X.Y/llink/src/ LD_LIBRARY_PATH=/volume1/llink-X.Y/llink/src/

Then export them: export PATH export LD_LIBRARY_PATH


With this fixed, the Synology NAS should start llink upon reboot.


UPDATE: This is alread fixed with a startup script called from the /etc/rc.local file. I see that Synology has introduced new firmware as of June 2008 which might require some changes. Yet to be seen. So far, all is well.

/ dc11ab 18:38, 19 June 2008 (JST)

Cross-compiling for the ppc and Marvell-based cpu's of Synology NAS on Intel Macbook

My intention is to set up an environment with toolchain to compile for the Synologies on my Intel based Macbook. I'm Googling as fast as time allows to figure out how to do it. Any hints are appreciated!

/ dc11ab 09:00, 6 January 2008 (JST)


UPDATE: Cross-compiling wasn't as easy as I thought. Well, I didn't actually thought it was going to be easy, but as for me this project is on ice. Hopefully someone else can pick it up.

/ dc11ab 18:41, 19 June 2008 (JST)

Conversation

Woah, I need to set wiki to tell me whenever there is posts in Discussions.. Any of the stuff in here still need my attention?


Not really. Some matters are already dealt with. As for the SSODS part, it didn't really do anything to the system, someone else should report a real problem first. All is well (I suppose ;-) /dc11ab 18:42, 19 June 2008 (JST)