Network Attached Storage
Include here a list of NAS that have been tested with LinuxMCE.
Buffalo Terastation |
Buffalo Linkstation |
FreeNAS |
Troubleshooting
- The files appear on the media directors, orbiters, and (while SSH'd) on /mnt/NAS_# and in the subdirectories of each user. But the files do not play. None of the music or video files play. All files stored on the core play fine.
- (This solution comes from bliss01 on the forum. Needs more detailed instructions please...)
Make sure you've mounted the device as the same name and dir and on the Core. - Edit the /etc/exports file on the core, and the /etc/fstab on the MDs to fix this. But also to make the changes stay after reboot, edit the templates in /usr/pluto/templates/
- Also make sure the SMB drive is on the same network (ie. the 192.168.80.x) as the Core, which has a firewall which stops smb mounts.
- (This solution comes from bliss01 on the forum. Needs more detailed instructions please...)
First, the detected event is fired.
For a detected NAS this event comes from dhcp monitor and has the ip/mac. The "plug and play" plugin figures out what it is, and fires an event like this:
/usr/pluto/bin/MessageSend dcerouter 0 -1001 2 65 52 3 53 2 5 "00:0D:0B:99:10:43" 28 "192.168.80.7"
For a detected Windows share, this event comes from the "scan the network for windows shares" utility that always runs in the background. It explicitly sends a "device detected" event with the device template "Generic File Server 1837", like this:
/usr/pluto/bin/MessageSend dcerouter 0 -1001 2 65 52 3 53 2 49 1837
Both the "generic file server" and the NAS devices like Maxtor & Buffalo have a device data called “Pre Pnp Script”, which is set to: /usr/pluto/bin/CheckNASForPasswords.sh. This means that before actually creating the device, this script will be run and is expected to send a command CMD_Pre_Pnp_Script_Done which includes additional parameters. In the script the key thing is the "182|1" parameter. Change that 1 to a 0 if no password is required. Maybe we will need a different script for different NAS devices.
After that script runs, if 182|1 was specified, the user will be prompted for the username and password, as per: Pnp_PreCreateOptions::OkayToCreateDevice with the screen: SCREEN_Get_Username_Password_For_Devices.
Once the device is created, its configure script will be run, for example: Configure_1794.sh for the Buffalo. This script will lookup the username and password for the device from the database and fire a "device detected" for each network share, as follows:
/usr/pluto/bin/MessageSend dcerouter <X> -1001 2 65 52 3 53 2 49 1768 55 "182|1"
That <X> must be the ID# of the device created above, since the file share will be a child of that device. 1768 is the template for a samba share, 1769 for nfs. If the share does not require a password, leave off the 55 "182|1". If the username and password already specified in the database are valid for the share, then instead of 55 "182|1" use 55 "127|username|128|password".
This message will create the child device for each share and prompt the user if the username or password are needed.