So, this took me a good amount of time, though the process is simple once you know what you’re looking for. The firmware delivered with the WD TV Live device does not permit the use of NFS, and I’m really trying to consolidate my file services to one elegant protocol solution. I’d prefer not to run Samba, and I ❤ NFS, so here I am.
The solution which I will be demonstrating is the installation of WDLXTV custom firmware (pronounced “W-Deluxe-TV”) which supports NFS and allows many other cool features (such as SSH/telnet access to the WD TV Live device). The instructions and guidance for performing this task are scattered all over the place, so this is just an attempt at convenient consolidation.
Step 0: Some Basic Planning
So, you should know what you’ll need to get this solution working:
- WD TV Live device
- A network connection solution for the WD TV Live device
- A small, otherwise useless USB drive formatted as FAT16 or the more-likely FAT32 which you can leave plugged into your WD TV Live device indefinitely
- A workstation on which to perform the gathering of the firmware and its placement on a USB drive. I’m using my Fedora 21 Workstation system.
You probably already have (1) and (2) in place. The purpose of (3) is not only to move the firmware files to the WD TV Live device for installation, but also to satisfy the requirement that a recognized USB drive be plugged into the device for the xmount-mounted NFS share to appear in the Music|Video|Pictures –> Local Drives –> Folders menu within the user interface.
So get yourself a USB drive you don’t mind using to simply trigger the user interface to recognize that the “Local Drives” menu option ought to exist for your use. There’s probably a witty way to craft a device file and trick the OS into believing that a USB device is inserted so as to get by without using an actual physical device, and I may check into that later, but for now, I have a handy little 256 MB USB drive from year 2002 that I don’t mind using for this purpose.
Once you collect your materials, proceed to Step 1 below.
Step 1: Determine your WD TV Device Model
As seen in the link provided above, the WD TV devices are split into the following categories by the WDLXTV developers:
The names in brackets () are what WE (the developers) refer to as the device name on wiki and forum!.
Supported devices are:
- WDTV Gen 1 [Gen1]
(Model number WDAVN00BN, WDAVP00BE, WDAVN00BS, WDAVP00BS, WDAVP00BP)
- WDTV Gen 2 [Gen2]
(Model number WDBABF0000NBK, WDBABG0000NBK)
- WDTV Live [Live]
(Model number WDBAAN0000NBK, WDBAAP0000NBK)
- WDTV Live Plus [Plus]
(Model number WDBABX0000NBK, WDBREC0000NBK, WDBG3A0000NBK)
- WDTV Live Streaming [SMP] aka Gen3
(Model number WDBHG70000NBK, WDBGXT0000NBK)
So I have a Live device, given my model (part) number.
Step 2: Locate the Latest Firmware for your Model
This is a bit difficult because what appears to be the main installation guide page splits the device categories into only two: “Older WDTV Gen 1 Devices” and “Newer WDTV Gen3 Devices.” Mine is designated as “Live” and seems to sit between those classifications.
However, if you ignore this and merely click the “Download latest firmware” link on that page (under “Main site”), you will find yourself taken to the forum where the latest firmware iterations are clearly on display for three models:
So, I simply ventured into the WDTV Live section and located the latest zip file. You’ll notice that there are two types of each firmware iteration which are designated as “flash” and “non-flash.” You’re going to want to use the “flash” version, since it will actually install the firmware onto your WD TV Live device. The “non-flash” versions are for testing new firmware iterations once you have the WDLXTV firmware installed (and you can’t use it until you have at least some version of the WDLXTV firmware installed).
I’m using 1.05.04_V_WDLXTV.COM_WDLXTV_LIVE-0.5.2.2.
Step 3: Configure wdtvlive.ver and net.mounts
So now, simply download the zip file and unzip it. My demo commands here are executed on a Fedora 21 Workstation:
$ mkdir 1.05.04_V_WDLXTV.COM_WDLXTV_LIVE-0.5.2.2 $ mv 1.05.04_V_WDLXTV.COM_WDLXTV_LIVE-0.5.2.2.zip 1.05.04_V_WDLXTV.COM_WDLXTV_LIVE-0.5.2.2 $ unzip 1.05.04_V_WDLXTV.COM_WDLXTV_LIVE-0.5.2.2.zip $ ll total 194280 -rw-rw-r--. 1 username username 97221978 May 14 09:40 1.05.04_V_WDLXTV.COM_WDLXTV_LIVE-0.5.2.2.zip -rw-r--r--. 1 username username 42663 Apr 24 12:22 Changelog -rw-r--r--. 1 username username 1796 Apr 24 12:22 net.mounts -rw-r--r--. 1 username username 7018 Apr 24 12:22 README -rw-r--r--. 1 username username 19501104 Apr 24 12:22 wdtvlive.bi2 -rw-r--r--. 1 username username 75612208 Apr 24 12:22 wdtvlive.bin -rw-r--r--. 1 username username 6530048 Apr 24 12:22 wdtvlive.fff -rw-r--r--. 1 username username 63 Apr 24 12:22 wdtvlive.ver
For your own sake, you should probably at least glance at the Changelog and README files. The net.mounts file is what we’ll use to specify the NFS share to be mounted automatically when the system starts up. The wdtvlive.bi* and wdtvlive.fff files constitute the firmware to be installed, while the wdtvlive.ver file declares the version of the firmware to the WD TV operating system, triggering it to recognize the associated .bi2, .bin, and .fff files as new firmware to be installed.
So that last part is mega-important. If you are running the latest official firmware for your WD TV Live device (as I was), then you’re on version 1.06.43. The version declared in the wdtvlive.ver file above, however, is:
$ cat wdtvlive.ver VERSION='1.05.04_V.WDLXTV_LIVE-0.5.2.2'
So if you insert the USB drive into your WD TV Live as it is, your system will boot normally (albeit slowly; on account of the firmware check, I imagine) and you’ll be staring at the same OS you’ve always had. The solution is to simply change the VERSION value so that it supersedes whatever version of firmware you have installed. There are no other considerations to the value you choose, so far as I can tell, so I picked the following arbitrary value:
Once you modify your wdtvlive.ver file, you may modify your net.mounts file. This file is nicely commented with xmount syntax examples, so you can simply follow along and put in whatever path is necessary to reach your local NFS shares.
Step 4: Build the USB Drive
Now, ensure that your USB drive is formatted as FAT32. If you’re on Fedora, you can clear the partition table on your USB drive with cfdisk (be CAREFUL – if you’re a n00b, ask me for specific instructions and I’ll help) and lay down a new FAT32 file system with mkfs.vfat. You could probably even get away without modifying partitions and just simply executing:
$ mkfs.vfat /dev/sdd1
Where /dev/sdd1 corresponds to your unmounted USB drive, of course.
Anyway, mine was already FAT32 and hopefully yours is too. As I said, if you need assistance, let me know, but I’ll move on. All that’s left in this step is to copy all the crucial files into the USB drive. In Fedora 21 Workstation, the drive will automatically mount to /run/media/username/something, so your command will look kinda like this:
$ cp net.mounts wdtvlive* /run/media/username/012F-E2C8/
Safely eject the drive and you’re ready to proceed to Step 5.
Step 5: Install the Firmware
So, the installation steps on the quickstart page indicate that you should:
Turn your WDTV off.
This means pulling the power plug, not using the remote!
Disconnect any existing USB devices you may have from your WDTV and insert the stick into the left port.
Plug the power cable back in, turn the unit on, and follow the onscreen instructions.
If the screen stays dark wait at least 15 minutes then remove power completely again, move the USB stick to the rear port, and re-attempt.
If the new firmware is not found and you don’t get a “New firmware found”, make sure to edit the wdtvlive.ver file and change the first version number to something higher than your currently installed firmware version.
I personally inserted the USB drive into the WD TV Live while it was powered on and sitting at the main menu and saw that it immediately produced a menu option “New firmware detected!” and I chose that option and approved the subsequent request to reboot. The system rebooted and came up cleanly with the new firmware obviously installed (the background changes to a pleasant wood paneling design).
Step 6: Post-Installation Tasks
So, you’re now ready to go. If you’ve had good luck, you should see that your NFS share(s) is(are) mounted under the Music|Video|Pictures –> Local Drives –> Folders menu option. It’ll be named according to the ShareName you specified in the xmount syntax.
Important cleanup tasks include changing the default credentials to the default administrative services. You can now access your device over port 80 on its IP address (192.168.1.10:80, for example) and it presents a very nice, thorough administrative toolset. The standard credentials are:
username: wdlxtv password: wdlxtv
Once you log in, use the “Change Webend PW” option on the left to change the password.
Next, you need to telnet into the box and change the root password to something (it’s blank by default). Once that’s done, you can log in using SSH henceforth. On Fedora 21 Workstation, telnet is included by default, but on Windows or another OS you may need to download the associated software. Again, let me know if you need help.
Once you have changed those passwords, record them safely and you’re in good shape.
If you can’t get your NFS shares to show up, this page was helpful to me. Once you have SSH access to your WD TV Live, you can remote in and use standard Linux commands to check out the mount situation. The system log is /tmp/messages.txt and can be useful for seeing why the net.mounts commands may have failed.
Let me know if you have any issues and I’ll be glad to extend some assistance if I can, but, of course, the WDLXTV forums might be your best bet.