SMB

From Official Kodi Wiki
Jump to navigation Jump to search
Cleanup.png This page or section may require cleanup, updating, spellchecking, reformatting and/or updated images. Please improve this page if you can. The discussion page may contain suggestions.


Template:XBMC faq toc Inline

Windows File Sharing, (also known as Common Internet File System [CIFS] and previously known as Server Message Block [SMB]), is probably the most flexible of all of the options for sharing media between your computer or a NAS (Network Attached Storage) device and XBMC.
SMB/SAMBA/CIFS sharing has many advantages over the other options, mainly:
  • It is already incorporated in Windows, eliminating the need for additional software and services to be installed on your PC
  • It allows for authentication by Windows username and password, making it good for use on public networks
  • Once properly configured, it will allow your network shares to be seen and accessed by not only XBMC, but also any Windows machine on your network.

Source example

Windows

Windows 7 (x64) users : You must uninstall Windows Live Sign-in Assistant for sharing to work. Reasons are unclear as why you need to do that.

Configuring Windows File Sharing With Open Access (Simple File Sharing)

Right click the Drive or Folder you wish to share. Choose “Sharing and Security” from the drop down menu. If you are sharing the root of a drive, Windows will warn you about sharing a whole drive. Click “I understand the risk...” If you aren't sharing the whole drive, the warning will not appear.
There may be a link saying “If you understand the security risks...” in the lower portion of the window. Click it to get the sharing options.
If the option to set the folder to shared is greyed out, and the option to make this folder private is checked, you need to uncheck it. If it's greyed out too you need to find which parent folder it's checked on. If the folder you want to share is on your desktop, it's probably /Documents and Settings/(Your username) that's been made private. It's normally on the same drive as your Windows installation.
The first time you set up sharing, Windows will ask you if you want to use a wizard. The wizard will enable the Windows firewall to prevent internet users from accessing your files. If you have SP2 it's probably enabled already. Note:The Windows firewall can stop filesharing from working. After you have chosen whether or not to run the wizard you must choose a name for your share. This is the name that will be visible on the network.
If you want other computers to be only be able to read your files uncheck “Allow network users to change my files.”
Alternatively you can create hidden shares. Hidden shares are created when you add the $ to the end of the share name. (ie. share becomes share$) A hidden share will not show up in the list. You must already know the name of the share to access it. (in windows: "\\COMPUTER_NAME\share$") Details on accessing hidden shares below.
Click OK. That's it, you should be done. If you have a lot of files and folders inside the folder you shared, you might get a progress box while windows changes the permissions of the files inside that folder.
Make sure your XBMC device is on the same network(ie connected to the same router). If you have any trouble, double check that all software firewalls are off, including the Windows Firewall. If you still have problems often times restarting your computer can fix it.

Configuring Windows File Sharing With Secured Access

Note: This setup can only be accomplished in Windows XP Professional (XP Home doesn't work).


The first step is to create a user on your computer called XBMC. This can be done by navigating to Start->Control Panel->User Accounts, select Create a new account and give it the following settings:
Name: XBMC
Password: XBMC
Account Type: Limited Access (not an administrator)
This account will be used for file sharing purposes only. If you want to hide this user from the Welcome Screen, see this link.
Now we need to pick a few folders to share. On my computer I have two shared folders... One is C:\SHARED\ and the second is C:\Music\. Inside my SHARED folder I have 3 subfolders called Music, Pictures, and TV Shows. I recommend using a directory right on the C:\ drive to make things simple (unless its something you don't want others to find).
The next step is to set up sharing privledges for these folders. To do this, right-click the folder you want to share (ie C:\SHARED\) and chose Sharing and Security.... Next click on the Permissions button. If you do not see a Permissions button, then you need to disable Simple File Sharing (see the next step).

To Disable Simple File Sharing

In any explorer window, click on Tools->Folder Options.... Select the View tab and in the Advanced Settings pane scroll to the bottom of the list and uncheck Use Simple File Sharing (Recommended).
Now select “Share this folder” and give it a name. You should probably just call it whatever the folders name is (ie I called mine SHARED). Just avoid calling it PORN or ILLEGAL STUFF because anyone browsing your network will see the folder names (they just won't be able to see anything inside of them). The user limit should be set to Maximum Allowed.
Next, click on the Permissions button and click Add.... Now click Advanced... and hit the Find Now... button. This will find all of the users and user groups on your computer. There will probably be a bunch of users you have never seen before – those are for things like Remote Assistance and other Windows related stuff so don't worry about them. What we want to do is give our XBMC user permission to view this folder over the network.
To do this, find XBMC in the list and click OK. It should appear in the list as YOUR-COMPUTER-NAME\XBMC. Click OK and you should be back at the Share Permissions window with XBMC (YOUR-COMPUTER-NAME\XBMC) selected from the list. We want to give this user Read Only access, so make sure that only Read is checked under the allow column. If you want to be able to delete files on your computer from XBMC Media Center, you can give them full control, but I would not recommend this because you never know whos going to start deleting stuff (little sibblings, drunk friends, etc...). Before we forget, go ahead and remove the “Everyone” users group from the list.
Save it and repeat for the rest of the folders you want to share.
Note for the power users: You do not need a seperate share if the folders are nested (ie C:\SHARED\Movies\, C:\SHARED\TV Shows\, etc) because you can set the source path to the Movies folder inside the SHARED folder.
Ok... so now you should have one or more folders shared. If you want to test it, go to another computer on your LAN, and you should be able navigate to your computer in “My Network Places” and find your computer in Entire Network -> Microsoft Windows Network -> WORKGROUP , and log in as XBMC/XBMC and see your shares. It might not let you access the network due to some screwy stuff Windows does, so if it doesn't work don't worry about it.
Now lets create the source on your XBMC Media Center device...
Go to your XBMC device and choose the folder type you shared (ie go into “My videos” if you want to add your computer's videos folder). Then navigate to Add Source. Select Browse, chose Add Network Location... and use the following settings...
Protocol: Windows Network (SMB)
Server Name: (click browse and find it). If you can't find it, then see the troubleshooting part below.
Server Folder: (should be filled in when you clicked browse)
Username: XBMC
Password: XBMC
Then click OK. This is just your XBMC device's source name, so if you have shared folders from several different machines you might want to call it Videos (Bob's Computer).
If you are having trouble finding your computer, you can just type your computers name into the Server Name field. Your computer's name can be found by right-clicking on My Computer, and navigating to the Computer Name tab and its next to Full Computer Name. You will also need to enter the Server folder, which is the name you gave to the shared folder (ie SHARED/), or it can be a path (ie SHARED/Movies/).
If it still doesn't work, you can give your computer a static IP address and enter the static IP address in the Server Name field.
You're done! I have this set up to share my music as well so that iTunes doesn't have to be running. And obviously, your computer needs to be on in order for you to stream movies onto your XBMC device from it.

How to Configure Hidden Shares

To create a hidden share. Add $ to the end of the share's name. You must know the name of the hidden share to gain access to it.
For each list (Files, My Videos, etc.) you will have to add a source for your hidden share(s). You can add a source directly to your xbmc.xml file or you can use the XBMC interface. If you add it to the file manually, you can add it to all appropriate sections of XBMC at once. There is a section for each list. More info on Media Sources
Example:
 <xml>
    <source>
     <name>share$</name>
     <path>smb://COMPUTER_NAME/share$/</path>
    </source>
 </xml>
The following information is more or less a duplicate from Media Sources.
If you choose to add it through the interface, first you need to open the section you want to add the source to. (Videos, Music, Etc.). For this example I will use Videos, but they are all basically the same.
First open Videos, then make sure the highlight is on one of the existing sources.
Press the white button on the controller to open the menu.
Select Add Source from the menu.
Note: You can enter the SMB/SAMBA/CIFS link manually at this point if you wish. To do so, highlight the box that has <none> in it, and press A. (syntax: smb://COMPUTER_NAME/sharename$/)
If you would rather not type it manually continue reading.
Choose Browse on the dialog.
Scroll to the bottom, this can likely be accomplished by pushing up once.
Select Add Network Location...
Press the Browse button, it should be to the right of the Server Name box. Open smb://.
Now find your computer's name, but don't push A yet.
If you can't find it, go back and type it in manually in the Server Name box. (smb://COMPUTER_NAME/)
Once you find your computer's name, move to the right and highlight OK then push A.
Verify that the Server Name box has smb://YOUR_COMPUTER_NAME/
Now move down to the Shared Folder box, push A to edit it.
Type the name of your shared folder, and don't forget to include the $.
Move down and highlight OK
You should be back at the list you were in earlier where you picked Add Network Location...
Choose the share you just created from the list, move to the right, select OK and push A.
Enter a name for your new source at the bottom (PM3-default) or the top (MC360) of the dialog.
Now move to the bottom and select OK once more.
If you add the same source to some of the other lists you shouldn't need to add a network location again, it should be waiting in there for you already.
That's it, you should be good to go. Enjoy. TaeBoX

Mac OS X

Mac OS X 10.2 to 10.6

Enabling SMB sharing:

Once you have your Network settings configured to communicate with XBMC you need to enable Windows Sharing through System Preferences by:
  1. Navigating to the Sharing panel.
  2. On the left, under Service, select "File Sharing" and turn it On if it's not already enabled.
  3. Select "Options" and check "Share Files and Folders using SMB (Windows)" and
  4. Below, check the boxes of any accounts you want to give SMB access to then click Done.
  5. Windows Sharing should now show as "On" with a green light next to it. Add folders, users and permissions in the boxes below.
  6. A message will then be displayed at the base of the panel:
Windows users can access your computer at \\x.x.x.x\youraccountsusername
Enabled accounts: youraccountsusername

You have now enabled Windows Sharing on Mac OS X for the specific accounts you enabled in the Sharing panel. If you want to give public access (i.e. no password required) to shares you need to enable "Allow guests to connect to shared folders" for the Guest account in System Preferences under Accounts. Now you can configure this share by adding a media source in the XBMC GUI.

Mac OS X 10.7

Apple changed their SMB/Samba server in Mac OS X 10.7 to only use the SMB 2.0 protocol (with no 1.0 fallback), which broke compatibility with XBMC.

Restoring XBMC compatible SMB sharing in 10.7:

Linux

Introduction

Samba (from samba.org) is a group of Linux/UNIX/BSD programs designed to be able to interact with Windows default file sharing protocol, also known as Common Internet File System (CIFS), which was formaly known as Server Message Block (SMB). The SAMBA package offers a service which can be used to share media on a Linux/UNIX/BSD based machines to both XBMC and your home Windows computer easily. Another type of device that use the SAMBA (or SMB/CIFS) network-protocol is NAS (Network Attached Storage) boxes, which are dedicated file-sharing devices available for home/small-office and professional/enterprise environments. All elements are done from a command-line as it reduces confusion.
Note! This article assumes some basic knowledge of the Linux/UNIX/BSD operating-system interface and environment.

Installing Samba

Due to the diversity of linux distros only three methods will be covered in this article the standard linux install, the one using Gentoo's emerge package manager and Debian/Ubuntu's Advanced Package Tool.
  • Installing Samba regardless of distro
  1. wget http://us4.samba.org/samba/ftp/samba-latest.tar.gz
  2. tar -xvf samba-latest.tar.gz
  3. cd samba-{version} (At this time its samba-3.0.22)
  4. ./configure
  5. make install
  • Installing Samba using Gentoo's emerge
  1. emerge samba
  • Installing Samba on Debian/Ubuntu:
  1. sudo apt-get install samba

Configuring Samba shares

Note: Currently only the config for a public share will be posted.
Samba's configuration is stored /etc/samba/smb.conf. All the following items should be placed in that file.
  • Global configuration
[global]
workgroup = <workgroup>
netbios name = <name of server>
server string = <title>
log file = /var/log/samba/log.%m
max log size = 50
map to guest = bad user
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
local master = no
dns proxy = no
workgroup
Should be set to the workgroup your home pc uses if you planning on accessing this share from a windows PC
netbios name
This is the name that will be displayed when browsing the your Network Neighborhood
server string
The title of the server that will be displayed in windows(This is not the share name)
  • Share configuration
[public]
path = <dir to share>
public = yes
only guest = yes
writable = yes
path
Set this to the path to be shared by samba

Run testparm to check your smb.conf for internal correctness.

External links