Popcorn Hour A-100 / D-Link
DNS-323 / NFS Share
I’m writing
this short “manual” so other people who have purchased a Popcorn Hour A-100
(Networked Media Tank (nmt)) and a D-Link DNS-323 NAS
device can make full advantage of this configuration.
I’m a newbie
in the multimedia world but during the short time I’m using multimedia
streaming I learn some important things:
-
Yes
there are some standards defined (uPnP, DLNA, SMB
shares, NFS Share, HTTP Streaming, etc) but you CAN
NOT assume certified products working together.
-
Plug
and Play does not exists
-
You
have to be patient to get things working
I purchased
the D-Link DNS-323 NAS and the Popcorn Hour A-100 because I think these are the
best products on the market for a fair price.
If picked
the DNS-323 NAS because I
wanted to have a storage solution I could access from multiple systems. The
DNS-323 has great
transfer rates.
I selected
the Popcorn Hour being the multimedia
player supporting the most multimedia formats.
Using an
internal disk is something I do not prefer. Even if you use a very quit disk – it still makes some noise.
Next step
was to get them to work together.
I’ve tried
it all – uPnP provided by the D-Link DNS-323, SMB
Shares, Twonky (uPnP
Server), LLink, Mediatomb, SMB shares, HTTP streaming, etc
And I got
sick of all the messages the Popcorn Hour kept displaying: “No workgroup found”,
“Cannot open this picture”, “No content found”, etc.
But after a
lost of reading, testing, config changes and so on,
finally got it to work!!!!!
I’m using Fonz’s fun_plug to run NFS on
my D-Link DNS-323. The instruction
(also written below) on how to install NFS are written by Moquilok on the DSM-G600,
DNS-323 and TS-I300 Hack Forum
I’ve used
the Telnet Deamon written by Sheik Yerbouti to get command line access to the Popcorn Hour
to be able to test the commands.
My goal was
to be able to mount the D-Link DNS-323, be able to see all (sub) folders and
play movies (ISO images), play music and run a picture slideshow.
*******************
**** Instructions ****
*******************
1) Preperations:
a. Update the firmware of your Popcorn
hour to the latest version - http://www.popcornhour.com/download/firmware_update.html
b. Update the firmware of your D-Link
DNS-323 - http://support.dlink.com/products/view.asp?productid=DNS%2D323#firm
c. If enabled – disable the uPNP server on your DNS-323 (it sucks anyway)
2) Install and run NFS on your DNS-323:
a. Install Fonz’s Fun_Plug
and the unfs and portmap addons - http://www.inreto.de/dns323/fun-plug/
I’ve used version 0.4.
Fun_Plug – step by step installation
instructions (written by Moquilok):
You need to start off by
installing the fun-plug:
i. Go to http://www.inreto.de/dns323/fun-plug/0.4/ and download funplug-0.4.tar.gz
ii. Open it up with winRAR (not winZIP) and place the 2 files onto your DNS-323 (drop them in the initial area where you have mapped your network drive to it).
iii. Reboot your DNS-323 and wait until it's fully up and running again
iv. Download putty.exe from http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
v.
You can use putty to telnet into the DNS-323 by
putting in the IP address of the DNS-323, port (23 is default for telnet), and
choose the Telnet connection type.
Then click on the Open button. A new
window should appear that looks similar to a DOS command window.
You have now telnet'd into the root area of your
DNS-323 as root.
Getting the
NFS server up and running
vi. Go to http://www.inreto.de/dns323/fun-plug/0.4/addons/ and download unfs3-0.9.18.tgz and portmap-6.0.tgz
vii. Move the 2 .tgz files onto your DNS-323 (drop them in the initial area where you have mapped your network drive to it).
viii. Telnet into your DNS-323 and go to the directory where you put your 2 .tgz files. The command should be: 'cd /mnt/HD_a2' -- without the single quotes
ix. Type 'funpkg.sh portmap-6.0.tgz'
x. Type 'funpkg.sh unfs3-0.9.18.tgz'
xi. Type 'chmod 755 /mnt/HD_a2/fun_plug.d/start/unfsd.sh'
xii. Type 'sh /mnt/HD_a2/fun_plug.d/start/unfsd.sh start' to start the NFS server -- next time, when you restart your DNS-323, the NFS server should automatically start
3) Mount the NFS share Install and run NFS on your Popcorn Hour:
You can mount a NFS share directly from the
Popcorn Hour’s setup menu but you won’t be able to browse through all the
folders. Meaning if you have multiple (sub) folders you need to create multiple
shares.
You can however seen all (sub) folders if you are able to mount it to a empty folder. But as mentioned before I do not use an
internal hard drive in my Popcorn Hour.
Also if you manually mount a NFS share to an
empty folder you’ll lose this after a power cut.
The solution for this is using a simple USB Memory stick.
I’ve created multiple files to simple mount the NFS share with the remote
control.
I also learned you need to refresh the NFS share file information after you
stored new movies, pictures or music on you DNS-323.
On the Memory stick I created an empty folder called Dlink
in the root folder.
I created 2 html files – one to mount
the NFS share to the folder Dlink
- one
to refresh the NFS share file information.
Both html files call an CGI script running the
commands to mount and/or refresh the file info.
You need to modify one CGI script to connect to your DNS-323
a. Mount NFS - CGI script:
#!/bin/sh
echo
"Content-type: text/html";
echo
"";
echo
"Please be patient when mounting NFS share";
/bin/mount
192.168.1.1:/mnt/HD_a2/Data
/opt/sybhttpd/localhost.drives/USB_DRIVE_A-1/DLink;
ls -aR
/opt/sybhttpd/localhost.drives/USB_DRIVE_A-1/DLink;
exit
0;
You need to change the IP Address to link to your DNS-323.
To edit the CGI script you can use ConTEXT text
Editor - http://www.contexteditor.org/downloads.html
b. Refresh NFS Share file information – CGI script:
#!/bin/sh
echo
"Content-type: text/html";
echo
"";
echo
"Please be patient when indexing NFS share";
ls -aR
/opt/sybhttpd/localhost.drives/USB_DRIVE_A-1/DLink;
exit
0;
There is no need to change anything here.
c. HTML Pages to start CGI scripts:
I’ve created some simple pages you can open from the Popcorn Hour on-screen
Menu.
i.
<HTML>
<HEAD>
<
<BODY vLink=#000000 aLink=#0000ff
link=#000000 bgColor=#ffffff>
<P align=center><BR>
<IMG src="p/pch-logo.gif"><BR>
<FONT size=6><FONT color=#000000>
Mounting a NFS Share takes some time!!!<BR>
Please be patient for a minute.<BR><BR>
Press <A
href="http://localhost.drives:8883/USB_DRIVE_A-1/mount.cgi"><STRONG>Enter</STRONG></A>
to start mounting the NFS share.<BR>
Press the <STRONG>Home</STRONG> key when
finished.<BR></FONT></FONT>
(some file listing info might appear on the screen)<BR>
<IMG src="p/pch.jpg"><IMG
src="p/dns323.jpg">
</FONT></FONT></P></BODY></HTML>
This is what the page looks like:

ii.
Refresh NFS Share file information –
CGI script:
<HTML>
<HEAD>
<
<BODY vLink=#000000 aLink=#0000ff
link=#000000 bgColor=#ffffff>
<P align=center><BR>
<IMG src="p/pch-logo.gif"><BR>
<FONT size=5><FONT color=#000000>
Reading NFS Share!!! <BR>
Please be patient for a minute.<BR><BR>
Press <A
href="http://localhost.drives:8883/USB_DRIVE_A-1/index.cgi"><STRONG>Enter</STRONG></A>
to start reading the NFS share.<BR>
Press the <STRONG>Home</STRONG> key when
finished.<BR></FONT></FONT>
(some file listing info might appear on the screen)<BR>
<IMG src="p/pch.jpg"><IMG
src="p/dns323.jpg">
</FONT></FONT></P></BODY></HTML>
***********************
**** End Instructions ****
***********************
After all of the above.
Create a
memory stick with the above file on in.
Plug it
into your Popcorn Hour.
Select
Media Source – USB_Drive_A-1 (when typing these instructions, I’m not sure is
it makes any difference if you use the top or bottom
Select the
file icon
and then select the Mount_NFS.html file. Press
enter to start mounting your NFS share.
This will
take some time – don't worry – all is normal - if finished your screen will be
flooded with file listing information.
Press the
home button on your remote an enjoy browsing all your files and folders.
All files
and programs mentioned in these instructions can be found on http://home.concepts.nl/~to16304/pch.zip
These
instructions can also be found on http://www.tolboom.tv