FreeLink for the LinkStation PRO/LIVE

The original (old hardware) model LinkStation PRO and LIVE appear to share the same hardware, but came with different firmware. Recently, a new model (new hardware) has appeared:  again, the new versions of the PRO and LIVE appear identical, but differ from the older versions. The FreeLink installation procedures for old and new hardware are different. There are now four variations: old/new and PRO/LIVE.

USE THE RIGHT PROCEDURE FOR YOUR HARDWARE!

To determine whether you have the OLD (v1) or NEW (v2) hardware, compare the following rear-view images (of LS LIVE, but valid also for LS PRO) - note the position of the power cable socket (at top in new hardware, at side in old): 
 * [[Image:linkstation_live1_rear.jpg|200px]] [[Image:linkstation_live2_rear.jpg|200px]]

Technical Notes and Limitations

 * Freelink is currently based on the Debian "Etch" userspace
 * Before you start, you may want to consider:
 * repartitioning your linkstation, to make more room on the root partition for additional Debian packages
 * If you wish to use the newer 2.6.16 Buffalo kernel, you should install the 1.10 Buffalo firmware before installing Freelink.
 * There is not yet an official Debian kernel for the LinkStation / ARM9 - this release uses (and does not update) the kernel which is already installed on your Linkstation (i.e. the Buffalo kernel).
 * Use of the Buffalo kernel has some limitations:
 * The 2.6.12 Buffalo kernel does not support udev
 * Some kernel features (kernel modules etc.) that you need may not be available without using a non-Buffalo kernel
 * The Buffalo kernel is built with the new Arm EABI, whereas Debian Etch is only available in the old ABI flavour - this means that some user-space <-> kernel-space interfaces will not work e.g. the "iptables" userspace command is unusable when operating with this EABI/Old ABI split.
 * It is possible to use the "testing" version of the next Debian release "Lenny" instead - this is available as an Armel build.

Download

 * FreeLink_arm9-1.0rev2.zip

Please read the README.1st file included with this Freelink release.

How to use the Buffalo updater LSUpdater.exe
You will have to use the Buffalo-supplied windows program LSUpdater.exe, running on Windows (or maybe WINE under Linux). This comes in separate versions for the LS PRO and LS LIVE. The Freelink package contains an older LS PRO version not suitable for new hardware. Unless you are installing Freelink on an old-hardware (v1) LS PRO, you will need to use LSUpdater.exe from a buffalo firmware package for your type of ARM-9-based Linkstation (PRO or LIVE). You will also need its files lsupdater.ini and linkstation_version.txt .(You may need to edit linkstation_version.txt to increase the version numbers of the various components listed, so they are higher than the actual Buffalo versions installed on the LinkStation; this is just to fool LSUpdater that the update really is an update, otherwise it won't get applied).

To Access the Debug Menu
Start lsupdater.exe, then
 * 1) Right-click the "Buffalo Updater Icon" on the Windows context-bar (the bar at the bottom of the screen that spans between the start menu and the clock).
 * 2) Select "Debug(D)..." and the Debug Mode menu will pop up.

If you are using the lsupdater as supplied in Buffalo's own firmware packages (e.g., if you are installing FreeLink firmware on the LS LIVE, as described below), you will not see the Debug(D) option until you have modified the file lsupdater.ini (found in the same directory as lsupdater.exe): open lsupdater.ini with a text editor, and add the following lines: [SpecialFlags] Debug = 1 You should also change [Flags] VersionCheck = 1 to [Flags] VersionCheck = 0 Normally lsupdater does not detect a LinkStation which already running the firmware revision that came with the updater (this is specified in the file linkstation_version.txt); setting the flag VersionCheck=0 disables this behavior.

Pu4HI6XoSB8

How to use the Firmware Updater with Wine
Linux users can also use the lsupdater.exe with wine. Use "winecfg" to edit the Graphics setting for the Wine windows manager to control the window by unchecking "Allow the window manager to control the windows". Then run "wine LSUpdater.exe" and you will be able to enter debug mode by right-clicking on the title bar of the window.


 * [[Image:Winecfg.jpg|200px|Wine Configuration]]

=Removal or Reinstall of FreeLink= A backup of your data before doing this is always recommended.

If for some reason FreeLink must be uninstalled or re-installed, users must boot to the ramdisk (initrd) first. The ramdisk contains the Buffalo Updater Daemon that the Buffalo Updater requires. To boot to the ramdisk, access the linkstation shell via ssh. Run the follow commands:


 * 1) run "vi /boot/boot_options"
 * 2) press the [i] keyboard key to enter "edit mode".
 * 3) edit the line "MENU_TIMEOUT=4" to read "MENU_TIMEOUT=EM"
 * 4) run [Esc], ":", "wq"
 * 5) run "reboot"

The box should boot to the ramdisk after the reboot where you can install the stock kernel or any other firmware with the Firmware Updater Utility.

If during re-installation the LSUpdater complains about the harddisk structure (TARGET), then this is caused by some changed partition types (e.g. /dev/sda6 to ext3). To "fix" this, just login to your Linkstation as root via telnet once and re-try. After the re-installation login to your Linkstation via ssh and edit /etc/fstab to the correct partition formats. Mount the corrected partitions with "mount -a" for immediate access. This normally works fine for re-installation without losing any data on /dev/sda6.

=Key Notes to Remember=


 * This version does not contain the updated kernel 2.6.2x. As a result, udev will not work in this release.
 * Telnet is not installed. Use SSH for shell access.
 * The FreeLinkomatix script has not incorporated this FreeLink release yet.
 * The default root password is "lspro" and the default admin password is "admin". Please change these passwords.
 * This contains the replacement fan controller daemon micro_evtd which monitors system temperature and adjusts fan speed to suit based on information held within /etc/default/micro_evtd.