Connect to Mac from Risc OS?

Discussion in 'Mac OS X Server, Xserve, and Networking' started by Nermal, Nov 14, 2017.

  1. Nermal Moderator

    Nermal

    Staff Member

    Joined:
    Dec 7, 2002
    Location:
    New Zealand
    #1
    I'll start by saying that I won't be surprised if I don't get a single reply - I bet some of you have never even heard of this OS :)

    I have three machines on my home network; one Mac (10.12.6), one Windows (10) and one Risc OS (a nightly build from last month). I'm trying to connect to an SMB share on my Mac. I have SMB and Windows File Sharing enabled under Sys Prefs/Sharing/File Sharing/Options.

    I can connect from the Risc OS machine to the Windows machine, so I know that it can "reach out", and I can connect to the Mac from my Windows machine, so I know that I can "call in".

    However, when I try to connect from my Risc OS machine to my Mac (via Omni, "Mount LAN Manager server"), I just get "Cannot make TCP/IP connection". This happens regardless of whether my username and password are correct and regardless of which share I try to connect to.

    Interestingly if I enter the machine's host name into the "Server name" field then it fails instantly, but if I enter its IP address it takes about two seconds to fail. I have an entry for the machine in the Hosts file and the IP address is correct. Doing a Ping from a task window succeeds whether I use the host name or IP address.

    I'm running LanManFS 2.60 (which is the latest) and Omni 2.25 (there's a 2.26 available but apparently it only has visual changes).

    Has anyone got any idea of what to do here? :)
     
  2. Nermal thread starter Moderator

    Nermal

    Staff Member

    Joined:
    Dec 7, 2002
    Location:
    New Zealand
    #2
    I've done a bit more searching and have found some forum posts that I didn't see yesterday. Apparently this used to work fine until a few versions ago, when Apple apparently replaced the standard SMB library with a home-grown one. Googling for "mac smb bugs" returns a lot of hits; is Apple's current SMB library really buggy, or is this more likely to be a problem with LanManFS? It seems that a bug report is required, but I'm not sure who to send it to!
     
  3. DJLC macrumors 6502a

    DJLC

    Joined:
    Jul 17, 2005
    Location:
    North Carolina
    #3
    Have you enabled SMB1 / "legacy Windows sharing" in System Prefs for the user account you're trying to use to connect to the Mac? Screenshot attached; it's the lower portion of the File Sharing Options pane. I've never heard of RISC OS, but it sounds like that's potentially the issue?

    Screen Shot 2017-11-20 at 3.57.01 PM.png
     
  4. Nermal thread starter Moderator

    Nermal

    Staff Member

    Joined:
    Dec 7, 2002
    Location:
    New Zealand
    #4
    Yep, that's already on. Thanks for the attempt though :)
     
  5. Nermal, Feb 2, 2018
    Last edited: Feb 2, 2018

    Nermal thread starter Moderator

    Nermal

    Staff Member

    Joined:
    Dec 7, 2002
    Location:
    New Zealand
    #5
    For completeness' sake I'm documenting a solution. There's a rather gaping security hole with this solution but it's probably fine on a home network.

    1. On the Mac, create a file named /etc/exports containing the following line:
    /Users/username -alldirs -mapall=username -network 10.0.1.0 -mask 255.255.255.0
    (assuming that you want to share your home folder, that username is your Mac account name and that you're using the AirPort-default 10.0.1.x network).

    2. On the Risc OS machine, open up Omni and go to "FS list" and you should see the Mac in the list. Double-click it then set the "Directory path" to "/Users/username", the "User name" to "nobody" and the "Password" and "Authenticator" to blank. Click Connect and it should work.

    3. Optionally, go to "Save mounts". As of Omni 2.27 there's an issue where it won't automount the server but you can get around this by editing the Choices.Omni.Mounts file to read:
    NFS,displayname,O,servername,/Users/username,nobody,nobody,servername
    (ie. add "nobody" and the server name to the end of the line, adjusting the commas to make it all fit).

    Versions in use:
    Omni 2.27
    OmniNFS 0.71
    NFS 3.23
    Note that NFS and OmniNFS are not part of the base image; they need to be downloaded separately (although I believe that they'll be included as part of OS 5.24 when it releases in April).
     
  6. HenryAZ, Feb 5, 2018
    Last edited: Feb 5, 2018

    HenryAZ macrumors 6502a

    HenryAZ

    Joined:
    Jan 9, 2010
    Location:
    South Congress AZ
    #6
    macOS will offer NFS shares. I don't know much about, Risc, but most Unix systems recognize NFS. You need to enable nfsd, and create a file called /private/etc/exports spelling out the share, such as this:
    Code:
    /Volumes/henry/Downloads -alldirs -network 10.10.66.0 -mask 255.255.255.0
    
    This was the only way I could enable my security camera to captures images to my Mac.
     
  7. Nermal thread starter Moderator

    Nermal

    Staff Member

    Joined:
    Dec 7, 2002
    Location:
    New Zealand
    #7
    Yep, I've done that and have it working; see item 1 of post #5 :)
     
  8. Nermal, Feb 6, 2018
    Last edited: Feb 6, 2018

    Nermal thread starter Moderator

    Nermal

    Staff Member

    Joined:
    Dec 7, 2002
    Location:
    New Zealand
    #8
    Or not! It seems that I spoke too soon.

    Despite having "=mapall=nermal" in /etc/exports, I'm intermittently getting "insufficient access" messages when trying to create files. This is where things get interesting.
    • Files created in /Users/Shared appear to work correctly. They happily end up on the Mac and "ls -la" shows that they're owned by my local account.
    • I can read from /Users/nermal without any problems.
    • However, writing to /Users/nermal is... weird. I get the "insufficient access" message on the Risc OS machine, but if I look on the Mac then the file exists and has the correct file size, but doesn't contain the right contents (I assume that it's full of zeros but I didn't check, and I'm not at home right now). If I click Abort on the Risc OS machine then I can see the file on the Mac [edit: that is, from Filer on the Risc OS machine I can see it sitting in the Mac's shared folder], but it has the "ripped page" icon that indicates a half-done file. I can then select this icon and go to Delete, which makes it disappear from the Mac.
    It therefore seems that I have an incomplete set of permissions. Perhaps I can create and delete, but not modify? Admittedly I haven't tried to modify an existing file, but I can give that a go when I get home.

    In the meantime does anyone have any suggestions on what could be wrong?
     
  9. HenryAZ macrumors 6502a

    HenryAZ

    Joined:
    Jan 9, 2010
    Location:
    South Congress AZ
    #9
    No real idea what could be wrong in your case. I don't use the -mapall switch, and my permissions on the incoming folder (on the Mac) are 777. It is a special folder created just for the purpose of receiving NFS transfers.
     
  10. Nermal thread starter Moderator

    Nermal

    Staff Member

    Joined:
    Dec 7, 2002
    Location:
    New Zealand
    #10
    Thanks. The /Users/Shared folder will probably do the trick for now. I can mount both shares at once on the Risc OS machine (they just show up like local drives) so it's not really an inconvenience so long as I remember to use the right one.
     
  11. Nermal thread starter Moderator

    Nermal

    Staff Member

    Joined:
    Dec 7, 2002
    Location:
    New Zealand
    #11
    Just in case anyone's following this thread: A major source of confusion was that Risc OS seems to cache permissions. If I have a file set to "Everyone: No Access" on the Mac and I try to open it on Risc OS, I get the "insufficient access" message. If I then change the permissions on the Mac, I will continue to get "insufficient access" on Risc OS until I close and reopen the window.

    It still seems that -mapall isn't working correctly, but I can at least get files across by manually setting the "Everyone" permissions and then refreshing.
     

Share This Page

10 November 14, 2017