Recover TeraStation TS-XEL from Error E00 (MPU No Response)

There were twice my XEL was stuck at boot, showing “Error E00 MPU no response” error, it’s likely the uboot was corrupted, in such a case, reflash the boot is the only choice. Desolder the circled chip in the following image and reflash it with correct boot file and solder it back, this revived my NAS.

Download boot file.

Enable MediaServer / BitTorrent on TeraStation TS-XEL

Buffalo TeraStation TS-XL has MediaServer as well as BitTorrent support, however, same features are not available for a similar TS-XEL. This article describes an easy way to enable them on XEL.

1. Jailbreak your TS-XEL, this is easy, so I’ll not show the details here;
2. SSH onto your jailbroken box, edit /etc/nas_feature, change the following two settings from ‘off’ to ‘on’:

SUPPORT_DLNA_SERVER=off
SUPPORT_BITTORRENT=off

You may want to experiment other options.
3. Restart web admin UI with these commands:

/etc/init.d/httpd.sh stop
/etc/init.d/httpd.sh start

You’re done, you should see MediaServer and BitTorrent options in the Extensions section now.

Note: the /etc/nas_feature is re-created each time the NAS reboots.

Change TeraStation TS-XEL Front Panel Display

The /usr/local/sbin/miconapl is a powerful utility that controls lot of things, the syntax is:

miconapl -a command

The LCD display related commands are:

lcd_disp_temp_on
lcd_disp_temp_off
lcd_disp_fanspeed_on
lcd_disp_fanspeed_off
lcd_disp_linkspeed
lcd_disp_hostname
lcd_disp_ipaddress
lcd_disp_raidmode
lcd_disp_date
lcd_disp_buffer0
lcd_disp_buffer1
lcd_disp_buffer2
lcd_disp_buffer3
lcd_disp_buffer4
lcd_disp_buffer5
lcd_disp_buffer6
lcd_disp_buffer7

Read More »

Installing Windows 7 on Viliv X70 EX

My Viliv X70 EX comes with Windows XP, and I would like to install Windows 7 on it because XP doesn’t have good support for touch screen devices. Good news is that the Windows 7 drivers for Viliv X70 have been officially out, however, it’s sort of tricky to install the touch screen driver because the driver listed on the official site is not correct.

After some reading and tries I have finally managed to have Windows 7 running on Viliv X70 EX with all features working. Here are the steps I took to install Windows 7 on my Viliv.

WARNING: The following installation procedures will delete your AMI Rescue partition, after the installation, you will no longer be able to use AMI Rescue to restore to Windows XP. If you wanna return to Windows XP later, make sure you have a Ghost image before proceeding, otherwise you’ll have to install it manually through a DVD-ROM or USB flash drive and your AMI Rescue partition will be gone forever.

Things to Prepare

1. Make a Windows 7 installation USB flash drive, get the official tool at

Windows 7 USB Installation Tool

This tool will turn your USB flash into a Windows 7 installation media. Ignore this step if you plan to install using a USB DVD-ROM. I just prefer using a USB flash.

UPDATE: if you don’t know how to use the tool, please check Create Bootable Windows 7 USB Flash.

Read More »

A Potential Memory Leak in Twisted

Recently I’m developing a server module with Python, the module will initiate thousands of connections to a Jabber server, and there’re many clients connect/disconnect to/from this module, so I’ve created a pool to hold all the connections.

To maintain such a pool, the module has to frequently construct object (when user connects) and deconstruct object (when user leaves), I implement the module using Twisted framework. After some tests, there seems memory leaks, this is not allowed for a server-side application, so I tried to hunt the leak down, after some tests I finally found where the problem exists.

Read More »

Execute Custom Script During QNAP Bootstrap

The QNAP NAS (in my case TS-209 II) uses an embedded Linux, during the system startup, a clean runtime environment is restored, then customized configurations are copied over to the default files, this makes a more stable system. After boot, the /etc folder is on a ramdisk (/dev/ram0), thus you can’t modify it as you usually do on a normal Linux.

If you wanna execute some custom scripts during system startup, you can’t simply edit /etc/rc*.d files because these files are on ramdisk. There’re some ways to let system execute your personal scripts during startup, the most dangerous way is to modify the initrd directly, in case you messed up something, your QNAP will be rendered useless unless doing a mtd restore through serial port.

I personally like to use pure software methods to do the trick.

Method 1

Utilize the autorun.sh script. This script is on /dev/mtdblock5, it is called each time system boots, so any modifications to it will take effect in the next reboot. To change its contents:

mount -o loop /dev/mtdblock5 /tmp/config

Then use your favorite editor to edit /tmp/config/autorun.sh, when you’re done, enter:

umount /tmp/config

This method is easy, but you can’t let the script do some cleanup before shutdown because the script is only called during system boot. If you would like some more controls, try the method shown below.

Read More »

Turn Your TS-209 II Into TS-209 Pro II (Risk-Free)

This post introduces an ideal and safe method to change a TS-209 II into a TS-209 Pro II, the basic idea is to fake the hardware type during system startup, thus make a perfect hack.

There’s a utility /sbin/config_util which is used for many purposes, including get/set hardware signatures, we’ll use it to change the box type.

The Method

SSH onto your TS-209 II, then enter:

mount -o loop /dev/mtdblock5 /tmp/config
cd /tmp/config

Read More »

Enable AD Support on TS-209 II

AD support is a feature available to QNAP TS-209 Pro II only. However, TS-209 II and TS-209 Pro II have exactly the same hardware specifications, the difference is in software. The two differences between a 209 II and a 209 Pro II are: support for NFS and AD (Active Directory).

I don’t know why QNAP sells the same thing in two prices. However, since they are only different in softwares, why pay extra $85 for the two additional software features when you can enable them by yourself ? In my last post I have described how to enable the NFS support on 209 II. This article describes how to enable the AD support on 209 II.

Read More »

Activate NFS Support on QNAP TS-209 II

The QNAP TS-209 II and TS-209 Pro II have the same hardware specifications, however, the firmwares are slightly different, the main differences are: NFS and ADS support are only available on TS-209 Pro II. Afte some investigation, I found it’s easy to enable NFS on TS-209 II. This post describes the way to achieve it.

SSH to TS-209 II and then take the following steps:

1. Enable NFS support in system configuration

setcfg NFS Enable 1

This will create an NFS section in system configuration file (/etc/config/uLinux.conf) and add an item under the section which enables NFS during bootstrap.

2. Create user for NFS

TS-209 II defaults to run NFS with UID=500 and GID=20, so let’s create a user for it:

addgroup -g 20 nfsgroup
adduser -u 500 -G nfsgroup nfs

Read More »

Product Development Diagram

An interesting picture from javaeye.com:

WordPress Appliance - Powered by TurnKey Linux