after reading what seems like countless support requests, i thought i would provide some basic information on smb and windows xp, as most are having difficulties with xp.
this post is by no means comprehensive, it's just a quick answer to all of the smb help requests i've read.
smb implementation changed significantly with windows xp. smb involves the use of two permission sets to allow access. these are share permissions, as well as ntfs permission. if you have not configured both correctly (or at all for that matter) you will be denied access to a given share.
the first thing to do when sharing files for xbmc is to disable “simple file sharing.” go to any open folder and click tools > folder options > view and remove the check from the “use simple file sharing” selection. click apply and ok.
warning: winxp home supports only simple file sharing. see below for info on ccxstreamgui.
share level access is pretty simple and what most configure to share a directory. simply right-click on a folder, click sharing and security, and click the “share this folder” radio button. add a share name and click apply. no need to worry about permissions, as winxp by default assigns the user group “everyone” read access to the share. now, the folder is shared on the network and everyone has read access, right? well, not quite.
even the folder is shared, there are still ntfs permissions that need to be applied. ntfs permissions apply to all users, remote or local. while you may not see a problem locally (because you’re logged in) you very well may have a problem when you try to access remotely. the network client (xbmc) must authenticate with the host (your pc with mp3s). unless the user is specified in both the xboxmediacenter.xml and your ntfs permissions, you will be denied.
the easiest way to do this is to allow the everyone group read access to the folder. to add a user (or group) to an ntfs folder, right click, click the security tab, and look to see if the “everyone” group is listed in the top pane. if it is, put a check in the read check box under allow and click apply. any user that is allowed access the host pc (logon to your pc) should be able to access the shared directory.
if the everyone group is not displayed, then you’ll have to add it. do the following:
1. right click directory and click “properties”
2. click the “security” tab
3. click “add”
4. click “advanced”
5. click “find now”
6. select the “everyone” group in the bottom pane
7. click “ok”
8. click “ok” again
9. verify “everyone” group is listed in top pane.
10. select appropriate rights (in this case, put a check in the read checkbox under “allow”
11. click “ok”
12. done
but we’re still not done if you have directories (or files!
inside the shared directory. you must set the share folder to pass on its permissions to the folders inside the share. confused yet?
any directories inside the shared folder do not acquire the permissions of the share folder unless you tell it to do so. example: i shared out a directory called share. i can access share just fine, but when i put a folder inside share called child, i can’t open child from my network. i can see it listed, but i simply can’t open it. this is because share and child have different ntfs permissions. like two different locks, they require two different keys. we can however, make child inherit share’s permissions automatically.
to enable inherited permissions, do the following:
1. right click directory and click “properties”
2. click the “security” tab
3. click “advanced”
4. at the bottom are two checkboxes, add a check the checkbox that reads “replace permission entries on all child objects with entries shown here that apply to child objects”
5. click “apply” and you might see a dialog box as the permissions are applied
6. click ok
7. done
now we’ve applied the same permissions to all the files and directories within the share folder. further more, any new directories or files that are added inherit the permission automatically.
as long as the remote user (xbmc) has an account on the pc, you should be able to access the shares just fine. remember to double check all these settings if you’re having problems. more times than not, a single setting may have been overlooked, resulting in access being denied.
for more info on winxp file sharing, go here:
windows xp file sharing
“but toe, this sounds hard and complicated! is there any other way?!”
yes! there is a much better way! use ccxstreamgui and allow it to deal with all this silliness. simply drag and drop folders into the gui to share them! it takes about 3 minutes to setup multiple shares using ccxstreamgui.
yes, it really is that easy. ccxstream uses the xbox media streaming protocol to do its magic. xbms is much more efficient than smb for media streaming. with smb, my cache was up and down like a roller coaster, probably due to some interference on the 802g network i use. with ccxstream, it is locked at 49%. it never budges. i can stream 9+ mbps mpeg2 with zero stuttering. i strongly suggest that folks try this method.
disclaimer: the toe doesn’t know it all, so if i have made some error, feel free to correct the post. and, because i don't know it all, i accept zero responsibility if you smoke gbs of mp3s on your pc by denying yourself access to them forever! do yourself a favor and test these instructions on "development" directories, not production ones!