Menu:
Unknown
Unknown
Linux or BSD with the IPX kernel module installed
MARS_NWE is a NetWare Emulator for Linux and BSD written by Martin Stover (MARtin Stovers NetWare Emulator). The most recent version on the alternate FTP server is 0.99pl12 from 23 July 1998. Given the website doesn't seem to have been updated since around then its possible this is the last version Martin released. There is a newer version (0.99pl23 of 6 November 2013) floating around on the internet but that fork appears to also be unmaintained now.
MARS_NWE appears to be abandoned today. The last version (0.99pl20) from its original author, Martin Stover, was released on 1 September 2000. Its mailing list is now gone as is the downloads section of its original website.
Since then two people have briefly picked it up and done a little maintenance but there has been nothing done in nearly a decade at this point:
Thanks to Mario Fetkas work MARS_NWE builds and runs OK on modern linux distros provided you've got the IPX kernel module installed but there are probably still bugs, missing features and incomplete work (eg namespace services) left over since the late 90s.
MARS_NWE currently only implements a subset of the NCP calls implemented by a real NetWare 3.11 server (prior to v0.98pl17 it claimed to be NetWare 2.15). It does not support NDS so clients or software requiring that (likely just the Macintosh one) won't work. It does not implement NetWare/IP (NCP over IPX over UDP) or Native IP (NCP over UDP) so all clients and servers must have IPX installed.
MARS_NWE requires kernel support for IPX. This was removed from Linux in v4.18 so if you're running that version or anything newer you'll need to build the kernel module yourself. Someone is maintaining a copy of the kernel module for newer versions of Linux at https://github.com/pasis/ipx. At the time of writing (February 2022) there are instructions for building it using DKMS here.
These instructions are written for version 0.99pl23. Older versions are probably going to be more difficult. If you run into trouble, see Chris Lendermans guide.
sudo apt install install libgdbm-dev cmake
wget https://ftp.disconnected-by-peer.at/ncpfs/mars_nwe-0.99.pl23.tar.bz2If that link doesn't work you can grab it from my FTP server: https://ftp.zx.net.nz/pub/archive/novell/mars_nwe_dist/mars_nwe-0.99.pl23.tar.bz2
tar -xjf mars_nwe-0.99.pl23.tar.bz2
cd mars_nwe-0.99.pl23 cmake . make sudo make install
MARS_NWE should now be installed but not configured and it won't start automatically with the system.
The MARS_NWE configuration file is divided into a number of sections a few of which will require some minor changes. Its worth reading through the comments in the config file as you do this as there may be other things you want to change while you're there.
sudo nano /usr/local/etc/mars_nwe/nwserv.conf
1 SYS /var/mars_nwe/SYS/ ktO 711 600See these notes for more information.
2 MARS
12 SUPERVISOR root top-secret
sudo nano /var/mars_nwe/SYS/public/net\$log.datAnd replace its contents with:
MAP INS S1:=SYS:PUBLICThis prevents you from getting a pile of errors when you login. You may want to take a backup of this file before changing it.
sudo nano /etc/rc.localAnd insert the following above exit 0:
mkdir -p /var/log/mars_nwe mkdir -p /var/run/mars_nwe nwserv
sudo reboot
If you have trouble getting MARS_NWE to work it may be worth commenting out section 3. For me commenting it out breaks it, for other
From here you should be able to login to your server as supervisor, password top-secret. Install a NetWare client if you haven't already. If you're using DOS and this is the only NetWare server on your network, once the client has started up you should be able to go:
F: login supervisor
If you already have another NetWare server on your network you'll need to specify the server name.
MARS_NWE supports long filenames on any volumes with the O flag set, but the implementation is a bit different from real NetWare.
For DOS clients, real NetWare takes a similar approach to Windows. Given two files, "long_file_name" and "long_file_name_too" DOS clients will see the two files "LONG_FIL" and "LONG_FI0". So no tilde and numbering doesn't start until the second file but otherwise similar to what you get on Windows..
MARS_NWE appears to do things differently here. It seems to just pretend the files with long names don't exist. You can't see them on DOS machines at all. After searching what remains of the mailing list archives and browsing the source code this appears to be a missing feature - MARS_NWE has no 8.3 name mangling support so it just hides files that would have invalid filenames from DOS clients. One of the places (the place?) this appears to happen is build_dos_name(DIR_BASE_ENTRY*, uint8*, int) in namspace.c.
On Windows NT (tested with client 4.11a) long filenames work normally. On Windows 9x you may need to modify the registry as by default it does not support long filenames on NetWare 3.11 (which is what MARS_NWE claims to be).
The following registry import file may enable it (from the FAQ):
REGEDIT4 [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\NWREDIR] "SupportLFN"=hex:02
If that doesn't work you may also need to add the following to system.ini (also from the FAQ):
[nwredir] SupportLFN=2
I was able to login to MARS_NWE fine from DOS and Windows 9x but OS/2 and Windows NT couldn't see the server and wouldn't let me login if I typed it in. To fix this I had to alter section 4 of the config file changing it from
4 0x22 eth0 ethernet_ii 1 4 0x0 * AUTO 1
To
4 0x46FA55AA eth0 802.3 1 4 0x60779D95 eth0 802.2 1
This is configuring MARS_NWE to use the same frame types and network numbers as my existing NetWare 4.11 and 3.12 servers. Possibly the problem was caused by MARS_NWE and my other NetWare servers being on different IPX networks. The IPX Network Number is similar to a subnet in TCP/IP - without a router routing traffic between the two IPX networks hosts on different networks can't communicate.
If you install Windows for Workgroups version 3.1 with NetWare support windows will install (an old version of) the NETX client using MSIPX.COM (kind of like IPXODI.COM but for NDIS drivers). This allows the NetWare client to run alongside the Windows Network by sharing its NDIS drivers. It seems to work ok with NetWare 3.12 and 4.11 though an AppNote from Novell does note a number of issues. For DOS 6.22 compatibility you have to upgrade to NETX 3.32 after installing WFW 3.1.
The problem here appears when there is a MARS_NWE server present on the LAN. When NETX starts it will fail to attach to any server even if the preferred server is not MARS_NWE. You'll just get repeated "SHELL-332-76: Network Error on Server x. Error receiving from network. Abort, Retry?" errors. NETX using IPXODI.COM doesn't seem to have this problem. I've not tested versions of NETX older than 3.32PTF.
My existing NetWare servers (3.2 and 4.11) are using both 802.2 and 802.3 frame types. Having MARS_NWE listening on 802.3 at all seems to cause the problem - forcing it to use 802.2 only (in section 4 of the config file) makes the problem go away. Reconfiguring WFW 3.1 to use ODI drivers and an appropriate shim would probably also solve the issue.
I'm not a netware expert, don't have any of those fancy novell certifications and have never administred a netware network; I've just played with it at home occasionally since 2004 or so. Email me if you've got any suggestions or corrections for this page or any extra information you think is worth including here. My address is david at this websites domain name (without the www bit of course).