Samba

Thomson TG587n is a decent wireless-N broadband router (currently offered by O2 on high-end packages). This router has 2 USB ports for content sharing.

Configuring Content Sharing using Thomson Web Interface
The configuration is quite simple. Open the web interface (default to 192.168.1.254) and go to the following section Toolbox->Content Sharing->Configure

We only care about the first section ( Network File Server (Windows Networking) ). Let's assume your configuration looks like this Server Name: O2-Foobar Server Description: My Media Server Workgroup: WORKGROUP Server Enabled: Yes (this must be enabled)

Make sure that you have selected your disk (Only FAT32 or NTFS format for now) on List of connected disks field

The Network File Server exposes the following two folders to the clients
 * Media
 * Shared

Client Configuration
The shares are accessible through the smb:// protocol. The smbfs has been replaced by the cifs protocol so this is what we will use to access the disk from our Gentoo box

Kernel Configuration
The kernel needs to be configured like this

Necessary System Tools
We don't really want the full samba package, hence we will install only the net-fs/mount-cifs package

Mount the shared content
Now that our client is fully configured we can access the shares like this

Automatically mount shares on every boot
If you want to automatically mount your shares on every boot, then edit your /etc/fstab to look like this

Known Issues
The following problems may pop up when trying to mount your shiny new CIFS shares

Cannot Resolve 
And more specifically, the actual error looks like this

This can easily be fixed by editing /etc/nsswitch and appending wins next to hosts entry

If this does not work, you can use the NFS server's IP address instead of the O2-Foobar hostname.

You can use the nmblookup utility (provided by the ) to find out the IP address of an NFS host

Shutdown process hangs when trying to unmount cifs shares
In case your system fails to shutdown or reboot properly, then you need to make sure you umount the cifs shares before udev tries to stop

This is an easy way to do it

This will ensure that your cifs mounts will be umounted properly by the local init script.