VOGONS


First post, by neonblurb

User metadata
Rank Newbie
Rank
Newbie

I recently went on a mission to try to get my PC running MS-DOS 6.22 to connect to my modern LAN. I specifically wanted to be able to mount a network share on my modern Synology NAS as a local drive rather than using FTP to copy files back and forth, as my idea was to be able to store a few CD images and larger files on the network and just mount them over the network with SHSUCD as needed, freeing up a bit of space on my local FAT16 drive.

I got there in the end, but it took quite a bit of trial and error. The main issue I ran into was that however low I set the SMB compatibility on my Synology NAS (which supports dialling the compatibility right back to SMB1 with NTLMv1 authentication even in the latest DSM version), I could not get any DOS networking software to connect. I tried LAN Manager 2.2c, MS Network Client 3.0 and Windows 3.11 for Workgroups with the TCP/IP driver, all to no avail (I believe all three support NTLMv1, on paper at least). I suspected a protocol compatibility issue as the most likely thing and I didn't want to go messing about with the Samba smb.conf file on the NAS itself as that might break things in the Synology GUI, so I decided to try setting up a VM server to bridge the protocols and give me some more control for debugging/testing.

I first thought was to try setting up a Windows 2000 VM in the middle - the thinking here was that I'd create a directory as a local share, then try using junction points to link to a mapped network drive - I didn't realise that this junction points don't work on network drives, and symlinks in NT were not available until Vista. Oops. Rather than install a Vista or later VM, I decided to try using a Linux VM running Samba as a bridge, as I thought it might be easier to configure, inspect logs, tweak config files, etc. under Linux.

First to figure out if modern versions of Samba support LM authentication - it turns out in Samba 4.17 they started dropping certain LM-related features like using LM auth under AD DC configurations, so even though I wasn't using that specific I thought it would be safest to use the latest version before that, 4.16.11.

Here's how I (eventually) got this working:

  1. Installed Debian 11 Bullseye (the last version for which Samba 4.16.11 comes with a bootstrap script) and compiled/installed Samba from source
  2. Installed cifs-utils and mounted the share on my Synology NAS to to my Debian VM (persisted this via /etc/fstab)
  3. Set up smb.conf to use lanman auth and a minimum protocol version of CORE
  4. On the DOS machine, set up the network stack with TCP/IP protocol and used 'net use' command to connect to the server and mount the share

This was after quite a bit of testing and watching the Samba log files as my DOS client connected. My initial smb.conf had the minimum protocol version set to NT1, but I found after looking at log files in my Samba server that the client was failing to connect because of mismatched protocols, and then I set the min protocol version down to CORE to be safe - this was the final clincher.

A couple of observations:

  • Long file names get butchered with a ~1 name replacing the long filename, although they are even less recognisable than usual (they seemed to be random characters rather than the first few letters followed by a ~1)
  • If you want to test that you can connect to the bridged server using a modern Windows machine (e.g. 10/11), by default SMB1 compatibility is not installed - type Run > optionalfeatures and install "SMB 1.0/CIFS File Sharing Support" (requires a reboot).
  • Modern Macs on my network would see but not connect to the bridged server's SMB share. Apparently it's possible to switch on SMB1 client support in Apple's in-house SMB implementation, but that's an adventure for another day.
  • I did try getting Samba 4.16.11 to compile under Debian 12 (current at time of writing), but the Debian 11 bootstrap script didn't work and I didn't fancy playing bingo with the dependencies, so I just got a netboot image for Debian 11.
  • Incidentally, using the older Samba version might not have been necessary at all. The latest Samba docs still refer to support for LANMAN protocol versions under client max protocol/client min protocol - so maybe this would have just worked with the latest Linux/Samba which would have avoided having to bootstrap/compile from source.

I took detailed notes as I went through the above setup, so let me know and I can share any details if you want to replicate my setup, but if you want to go the fun route maybe fire up your search engine/LLM of choice and work through the above for maximum fun.

Final test: copied over the my Duke3D Atomic CD's support folder onto the network share and fired up Duke3D. Duked it out with no issues 😀

Reply 1 of 13, by hayoken2000

User metadata
Rank Newbie
Rank
Newbie

This is some pretty neat tinkering. Sounds like something I would do. However, As far as file syncing, I have a windows 98 machine that has been mapped to a network drive and that network drive is connected to a reslio and syncthing server so that I can share my files from all of my computers at different locations to my windows 98 machine 🤣. But the whole dos connection is pretty cool!

Reply 2 of 13, by keenerb

User metadata
Rank Oldbie
Rank
Oldbie

I have spent a lot of time and effort on a similar topic. This is how everything ended up.

I have a file server I use solely for this process that has SMBV1 enabled and a standalone Onedrive folder shared.
I have a man-in-the-middle linux box that has mounted the windows shares and exported them via ETHERDFS.
All my DOS boxes have a shared K: drive thanks to ETHERDFS.
All my Windows9X boxes access the exact same shared K: drive via insecure SMB to primary retro windows fileserver
All my modern windows boxes with SMBV1 disabled still have access to the K: drive via SMB3 to dedicated vintage file server, and also have access to the files via Onedrive even if outside the network.
All my dosbox instances mount the same K: drive by referencing the local SMB drive letters on the windows machine running the DOSBOX instance.

So basically every machine in my house, whether it's MSDOS, Windows9X, or Windows 11 has a K: drive mapped to the exact same folder structure and it's backed up to Onedrive. I can even download my Ultima IV save file from onedrive to my phone if I want to continue playing with my magic dosbox android app on the road, as long as i remember to upload it again when I'm done!

Reply 3 of 13, by neonblurb

User metadata
Rank Newbie
Rank
Newbie

That's neat, I looked at ETHERDFS too and I still have it on my list to try at some point since I imagine it's more memory efficient than Network Client. I also took a similar approach and had the same drive letter/share set up on all my machines which is really neat, though in the end I decided for the DOS machine that I'd set up a dedicated share on my NAS with just 8.3 filenames on it as it was a bit messy to browse my modern NAS with all the long filenames.

I noticed my Synology LAN has AFP support so if/when I'm feeling truly sadistic at some point, I'll fire up some old Macs too and see how easy it'll be to get them tied in to the same setup, I've got an old PowerBook 170 which I managed to get onto my network once by using a newer PowerBook as a serial-to-Ethernet bridge - how hard can it be to get that old PowerBook to exchange files with my DOS machine over the network 😁

Reply 4 of 13, by keenerb

User metadata
Rank Oldbie
Rank
Oldbie
neonblurb wrote on 2024-12-20, 14:18:

That's neat, I looked at ETHERDFS too and I still have it on my list to try at some point since I imagine it's more memory efficient than Network Client. I also took a similar approach and had the same drive letter/share set up on all my machines which is really neat, though in the end I decided for the DOS machine that I'd set up a dedicated share on my NAS with just 8.3 filenames on it as it was a bit messy to browse my modern NAS with all the long filenames.

I noticed my Synology LAN has AFP support so if/when I'm feeling truly sadistic at some point, I'll fire up some old Macs too and see how easy it'll be to get them tied in to the same setup, I've got an old PowerBook 170 which I managed to get onto my network once by using a newer PowerBook as a serial-to-Ethernet bridge - how hard can it be to get that old PowerBook to exchange files with my DOS machine over the network 😁

Etherdfs is a few K of memory consumption, like 6k. Crucial on an XT or 286 vs. the like 48kb of memory MSNC consumes!

Reply 5 of 13, by NJRoadfan

User metadata
Rank Oldbie
Rank
Oldbie
neonblurb wrote on 2024-12-20, 14:18:

I noticed my Synology LAN has AFP support so if/when I'm feeling truly sadistic at some point, I'll fire up some old Macs too and see how easy it'll be to get them tied in to the same setup, I've got an old PowerBook 170 which I managed to get onto my network once by using a newer PowerBook as a serial-to-Ethernet bridge - how hard can it be to get that old PowerBook to exchange files with my DOS machine over the network 😁

Netatalk developer here. The DOS based AFP clients will NOT work with Netatalk. This is due to the lack of "short name" (aka DOS 8.3 filename) support. You can log into the server using the Apple/Farallon DOS client, but as soon as it tries to pull a directory listing, it will error out. The Netatalk devs back in the 90s didn't bother supporting this, likely because they didn't think it saw much use and it requires mapping long file names to short names. Getting the Powerbook working as a server for the DOS client is easy. Just fire up System 7's personal file sharing and connect via the DOS client.

With regards to using classic Macs with Netatalk, keep in mind that Netatalk 3.1.x commonly shipped on Synology boxes only supports TCP/IP connections. You'll need a machine running Open Transport and AppleShare Client 3.7.4. You'll also have to enable either clear text or randnum UAMs on the Netatalk server. The current Netatalk 4.0 brought back full AppleTalk support, so things are looking up for vintage clients.

Reply 6 of 13, by Bobbi

User metadata
Rank Newbie
Rank
Newbie

Just tried out ETHERDFS and it seems great!! Thanks for the tip 😀

Reply 7 of 13, by y2k se

User metadata
Rank Member
Rank
Member

My current approach with my Synology is to run virtual DSM (which is basically running a virtualized Synology on the host NAS), configuring the virtual DSM to allow SMB1 and NTLMv1, creating a dedicated user profile on the host NAS with read only access to specific shares, and then mounting those shares in the virtual NAS using that account. My Win98 and WinXP systems can access those reshared-shares and home folders for accounts I created on the virtual NAS for those retro PCs.

Tualatin Celeron 1.4 + Powerleap PL-IP3/T, ASUS P2B, 256 MB RAM, GeForce 4 Ti 4200, Voodoo2 SLI, AWE64, 32GB IDE SSD, Dell 2001FP

Reply 8 of 13, by NJRoadfan

User metadata
Rank Oldbie
Rank
Oldbie

It would be nice if a modern SMB2 client was made for vintage Windows versions. Ironically we have modern SMB2 clients for the Amiga and Apple IIgs now!

Reply 9 of 13, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

Guess one might have to figure out how to build a linux version for those old cygwin linux compatibility libraries.

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 10 of 13, by carlostex

User metadata
Rank l33t
Rank
l33t
keenerb wrote on 2024-12-20, 16:14:
neonblurb wrote on 2024-12-20, 14:18:

That's neat, I looked at ETHERDFS too and I still have it on my list to try at some point since I imagine it's more memory efficient than Network Client. I also took a similar approach and had the same drive letter/share set up on all my machines which is really neat, though in the end I decided for the DOS machine that I'd set up a dedicated share on my NAS with just 8.3 filenames on it as it was a bit messy to browse my modern NAS with all the long filenames.

I noticed my Synology LAN has AFP support so if/when I'm feeling truly sadistic at some point, I'll fire up some old Macs too and see how easy it'll be to get them tied in to the same setup, I've got an old PowerBook 170 which I managed to get onto my network once by using a newer PowerBook as a serial-to-Ethernet bridge - how hard can it be to get that old PowerBook to exchange files with my DOS machine over the network 😁

Etherdfs is a few K of memory consumption, like 6k. Crucial on an XT or 286 vs. the like 48kb of memory MSNC consumes!

I've tried the new version of ethflop server for DOS. I'm hoping one day i can port it to windows, with a simple Windows Forms user interface and do the same with EtherDFS, or heck incorporate the 2 in the same program. Considering i'm using Falcosoft Midi Player to do all my synths, using a thin client to be a General MIDI + Roland LA synths + file and floppy server is my objective. EtherDFS is in my opinion the best option right now for a LAN server for DOS.

Reply 11 of 13, by keenerb

User metadata
Rank Oldbie
Rank
Oldbie

I'd love to have an etherdfs/ethflop/MSNC dos server sitting on my network for my vintage machines!

Reply 12 of 13, by wondow

User metadata
Rank Newbie
Rank
Newbie

Recently, I discovered that EtherDFS works fine in Win95/98 if you load it in your autoexec.bat and deactivate the network card in Win9X, or just don't install the drivers.

Reply 13 of 13, by Marco

User metadata
Rank Member
Rank
Member

After hours of searching and testing I finally gave up here:

- the available samba4 release for openwrt (24) won’t allow msdos to connect anymore despite of any config changes - also the one the thread opener proposed. Windows 95 is fine

I will now try to compile the samba36 version which is available only for OpenWRT18 I found. I have my doubts it will work. Let’s see 😀

PS. I need the new openwrt release because only there I am able to manually set lan port modes as duplex eg. because they provide a much better switch mgmt model there.

Any further recommendations are welcome 😀

Update1: Ok based on the info here I will try a samba 4 release of 4.16 or lower. Let’s see 😀

Update2: in the linked samba doc I also found this:

„ client lanman auth (G)
This parameter has been deprecated since Samba 4.13 and support for LanMan (as distinct from NTLM, NTLMv2 or Kerberos) authentication as a client will be removed in a future Samba release.“

Also interesting.

1) VLSI SCAMP 311 | 386SX25@30 | 16MB | CL-GD5428 | CT2830| SCC-1 | MT32 | Fast-SCSI AHA 1542CF + BlueSCSI v2/15k U320
2) SIS486 | 486DX/2 66(@80) | 32MB | TGUI9440 | LAPC-I