Lion SMB problems and using a WDTV media streamer
Shortly after setting up a new Lion server I found my WDTV Live media streamer was no longer able to connect to its SMB shares. A search showed major incompatibilities for Windows and Linux Samba clients trying to connect to Lion. There are hundreds of posts and articles online detailing the trouble Lion users are having after Apple dropped Samba and implemented its own SMB server. The problem exists in all versions from 10.7 to 10.7.2, so I’m hoping the next 10.7.3 will do something to resolve the issues.
Until that happens there are a couple of options to get access to a Lion server from a WDTV box. The first is to use MacPorts to install Samba V3 and configure manually, the other is to use NFS. If you want to take the Samba route there are a few good guides at protagonist.co.uk, forums.sonos.com and forum.xbmc.org. I chose to use NFS, and followed the guide at wiki.wdlxtv.com.It took some trial and error to get it all working, so I have provided my configuration here if it’s any help. NFS is not as simple to setup as AFP or SMB networking as I haven’t seen a way to browse shares, instead they are configured on the client and server. I’m using the WDLXTV custom firmware for the Live from wiki.wdlxtv.com which I highly recommend, I’m not sure if a WDTV running standard firmware will work the same way.
My exports file on the server contains:
/Volumes/Media/Movies -ro -mapall=nobody -network 192.168.0 -mask 255.255.255.0
/Volumes/Media/TV -ro -mapall=nobody -network 192.168.0 -mask 255.255.255.0
/Volumes/Media/Photos -ro -mapall=nobody -network 192.168.0 -mask 255.255.255.0
/Volumes/Media/Exercise -ro -mapall=nobody -network 192.168.0 -mask 255.255.255.0
/Shares/Video/Holidays -ro -mapall=nobody -network 192.168.0 -mask 255.255.255.0
/Shares/Video/Travel -ro -mapall=nobody -network 192.168.0 -mask 255.255.255.0
To break this down, the first part is the path to the share. /Shares/Video/Holidays is on the boot drive, /Volumes/Media/Movies is on a second drive named Media.
-ro means mount as read only, these shares are only intended for playing media. I use AFP to add content to the shares.
-mapall=nobody means (I think) do not map remote users to a local user. I’m a bit vague on this part, but it works fine.
-network 192.168.0 -mask 255.255.255.0 makes the share available to all clients on the local network 192.168.0.n. This should be changed to your network addressing.
Once the exports file is placed in /etc I used sudo nfsd restart to restart the NFS server using the new configuration, then showmount -e gives
Exports list on localhost:
That completed the configuration on the server, next was configuring the WDTV Live media streamer to mount the NFS shares on startup. I plugged an old USB flash drive containing my net.mounts file into the WDTV box and restarted. Here’s my net.mounts file, there are six lines but they have been split here due to limited page width:
xmount 192.168.0.10:/Shares/Video/Travel Travel nfs “ro,rsize=32768,wsize=32768,proto=tcp,sync,soft”
xmount 192.168.0.10:/Shares/Video/Holidays Holidays nfs “ro,rsize=32768,wsize=32768,proto=tcp,sync,soft”
xmount 192.168.0.10:/Volumes/Media/TV TV nfs “ro,rsize=32768,wsize=32768,proto=tcp,sync,soft”
xmount 192.168.0.10:/Volumes/Media/Photos Photos nfs “ro,rsize=32768,wsize=32768,proto=tcp,sync,soft”
xmount 192.168.0.10:/Volumes/Media/Movies Movies nfs “ro,rsize=32768,wsize=32768,proto=tcp,sync,soft”
xmount 192.168.0.10:/Volumes/Media/Exercise Exercise nfs “ro,rsize=32768,wsize=32768,proto=tcp,sync,soft”
xmount is the command to mount the share on the WDTV, so it can be accessed like a connected USB drive.
192.168.0.10:/Shares/Video/Travel is my server’s IP address and path to the share. The second Travel is the name of the share on the WDTV
nfs specifies the type of share
“ro,rsize=32768,wsize=32768,proto=tcp,sync,soft” was used as I have a gigabit network and suffered very choppy playback.
Using this configuration I can now access the media on the Lion server from the WDTV box just the same as if it were on a connected USB drive.