I know this issue has been beaten to death, but I have done a couple hours of debugging and I know what's going on.
Working on Libreelec rPi2 8.2.2 and LibreELEC (community): devel-20171004193021-r26173-gd404dbb (TinkerBoard.arm) trying to execute this:
I keep getting Invalid arguments
I ran strace on Libreelec and my desktop (Fedora 27) machine, comparing the syscalls:
Libreelec:
mount("//192.168.1.1/ROMS", "/storage/emulators/roms/", "cifs", MS_SILENT, "guest,unc=\\\\192.168.1.1\\ROMS,ip=192.168.1.1") = -1 EINVAL (Invalid argument)
Fedora:
mount("//192.168.1.1/ROMS", ".", "cifs", 0, "ip=192.168.1.1,unc=\\\\192.168.1.1\\ROMS,user=,pass=") = 0
Those 2 syscalls are the result of exactly the same command (with mount directory changed).
The difference is that the Fedora command is invoked by mount.cifs, in the cifs-tools package, whereas the Libreelec is busybox.
To make busybox mount using guest mounts correctly, you must use the following syntax:
Consequently, in the systemd.mount file, you MUST use this syntax for guest mounts:
The systemd.mount method above is a workaround, the proper behavior should be to issue user= and pass= when using guest. If you pull in the cifs-tools package, it will solve this problem for you.
--Perry Harrington