Edit: I have added the share name at the end of the IP address and now I’m getting mount error(115): Operation now in progress
. I haven’t figured this one out yet either. My computer IP and the network drive IP are on the same network and within range. Both should be using the same gateway and DHCP.
I have tried just about every combination of parameters possible and nothing is working. It keeps spitting out a meaningless error and that error is the only thing in the log file too. I have tried a 100 different answers from across stack-overflow to no avail.
I’m running the command below:
sudo mount -t cifs //192.168.50.1/ /mnt/asus -o credentials=/home/user/.smbcredentials
and regardless of how many params I have removed it keeps spitting out :
mount error(22): Invalid argument Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) and kernel log messages (dmesg)
I have referred to the manpage and verified that all of the args I’m using are valid. At this point I’m kind of at a loss. Are there file system args I need to add or something?
I can see the disk with all of the sharenames when I run smbclient -L 192.168.50.1
, and I can navigate to it in the file browser, but I can’t mount it for some reason. I have the workgroup name set under /etc/samba/smb.conf
. I have tried enabling and disabling NT1. Does anyone have any ideas as to why it might be spitting out an invalid args error even when I removed every single argument?
/home//.smbcredentials
This looks strange.
It may be a number of things, but I would try to restructure your command with the options first, then the share path with the mount point as the final arguments (this matches the examples given in the documentation).
I would also suggest not using a dot file for your credentials, as they are actually a bug and not a feature.
sudo mount -t cifs -o credentials=/home/user/smb.creds //192.168.50.1/sharename /mnt/asus/
Edit: Found this to better explain the structure of command line arguments: https://unix.stackexchange.com/questions/484152/how-to-distinguish-between-a-positional-parameter-and-an-option
Okay I just tried that and it throws the mount error(22): Invalid argument
error again.
Have you tried:
smb://user@ip/sharename/
Are you sure the path to your credentials file is correct and does it look like this?
username=value
password=value
domain=value
It’s correct. I put it in greater than/less than brackets up above to indicate that it was a placeholder and Lemmy stripped it out for some reason. I have edited above to just say “user”. Good eye though.
My file looks like that except for the domain value. I don’t have that line. What would go there? It’s a network drive connected directly to my router with a USB cable and then the router SMB client and mapping is configured. I know that’s correct because I can map them in Windows, and I can list them in Pop in the terminal, as well as browse it in Pop in the file explorer. Alternatively I started out just using the user/password arguments for the terminal mounting command and only moved it to the file to get rid of those arguments since the error it’s throwing is saying there are invalid arguments. I have the workgroup set in the config file and I’m explicitly declaring the IP in the mount command. There’s no domain name, unless that means something I’m unaware of.
domain
in this instance is the workgroup, and is optional according to the man page.
Have you tried adding --verbose
before the -o
? That might yield more information.
The workgroup is set in the cfg file. I got a little further now. Since moving the credentials to the file I am getting a different error. Now I get mount error(115): Operation now in progress
which is some sort of connection error. I was actually just logging verbose right before I checked back here and it just spits out the options from the config file and the error message. Still trying to figure this new error out since both the computer and the drive are on the same network, and within the same range.