🛜OpenWRT and Common Internet File System (CIFS)
This protocol is based on the widely used samba protocol. CIFS is a network protocol for sharing files, printers, serial ports, and other communications between computers. I gonna use this protocol to connect my NAS device to my OpenWrt-powered box.
Installing the packages
To get everything up and running, we need to install the following package on the linksys device, kmod-cifs_2.4.30-brcm-5_mipsel.ipk. If you wish, you can also install the mount helper package, cifsmount_1.5-2_mipsel.ipk. I decided not to do so.
A quick check
If we want to do a quick check if all is working, follow the following procedure.
root@Hellhound:~# insmod cifs
Using /lib/modules/2.4.30/cifs.o
Make a directory to mount the share on the remote machine.
root@Hellhound:~# mkdir /tmp/mnt
Now we can try to mount the share.
root@Hellhound:~# mount -t cifs //192.168.1.2/share /tmp/mnt -o unc=\\\\192.168.1.2\\share,ip=192.168.1.2,user=admin,pass=geheim ,dom=workgroup
Just double check it is mounted.
root@Hellhound:~# df
//192.168.1.2/share243748864 46485504 197263360 19% /tmp/mnt
Setting up the system
The above mount command is a hell of a command to execute every time you need your NAS device to be connected to your OpenWrt box. So, we are going to make life a little easier for yourself. We will edit the /etc/fstab. If you don’t have a fstab file, make one now. To the fstab file, we add the following line.
//192.168.1.2/share /mnt/bulky cifs unc=\\192.168.1.2\share, ip=192.168.1.2,user=admin,password=geheim,dom=workgroup,rw 0 0
The cifs kernel module does not need to loaded separately. The package also installs the file /etc/modules.d/30-cifs. This will load the module at boot-time. Now we can mount the share with the following command.
root@Hellhound:~# mount /mnt/bulky
Since OpenWrt does not execute the command
mount -a
at boot-time, the configured mount points in fstab are not automagicly mounted at boot-time. To solve this, I added the mount command.
mount /mnt/bulky
to the file /etc/init.d/S95custom-user-startup.