PDA

View Full Version : TCP/IP NetBEUI and NWLite



SpidersWeb
April 29th, 2015, 12:00 PM
Short Version: How can I get modern Linux to mount a file system on a computer running MS DOS?

Long Version

So I've got all my XT's, and 286's feeding off a 10Base2 NWLite network. This works great, and the machines can run software direct from the network share without any available memory issues and is considerably faster (even on 486 machines) than using MS networking. I love all that.

On my DOS server I run NWLite Server, and also Workgroup Add On for MS DOS - which provides a NetBEUI share of the same file system to my 386/486 machines over NetBEUI for those occasions when they're in Windows for Workgroups.

Earlier this week I setup a modern Linux box in there, this provides a WiFi (WPA2 encrypted) link with packet forwarding on the network. The original goal was just so I could use internet tools in there without exposing my home network, and that works fine. Now what I'd like to do is have it so I can drag and drop a file on a Windows 7 or Windows 10 PC, and be able to walk next door and start the program up immediately on an XT.

The idea was to have the Linux machine connect to the DOS PC and mount it's file share.
It would then be mounted on a mount point like /home/vintage/486server/store - and also be sharing that on my modern network as \\VINTAGE-SERVER\STORE

So no matter if you're accessing \\VINTAGE-SERVER\STORE on Windows 7, \\486SERVER\STORE on WFW 3.11, or STORE on NWLite - you'd be seeing the exact same hard drive.

Neato.

Where I'm stuck is modern Linux doesn't like NetBEUI - in fact I think support was dropped over 15 years ago.

So I'm looking for any ideas (I don't mind investigating myself) or advice on how to get a modern Linux machine to mount a drive on a "server" running MS DOS. I either need NetBEUI support OR ability for Samba to actually connect (it sees the machine, but will never connect).

I know there are alternatives, but this is what I want to achieve.

DOS Server: 486DX-40 16MB 2GB - MS DOS 6.22 - NWLite Server - MS Add-on-for Workgroups
Linux Server: Athlon 3400XP - 1Gb - 200Gb x 2 - Debian Wheezy (latest stable) - Wireless WPA2 (modern) + Realtek ethernet (goes to 10Base2 switch) - Samba client/server.

ahm
April 30th, 2015, 10:47 AM
I did something similar many years ago, but using NFS.
I think I was able to create an NFS export on the MSDOS machine and mount it on a Linux system.
Find a copy of XFS191.ZIP and follow the installation/configuration instructions.

Andy

SpidersWeb
April 30th, 2015, 12:20 PM
I did something similar many years ago, but using NFS.
I think I was able to create an NFS export on the MSDOS machine and mount it on a Linux system.
Find a copy of XFS191.ZIP and follow the installation/configuration instructions.

Andy

Brilliant, thank you very much for that, I'll track it down and see what happens :)
That's exactly the kind of solution I'm looking for.

As for progress on my original approach - an NT4.0 Virtual Machine on the Linux box, and my 486DX2/66 running WFW can mount the DOS share over TCP/IP with the MS Client server hack - however Linux is unable to, even with debug level 10 I don't get any real errors other than NT_STATUS_UNSUCCESFUL - but I can see that it's found the machine and has talked with it.

SpidersWeb
May 4th, 2015, 03:12 AM
Just an update for anyone who is interested.

- VirtualBox and VMWare use the AMD PCnet adapter, and you can get DOS packet drivers, ODI drivers, and NDIS drivers for it. The drivers even include tools like an updated LSL.COM so you don't have to go find one.
- FreeDOS 1.1 seems to be fairly unstable when using older network tools to mount network shares
- XFS191 works great (on DOS 6.22) and will happily connect to a NFS share on a modern Linux system and does not require a huge collection of TSRs to do so - it'll also work with NDIS or ODI if required
- NWLite is painfuly slow on a VirtualBox VM (Athlon 3400XP), as in XT slow, watching directory listings slowly draw on the screen :( - however on VMWare everything seems full speed.

So first off, using XFS to mount a Linux share, and then NWLite to share it on a 486 or similar - works perfectly.

However with all my messing about - I realised I could achieve all of this with one single computer by using virtual machines.

So with VirtualBox and MS DOS 6.22 I got XFS mounting my Linux share (which was also shared by SAMBA to my modern network), and NWLite sharing it on the vintage network. So I could drop a file on a Win7 PC, and run it immediately on an XT. However the huge performance penalty was enourmous - NWLite on a Athlon 3400 in VirtualBox is painful.

So I tried to install VMWare but my Athlon 64 3400 does not support "LAHF" in long mode and it refused to give me any love, Workstation 6.5 (very old) was the last version to not care about this but I was unable to get it to work with Kernel 3.2 (it was designed for the 2.4/2.6 generation).

VMWare also provides sharefolders, which can be accessed by the FreeDOS vmsmount command - bypassing the need for XFS.

So for testing sake, on my Windows desktop, I started up VMWare Workstation (which I use for work, so it's already installed) and setup 1 FreeDOS VM as a NW Server, and two MS DOS VM's as clients all with bridged networks - and changing the ethernet packet in NET.CFG to the NWLite standard of "Ethernet 802.3 RAW". I had the FreeDOS server share the "VMWare Shared Folder" - and it worked perfectly and at full speed.

Now of course I could just put XFS on my existing 486 server, and have all of the above benefits without a speed penalty, but now I really want to finish with just a single server machine that provides my internet gateway (separating my vintage/home networks), MS file sharing for the modern network to drop files on, and NWLite providing fileshares/timesync etc on the old network. So to get it how I want, I was now going to need VMWare which meant a newer PC. I ordered an ex-lease workstation, $51 delivered, and I get a Core 2 CPU at 3Ghz with VT-x - so that should take care of my hardware needs! It's not the most expandable thing in the world, but at that price, who cares.

VMWare Workstation being a paid product makes the project a bit of a 'killer' and will likely turn off anybody else from doing this, but I'll experiment to see if I can get the required VM to then work inside the free VMWare Player.
If I wasn't being so obsessive over this, I'd just use two computers - 486 with NWLite/XFS, and a Linux box with NFS/Samba.

But the good part is I've enjoyed it, learned about NFS shares, learned about the XFS tool, learned about FreeDOS - and I feel like I'm making progress. The machine arrives tomorrow - so I'll report back again once I've got everything running.


Side note: For a Netware Lite / XFS combo I used two network cards and two packet drivers - this is because the two systems use different frame types - I put the NWLite driver at the default 0x60, and the driver for XFS at 0x7E as the XFS software has better support for picking a custom software interrupt.

SpidersWeb
May 6th, 2015, 11:54 AM
Sorted.

Works fantastic, and is fast. The server machine created with VMWare Workstation runs fine in VMPlayer negating the need for registration (which I think is fair, given I'm emulating a single MS DOS computer here, not a corporate server setup).

The final solution was

- Core 2 Duo 3.0 / 2GB / 160GB (tiny Lenovo - so cute! - runs off a laptop power supply)
- /share/vintage shared on modern network via wlan0 using Samba
- /share/vintage mounted as a VMWare shared folder using FreeDOS 1.1 tool " vmsmount /L:E /LFN /CS " as E:\
- eth0 connected to 10BaseT/10Base2 hub, and bridged to VMWare
- wlan0 connected to my normal internet router / modern network
- NWLite installed on FreeDOS, using PCnet ODI driver as a server only (client does not work properly with FreeDOS)
- NWLite shares E:\DOSAPP (DOSAPP is a subfolder under /share/vintage) over 802.3 RAW on the ethernet
- eth0 also provides NAT/gateway and DHCP for any TCP/IP apps on the vintage network (like mTCP etc)

Modern Computers --samba--> [server] -- VMWare -->--vmsmount--> --NWlite--> Vintage Computers

Flies along. Started up my old 486 server and transferred over all the contents.

As a test I hopped on my Windows 7 computer, unzipped Carmen Sandiego directly on to \\vintage-server\vintage\dosapp then went to my vintage room and started up a 286 - played the game direct off a network share.

Only bits I'm missing are:
- NetBEUI/TCPIP share that's LanMan/WFW friendly
- Network Printer

But I'm sure I can sort those out later, and neither of them are excessively important.