Thank you for your donation!

Common problems mounting SMB music sources
So you went to the Library Config screen and clicked the "CREATE music source" button. In the following "Music Source" screen you fill out the details of a SMB share on some server. You click "save" and....oops...there's the dreaded red X next to the entry instead of a green checkmark. What now?

The first order of business is to click on that Red-X entry to get back to the Music Source screen and then click where it says "Click to view moode.log for errors." [You could also log into the command line and examine /var/log/moode.log directly or via the moodeutl -l command.]

Scroll to the end of the log to find the most recent error message, something like

20220203 133419 sourceMount(): Mount error: (mount error(2): No such file or directory

What now?

Well, here are some common mount error messages and the conditions which triggered them in my limited testing [1]
  • mount error: could not resolve address for host: Unknown error. The host as specified does not exist in the eyes of moOdeOS, perhaps because of local DNS issues. Have you tried using the IP address as an alternative to the hostname?
  • mount error (2): No such file or directory. The specified path is incorrect. Normally this means the share portion of the path is incorrect (misspelled? wrong directory structure?) but the error also can be triggered by specifying a host which has no running SMB server.
  • mount error(13): Permission denied. The specified user ID and password are incorrect for the share being mounted. 
  • mount error(22): Invalid argument. This one is subtle. I've seen it when adding a Mount flag "vers=x.y" where the x.y string isn't recognized by the SMB subsystem (more below).
  • mount error(95): Operation not supported. This one occurs when the SMB server and the SMB client (moOde) can't agree on a common protocol version (more below). 

About the SMB Protocol version

Using the default mount flags specified in the Music Source advanced settings, moOde should negotiate to use the highest level protocol version supported by the SMB server, which could be anywhere from 1.0 to 3.1.1. (I say "should" because while this is true for the Linux-based servers at my disposal, and while Microsoft documentation explicitly says this is how client and server are supposed to work, some have suggested it isn't true for all species of servers.) 

However, if the version is explicitly specified in Mount flags as "vers=x.y" then moOde will tell the SMB server that only this protocol version is acceptable. If the version is a recognizable one but the server is configured not to support it, then the error 95 will occur. On the other hand, if the string "x.y" isn't recognized within the moOde code, then the error 22 will occur.

Acceptable x.y values in my limited testing: 1.0, 2.0, 2.1, 3.0, 3.02, 3.1.1
Unacceptable x.y values in my limited testing: 2.02, 2.0.2, 2.10, 2.1.0, 3.1, 3.10, 3.1.0

<aside>The original SMB protocol (aka SMBv1, NT LM 0.12, etc) is inherently insecure and shouldn't be enabled. Unfortunately, older OSes and many network appliances may support only it. By default, it is enabled in moOde in order to deal with these (it also makes life easier when trying to "see" the sources, but that's another story). I hope that with time this "feature" will disappear.>/aside>

[1] my test Music source: the SMB server on a moOde player configured at various times to support different protocol version and access authorization settings

Forum Jump: