Open Stock Firmware LS-XHL

From NAS-Central Buffalo - The Linkstation Wiki
Revision as of 12:15, 14 November 2009 by Kenatonline (Talk | contribs)

Jump to: navigation, search

Why a new page for the XHL?

Unfortunately to open the firmware of a XHL depends on the release of the firmware currently running on the machine.

The XHL firmware above release 1.10 do NOT contain telnetd or sshd anymore. So acp_commander can not enable telnet access due to the lack of the executable.

If you have firmware 1.10 or lower, you should be able to follow the hints in Open_Stock_Firmware to get telnet access. But with firmware 1.20 or above luck is not on your side.

What to do first in case of upgrading from 1.10?

If you want to upgrade the firmware from 1.10 to something newer, you should take care of some things before, or you will loose the ability to get telnet access to your XHL.

The assumption is, that you have a share called share.

  mkdir /mnt/disk1/share/xhl
  cd /mnt/disk1/share/xhl
  mkdir bin
  cp /bin/su bin/
  mkdir -p usr/local/bin
  mkdir -p usr/local/sbin
  cd /mnt/disk1/share/xhl/usr/local/sbin
  cp /usr/local/sbin/telnetd .
  cp /usr/local/sbin/sshd .
  cd /mnt/disk1/share/xhl/usr/local/bin
  cp /usr/local/bin/ssh* .
  mkdir -p etc/init.d
  cd /mnt/disk1/share/xhl/etc/init.d
  cp /etc/init.d/ .

Now you are prepared to upgrade to 1.20 or higher.

How to get telnet working in 1.20 or higher

The assumption is, that your XHL is already running firmware 1.20 or higher and that you are aware of handling command line executables and stuff like this, if you are used to a Unix flavor. For the windows noobs I will add some windows hints also.

  • Disable the XP/Vista/7 firewall or you will get sockettimeout errors.
  • Start a command line via "Start" - "Run" - "cmd.exe". Everything else is done within the command line window.
  • Ensure you have a valid java installation by checking the version:
  java --version
  • Change to the place where you placed acp_commander.jar (I assumed it is on c:\tmp\xhl\) via:
  cd \tmp\xhl
  • Get into an interactive acp_commander session (all commands will be executed as root in interactive mode):
  java -jar acp_commander.jar -t <XHL IP address> -ip <XHL IP address> -pw <password of the web admin user> -s
  • In interactive mode you should do the following (attention: cd does not work in interactive mode!):
  cp /mnt/disk1/share/xhl/usr/local/sbin/telnetd /usr/local/sbin/
  cp /mnt/disk1/share/xhl/usr/local/sbin/sshd /usr/local/sbin
  chmod 4555 /bin/su
  echo "telnet stream  tcp     nowait  root    /usr/sbin/telnetd       /usr/sbin/telnetd" >> /etc/inetd.conf
  chmod 644 /etc/profile

Now your XHL should reboot. After a minute or so, you should be able to telnet to your XHL using the user admin (the same admin you use to access the web configuration of your XHL).

I haven't found a way to let root login via telnet, but you can simply call

  su -

after logged in as user admin, to switch to user root.

The installation of the addons.tar is identical to the non-XHL LS-PRO except that /bin/su will get overridden by a version within the addon.tar which is not working properly. So you have to get into the acp_commander interactive mode again after the installation of addon.tar. Do the following:

  java -jar acp_commander.jar -t <XHL IP address> -ip <XHL IP address> -pw <password of the web admin user> -s
  cp /mnt/disk1/share/xhl/bin/su /bin/
  chmod 4555 /bin/su

Now you should have telnet access to your XHL. Have fun!