First post, by ruthan
- Rank
- Oldbie
I was looking for some good DOS networking guide (especially for transferring and file sharing) and i didnt find something that i would consider really good, so im trying to make something better and help me and you too.
This post is work in progress and its often updated, time of last edit is in footer, major updates are described in following posts, TBD - means to be defined its just placeholder for work in progress...
Basic info:
- I newer was and to be honest wanted to be networking expert (its boring stuff for me), i never cared about TCP layers, Mikrotiks,HW firewalls back in day i used only Serial or Parallel cables for Dos data transfers and data transfers and real networking (file copying and gaming) i done through Win9x+.. i just want to make it working, with so less effort how is possible.
- This guide is not programmers guide, its all about users, so programmers info could be here found only indirectly, but i dont have any problems with programs discussion in this thread.
- This guide should be for pure Dos+Dos Virtual machines+DosBox, because lots of things could be debugged in them faster, its mainly for MS-DOS, but at least now with present knowledge is networking in FreeDOS better (you can access DOS share from modern machines) that in MS-DOS.
- This guide is mainly about TCPIP networking, DOSbox already has inbuild IPX networking and in Windows you can just add IPX protocol and its just working for gaming.
- Nowell Netware networking Vogons thread - Win7/Win 10 are still supported, so you can do DOS-WIN10 ultimate networking with it.. i dunno, if it theory or already proven fact by some user, but at least on paper its officialy supported Netware 5 clients are (DOS to Win10) - tell me if you know more. You need commercial licence for Netware. Main argument is that DOS client for filesharing eats just 4 KB of Conventional memory.
- Even there some Dos games with networking support, guide at least for now mainly about DOS data transfers to avoid reboots to new OS or for Case opening, HDD swapping, floppy / CD data exchanges etc.. It depends on machine, speed, used network card and its packed driver, but i was able to reach 10 MB+ transfer speeds with mTCP FTP server, so when you dont need transfer gigabytes of data, it could be very fast.
- I care only about ethernet (+ wifi if is possible to make it working) card networking, no dial up networking - im glad that this era ended. Some Freedos Wifi info.
- I can add some Linux / MacOS info, if you post it, but i will not try it but myself, im using these OSes, but not as main OS.
- Im multiboot and much modern HW as possible guy, so im trying to push this aspect, in this thread too, my thread about X58 machine for Dos, mainly aimed to Sound cards testing with modern chipsets
- My Drivers and Utils package for pure Dos - in included Dos Packet drivers for lots of cards and mTCP, some NIC config batch files etc. Because post is very long search for "last version(eurotime)" text to find download link - packet drivers is in folder ETHERDVR
- In text is often used NIC shorcut it means networking integrated controller / card.
- Some basic abbreviations and basic are explained here
- SMB means Server Message Block != Samba, its protocol for sharing mainly files and directories between different OSes, devices etc. There always has to be SMB client and SMB server to make connection working. For SMB is needed NetBios, which could work like subprotocol carried by TCPIP.
- Any Virtual machine networking test were done with Bridge mode, to avoid NAT limitations, NAT - means that Virtual machine has only visible networking IP address, which could be access to it by ping / ftp client etc.. There is tutorial how to bypass NAT limitation with port forwarding with Virtualbox.
- Im testing with MS-DOS 6.22 and MS-DOS 7.1, but lots of thing would work on older version, especially mTCP+ its FTP server/client are able to work on very old machine..
- If you are Linux / Unix guy - there is SSH client for DOS.
- Yeah you even can post to Vogons from Dos machine. With Arachne 1.97 browser its working! (2018/8)
- Dos Internet Browsers in 2017 Nostalgia Nerd video
- Wins server - is simply DNS for old MS stuff based on NetBeui protocol. chinny22: It may find devices on the network a bit easier as it's MS default protocol, but not really, I wouldn't bother.
- MS Client lmlogon - need - NT server running as a Domain Controller, what is probably nothing what you want to keep running at home.
Knowledge PIT => wisdom -solutions / discoveries / best practices:
- IPX networking is in-built in Dosbox, just set IPX to true in Dosbox.conf + there command to setup IPX for network multiplayer.
- FreeDos networking site - Best Dos networking info page so far. Navigating is cumbersome for return to index page click and index link at the bottom.. heavily harvested for this post (article).
- Network stack (sometimes also called as Network / TCPIP kernel) could be integrate within application so you dont need by yourself care about it and you need only packet driver (see bellow) - examples (WATTCP(most used, regarding of Jeffrey Hayes: more than half Dos networking programs is using it ), KA9Q,NCSA Telnet kernel, CUTCP kernel)
- WATTCP is usually configured by WATTCP.CFG file in programs folder, details how to configure it, can be found here - Major packages / solutions:
- There are some major networking packages / solutions (Novel Netware is excluded has own thread, there is not tutorial yet and i dont have license) which are usually part of other articles, some packages have included some solution inside.. not al item in the list is alternative to other:
a) mTCP stack - 2006-2015 (last update) - its more light and easy to use, set of TCP/IP programs for DOS, but need packet driver for you network card, which is not part of package. Theory behind the package - long and lots of history background info.
- When i enable its stack + Intel Gbit packet driver - it consumes only 10 KB of conventional memory (with older packet drivers it could be slightly different).
- It can run on very old version of DOS and very old machines like - IBM PC, PCjr, PC XT, PC AT, PC Convertible, etc its tested by MBrutman himself.
- the current list of applications includes a DHCP client (so Network could be partly automatically configured - you have only define PACKETINT +
HOSTNAME in mTCP configuration file), DNStester(call machine through hostnames not ip address), Telnet client, IRC client, Simple Network Time Protocol (SNTP) client -simply sytem time synchronizer, FTP client, FTP server (most important for data transfers), Ping, Netcat, and HTGet (an HTTP file fetcher, wget equivalent).
Souce code and info for developers and notes how are available here.
You can also use DDHCP.COM intead of DHCP in package good it that its working with WATTCP programs to details.
mTCP was faster solution in this independent test.
- Phils video how to make mTCP stack to work - you need to be patient, pacing is very slow.. At the end is how to start ftpserver on Dos.
Could be used together with MS Client full networking and MS Client Minimal networking, what is great, you can use best from both worlds (FTP file transfering and Windows filesharing).
Problems:
- Its not able to ping modern Windows 7 / 10 machines by hostnames
- i wasnt able to make it working with most of ODI Nic drivers (with virtual machines AMxxx and older cards its usually working, with newer card dont..)
- on 1 place where i living is ISP DNS detected instead of local ISP => DNS is not working with automatic network settings, you still static networking addresses, but its annoying (you can make universal package.. and you change IP address per machine)
- FPT client is only command base, no GUI, no 2 panels manager (so lazy beings as me will never use it).
- FTP client / server dont support SFTP (so its not secure FTP is plain text)
- FTP client dont support long files names auto shorting (mangling) mechanism (it simply refusing to transfer such files), what is annoying with some multiOS DOS/Windows games and other files.
b) netbootdisk - good for start with MS Client networking pack, last update 2010, its floppy image which could be migrated to HDD installation (Rayer) was able to do that, but such package cant be distributed because of licensing.. Is big packaged with lots of features, but when you loaded it take lots of conventional memory (100-250 KB with Ndis driver), so its impossible to have it enabled all the time and i even not enough conventional memory to run Arachne browser. Lots of network basic utilities are part of package. - proper IPCONFIG + FTP, LICQ (i dunno i its working at present day), SCP, SFTP, SSH. wget (downloading file through url),wol (wake on lan).
- You cant download complete bootable image, you have to do it manually manually, its annoying, i did it in Vmware virtual machine and floppy image. It seems to that except Floppy version is USB flash disk supported too (i didnt tested it).
- Its including lots of network drivers (list) and have auto detection of NIC and its driver loading.
- Ndis2 dos drivers (various types of DOS driver are explained bellow) are used (Ndis driver is required by MS Client).
- Its using MS-DOS Lan manager 2.1 technology + MS TCPIP protocol driver 1.0A + MS TCPIP + MS DNS 2.1
c) Microsoft MS CLient TCPTSR.exe + LAN Manager - MS TCPIP stack (kernel) for HDD/SSD - Tutorial for MS-DOS networking Stack - its step by step tutorial - how install it and how to share directories from Dos machine.. nothing more, no theory. You if want to just install it quickly as possible a try it yourself that is the way..
Few notes to tutorial: You can extract both disk*.exe files to same directory. If is you network adapter included in main package you have to know path to its Ndis driver before installation. Setup is a bit cumbersome, check every option and edit setting often to set, computer name, workgroup name and installed protocols (most important is to add TCPIP protocol).
In documentation is that MS-DOS 3-6.22 is supported (readme was written before Win98 OSR2 or Win98 exists), im using it with MS-DOS 7.1 it seems that is working fine.
It seems to that there 2 version of MS Networking - a) MS Client and b) Lan Manager (also called LanMan) - difference are described here..
Other important choice is selection between basic and full redirector (Enhanced Client installation) configuration - one is share level (probably not security at all) and other is user level (password protected). There are also note that some utils MS Client dont use for ip address "." delimeter but spaces" ".
There is info about some other issues with basic redictor, file data is broken.
With MS Solution is connected with Win socket technology - here is explanation what it is.
Lan Man (Lan Manager) - MS so called minimal client package:
Lan Manager has own TCPIP stack is not compatible with others programs (source).
By default you can with MS-Client only access other machine shared data, but its not possible to connect back to Dos machine, but there is hack - look here and search for Adding server capabilities to the MS Client
Lan Manager is client only, you connect to remote machine, but remote machine cant connect to your machine which is running Lan Manager (source - part its only client).
Lan Manager installation tutorial. - some info could be used for MS Client too.
Some LanMan commands examples, lots of that you be used with MS Client too.
With LanMan is possible to use Windows like host file, for define hostnames for machine with which is not working DNS naming (typically Win7-Win 10 machines)
Minimal MS client package use only utility netbind to enable network for some TCP stack (as mTCP), is not provide only other network MS utils or functions, for that you need use full MS network package or copy some additional utils to package (TBD has to be tested if it possible).
Good news is that most (everything except Protman driver) of the minimal client drivers could be loaded by devload (optimal driver loading utility is part of my Drivers and Utils package) and its working fine, so you dont need to add these driver to config.sys for every boot ever they would eat precious conventional / upper memory, but you can run networking only when you need it, after Dos boot..
Small bonus feature of Lan Manager is that you can send some messages (simple chat) between computer with it and some old Windows machines, full blown MS Client networking lack this feature.
MS client Full more info:
Article how to install Microsoft network client 3 with more theory - text in not too much technically structured. Start is about how to create Windows 98 boot floppy and setup empty Dos HDD and how to create MS Client installation diskettes with custom ndis (*.dos driver). - i didnt fully read / hardvested it yet. After that you will finally install and configure MS Client are picture and some theory.
There is how to you setup config and autoexec.bat for MS Client networking and also some memory manager setting (because its doing complete Dos setup from scratch), you will create network password after first reboot.
After installation, try NET VIEW and if everything fine would see computer on your network (how they should be configured, if and which version of Windows share are supported etc is not par of article), note that net view is not working with some configurations (details -part Other challenges). Through NET use command can map shared folder as drive letter. There is section how to setup network manually - protocol.ini editing. Network patches (are UNC standart \\dosmachine\Folder type). You also should have to set name Workgroup name as on Windows names (Workgroup is default name in all version of Win which i used - Win95+)
You can change add / remove NIC driver through setup.exe in you MS Client installation folder (3 files needed *.Dos, OEMSETUP.INF, PROTOCOL.INI), by in article is way how to bypass that and be able install NIC only with *.Dos file.
In MS Client 3.0 documentation is this passage about MS-DOS and Windows TCP/IP difference (limitations):
There is a difference in functionality available in TCP/IP for Windows for Workgroups, and Windows NT Workstation and Server, versus MS-DOS TCP/IP. Specifically, an MS-DOS TCP/IP client :
- does not support DNS resolution using WINS (what is Wins severs you can find bellow)
- does not support WINS resolution using DNS
- does not register its name with the WINS database; it does queries only
- does not act as a WINS proxy node
- does not have multihomed support (i dunno what it is)
- does not support IGMP[/i]
Other interesting passage from MS-Clients Documentation:
- Network Client does not provide a browse master. Therefore, a computer running Windows for Workgroups or Windows NT must be on the network and belong to the same workgroup as the computer running Network Client.
Note that this does not prevent you from connecting to a shared resource. You will just need to know the name of the server and share beforehand in order to connect to it.
d) Trumpet for DOS (TCPDRV later renamed to NTCPDRV) - outdated TCP stack from 1992, extenal (global / not build within programs) TCPIP stack. You need to get NTCPDRV.ZIP (its free and commercial version) and configuration info. Independent source claims that is slow and have some packet lost.
e) Novell NetWare TCPIP.EXE - TCPIP stack (kernel) for Nowell networks - it need licences, which are hard to get, because Nowell is gone. Own Vogon thread. Its extremely light weight and has client for DOS to Win10. More info needed. Novell solution was number #1 networking solution back in day, at least on company level. Im not sure if it is just tool for network file sharing or have more networking tools and it compatible with utilities from other networking stacks.. TBD.
DR-DOS 7.03 has inbuild Netware networking stack - its optimal par of installation, i didnt tested it yet.
f) FTP Software INc. ETHDRV.EXE - TCPIP stack (kernel), any site which i checked recommends to use it today. - Packet drivers for NIC needed to DOS networking
- Packet driver is very simply (and probably inaccurately said) - TSR (program running in memory all the time about execution, like Sound card drivers or CD-ROM handlers etc..), which is compatible with packet driver API => programs are written to use this API, so they dont need to have code to support every single NIC, but need packet driver compatible driver (older NIC better chance that such driver exist) Its like DirectDraw, Direct3D, Direct sound, OpenGL, Glide on Windows.. - Packet driver theory - explaned by MBBrutman - more accurate experts definition
From my experience packet driver is most light-weight and less problematic and most easy to configure, use it when exist for your NIC and you want to use mTCP, other network stack need own drivers APIs (ODI - Nowell, NDIS - MS stuff).
Packet drivers often could autodetect all parameters by itself, if not there usually 3 parameters all has to be unique in systems
- software interupt (also called vector) - from 0x60 to 0x7F range, because to there not too much program using these, 0x60 or 0x61 are usually free.
- real interrupt - usually 3,9,10
- I/O Address - i/o address used for device communication its like A220 typical for sound cards..
Packet drivers wrappers:
ODI shim:
- ODI - Open Data-Link Interface (ODI) is another similar API that was used primarily by Novell NetWare and Apple Macintosh environments.
- If your adapter does not provide a packet driver you might be able to use DIS_PKT which provides NDIS to packet driver translation or ODIPKT which provides ODI to packet driver translation. Michael Bernardi: Configuration is fairly straightforward using a text file called NET.CFG Used for Novel Netware + TCP/IP services.
- Alternative Caldera SHIM - PKT2ODI.EXE, could be downloaded here, if is not DIS_PKT not working for you try this one, i dunno know other differences, i can only say that Caldera is newer one.
- Its much lighter (from conventional memory / configuration point of view) that NDIS driver, if you want to use mTCP, not MS Client networking (filesharing) use it instead of NDIS driver.
NDIS Shim:
- Ndis driver is connected to MS solution, so you need at least minimal package of MS client, you need to start netbind before mTCP dphc to make TCPIP networking working.
- Alternative APIs to Packet drivers, text by MBBrutman + Michael Bernardi i have to mix them together to create "full" message:
- NDIS (MS+3com)=> MS Client 3 -The Network Driver Interface Specification is a similar API used primarily with Microsoft Windows. Michael Bernardi: The NDIS drivers use the most memory of all the drivers in use, so should only be used where no other driver is available OR the software you want to uses only works with NDIS. RuThaN: Its used for MS-Client networking - to integrate DOS machines into a Windows / SMB workgroup / networking <- Regarding of this page. The NetBEUI protocol can't be used on top of a packet driver though, as the packet driver interface is too different from NDIS (source).
- With *.Dos (=NDIS) driver you need also protocol.ini (configuration) file.
NDIS versions: NDIS 6 which is used in Windows Vista (i dunno how about Win 7+). Windows 98 are using NDIS 5, Windows 95 came with NDIS 3.1. In DOS you have to use the real-mode driver NDIS2 (probably Windows 3.xx ones).
- Its using IFSHLP.SYS (Installable File System Helper, from net package, native MS-DOS 7.1 is not working), which is at least in MS-DOS 7.1 loaded, even when is not added to config.sys.. when you enable step by step start confirmation, this file is always try to load. Its 32 bit filesystem handler to bypass original DOS 16bit FS driver limitations. Details about whole initialization sequence are described here.
To make Ndis working with TCPIP you need some MS CLIENT files (info - you need protman.dos, protman.exe and Netbind.com from MS-CLient 3 package.
- after that you need shim - universal (for every NIC) wrapper / convertor - DIS_PKT9.DOS or newer dis_pkt11.zip (you can download it here). They are completely free. In protocol.ini both version should be called through same name - "PKTDRV$"
How to make MS Client minimal package working tutorial:
- source info for that, i doing my version because i enhanced some steps and trid to make it more simple..
- Get somewhere MS Client 3 installation files (DSK3-1.EXE + DSK3-2.EXE)
- Just extract DSK3-1.EXE with 7zip on modern system and ignore errors.. Files which you need will extracted.
- Next to do is expand (fancy word for older data extraction) 2 files from extracted package. Expand is not possible to it on Win10 64bit.. Or Dosbox. I did it within DOS 7.1, it will probably work inside Windows 98 and Xp too (untested). Expand is also in extracted package so it will probably work within MS-DOS 6.22 and older.
Here you run these commands, which run in folder where you have extracted data:You will gain protman.dos and protman.exe by expandation.expand -r protman.do_
expand -r protman.ex_
NETBIND.COM is already uncompressed gained by 7zip operation before. - Get DIS_PKT9.DOS (version 9) or version 11(dis_pkt.dos) from link above and extract them to same directory and 3 files above.
- Add *.Dos driver for you NIC, which you can find in my Drivers and Utils package EtherDvr\!NDIS folder or some packet drivers link, within this post, or elsewhere..
- Now create / edit protocol.ini in same directory - I will use C:\Drivers\MsCLTMin directory as shortcut for MS client minimal install..
Protocol.ini definition: -- You dont need to use text after ; in real file. These are just my comments to help to understand the code.[protman]
DriverName=PROTMAN$
[B57] ; place your NIC driver filename without .dos
DriverName=B57$ ;place your NIC driver filename and $ at the end
[PKTDRV]
drivername=PKTDRV$
bindings=B57 ; again NIC driver filename without .dos
intvec=0x60 ; Software Interrupt Vector for PD, if problem you can increase it i thing this one is for irq 3, for irq 9 is 0x61
chainvec=0x68 ; try 0x69 and increase value if encounter problems
- Add to config.sys these linbes, regarding of you directory with files // Change B57.dos for you NIC *.DOS driver
* DeviceHIGH for load drivers to upper memory is also possible - tested, working.
DEVICE=C:\Drivers\MsCLTMin\PROTMAN.DOS /I:C:\Drivers\MsCLTMin
DEVICE=C:\Drivers\MsCLTMin\B57.DOS
DEVICE=C:\Drivers\MsCLTMin\DIS_PKT.DOS
* Alternatively you can load these line only on demanad after boot with devload - is inf above.. - Add to autoexec.bat this line, regarding of you directory with files
* // NETBIND.COM can not be loaded high (with LH) so memory eating is even more eminent.. Its starting MS-DOS Lan Manager 2.1
C:\Drivers\MsCLTMin\NETBIND.COM
* If will use devload solution, this line will do nothing, so you have to remove it too and run netbind after load network drivers after boot. - Reboot and test package with your TCPIP stack
- for mTCP (just set MT.. variable and its config file and run dphc - if is everything right i will give you ip address and network will be working..
- DOS NICs networking drivers sources:
- Some Packet drivers sources: 1 , 2 - proper NIC names
- Dave Dunfield - PKTDRV.exe - collection of ~100 network driver and some NIC detection utility.. You select your NIC in menu and packet drivers of ODI Shim for you card would be extracted to same directory where PKTDRV.exe was execute, often there is also some starting .bat to make to run drivers more easily.
--- end of packet driver section ----
More details about different networking solution usage: - Very basic procedure how to make dos networking working:
1) Make packet driver for you NIC working, it there is not native packet driver, use Wrappers (Shims).
2) Set network variables - ip adress, gateway, dns etc.. for IP addresses for gateway and dns - you can use your routers ip address.
3) Start TCPIP stack. - NICscan.exe utility to print out name of NIC is pure Dos
- at least on some board is not able to find integrated NIC, unless additional PCI NIC is removed - Its always good idea, test you NIC, router, cable setup etc.. with some other modern OS on same machine, before you try to make Dos networking to work, because modern OS have better ways to debug problems..If you machine is fast enough to run, at least Windows 9x, older Linux etc.
- MBbrutman: Find the right packet driver for your adapter and parameters. Older adapters often have open source packet drivers and are well understood. If your adapter does not have a packet driver you might be able to use an ODI or NDIS driver with a "shim" that makes it look like a packet driver. RuThaN: This explain why some drivers have different formats.. but i still dont have enough knowledge to tell you how exactly to use them - TBD..
- If you are using MS-DOS 7.1 on Windows98 partion, original ping.exe is Windows only, so for you have to use ping from TCP stack package. I have to execute ping right from mTCP, if there is some workaround how to make mTCP ping primary, just tell me, Netbootdisk is able to do that..
- Shim regarding of wikipedia - is fancy word for Wrapper / Converter, realtime translation one API to other. ODIPKT.COM for ODI drivers is Shim.
- MS Client installation files download.
- Regarding of this info - if application using WATTP libary you only need packet driver not TCPIP stack to make networking working.
MS Client Minimal package experience notes:
- You dont need to install full MS Client 3 package to make it working, you can do minimal MS CLient install 4 files + driver - details are here and in Ndis description bellow.
- it eats 50 KB of Conventional or Upper memory (with Broadcom 57xx driver), that is much better that Netbootdisk / MS Client Full (~150 KB).. but far from ideal.
- change of NIC is easy just copy *.dos driver to your Minimal client directory - change protocol.ini NIC lines and change driver *.dos filename in Autoexec.bat
Testing utilities from MS full client with Minimal package:
- i just copy utility to Minimal package directory and try to run it, is no point to add more files and heavily edit init files etc, because results would be MS client full version- results is simple nothing is working, because some other drivers are needed.
MS Client 3 - full blown experience
- its recommended to install it in Domain NT mode (full redirector), because basic redirector lacks some features..Explanation is a bit unclear i used Doman mode, because i though that i could help with new OS compatibility, if someone understand it pleas explain. There is at least know bug with file dates with basic redirector, for OS compatibility testing i always used full redirector.
- be aware that if you are using MS-DOS 7.1 from WIndows 98 on same partition, it has own net.exe (too) and its set as primary, its usually working for net use, but it doesnt suppors net share.. for sharing make sure that you are executing patched net.exe form MS Client directory.
- Setup -Protocols i removed NWlink (Nowell) and installed TCPIP, you can also add NetBEUI..
- NT mode (redirector) could be later changed to Basic through setup.exe or through system.ini
- for MS-DOS 7.1 you have to use Ifshlp.sys from MS Client package, not from MS-DOS 7.1 because otherwise you will get Internal error during net start command..
- Its just same stuff as used by Netbootdisk only, Nebootdisk has all preinstalled and has NIC autodetection and is primary run from removable media..
- After installation im able to ping (in package) internal and external machine
- To make DNS working, you need to start DNR.exe from package before net start ans you have to add lines to end of tcputils.ini:
[dnr]
drivername=DNR$
bindings=TCPIP
after that DNR.exe has to be started, it could be done in Autoexec.bat
- IP Address and gateway could be manually fill in PROTOCOL.INI
- Be aware that if you do manual editing in TCPUtils.ini and System.ini and Protocol.ini and start setup.exe again, they are regenerated.. so edits are lots, keep backup!
- During installation you can change Network adapter setting is driver has such parameters and also some protocol details.
- Setup.exe run to edit configuration you need at least 429 KB of coventional memory, it could be problem with lots of protocol installed.
- Ipconfig MScltDirectoryPath - is printing IP adress, dns, gateway etc..
- You can share folder from dos, with patched (WG1049..) MSclient by Net share ShareName=C:\Directory for write access add /Full, you can set password too, after reboot you can only use net share system is remembering directories.. for delete some directory from sharing list use net share Sharename /Delete
- Filesharing has to be enabled in System.ini you can here change all username and workgroup / domanin name
- Net /? | more - print basic network commands for network usage / Net - small GUI; Net diag - diagnosic; Net config - info; Net init - load protocol and network adapter- driver without binding them to Protocol Manger; Net logoff - break connection and share resources ; Net logon - identifies you as member and there are set persistent connection, there are renew; Net Password - change password; Net start - Starts services or loads pop up interface; Net Stop - stops services or unloads the pop-up interface; Net time - display time or synchonize time with time server; Net use - connects or disconnect shared resource or display info about connections; Net view Display a list of computers that share resources or list of shared resources on a specific computer. You need to know computername (hostname), connection through ip address is not supported! - You will get unable to connect error.
- i was able to use Net view (Syntax: net view /Workgroup:WGNAME) and i can see Win98 + Win2k computers by there hostnames, on network was also XP, WIn7 and WIn10 machines in same Workgroup. With net view \\computername im able to see Win98 share from Windows 7 64bit. But on DOS machine i often getting - list call /Workgroup:XX list fo machines are not available (its unreliable at least on my network).
- When you run setup again and you have already MSClient in PATH, you can change setting..
- I tried to search for Password in plain text on whole disk, it seems that is not at least saved in plain text.. Probably it would be easy to crack it, but better than plain text.
- NET browse is working (at least sometimes) with Win98 + Win2k. Its working fine with Basic redictor version too. I tried same style for WinXP/Win7/Win10 nothing for now.
- Net use (for map shared folders on other modern machines) is reliable its working every time when i tested it.
- to load Netbeui driver, you need load NDISHLP driver to..
Setup text for redictor selection - extract:
MS CLT provides 2 redirector files. Basic and Full...
Basic - provides all standard workgroup functions, such connection, disconnecting, and browsing. It uses less memory and disk space that full redirector.
Full - Use full redirector if you need to logon to MS Windows NT or Lan Manager domain, or if you run programs that use advanced network functions, such name pipes (RuThaN: What the hell are advanced function and pipes?)
In read is this info: You must run the Network Client full redirector to have your user name and password validated by a Microsoft Windows NT Server or LAN Manager server.
When you select domain logon is settings, there is automatically selected Full redirector mode.
MS Client 3 patches:
- there 3 patches for MS client
- to install just copy patch to some empty directory run it, it will extract its file, you can delete original exe and copy new files to your MSclient directory
- Netshare.exe - contains netshare.exe and netshare.txt - to make this working you need Share.exe (in MS Dos documentation is this: Installs file-sharing and locking capabilities on your hard disk.) which is part of MS-Dos 6.22 and MS-Dos 7.1 floppy installation (2 floppies), but its not part of Windows 98 Dos installation, so i have to copy it from MS-DOS 7.1 floppy installation.. I recommend to use MS-DOS 7.1 version, even with MS-DOS 6.2, its at least clean some Protocol not present message when is net initialize run (i dont know if there are other differences).
- Nnet.exe - contains net.exe net.msg and neth.msg
- WGL1049.exe - net.exe net.msg, neth.msg readme.txt
- as you can see Nnet.exe and Wgl1049.exe both contain net.exe so you will have to choice which one you will to use, file form nnet is newer, but i looked on this tutorial. .. and wgl1049.exe net exe is used so i used it too.. Note this tutorial is not using netshar.exe patch at all, its not overwriting annything, so if you copy it too to MSclient, i will not broke annything. Using wgl1049 net.exe is needed when you want to share some folder from Dos machine with net share command.
Conventional Memory usage:
80 Kbytes when you are using the "Basic Redirector"
170 Kbytes when you are using the "Full Redirector"
+ NDIS driver, other XY KB
- its simply means not gaming, when these behemoths are loaded.. you need start networking, do networking stuff and reboot.. or unload / kill networking stuff (at present time i dunno if it is possible and how exactly to do it - more research needed)
Files in MS full client package and some explanation for them:
- lots of these doesnt have any help / i didn find any info, if you now for what they are for, pleas tell me..
- addname.exe - NetBios internet name utility, you can add up to 6 names. Syntax is addname computername ipaddress .Help could be printed by addname ? Its probably something like host file (hostname to ip address maping when DNS is not working for some machines) for Netbios networking..
- autoexec.exe - files which should be added to autoexec, file is regenerated by changing you MS client setup.exe settings, if they have effect on it, protocols etc..
- config.sys - lines for config, only non typical is ifshlp.sys which is run in MS-DOS 7.1 regardless of config.sys setting (but its wrong one not compatible with MS Client so you need one from MS Client package), its adding 32 bit filesystem support to dos (FAT32) support, BTW im accessing to NFTS shared directories from Dos and i dont need any special NTFS drivers..
- connect.dat - empty text file, i dunno what will added where, maybe you can save here some connection info, maybe networking driver mapping??
- dhcp.prm - some binary file for dhcp
- dnr.exe - dns names resolver for MS Client Stack
- embsbfr.exe - from name is some ems buffer..
- expand.exe - archive extraction utility which is part of installer, otherwise useless
- hosts - host file same as in Windows, you can specify hostname for some ip addresses to make when easier to use (to remember)
- ifshlp.sys - 32 bit driver for filesystems access needed for MS Client to work..
- ipconfig - utility provides DHCP configuration information.
- lmhost - host file for Netbios
- ncdinfo.ini - empty text file, i dunno what could be saved here
- ndishlp.sys - some driver, ndis mapper, probably main NDIS driver..
- nemm.dos - Other driver, some programs need it, in file is MS DOS TCP/IP NEMM driver 1.0, i dunno what it is for..
- net.exe - primary working exe to browse and use MS Client - network browing, network disk connection etc.. Net /? | more - print basic network commands for network usage, there lots of subcommands.
- net.msg - message catalog probably for net.exe file, support file only.. unless you want to use funny message let it be (i didnt test if will still work if you will edit it)
- netbind.com - binds the MAC and protocol drivers together and using the MAC protocol, determines the current linespeed (10Mbit/100Mbit / 1000Mbit dullex etc..)
- neth.msg - other message catalog/list..
- network.inf -some Windows for Workgroup 3.11 definitions, i dunno if it used by Dos client or is here for multi OS (DOS+Win 3.11) use..
- networks - other host files for ip to hostname mapping, too many of them..
- networks - something like modern hostfile for local networks (im not use what means this term)
- nmtsr.exe
- oem*.inf - some configuration files or there skeletons.. there added after some NDIS driver installing
- nwlink.exe - Nowell networking protocol file (optimal), if dont have Netware network you dont need it
- ping.exe - classic ping utility, supprort dot syntax ip address and dns names.. for this stack, dns is not working with Win7/Win10 hostname, unless are added into host files (so they have to have static ip addresses - you have to set in your router or modern OSes)..
- protman.dos - protocol (multi) handler driver
- protman.exe - protocol manager
- protocol.002 + 003... - probably some backups of protocol.ini
- protocol.ini - main settings of all protocol and NIC adapter, some per protocol setting are in other files..
- rascopy.bat - some batch for Remote Access with Workgroup Add-on (Win 3.11), i dunno know that this Remote Access could do
- readme.txt - main MS Client readme file
- services - its text file, where is defined which programs is using which TCP / UPD port.. Like FTP-21 etc, Telnet 23
- setup.exe - MS Client setup utility, could be run after installation to add / remote different NIC driver, protocols etc.. Note if you manually edit these *.ini file, something in setup could be broken and run setup could broke it.. My advice is only you setup once, or until custom editing.
- setup.inf - list of filenames for setup utility, unless from user point of view..
- sockets.exe - Microsoft Sockets driver - i dunno now for what exactly it good for, as i get is sockets are used for some OS independent data transfers..
- System.ini - other configuration file - here could be defined username, workgroup name, here you enable file and printer sharing, loaded network protocol driver, type of redictor etc..
- tcpdrv.dos - MS TCP driver or Microsoft TCP/IP.
- tcptsr.exe - start MS-DOS TCP networking, loads the TCP/IP Microsoft kernel and initializes the network card via DHCP.
- tcputils.ini - tcp setting, dns server (=your router) could be added here, you can select default protocol for some programs..
- tinyrfc.exe
- umb.com - its shoutcut for network UMB handler - but still dont know that it is
- vbapi.386 - some windows only file, maybe Visual Basic api for Networking..
- vsockets.386 - other WIndows only file
- wcsetup.inf - other list of filenames.. maybe check what setup need to have to work
- wfwsys.cfg - some binary file
- w* - 3x dll file - Windows only, maybe for WIn3/ 95 networking, i didnt tested any of that.
- *.pwl files, crypted passwords and saved shares info, to remove user just delete his *.pwl file there are per use, shares can be delete through net share ShareName /Delete
These lines should be added to Autoexec (TCP protocols settings / full redirector), lets assume that MS Client is installed /copied to C:\DRIVERS\MSCLTNE2\:
REM ADD MS CLIENT directory to present already defined PATH variable
Set PATH=%PATH%;C:\DRIVERS\MSCLTNE2
C:\DRIVERS\MSCLTNE2\net initialize
C:\DRIVERS\MSCLTNE2\netbind.com
C:\DRIVERS\MSCLTNE2\umb.com
C:\DRIVERS\MSCLTNE2\tcptsr.exe
C:\DRIVERS\MSCLTNE2\tinyrfc.exe
C:\DRIVERS\MSCLTNE2\nmtsr.exe
C:\DRIVERS\MSCLTNE2\emsbfr.exe
REM Net start is last line, probably has to be.
C:\DRIVERS\MSCLTNE2\net start
* LazyBrowDog - recommend to rem umb and emsbfr lines, as far as i tested, i think that MS Client is working fine without them
mTCP how to make it working + info:
- Dosbox only steps - for Gulikoza (2009) and Ykhwong Daum SVN builds (2015).. HAL9000 build (2010) (thx mbbrutman)
- you need to install WinPcap utility (on Windows) to handle part of networking, i can say anything about MacOS and Linux, but there are probably some solutions too
- edit Dosbox.conf:
# Enable networking
ne2000=true
nicbase=300
#NIC IRQ, Dosbox default is 3, but i was more successfull with IRQ9
nicirq=9
# Mac address should be unique for every machine at least in you network, you can use every value from 0-F, at every place of address..
macaddr=AC:DE:48:88:99:AA
#For First run realni=list add value list check Dosbox info windows output for number for your NICs and select physical nic used for internet networking
#realnic=list
# Assign you nic number
realnic=6
-- end of Dosbox only steps--
- Find your network card name, after that its Dos packet driver, if exist.. If doesnt you can try driver for other card of from same manufacturer, or ODI driver + ODI shim - details are above..
- start it, there is usually some parameter for IRQ, try IRQ 3 or 9, usually is parameter for it 0x60 (IRQ3) and 0x61 (IRQ9)
- For Dosbox use NE2000.com driver.
- set nework variables
- they are defined by MTCPCFG variable - which is path to configuration file (ie set MTCPCFG=C:\1Utils\mTcp\config.cfg ), for basic networking you need to set only setup variable at the end of file, starting IPADDR line, at the top is hostname line - it should be also unique in your network for every machine.
- your can add MTCPCFG to Autoexec.bat, or create some standalone bat to start Network, when is needed, example of such file:
- after that you run packet driver + mTCP dphc,exe and that is all:
REM ne2000 (Dosbox NIC) packet driver example, has to be in same directory or in path
REM 0x60 - IRQ3 - IRQ9- 0x61
ne2000 0x60
REM network details variable
set MTCPCFG=C:\1Utils\mTcp\config.cfg
REM DPHC line need MCT.. variable
REM start DHCP, mTCP directory has to be in PATH variable
dhcp
REM If it print good news.. network ping / Arachne browser would work..
- optimal setup - is assign static ip address for you network card, in you router management
- try ping google.com or similar, you get response time, no time, its working for you. Start ftp client / internet browsers etc..
Windows Ftp clients:
- some client dont really support empty username /password connections
- Total Commander - press CRTL+F define connection and connect - tested with mTCP FTP server
- Free Commander - tested with mTCP FTP server - use topmenu - Tools - new FTP connection, you can comeback to already defined connection through adressbar edit and "ftp://" , if there is some shortcut tell me..
- Filezilla -be aware in installing package is some optimal adware.
Windows FTP servers
- Quick and Easy FTP server - light package for testing, really easy to use - run - setup few parameter - start and connect.. - I tested it with mTCP FTP client - its working.
- Filezilla - i had in the past problem with security certificate generation / renewal for SFPT, its not user friendly.
FTP server with mTCP
- pure Dos machine is server - you only started some process and you have to got to other pc to transfer files with some FTP client (above)
- you need to set FTPPASS.txt file, fptsrv_password parameters, has to be enabled (remove #) and patch should be adjusted, other settings are really optimal log and timeout look nice.
- FTPpass sample is in Samples directory, its quite long configuration file..
- exchange brutman password, for your username, password // Not use something which you are using often its just plain text - no security at all.. Im not security guy at all, i usually hate security stuff, but FTP is probably worst security hole even on local network, SFTP and crypted password / key etc.. would be much better..
- start ftp server with ftpsrv command
- good results should print mTCP FTPSRV starting..
- i dont know certainly if it is mTCP FTPserver or Total commander / Free Commander FTP clients limitation (with high probability is mTCP problem, error is bad path or filename i thing 550 error code..), but you can transfer files with long Windows names, they should be renamed before. Some auto handling of these would be nice.. especially when in Dos you can used Doslfn for long filenames support. Some inbuild filename trim or other work around would be nice.
- usage limitation this FTP server is not designed to run in background all the time, how you could be used from WIndows service enviroment, you only can transfer files, when ftpserver is executed (active program) and you looking on its info screen..
-i was able to transfer with FreeCommander 8GB of data without any need to reconnect (after i removed long files, with them its failing and client can continue)
Nic compatibility section testing/ info:
Proven (personally tested by some Vogons member) NIC+ packet driver with mTCP (no shim):
- Intel 1000 GT Gbit PCI - tested by RuThaN, with mTCP FTP server transfer - i reached 12 MB/s receiving speed and 16 MB/s transfer speed, my HDD is capable regarding of Rayers Rawspeed test (in my drivers and utils package- search for drivers text post is quite long) 35 MB/s (but i is big block sequential test) bu still HDD was probably no limit, because games usually have more bigger files than lots of smaller one (yeah there are exceptions but files are usually HDD friedly bigger than 4KB ones)
- NE2000 (Dosbox and lots of older NICs are compatible with this standard) tested by RuThaN and others..
- realtek 8101L integrated on MB, working with RTL8139 packet driver
- Vmware Workstation 12 Dos 6.22/7.1 Machines NIC - i have to use 0x61 for IRQ with packet driver and with inMTC config file (vector is at the top, default is 0x60), used packet driver was pcntpk.com with int=0x61 parameter. Its AM PCnet virtual network card, NICscan reporting it as AM 79c970 [PCnet32 Lance]. When i had physical and virtual on same Core i7 4770S machine, transfer speed wasnt great ~1MB/s for mTCP FTP server transfer i suspect used packet driver driver as limiter.
- Realtek 8029 with PCIPKT.COM reported by sklawz here
- realtek 8139 with RTSPKT.COM reported by sklawz
Proven (personally tested by some Vogons member) NIC+ packet driver with mTCP (with ODI shim only):
Working:
- Vmware AM PCnet III virtual machine with ODI shim (odipkt) with int 0x60 - working
- PCI Intel 1000GT card with E1000ODI.COM + ODIPKT.COM
- VirtualBox - AM PCnet III fast NIC - pcntnw.com + odipkt - i have use vector 0x61(97) parameter instead of default 0x60 (96)
- Via Rhine II - integrated NIC - working with -w -n 0x61 parameters
Unproven NIC+ packet driver with mTCP (with ODI shim only):
- Broadcom 5721 PCI-E + X58 - its not working, shim is running but i cant get DHCP working..
- Broadcom 5721 PCI-E + Z97 - exactly same problem as with X58
- Realtek 8168 on Z97 - same problem with other not working ODI shim +NICS..
Proven (personally tested by some Vogons member) NIC+ packet driver with mTCP (with NDIS shim only), that mean in other worlds MS Client Min setup:
- Virtualbox - Am PC net III
- Broadcom 5721 PCI-E + Z97 - not netbind freeze, mTCP give name ip address - game, getway is fine, but DNS - is not, its not local, but form my ISP! (hmm MS Client is doing it too).. and i cant to ping anything im getting You DHCP lease expires in less that 3600 second . Pleas run DHCP.. When i set DNS - Nameserver manually and dont run DHCP.exe its running fine. On modern os its fine.
- Realtek 8168(Gigabit) integrated
- Broadcom 5764M integrated on X58 board - working with B57.dos with filesize - 59216 bytes
Unproven NIC+ packet driver with mTCP (with NDIS shim only):
- Broadcom 5721 PCI-E + X58 chipset - its not working.. after netbind start freezes.. shim is running but i cant get DHCP working.
MS Client minimal package proven - working NICs
Virtualbox AM.. Pcnet Fast III
- with VirtualBox AM... Fast III adapter its working (used 0x60 in mTCP config file)- there is not netbind freeze, used EMS mode
- mTCP is working fine
- using newer version (11) of package driver
MS Client minimal package - unproven not working NICs
X58+Broadcom 5721M PCIe NIC - i know, i know that my modern X58 + 6 core CPU + PCI-E NIC is not best setup for compatibility, but i made almost anything else in Dos working on it and i its my primary machine for all retro + future capability as bonus, so i started here.. My other machines have NICs with native packet drivers, so even if would make it working there is would be good only for debug purposes and general info.. But because i failed with X58 machine, i will have to test it probably on these machine too..
- When i start Netbind i starting to get freezes few seconds long.. Same card (i mean same type, not exactly same card, in theory there could be different bios) on Z97 MB is working fine.
- I was testing in EMS mode, but in realmode - i got complete freeze during Netbind.com loading, so some info on internet im not first who has netbind freezes problems.. not i didnt find any details
- Both versions of package driver (V9) + V11 tested is the same, mTCP getting only timeouts..
MS Client Full - Proven NIC (for anything with Ndis *.DOS should work, but these are proven):
- Realtek 8168(Gigabit) integrated, i used rtgnd.dos driver.
- Broadcom 5721M on Z97 board
- Broadcom 5764M integrated with X58 - B57.dos driver size - 59216
- Vmware NIC..
- Virtualbox AMxxx NICs
MS Client Full - unproven NIC):
- Broadcom 5721M on X58
Netboodisk Proven NIC
- PCI Intel 1000GT card
- realtek 8101L integrated on MB
- realtek 8168 (Gigabit) integrated on MB
- Virtualbox Dos 7.1 - PCnet PC II NIC
- Virtualbox Dos 7.1 - PCnet Fast III NIC
Netbootdisk unproven - not working NIC
- Broadcom 5721M PCie + X58 chipset MB - stuck at umb.com loading, its some binary from 1996, when i remove it, im stuck on next step (tcptsr.exe), when i have to get IP address etc
- Broadcom Net Extremene 5764M PCI-E integrated on X58 MB - full network stack is started, but when i use ping - i got system freeze (i tried to change b57.dos for that with size 59216 which is working with MS min client its the same.)
- Vmware AM PCnet - its not able to find any NIC and there is no setting at least without .vmx editing (i didnt checked it) to change emulated NIC type..
- Virtualbox Dos 7.1 - Intel Pro/1000 MT server - adapter not found
- Virtualbox Dos 7.1 - Intel Pro/1000 T server - adapter not found
- Virtualbox Dos 7.1 - Intel Pro/1000 MT desktop - adapter not found
---end of NIC compatibility section-----
List of programs compatibile with mTCP stack (report them pleas):
- Arachne 1.97 - Dos internet browser
- Its working with network programs from Netbootdisk (at least some)
TBD -
List of programs non compatible with mTCP stack (report them pleas):
- Trumpets TCP programs..
- test DosVNC (1999) - i dont know if problem is software itself or in mTCP, but i wasnt able to connect to Windows 10 machine with TightVNC server, was able to connect to its port by Telnet, so probably mTCP was fine in package are some WATcom net library, i dunno if is compatible with mTCP..
Because i hit maximum post lengh limit. Post continue in post #2.
Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.