RISC OS Networking
Richard Walker continues his series
Part 3 - Connecting to a Windows PC
So far, we have only looked at connecting RISC OS machines together, and some general networking theory. It seems that a lot of people want to know how to link their RISC OS machine to a Windows PC, so that is the topic for this article. There are many good reasons for wanting to do this, e.g. sharing a 'PC-only' Internet connection or making use of the PC's hard disc for backing up RISC OS data.
There are a number of different ways to connect a RISC OS machine to a Windows PC, but this article will only look at using Microsoft's built-in networking software (often referred to as 'LAN Manager', 'Common Internet Filing System', 'SMB', or 'Samba') on the Windows machine. On the RISC OS side, OmniClient and LanManFS will be looked at (LanMan98 is similar).
Firstly, what is 'LAN Manager'? It is the protocol software built into Windows (9x, Me, NT 3/4, 2000 and XP) which provides file and printer sharing facilities. It can access shared files and printers, and share them. Modern versions of Windows (such as NT, 2000 and XP) are generally more suited to serving than the older versions (9x, Me), simply because they are more reliable operating systems. LAN Manager is, if you like, a Windows 'equivalent' of Acorn Access - it's free with the OS, and fairly simple. However, it is not at all compatible with Access.
On the RISC OS side, special client software is required to connect to a 'LAN Manager' file or printer share. There are two commercial products that perform this task: LanManFS (written by ANT for Acorn, and part of the OmniClient package) and LanMan98 (written by Warm Silence Software). Note that it is also possible to use RISC OS to share file or print servers, but this requires yet more software, and will be covered in a later article.
It is worth considering OmniClient for a moment. It is a RISC OS application which provides a 'front-end' to various network protocol modules. The front-end allows you to connect to network shares, bring up Filer windows, show the free space on a share, and disconnect. OmniClient supports a number of network protocols out-of-the-box: Acorn Access, Acorn Net, LanManFS and NFS (recall figure 6 from RISC World volume 2 issue 5). If you have LanMan98 loaded, it can also 'hook in' to OmniClient. Therefore, all of these different types of network protocols can be used from the one front-end.
Even if you have a simple Access-only setup, try running OmniClient. Notice how it removes the normal 'Discs' icon from the icon bar, and you now have to access shared resources with OmniClient.
Windows TCP/IP configuration
Just like with RISC OS, the network software must be setup correctly to communicate with other machines. Windows provides a system similar to the RISC OS Configure tool for setting up a network card. This must be done before you attempt to share a file or printer. Therefore, you will need a suitable IP address, netmask and hostname for the Windows PC.
To get to the network configuration window, go to Control Panel, then double-click Network. At the very least, you should see an entry for your Ethernet card (mine is a 3Com EtherLink XL). If this is not visible, consult the network card's documentation on how to install it's drivers. Ideally, there will also be 'Client for Microsoft Networks' and 'TCP/IP' entries. If not, use the 'Add' button to add them to the list (the former can be found in 'Client' and the latter can be found in 'Protocol -> Microsoft').
Note that if you have more than one network device (e.g. two Ethernet cards, or a modem and an Ethernet card) then the display above can 'double-up' - each card gets a 'TCP/IP' entry (and the same thing happens with other protocols).
Windows network configuration
The TCP/IP configuration can be modified by double-clicking on the 'TCP/IP' entry. This displays the TCP/IP properties window:
Windows TCP/IP configuration
The 'IP address' tab configures the IP address and the netmask. Choose 'Specify an IP address' and enter suitable values.
'WINS configuration' should be left blank.
'Gateway' should be left blank.
'DNS configuration' should be disabled.
Press OK to close the TCP/IP properties window.
To enable sharing, press the 'File and print sharing' button in the network configuration window, and tick on the options for file/print sharing (only tick those that you want to use).
In the 'Identification' tab, enter a hostname (for this computer's IP address) in the 'computer name' field. The workgroup and description do not matter.
Press OK to close the network configuration window. This may take a few moments, require insertion of a Windows CD ROM, re-boot of the machine, or all three!
Note that the above applies to Windows Me. Other versions of Windows are similar.
Also note that the Windows hosts database file is C:\WINDOWS\Hosts (not hosts.txt - be careful!!!). You may not have a 'hosts' file, so copying/renaming the sample hosts.sam can be a good starting point. If you edit the file with Notepad, watch out for it appending .txt to the filename - check with Windows Explorer.
Sharing a directory/folder
To share a directory on Windows, simply press the right-hand mouse button over it and choose 'Sharing...'. Set the share option to 'Shared' and give it a name (I recommend something short and simple). You can share files read-only, read and write, or read-only without a password and read/write with a password. If you want to use a password, set an appropriate one. Press OK and the directory will be shared.
Notice that the icon that represents the shared directory changes to show that it is shared.
Connecting to the shared directory
First and foremost, the RISC OS machine will need to be aware of the IP address and hostname of the Windows PC. You may wish to edit the hosts database on each machine to achieve this.
To connect the RISC OS machine to the shared directory, you need to use OmniClient. Before loading it, ensure that it is configured correctly. Load OmniSetup and set LanManFS to 'TCP/IP' (rather than NetBEUI) mode. I would recommend loading OmniClient in your boot sequence (use the 'Boot' section of Boot/Configure in RISC OS 4 to do this).
Press MENU OmniClient's icon bar icon and choose 'Mounts', then 'Protocols', then 'LAN Manager'. A connect dialogue box will appear.
The OmniClient 'Connect' dialogue box for the LAN Manager protocol
The details to fill in are:
Name: a name that you wish use to refer to this connection Server name: the hostname or IP address of the Windows PC Directory path: the name of the share that you created earlier Username: if you have users on your Windows PC, use one here (or just 'user') Password: the password for your user or the share (if required)
Press the 'Connect' button and the OmniClient icon bar icon should change to show the name of the connection. Clicking SELECT on it should open a Filer window showing you the contents of the shared directory.
If you wish OmniClient to remember the details of this connection, press MENU on it's icon bar icon, slide off 'Mounts', and click 'Save mounts'. In future, you can simply press MENU, slide off 'Mounts' and then choose your connection from this menu (by the name you assigned earlier).
Finally, to disconnect from a shared directory, press MENU on OmniClient's icon bar icon and click 'Dismount'.
Note that LanManFS 1.x, as supplied with OmniClient to date, only understands DOS-style filenames (eight letters in length, with a three letter filename extension). Therefore, any 'long' filenames will appear with the '~' character in them, e.g. 'PROGRA~1' for 'Program Files'.
One solution is to use LanManFS 2.x (apparently to be delivered as part of the RISC OS Select scheme) which supports such long filenames. Another solution is to use Warm Silence Software's LanMan98 instead of LanManFS.
Next time, we will investigate shared printers, and take a look at LanMan98. As usual, please get in touch with The Editor or myself if you want to make suggestions or raise queries regarding this series.