I have the same problem because my password contain comma symbol (i.e. "PASS,WORD"):
$ sudo mount -t cifs -o domain=mydomain,username=myuser,password=PASS,WORD //server/share localfolder
mount error(22): Invalid argument
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
At first, you should try enable verbose mode (--verbose option):
$ sudo mount -t cifs -o domain=mydomain,username=myuser,password=PASS,WORD //server/share localfolder --verbose
mount.cifs kernel mount options: ip=172.30.91.137,unc=\\server\share,WORD,user=myuser,,domain=mydomain,pass=********
Here I see my problem. Comma breaks all stuff. Solution is use credential file. What is written in man mount.cifs:
credentials=filename
specifies a file that contains a username and/or password and
optionally the name of the workgroup. The format of the file is:
username=value
password=value
domain=value
This is preferred over having passwords in plaintext in a shared
file, such as /etc/fstab. Be sure to protect any credentials file
properly.
Create this file any way you like:
$ cat > cifs.credo
username=myuser
password=PASS,WORD
domain=mydomain
and use (--verbose can be omitted)
$ sudo mount -t cifs -o credentials=path/to/cifs.credo //server/share localfolder --verbose
mount.cifs kernel mount options: ip=172.30.91.137,unc=\\server\share,user=myuser,,domain=mydomain,pass=********
No problem with password.