Category:LS-CHL

Description
Buffalo LinkStation Live is a Network Attached Storage built in DLNA Server, desined for home networking to share your documents, pictures, movie and music over a network.

You can store contents from network computers or using the one touch direct copy function, that is a means of taking pictures or movies from your digital camera, camcorder and storage device via USB port directly. Stored data can be shared on your network and a built-in DLNA media server can stream it to a PC, a MAC, a Buffalo LinkTheater an other DLNA CERTIFIED™ entertainment devices. Our Web Access feature enables you to access your data and media stored in the LinkStation via the interenet by computuers and iPhone's. With a built-in BitTorrent Client, LinkStation can download content without the requirement to keep your PC powered up.

Intelligent Power Saving functions, timer power on/off and auto power on/off with your Windows PC all help towards power saving and eco in mind.

Features

 * With Web Access you can store, share and access files from any web browser
 * Use Web Access for iPhone to access the digital library on your LinkStation
 * Built-In Media Server connects to DLNA compatible digital entertainment devices
 * One touch transfer of media files from digital camera/camcorder with Direct Copy feature
 * Seamlessly integrates with iTunes® 7 and allows you to access your music files on the LinkStation from your iTunes software
 * Supports Apple Time Machine
 * Built-In BitTorrent Client
 * Eco Friendly Power Saving Mode (PC Interlocking Power System/Schedule Power Management System)
 * Built-in print server to print documents from anywhere on your network (*1)
 * Easy setup does not require drivers
 * Supports UPS connectivity via USB port
 * Expand storage by adding a USB 2.0 hard drive
 * Includes Memeo™ AutoBackup Software for Windows or Macintosh
 * 10/100/1000 Gigabit Ethernet with JumboFrame support
 * Access your data from any Windows or Macintosh computers

GPL Kernel

 * Can't use stock distro, use Debian
 * After compiling the kernel with ls-chl support and appropriate modules, run the following commands:

devio > foo 'wl 0xe3a01c0B,4' 'wl 0xe3811061,4' cat foo arch/arm/boot/zImage > zImage.new mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n 'linux' -d zImage.new uImage.buffalo


 * For correct fan support, the gpio-fan module needs to be enabled and the following script (updated for Wheezy), or similar, set to run on startup (/usr/sbin/fannyd):

# # # # # . /etc/fannyd.conf HDDT=`which hddtemp` while : ; do              for  A in $DEVICES ; do                       TEMPERATURE=$($HDDT -n $A) if [ $TEMPERATURE -gt $TEMPLIMITONE ]; then if [ $TEMPERATURE -gt $TEMPLIMITTWO ]; then if [ $TEMPERATURE -gt $TEMPLIMITTHREE ]; then echo 5000 > /sys/class/hwmon/hwmon0/device/fan1_target sleep 40 else echo 3250 > /sys/class/hwmon/hwmon0/device/fan1_target sleep 40 fi                              else echo 1500 > /sys/class/hwmon/hwmon0/device/fan1_target sleep 40 fi                      else sleep 60    # overcompensate w/ 1 min of extra fan time echo 0 > /sys/class/hwmon/hwmon0/device/fan1_target fi              done done exit 0
 * 1) ! /bin/sh
 * 1)  fan-temperature control daemon - fannydee
 * 1)  this script checks the hdd temp on any LS-PPC that is running avr_evtd
 * 2)  and has hddtemp installed.  If the temperature is greater than the
 * 3)  defined limit, it kicks the fan up to high speed.
 * 1)  After the checkperiod elapses, it checks again.  If the temperature is
 * 2)  below that limit, then it drops it back to low speed.
 * 1)  In /etc/fannyd.conf, mak sure you define your devices that you want to check the temperature on
 * 2)  e.g.  /dev/hda  or /dev/sda, the temperature limit, time check, etc.
 * 3)  You can declare more than one hard drive, but that is not a likely situation.


 * init Script for Wheezy (/etc/init.d/fannyd), add to startup with 'update-rc.d fannyd defaults'

# PATH=/sbin:/usr/sbin:/bin:/usr/bin DESC="Fan control daemon" NAME=fannyd DAEMON=/usr/sbin/$NAME DAEMON_ARGS="" PIDFILE=/var/run/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME [ -x "$DAEMON" ] || exit 0 [ -r /etc/default/$NAME ] &&. /etc/default/$NAME . /lib/init/vars.sh . /lib/lsb/init-functions # # do_start { 	# Return #  0 if daemon has been started #  1 if daemon was already running #  2 if daemon could not be started start-stop-daemon --make-pidfile --background --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \ || return 1 start-stop-daemon --make-pidfile --background --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \ $DAEMON_ARGS \ || return 2 # Add code here, if necessary, that waits for the process to be ready # to handle requests from services started subsequently which depend # on this one. As a last resort, sleep for some time. } # # do_stop { 	# Return #  0 if daemon has been stopped #  1 if daemon was already stopped #  2 if daemon could not be stopped #  other if a failure occurred start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME RETVAL="$?" [ "$RETVAL" = 2 ] && return 2 # Wait for children to finish too if this is a daemon that forks # and if the daemon is only ever run from this initscript. # If the above conditions are not satisfied then add some other code # that waits for the process to drop all resources that could be # needed by services started subsequently. A last resort is to # sleep for some time. start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON [ "$?" = 2 ] && return 2 # Many daemons don't delete their pidfiles when they exit. rm -f $PIDFILE return "$RETVAL" } # # do_reload { # 	# If the daemon can reload its configuration without # restarting (for example, when it is sent a SIGHUP), # then implement that here. # 	start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME return 0 } case "$1" in  start) 	[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" 	do_start 	case "$?" in 		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; 	esac 	;;  stop) [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" do_stop case "$?" in 		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; esac ;;  status) 	status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? 	;;   #reload|force-reload) # 	# If do_reload is not implemented then leave this commented out # and leave 'force-reload' as an alias for 'restart'. # 	#log_daemon_msg "Reloading $DESC" "$NAME" #do_reload #log_end_msg $? #;;  restart|force-reload) 	# 	# If the "reload" option is implemented then remove the 	# 'force-reload' alias 	# 	log_daemon_msg "Restarting $DESC" "$NAME" 	do_stop 	case "$?" in 	  0|1) do_start case "$?" in 			0) log_end_msg 0 ;; 			1) log_end_msg 1 ;; # Old process is still running *) log_end_msg 1 ;; # Failed to start 		esac 		;; 	 *) # Failed to stop log_end_msg 1 ;; 	esac ;;  *) 	#echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 	echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 	exit 3 	;; esac :
 * 1) ! /bin/sh
 * 2) BEGIN INIT INFO
 * 3) Provides:          fannyd
 * 4) Required-Start:    $remote_fs $syslog
 * 5) Required-Stop:     $remote_fs $syslog
 * 6) Default-Start:     2 3 4 5
 * 7) Default-Stop:      0 1 6
 * 8) Short-Description: Fan Control Daemon
 * 9) Description:       Controls GPIO-Fan based fans using hddtemp
 * 10) END INIT INFO
 * 1) END INIT INFO
 * 1) Author: Ash Hughes 
 * 1) Please remove the "Author" lines above and replace them
 * 2) with your own name if you copy and modify this script.
 * 1) Do NOT "set -e"
 * 1) PATH should only include /usr/* if it runs after the mountnfs.sh script
 * 1) Exit if the package is not installed
 * 1) Read configuration variable file if it is present
 * 1) Load the VERBOSE setting and other rcS variables
 * 1) Define LSB log_* functions.
 * 2) Depend on lsb-base (>= 3.2-14) to ensure that this file is present
 * 3) and status_of_proc is working.
 * 1) Function that starts the daemon/service
 * 1) Function that stops the daemon/service
 * 1) Function that sends a SIGHUP to the daemon/service


 * Sample /etc/fannyd.conf

# # DEVICES=/dev/sda # # CHECKPERIOD=600 # TEMPLIMITONE=35 TEMPLIMITTWO=40 TEMPLIMITTHREE=44
 * 1)  config file for fan-temperature control daemon - fannydee
 * 1)  After the checkperiod elapses, it checks again.  If the temperature is
 * 2)  below that limit, then it drops it back to low speed.
 * 1)  Define your devices that you want to check the temperature on
 * 2)  e.g.  /dev/hda  or /dev/sda
 * 3)  You can declare more than one, but that is not a likely situation.
 * 1)  define the timelimit in seconds.  It is suggested to use a value
 * 2)  around 300 to 600 seconds
 * 1)  define a temperature limit at which you want the fan to kick up at
 * 2)  a good value is around 38C.  Yes, use celsius.

Related devices

 * LinkStation Pro™ LS-XHL, a scaled-up version with more RAM (256MB) and a faster CPU
 * LinkStation Live™ LS-CHL, a faster CPU (600MHz) but less RAM