Banyan VINES resurrection: Difference between revisions

From DisNCord Community Wiki
Jump to navigation Jump to search
JQW (talk | contribs)
JQW (talk | contribs)
minor edits
 
(43 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[Category:Preservation and Documentation]]
Banyan VINES was a network operating system developed by Banyan Systems for computers running on top of [[AT&T UNIX System V|AT&T's UNIX System V]]. It was used mainly in large corporate networks, with support for wide-area networking, using static and transient dial-up links. Some networks had hundreds of servers, if not more.
Banyan VINES was a network operating system developed by Banyan Systems for computers running on top of [[AT&T UNIX System V|AT&T's UNIX System V]]. It was used mainly in large corporate networks, with support for wide-area networking, using static and transient dial-up links. Some networks had hundreds of servers, if not more.


Line 5: Line 6:
Most servers were under support contracts and the software allowed for a fully-remote-managed network. They used this a lot since the underlying UNIX is restricted from system administrators. Banyan could access it to help you, if you paid them for every hour on a support call. The software was protected with a parallel port dongle known as a server key - these were used to ensure that each server had a unique serial number, as the serial number was used to generate each server's VINES IP address. The server key also contained a list of the additional software options installed on the server - options could be copied to the key from a separate option key. Most major versions of VINES also required an option key containing the new version's option bit. Sever keys had limited lifetimes, and it's unlikely that any have survived are still readable.
Most servers were under support contracts and the software allowed for a fully-remote-managed network. They used this a lot since the underlying UNIX is restricted from system administrators. Banyan could access it to help you, if you paid them for every hour on a support call. The software was protected with a parallel port dongle known as a server key - these were used to ensure that each server had a unique serial number, as the serial number was used to generate each server's VINES IP address. The server key also contained a list of the additional software options installed on the server - options could be copied to the key from a separate option key. Most major versions of VINES also required an option key containing the new version's option bit. Sever keys had limited lifetimes, and it's unlikely that any have survived are still readable.


At the heart of VINES was StreetTalk, a directory service. All StreetTalk objects possessed a three part StreetTalk name, in the format Item@Group@Organisations. There were essentially four different classes of StreetTalk objects - Users, Services, Lists and Nicknames. Lists contained one or more StreetTalk names, and could include other Lists. Nicknames were aliases, and could be in a different group or organisation to the target item.
At the heart of VINES was StreetTalk, a directory service. All StreetTalk objects possessed a three part StreetTalk name, in the format ''Item@Group@Organisations''. There were essentially four different classes of StreetTalk objects:
* Users,  
* Services,  
* Lists,
* Nicknames.  
Lists contained one or more StreetTalk names, and could include other Lists. Nicknames were aliases, and could be in a different group or organisation to the target item.


Each group had a list entitled AdminList@Group@Org which contained the administrators for that group. There was also a special organisation named Servers - each server would have it's own group named ServerName@Servers, with AdminList@Servername@Servers containing the adminstrators of that server.
Each group had a list entitled ''AdminList@Group@Org'' which contained the administrators for that group. There was also a special organization named ''Servers'' - each server would have it's own group named ''ServerName@Servers'', with ''AdminList@Servername@Servers'' containing the administrators of that server.


Early versions of VINES were released only for Banyan's own 680x0 based server platforms, the BNS (Banyan Network Server) and the DTS (Desktop Server). There were later ports for PC hardware, and Banyan also produced an Intel based server named the CNS.  
Early versions of VINES were released only for Banyan's own 680x0 based server platforms, the BNS (Banyan Network Server) and the DTS (Desktop Server). There were later ports for PC hardware, and Banyan also produced an Intel based server named the CNS, which was released in both 80386 and 80486 variants.
== Server Hardware ==
VINES supported PC based server hardware from at least version 2 onwards, although the earliest releases may have been limited to 286 based systems. The 286 version was limited in functionality and was declared obsolete by the release of VINES 4.10.


== Installing Server ==
At one point there were 386 and 486 variants of VINES - the release media for the two was identical, the only difference was the presence of the 486 option on the server key, and a server running on a 486 without the relevant option on the server key would abort during the boot process.
Installation media has been recovered for VINES 5.00, 5.54, 7.00 and 8.50. VINES 5.00 and 5.54 came as a stack of floppies, whilst 7.00 and 8.50 consisted of five floppies and a CD-ROM ISO.


Any version can be installed without the need for a server key. CD based versions require a SCSI CD-ROM drive. There were drivers released for Compaq and HP based ATAPI drives, but these seem to be tied to specific server hardware. IDE hard drives are supported, but need to be no more than 504MB in capacity.
The standard release media was the AT version. There was also an SMP variant for supported SMP servers, and an MCA version for Microchannel based servers from IBM and other manufacturers. Despite its name the AT version also supported EISA hardware.


The system can be installed under VirtualBox, but requires version 7.0.0, currently in beta. If installing a CD version you need to enable a BusLogic adapter, and configure it to use the I/O address of 330h for it's ISA emulation address. The default NIC also needs changing from PC net to one of the legacy models such as the NE2000 or WD8003E. (More to follow once VirtualBox 7.0.0 ships).  
Banyan had a hardware certification program, which evaluated servers and produced machine specific installation notes. Theoretically VINES could still be installed on uncertified hardware, but Banyan wouldn't support any hardware related issues. Each certified platform had its own hardware certification notes, which would indicate any specific system settings which may be needed to allow VINES to install.


For all versions boot up of the Install 1 floppy and follow the prompts. The system may check for an server key or option key during installation, but will still proceed. (VINES 6.00 requires a dongle to be present to begin installation - the CD-ROM is currently lost).
Up to VINES 5.54 there was no means of adding additional storage or network drivers to the server during installation, and you were limited to whatever drivers were included on the release media. Banyan would occasionally release a new minor version purely to support new hardware, such as VINES 4.11 and 5.52. Occasionally some addition network and communication drivers would be made available as a patch, but the server had to be already connected to the network via other means to install the patch.


Once installed you will need to simulate the server key by performing the following steps, as follows:
From VINES 6.00 additional device drivers were supported, installed via a floppy from the server console. VINES 6.00 also introduced PCI support, although support was somewhat limited - for example it wasn't possible to have two instances of the same PCI NIC installed.


The server will start booting and perform at disk check. Once "Done with disk checking" is displayed, press CTRL-C and type in the root password (passwords for 5.00 and 5.54 are listed below), and gain a root prompt.
Various storage controllers were supported, including SCSI, ESDI and popular hardware RAID controllers. Early versions of VINES had a limit of 2GB per partition - if a physical or logical drive was larger than 2GB it would be automatically partitioned into smaller filesystems. The 2GB partition limit was removed in VINES 7.00.


You need to set a serial number. Banyan's serial numbers for servers were seven decimal digits long, with the middle digit either a 0 or 1. Ensure that the serial number is unique across servers<syntaxhighlight lang="shell-session">
The first two variants of Banyan's ICA card were difficult to configure, as they needed a 128K memory window. They were easier to configure on EISA platforms, as the EISA configuration utility could be used to reserve a sufficient memory hole somewhere in the memory map. On non-EISA servers it was sometimes necessary to remove memory from the server to get an ICA to work. Banyan's hardware certification notes usually indicated how an ICA card (or more than one) could be configured on specific hardware. Later ICA models, the ICA/RM (Reduced Memory) and ICA/HS (High Speed), reduced the memory window to something more manageable.
== Server Operating System ==
VINES was derived from AT&T SVR 3.2, with some modifications. The underlying operating system was kept away from the sever operator, with everything being controlled from a mixture of shell-script based menus and curses-based utilities. There were just two configured users - ''root'', and ''local''. Banyan's own services tended to run as ''root'', with services from third-party developers running as the user ''local'', most likely for security purposes.
 
The installation process would create a root partition (6MB initially, 32MB from VINES 7.00 onwards), and a swap partition, under which the core Unix system was installed. The remainder of the disk would become a second partition named ''/disk1'', under which the rest of the OS would reside, together with server data. Prior to VINES 7.00, additional partitions would be created, if necessary, named ''/disk2'' onwards, due to a 2GB limitation on disk partitions. Additional drives could be installed and partitioned once the main operating system was installed.
 
VINES service binaries were stored in their particular directory under ''/disk1/banyan'', with third-party binaries under ''/disk1/local''. Each directory contained the service binary, scripts for starting, creating and deleting services, log files, and so forth.
== Installing The Server ==
Installation media has been recovered for VINES 3.00, 4.00, 5.00, 5.52, 5.54, 6.00, 7.00 and 8.50. VINES 5.54 and earlier came as a stack of floppies, whilst 6.00 and 8.50 consisted of five floppies and a CD-ROM ISO. Images of the VINES 6.00 floppies have also been recovered, but the CD-ROM image is still missing.
 
Some releases of VINES were supplied with a pack-in patch on one or two floppies that either fixed serious issues or added a feature that wasn't ready when the gold master was produced. This would need to be applied once the server was up and running and would change the patch level of the server. For example, VINES 4.00 came with the 4.00(1) patch which added the STDA service, whilst VINES 6.00 came with the 6.00(1) patch to resolve a potential issue with the mail service.
 
Most versions can be installed without the need for a server key, by gaining root access and editing some files. CD based versions tend to require a SCSI CD-ROM drive - although there were drivers released for Compaq and HP based ATAPI drives, these were tied to specific server hardware. IDE hard drives are supported but are limited to a maximum capacity of 504MB on most systems.
 
VINES 3.00 appears to only install on machines fitted with certain Compaq video adaptors, as the installation kernel seems to use some Compaq specfic video code that fails on other hardware.
 
There's a logic hole in the VINES 4.00 installer that causes an essential startup file to be removed from the installation if a valid server key can't be found, prompting a reload of the whole OS from release media on reboot. To get around this press CTRL-ALT-DEL as soon as the final installation floppy has been installed.
==== Installing under VirtualBox ====
The system can be installed under VirtualBox, but requires version 7.0.0, as this fixes an issue with the floppy drive support, and also adds support for legacy ISA network cards. As VINES's support for IDE drives was somewhat limited, with a limit of 504MB per drive and no UDMA support, it's best to configure the VM to use a BusLogic SCSI adaptor. VINES's Adaptec SCSI driver should work with such a controller in ISA emulation mode, but it only probes the ISA I/O address of 0x330h for such a controller, whilst VirtualBox's driver defaults to 0x338h instead. Thankfully VirtualBox's BusLogic SCSI adaptor's ISA I/O address can be changed by using the following command: <syntaxhighlight lang="dosbatch">
vboxmanage setextradata "VM-name" VBoxInternal/Devices/buslogic/0/Config/ISACompat "Primary"
</syntaxhighlight>The default NIC also needs changing from PC net to one of the legacy models such as the NE2000, as follows: <syntaxhighlight lang="dosbatch">
vboxmanage modifyvm "VM-name" --nic-type1=ne2000
</syntaxhighlight>This defaults to an I/O address of 0x300h and IRQ 3. Additional NICs can be added, but their I/O address and IRQ parameters need to be manually configured at the moment. 
 
==== Installing the Software ====
For all versions boot up of the Install 1 floppy and follow the prompts. The system may check for a server key or option key during installation but will still proceed. (VINES 6.00 required a dongle to be present to begin installation).
 
The installer appears to use BIOS calls to perform the initial part of installation, which means that the initial portion of the installation process appears to work on unsupported hardware, only failing when the system fails to mount the root filesystem on the first reboot.
 
Once installed, and you are not in possession of either a working server key or a paper activation code, you will need to simulate the server key by performing the following steps, as follows:
==== Simulating a Server Key ====
The server will start booting and perform at disk check. Once "Done with disk checking" is displayed, press CTRL-C and type in the root password (passwords for 5.00 and 5.54 are listed below, passwords for later revisions are chosen at installation time), and gain a root prompt.
 
You need to set a serial number. Banyan's own serial numbers for servers were seven decimal digits long, with the middle digit either a 0 or 1, but any value should work. Ensure that the serial number is unique across servers on the same network.<syntaxhighlight lang="shell-session">
echo 2130145 > /disk1/banyan/comm/serial
echo 2130145 > /disk1/banyan/comm/serial
</syntaxhighlight>Next the server key reader binary, /disk1/banyan/install/mwidget, needs to be replaced with a shell script. Make a backup copy of the original, as it contains pertinent infomation. The shell script should contain the following - the file .skini is checked by the server service during bootup. Don't forget to make the script executable<syntaxhighlight lang="shell-session">
</syntaxhighlight>Next the server key reader binary, /disk1/banyan/install/mwidget, needs to be replaced with a shell script. Make a backup copy of the original, as it contains pertinent information which can be extracted later. The shell script should contain the following - the file .skini is written by the original mwidget, and its timestamp is checked by the server service during bootup. Echo is used here as VINES lacks touch. Don't forget to make the script executable.<syntaxhighlight lang="shell-session">
#!/bin/sh
#!/bin/sh


Line 32: Line 72:


exit 0
exit 0
</syntaxhighlight>Finally, create the file /disk1/banyan/ss/syopts.db, which contains a list of installed options. The text to the right of the colon can be omitted - it's shown here to denote what each option represents. Not all options are needed, but some are mandatory. This list is incomplete as it removes additional variants of some of the SNA services, some Banyan internal options which require additional software, and the option to convert the server to an ENS server. A full list can be obtained by running 'strings' on the original mwidget binary.<syntaxhighlight lang="shell-session">
</syntaxhighlight>Finally, create the file /disk1/banyan/ss/syopts.db, which contains a list of installed options. The text to the right of the colon can be omitted - it's shown here to denote what each option represents. Not all options are needed, but some are mandatory. This list is incomplete as it can also contain additional variants of some of the SNA services, some Banyan internal options which require additional software, and the option to convert the server to an ENS server. A full list can be obtained by running 'strings' on the original mwidget binary.<syntaxhighlight lang="shell-session">
ss:Server Operating System
ss:Server Operating System
bfs:File Service
bfs:File Service
Line 96: Line 136:
ebrjbl:Enterprise Backup and Restore Jukebox Large (ebr104)
ebrjbl:Enterprise Backup and Restore Jukebox Large (ebr104)
rev7.0:Revision 7.00 of VINES
rev7.0:Revision 7.00 of VINES
</syntaxhighlight>Exit the shell and the server should start to come up again. Say no to the two questions on restoring from a backup on installing additional options. You will now be presented with a lists of supported network cards. Under VINES 7.00 and 8.50 it's possible to instal additional network drivers from a floppy, but not until after the server is up and running.
</syntaxhighlight>Exit the shell and the server should start to come up again. Say no to the two questions on restoring from a backup and on installing additional options. You will now be presented with a lists of supported network cards, serial communications cards and tape controller adaptors. Select the relevant network adaptor here - under VINES 7.00 and later it's possible to install additional network drivers from a floppy if nothing suitable is listed, but not until after the server is up and running.
 
==== Final steps ====
The server will prompt for a server name. It will then try to look on the network for another server, and to validate that the server name is unique. If another server is discovered on the network, the account details of an administrator of that server can be used to add this server to StreetTalk. Otherwise set the server up as the first server on the network.
The server will prompt for a server name. It will then try to look on the network for other servers to validate that the server name is unique. If another server is discovered on the network, the account details of an administrator of that server can be used to add this server to StreetTalk. If no other server is found the server can be set up as either the first server on the network, or as a server to be added to a network later. The second option leaves AdminList@server-name@Servers empty, which must be updated by an existing user on another server once the server joins the network.
 
Eventually after a delay of some minutes the server monitor should come up. If it doesn't there's probably an error in sysopts.db.


Eventually after a delay of some minutes the Server Monitor should come up. If it doesn't then check the logs for the server service - an error in sysopts.db can cause services to fail to start up. Exiting the server monitor brings you to the main server menu.
==== Testing ====
Todo
==== Troubleshooting ====
Todo
== Installing Clients ==
== Installing Clients ==
Clients exited for MS-DOS, Windows 95, Windows 98, Windows NT 3.51/4.0, OS/2 1.x and 2.x and above, and Windows 2000.
Clients exited for MS-DOS, Windows 95, Windows 98, Windows NT 3.51/4.0, OS/2 1.x and 2.x and above, and Windows 2000.
 
==== DOS ====
The DOS client has been uploaded to archive.org as three self-extracting .EXE files. DOSMST.EXE contains the client files common to all NICs, whilst DOSDSK1.EXE and DOSDSK2.EXE contain the driver files for every supported NIC, together with the NDIS drivers which should work with any NIC with a DOS NDIS driver. Copy the common files and selected driver files into a directory. Then run PCCONFIG to configure the client settings. Once configured running BAN.EXE should start the client and connect to a server. If the server is running a different version of VINES to that of the client it should invoke the NEWREV process to upgrade or downgrade the client files.
The DOS client has been uploaded to archive.org as three self-extracting .EXE files. DOSMST.EXE contains the client files common to all NICs, whilst DOSDSK1.EXE and DOSDSK2.EXE contain the driver files for every supported NIC, together with the NDIS drivers which should work with any NIC with a DOS NDIS driver. Copy the common files and selected driver files into a directory. Then run PCCONFIG to configure the client settings. Once configured running BAN.EXE should start the client and connect to a server. If there are no local servers with the same version of the client on their VINES Files service, the client will invoke the NEWREV command to upgrade or downgrade to a matching version. NEWREV can also be invoked manually to upgrade and downgrade, or to switch to a different language.
 
==== OS/2 ====
OS/2 is supported from VINES 4.10 onwards. OS/2 2.x support was added under VINES 5.50, but was available as an optional patch for earlier VINES revisions. Unfortunately the OS/2 client itself is lost at the moment. OS/2 client programs have to be installed on at least one server on the network for an OS/2 client to be able to connect - from VINES 5.00 the installation of OS/2 files was made optional at installation time.
OS/2 is supported from VINES 4.10 onwards. OS/2 2.x support was added under VINES 5.50, but was available as an optional patch for earlier VINES revisions. Unfortunately the OS/2 client itself is lost at the moment. OS/2 client programs have to be installed on at least one server on the network for an OS/2 client to be able to connect - from VINES 5.00 the installation of OS/2 files was made optional at installation time.
 
==== Windows 95 ====
Windows 95. A server on the network needs to be patched with the Windows 95 client files - patches are bundled with the client installation files, but have to be applied from a DOS workstation. There was also a separate client for Windows 98 released in Banyan's final days - as of yet it hasn't been recovered.
A server on the network needs to be patched with the Windows 95 client files - patches are bundled with the client installation files, but have to be applied from a DOS workstation. There was also a separate client for Windows 98 released in Banyan's final days - as of yet it hasn't been recovered.
 
==== Windows NT 3.51/4.00 ====
Windows NT 3.51/4.00. Various client revisions have been recovered. None require any patches to be applied to the server.
Various client revisions have been recovered. None require any patches to be applied to the server.
 
==== Windows 2000 ====
Windows 2000. A client was issued in late 1999, after Banyan had declared that they were pulling out of the market. As of yet it hasn't been recovered.
A client was issued in late 1999, after Banyan had declared that they were pulling out of the market. As of yet it hasn't been recovered.
 
==== Mac System 7.0 ====
There was also an extension for Mac System 7.0 and above that added some extra functionality, although a Mac could login to VINES without it. There was also client for Banyan's E-mail system. Both are currently lost.
There was also an extension for Mac System 7.0 to 7.5.5 which added some extra functionality, although a Mac could login to VINES without it. There was also client for Banyan's E-mail system. Both have been recently recovered. This software also works with Mac OS 8.0.
 
==== Others ====
There were various third-party Windows clients for Banyan's E-mail system. In addition Banyan acquired BeyondMail and offered versions 2 and 3 of that to customers.
There were various third-party Windows clients for Banyan's E-mail system. In addition Banyan acquired BeyondMail and offered versions 2 and 3 of that to customers.
== Security ==
== Security ==
root passwords for a few version leaked:
root passwords for a few version leaked:
Line 156: Line 198:
|-
|-
|4.00
|4.00
|vivelaVINES
|vivelaVines
|
|
|-
|-
Line 183: Line 225:
|
|
|}
|}
Other known passwords:
There was also a password for accessing the low-level formatter from the release media on Banyan's own server hardware - Banyan required severs to be fitted with drives bearing Banyan's signature, but this could be circumvented by invoking the formatter by typing the relevant password at a certain installation menu. On CNS servers with later copies of the release media this was '''nosedive''', whilst other known formatter passwords were '''goforit''' and '''format.'''
 
* Low Level format: '''goforit'''
* Previous Low Level format: '''format'''
 
== Managing the system ==
== Managing the system ==
The server console has several menus for managing the server. Tasks available include changing communications options, hardware configuration, kernel configuration from VINES 6.00 onwards, network management, print queue management, and server shutdown. UNIX access is also available if configured.
The server console has several menus for managing the server. Tasks available include changing communications options, hardware configuration, kernel configuration from VINES 6.00 onwards, network management, print queue management, and server shutdown. UNIX access is also available if configured.
Line 199: Line 237:
Network management - MNET.EXE - lets the user inspect communications statistics from each server. The same tool is available from the server console.
Network management - MNET.EXE - lets the user inspect communications statistics from each server. The same tool is available from the server console.


Another management tool was SETARL.EXE for setting access rights on file services. SETATTR.EXE could be used to set file attributes.
Banyan released two different Windows based GUI management tools. The first, ENS Management Tools, is lost. StreetTalk Explorer has survived.
== Communications and Protocols ==
The main communication protocol used by VINES was VINES IP. A server's VINES IP address would be in the form xxxxxxxx0001, with the first four bytes being the server's serial number. Workstation VINES IP addresses were in the range xxxxxxxx8000 to xxxxxxFFFE, with the first part being the serial number of the server acting as the PCs routing server. The routing server was the first server to respond to an ARP request and could be any server on that PCs LAN segment - with later VINES releases there was an option to limit the number of active clients a server could route. Various LAN types were supported - such Ethernet, Token Ring, ARCNET, VistaLan, and IBM's PCNET. FDDI was also available with later VINES revisions.
A server could also communicate over serial lines. This required the server to be fitted with one of Banyan's own 6 port ICA cards. Persyst mutliport serial cards were also supported, but these may have stopped working as of VINES 6.00. The ICA supported HDLC and X.25 as well as standard modem connections.
There was also support for Fractional T1 and ISDN via certain server based cards. Later versions of Banyan's SDK also allowed the creation of additional ISDN drivers, although none may have come to market.
VINES also supported TCP/IP. Initially this was to allow TCP/IP to be routed through VINES networks, or VINES IP to be routed through TCP/IP networks. There was also a variant of FTP Software's PCTCP suite that encapsulated TCP/IP in VINES IP, and some third party services could also talk via TCP/IP. As of later maintenance releases of 5.54 it was also possible to have workstations talk to the server via TCP/IP. This was fairly straightforward to configure on Windows 95 and NT clients - with DOS clients it required some lost third-party software. Early releases of VINES required a TCP/IP routing software option to be installed to allow a server based service to talk via TCP/IP - this limit was relaxed by VINES 6.00.
VINES also supported AppleTalk from VINES 5.00 onwards, including LocalTalk using a server installed card. There was an optional extension for System 7.x which has been recovered.
IPX was also supported, but only for use with ENS for Netware.
== Services ==
A partial list of VINES services - there were others, some of which were hidden from the user and administrator.
=== Server Service ===
The Server Service - ''SS@server-name@Servers'' - was responsible for starting and stopping all other services. Mandatory
=== StreetTalk ===
StreeTalk - ''ST@server-name@Servers'' - was the directory service. StreetTalk services maintain a list of all other services, and the groups that they contained, but would only contain full item information for its local groups. Later versions of VINES added StreetTalk shadowing, which allowed read-only copies of groups to be placed on other servers. Mandatory.
=== StreetTalk Directory Assistant (STDA) ===
An optional service that presented details of the entire distributed StreetTalk database. Its purpose was to reduced traffic to remote StreetTalk services over slow links. STDA would rebuild its databases once a day (typically overnight). Services could be configured as Satellite STDA servcices, meaning that they picked up their data from another STDA service. Introcuded with VINES 4.00(1).
=== VINES Security ===
VINES Security - ''VS@sever-name@Servers'' (or ''VanGuard@server-name@Servers'' in early releases) looked after security sessions, validating a user or service's security tokens. It would poll workstations occasionally to keep sessions alive. Mandatory.
=== VINES Files ===
VINES Files - ''VINES Files@server-name@Servers'' - was a file service containing VINES client programs and management tools. It would be mapped to drive Z: at login. A client would poll for the nearest VINES Files service running the same version as the client at login, and map itself to the first to respond. Its contents were read only to all users.
=== Mail ===
Email services - later known as Intelligent Messaging. The service was typically named MS@server-name@Servers, and would be created under that name if the software option was present at server installation, but could have any name. A user's Mail service was controlled by the SETMAIL command in their profile.
=== File ===
A file service was used to share files. Each service was mapped to a specific disk on the server. There could be multiple file services per server.
=== Print ===
A print queue. By default these could only be connected to parallel or serial ports on the server itself. With the PC Print option installed these services could also be mapped to PC based printers (the PC had to be running the PCPRINT.EXE TSR) or Banyan compatible print servers. Apple connected PAP printers were also supported.
=== NetBIOS Naming ===
Banyan's implementation of NetBIOS allowed clients to talk to each other over NetBIOS even if they were attached to different LAN segments. They did this via a NetBIOS naming service which co-ordinated machine names. The workstation had to load the additional NetBIOS TSR, and issue a SETNETB command to connect to the relevant NetBIOS naming service.
=== Semaphore ===
Like NetBIOS, Banyan also supported the old DOS Semaphore API over the entire network, using a TSR and service. This was obsolete by the early 1990s.
=== SNA ===
Banyan's SNA services emulated IBM 3174 controllers, allowing a PC to act as a 3270 series terminal. There were several different options of these SNA services, each emulating a different number of LUs (logical units). Communication was via an IBM Token Ring card or SDLC card fitted in the server. There were also two other variants of the SNA client - one offering advanced text facilities (such as international character sets), and another offering graphics support - both of these came with additional software to install on the server which is currently lost.
=== Asynchronous Terminal Emulation ===
This service allowed a client to connect to a shared serial line on the server to access a shared modem or terminal session on a legacy system. The service required either a Banyan ICA card (Intelligent Communications Adaptor) or a Persyst DCP-88/VM serial adaptor to function. The service could also act as a remote server console.
=== DOS/Unix Bridge ===
A special service only made available if certain third-party services were installed. It allowed a PC to access the entire filesystem on the server, but only as the user 'local', the user account under which all third-party services ran. Typically, this was used to pass files to and from the queue directories of mail gateways. Most VINES services ran as 'root', hence their files were not accessible. The service was also made available if the Application Toolkit option was installed.
=== PC Based Service ===
It was also possible to run services on a PC running DOS, Windows NT or OS/2 and have that available via StreetTalk. Lotus Notes, for example, ran as such service under VINES. Banyan also had a product that allowed NT servers to act as a standard file service, which too ran as PC based service. In every case the PC needed to be logged in as a user on the AdminList of the group in which the service resided, as the service's StreetTalk recorded needed to be updated with the current socket address at startup.
=== RIPL ===
Used for managing boot disk images sent to diskless workstations which communicated via the RIPL protocol. Seldom used.
=== VINES Assistant ===
Optional management tools comprising of a suite of utilities, plus a server-based service that monitored its server and sent out alerts if certain thresholds had been met.
=== Third Party Services ===
Other developers could also produce services with Banyan's SDK. Example services include several mail gateways, at least two different RDBMS packages, calendaring tools, and ports of various TCP/IP services such as DNS and LPR. Prior to VINES 5.54 TCP/IP based services need the TCP/IP Routing option to be installed to enable the TCP/IP stack.
== SDK ==
== SDK ==
Banyan had an SDK, known as the VINES Application Toolkiet, for developing server and PC based applications. VINES 6.00 introduced the ability to write device drivers, and also switched to using GCC. Currently no versions of the SDK have been recovered.  
Banyan had an SDK, known as the VINES Application Toolkit, for developing server and PC based applications. VINES 6.00 introduced the ability to write device drivers, and also switched to using GCC. Currently no versions of the SDK have been recovered. Initial copies of the SDK came on a stack of floppy disks (or QIC tape if installing on one of Banyan's own servers), whilst later versions appeared on CD-ROM.
 
== What's new per version ==
== What's new per version ==
The early history of VINES is lost, with very little surviving. Here's a brief, but incomplete, history of changes.
The early history of VINES is lost, with very little surviving. Here's a brief, but incomplete, history of changes.


VINES 4.00 introduced major changes to StreetTalk - changes to the way it updated meant that the the special group Servers@Servers was no longer required. 4.00 was also the last version to be released for 680x0 and 286 based servers.
====VINES 1.xx====
*Only available on Banyan's own BNS servers, which were 680x0 based.
 
====VINES 2.xx====
*introduced support for Banyan's DTS (Desktop) servers
*VINES/286 which ran on IBM AT and clones.
 
==== VINES 3.xx ====
*VINES/386, for 386 based PC servers.
*VINES/TEAM, a cheaper version which supported a restricted number of users.
*Banyan also introduced their serial controller, the ICA.
* VINES/386 3.00 appears to have been limited to the Compaq Deskpro 386. More plaforms were supported with VINES 3.10.
 
==== VINES 4.00 ====
*introduced major changes to StreetTalk  
**changes to the way it updated meant that the the special group Servers@Servers was no longer required.
*VINES 4.00 was also the first version of VINES to support the MS-DOS 3.1 network API.
*First version of VINES to support 486 servers.
*4.00 was also the last version to be released for 680x0 and 286 based servers.
*VINES 4.00 also introduced the STDA directory assistant service, in the form of patch 4.00(1).
 
=====VINES 4.10 =====
*added support for Windows 3.0 and OS/2 1.x clients.
*There were changes made at the session level to allow multi-tasking workstations to have multiple sessions with some services simultaneously.
*The initial release of 4.10 had a serious bug which would lead to file system corruption on certain file truncation operations.
 
=====VINES 4.11 =====
* Was a new cut of 4.10 to add support for additional server storage hardware.
 
==== VINES 5.00====
*added support for Apple Macs and file access rights on a per file basis.
** This was a fork of 4.10 so didn't support the new hardware platforms introduced in 4.11.
*The default S5 filesystem was replaced with the S10 one
**under the S5 filesystem servers could run out of inodes despite having plenty of spare disk space.
 
=====VINES 5.50=====
*added 4.11's hardware support to the other features of 5.00.
*The routing protocol used between servers was changed to one that generates far less traffic on large networks.
 
===== VINES 5.52, 5.53 and 5.54 =====
*added additional server hardware support.
 
====VINES 6.00 ====
*added loadable device drivers and root access.
*Loadable device drivers were now available for storage adaptors and network interfaces.
*StreetTalk was also enhanced, allowing read-only copies of groups to be shadowed to other servers, and allowing some additional characters in item names.
 
=====VINES 6.20, 6.30 and 6.40=====
* were maintenance releases of 6.00, issued as sets of patches.
 
====VINES 7.00====
*added support for larger filesystems (previously they were limited to 2GB)
*together with long filename support from certain clients.
*The root filesystem was also enlarged to circumvent installation problems seen with VINES 6.xx.
*VINES 7.00 also introduced paper-based server keys and option codes, although dongles could still be used.
* Patches were also issued to allow paper-based option keys to be used with previous VINES revisions.
*The LAN server-to-server and SMP options were now bundled with the base release.
 
=====VINES 7.10=====
*was a maintenance release for 7.00, applied as a set of patches.
*There were no significant new features.
 
====VINES 8.00 ====
*added very little other than support for MPS 1.4,
*support for add-on ISDN card drivers (although none seem to have been released).
*SMP had been supported since at least VINES 4.00 on certified hardware, but needed to be installed from SMP specific media.
*VINES 8.00 was unique in that it didn't have its own option bit, and could be installed on any existing VINES 7.00 server.
 
=====VINES 8.50=====
* was the Y2K compliant version of 8.00.
*Some services and features were not supported beyond 1999 for various reasons, although these services continued to run.
 
=====VINES 8.60=====
*was the final release of VINES, containing all of the maintenance patches issued for VINES 8.50 since its release.
 
====VINES ENS====
There was also a product named ENS for Netware that allowed Netware servers to use StreetTalk. Initially these used their own special ENS servers, which were cut down VINES servers. ENS 1.00 was effectively VINES 5.20, and ENS 1.1 was VINES 5.30. A server running VINES 5.50 onwards could also act as an ENS server with the relevant software option. The Netware NLM and ENS client files are currently lost, as are media for the two ENS server releases.
 
==== VINES UNIX====
There were also versions of VINES released for some versions of commercial UNIX - SCO Unix, Solaris, HP-UX and AIX, the latter running on the RS/6000. Some of these were issued under ENS branding. None of these appear to have survived.
 
====StreetTalk for NT====
Banyan also issued a VINES implementation that ran on Windows NT entitled StreetTalk for NT. There were also several other NT based software, including a webmail gateway for Intelligent Messaging under IIS, and software to allow an NT drive to act as a VINES file service.
 
==What's Missing==
An incomplete list of currently missing software:
 
VINES 2.xx release media and patches for 286 based servers.
 
VINES 3.10 release media.
 
VINES 4.10 or 4.11 release media, plus maintenance patches for VINES 4.00, 4.10 and 4.11.
 
VINES 5.00 maintenance patches. 5.00(0) has been recovered, but has some serious bugs fixed in later maintenance releases.
 
VINES 8.00 release media.
 
VINES 8.00 and 8.50 maintenance patches.
 
Release notes for any revision of VINES.
 
Documentation for the 8.60 maintenance patch.
 
Installation media for Banyan's own hardware - BNS, DTS or CNS, together with a working server.
 
VINES 286 - any revision.


VINES 4.10 added support for Windows 3.0 and OS/2 1.x clients.
VINES Application Toolkit - any revision. Documentation was originally released in printed form, moving to CD-ROM with VINES 6.00.


VINES 4.11 was a new cut of 4.10 to add support for additional server based hardware.
Client for Windows 98


VINES 5.00 added support for Apple Macs and file access rights on a per file basis. This was a fork of 4.10 so didn't support the new server hardware of 4.11.
Client for Windows 2000


VINES 5.50 added 4.11's hardware support to the other features of 5.00.
Advanced 3270 Service installation floppy


VINES 5.52, 5.53 and 5.54 added additional server hardware support.
Graphics 3270 Service installation floppy


VINES 6.00 added loadable device drivers and root access. Loadable drivers for storage devices could be loaded into the kernel at installation time.
ENS For Netware - ENS Server Software, ENS NLM and VAP, ENS client. The VAP may not have been given a commercial release.


VINES 6.20, 6.30 and 6.40 were maintenance releases of 6.00.
VINES for SCO Unix


VINES 7.00 added support for larger filesystems (previously they were limited to 2GB), long filename support, and StreetTalk shadowing. The root filesystem was also enlarged. VINES 7.00 also introduced paper-based server keys and option codes, although dongles could still be used.
ENS for HP-UX, Solaris and AIX


VINES 7.10 was a maintenance release for 7.00.
Demarc - SNMP based management tools.


VINES 8.00 added very little other than support for MPS 1.4, and support for add-on comms card drivers (although none seem to have been released). SMP had been supported since at least VINES 4.00 on certified hardware, but needed special media. VINES 8.00 was unique in that it didn't have its own option bit, and could be installed on any VINES 7.00 server.
Banyan Intranet Connect - webmail portal that ran under IIS on NT.


VINES 8.50 was the Y2K compliant version of 8.00.
StreetTalk Access for Windows NT - allowed NT servers to be used as VINES file services. A precursor to StreetTalk for Windows NT.


VINES 8.60 was the final release of VINES, containing all of the maintenance patches issued for VINES 8.50 since its release.
BeyondMail 2.x or 3.x for Intelligent Messaging - BeyondMail 2.0 for Novell's MHS has survived.


There was also a product named ENS for Netware that allowed Netware servers to use StreetTalk. Initially these used their own special ENS servers, which were cut down VINES servers. ENS 1.00 was effectively VINES 5.20, and ENS 1.1 was VINES 5.30. Later ENS could use a standard VINES Server instead.
SMTP Gateway service - version 1.30 does exist, but it won't install on later servers, and is not year 2000 compliant.


There were also versions of VINES released for some versions of commercial UNIX - SCO Unix, Solaris, HP-UX and AIX. Some of these were issued under ENS branding.
MacMail Gateway - little is known about this service. May not have been released.


Finally there was a port of VINES for Windows NT entitled StreetTalk for NT.
FTP Software's PC-TCP suite with Banyan specific drivers, version 2.x and 3.x. IBANYAN encapsulated TCP/IP in VINES-IP, EBANYAN hooked the currently installed Ethernet driver.

Latest revision as of 15:18, 15 June 2024

Banyan VINES was a network operating system developed by Banyan Systems for computers running on top of AT&T's UNIX System V. It was used mainly in large corporate networks, with support for wide-area networking, using static and transient dial-up links. Some networks had hundreds of servers, if not more.

The underlying protocol was VINES IP, a protocol similar to Xerox's XNS. TCP/IP was also supported for client workstations in later versions.

Most servers were under support contracts and the software allowed for a fully-remote-managed network. They used this a lot since the underlying UNIX is restricted from system administrators. Banyan could access it to help you, if you paid them for every hour on a support call. The software was protected with a parallel port dongle known as a server key - these were used to ensure that each server had a unique serial number, as the serial number was used to generate each server's VINES IP address. The server key also contained a list of the additional software options installed on the server - options could be copied to the key from a separate option key. Most major versions of VINES also required an option key containing the new version's option bit. Sever keys had limited lifetimes, and it's unlikely that any have survived are still readable.

At the heart of VINES was StreetTalk, a directory service. All StreetTalk objects possessed a three part StreetTalk name, in the format Item@Group@Organisations. There were essentially four different classes of StreetTalk objects:

  • Users,
  • Services,
  • Lists,
  • Nicknames.

Lists contained one or more StreetTalk names, and could include other Lists. Nicknames were aliases, and could be in a different group or organisation to the target item.

Each group had a list entitled AdminList@Group@Org which contained the administrators for that group. There was also a special organization named Servers - each server would have it's own group named ServerName@Servers, with AdminList@Servername@Servers containing the administrators of that server.

Early versions of VINES were released only for Banyan's own 680x0 based server platforms, the BNS (Banyan Network Server) and the DTS (Desktop Server). There were later ports for PC hardware, and Banyan also produced an Intel based server named the CNS, which was released in both 80386 and 80486 variants.

Server Hardware

VINES supported PC based server hardware from at least version 2 onwards, although the earliest releases may have been limited to 286 based systems. The 286 version was limited in functionality and was declared obsolete by the release of VINES 4.10.

At one point there were 386 and 486 variants of VINES - the release media for the two was identical, the only difference was the presence of the 486 option on the server key, and a server running on a 486 without the relevant option on the server key would abort during the boot process.

The standard release media was the AT version. There was also an SMP variant for supported SMP servers, and an MCA version for Microchannel based servers from IBM and other manufacturers. Despite its name the AT version also supported EISA hardware.

Banyan had a hardware certification program, which evaluated servers and produced machine specific installation notes. Theoretically VINES could still be installed on uncertified hardware, but Banyan wouldn't support any hardware related issues. Each certified platform had its own hardware certification notes, which would indicate any specific system settings which may be needed to allow VINES to install.

Up to VINES 5.54 there was no means of adding additional storage or network drivers to the server during installation, and you were limited to whatever drivers were included on the release media. Banyan would occasionally release a new minor version purely to support new hardware, such as VINES 4.11 and 5.52. Occasionally some addition network and communication drivers would be made available as a patch, but the server had to be already connected to the network via other means to install the patch.

From VINES 6.00 additional device drivers were supported, installed via a floppy from the server console. VINES 6.00 also introduced PCI support, although support was somewhat limited - for example it wasn't possible to have two instances of the same PCI NIC installed.

Various storage controllers were supported, including SCSI, ESDI and popular hardware RAID controllers. Early versions of VINES had a limit of 2GB per partition - if a physical or logical drive was larger than 2GB it would be automatically partitioned into smaller filesystems. The 2GB partition limit was removed in VINES 7.00.

The first two variants of Banyan's ICA card were difficult to configure, as they needed a 128K memory window. They were easier to configure on EISA platforms, as the EISA configuration utility could be used to reserve a sufficient memory hole somewhere in the memory map. On non-EISA servers it was sometimes necessary to remove memory from the server to get an ICA to work. Banyan's hardware certification notes usually indicated how an ICA card (or more than one) could be configured on specific hardware. Later ICA models, the ICA/RM (Reduced Memory) and ICA/HS (High Speed), reduced the memory window to something more manageable.

Server Operating System

VINES was derived from AT&T SVR 3.2, with some modifications. The underlying operating system was kept away from the sever operator, with everything being controlled from a mixture of shell-script based menus and curses-based utilities. There were just two configured users - root, and local. Banyan's own services tended to run as root, with services from third-party developers running as the user local, most likely for security purposes.

The installation process would create a root partition (6MB initially, 32MB from VINES 7.00 onwards), and a swap partition, under which the core Unix system was installed. The remainder of the disk would become a second partition named /disk1, under which the rest of the OS would reside, together with server data. Prior to VINES 7.00, additional partitions would be created, if necessary, named /disk2 onwards, due to a 2GB limitation on disk partitions. Additional drives could be installed and partitioned once the main operating system was installed.

VINES service binaries were stored in their particular directory under /disk1/banyan, with third-party binaries under /disk1/local. Each directory contained the service binary, scripts for starting, creating and deleting services, log files, and so forth.

Installing The Server

Installation media has been recovered for VINES 3.00, 4.00, 5.00, 5.52, 5.54, 6.00, 7.00 and 8.50. VINES 5.54 and earlier came as a stack of floppies, whilst 6.00 and 8.50 consisted of five floppies and a CD-ROM ISO. Images of the VINES 6.00 floppies have also been recovered, but the CD-ROM image is still missing.

Some releases of VINES were supplied with a pack-in patch on one or two floppies that either fixed serious issues or added a feature that wasn't ready when the gold master was produced. This would need to be applied once the server was up and running and would change the patch level of the server. For example, VINES 4.00 came with the 4.00(1) patch which added the STDA service, whilst VINES 6.00 came with the 6.00(1) patch to resolve a potential issue with the mail service.

Most versions can be installed without the need for a server key, by gaining root access and editing some files. CD based versions tend to require a SCSI CD-ROM drive - although there were drivers released for Compaq and HP based ATAPI drives, these were tied to specific server hardware. IDE hard drives are supported but are limited to a maximum capacity of 504MB on most systems.

VINES 3.00 appears to only install on machines fitted with certain Compaq video adaptors, as the installation kernel seems to use some Compaq specfic video code that fails on other hardware.

There's a logic hole in the VINES 4.00 installer that causes an essential startup file to be removed from the installation if a valid server key can't be found, prompting a reload of the whole OS from release media on reboot. To get around this press CTRL-ALT-DEL as soon as the final installation floppy has been installed.

Installing under VirtualBox

The system can be installed under VirtualBox, but requires version 7.0.0, as this fixes an issue with the floppy drive support, and also adds support for legacy ISA network cards. As VINES's support for IDE drives was somewhat limited, with a limit of 504MB per drive and no UDMA support, it's best to configure the VM to use a BusLogic SCSI adaptor. VINES's Adaptec SCSI driver should work with such a controller in ISA emulation mode, but it only probes the ISA I/O address of 0x330h for such a controller, whilst VirtualBox's driver defaults to 0x338h instead. Thankfully VirtualBox's BusLogic SCSI adaptor's ISA I/O address can be changed by using the following command:

vboxmanage setextradata "VM-name" VBoxInternal/Devices/buslogic/0/Config/ISACompat "Primary"

The default NIC also needs changing from PC net to one of the legacy models such as the NE2000, as follows:

vboxmanage modifyvm "VM-name" --nic-type1=ne2000

This defaults to an I/O address of 0x300h and IRQ 3. Additional NICs can be added, but their I/O address and IRQ parameters need to be manually configured at the moment.

Installing the Software

For all versions boot up of the Install 1 floppy and follow the prompts. The system may check for a server key or option key during installation but will still proceed. (VINES 6.00 required a dongle to be present to begin installation).

The installer appears to use BIOS calls to perform the initial part of installation, which means that the initial portion of the installation process appears to work on unsupported hardware, only failing when the system fails to mount the root filesystem on the first reboot.

Once installed, and you are not in possession of either a working server key or a paper activation code, you will need to simulate the server key by performing the following steps, as follows:

Simulating a Server Key

The server will start booting and perform at disk check. Once "Done with disk checking" is displayed, press CTRL-C and type in the root password (passwords for 5.00 and 5.54 are listed below, passwords for later revisions are chosen at installation time), and gain a root prompt.

You need to set a serial number. Banyan's own serial numbers for servers were seven decimal digits long, with the middle digit either a 0 or 1, but any value should work. Ensure that the serial number is unique across servers on the same network.

echo 2130145 > /disk1/banyan/comm/serial

Next the server key reader binary, /disk1/banyan/install/mwidget, needs to be replaced with a shell script. Make a backup copy of the original, as it contains pertinent information which can be extracted later. The shell script should contain the following - the file .skini is written by the original mwidget, and its timestamp is checked by the server service during bootup. Echo is used here as VINES lacks touch. Don't forget to make the script executable.

#!/bin/sh

echo 0 > /disk1/banyan/install/.skini

exit 0

Finally, create the file /disk1/banyan/ss/syopts.db, which contains a list of installed options. The text to the right of the colon can be omitted - it's shown here to denote what each option represents. Not all options are needed, but some are mandatory. This list is incomplete as it can also contain additional variants of some of the SNA services, some Banyan internal options which require additional software, and the option to convert the server to an ENS server. A full list can be obtained by running 'strings' on the original mwidget binary.

ss:Server Operating System
bfs:File Service
bps:Print Service
st:StreetTalk
sem:Semaphore Service
nb:Netbios Emulation Service
VS:VINES Authenticator & Network Guardian
stda:StreetTalk Directory Assistance Service
ripl:Remote IPL service
AFP:AppleTalk Filing Protocol Service
ATA:AppleTalk Agent Service
VPA:VINES Proxy Agent
ONM:Network Management (Old)
SNM:Network Management (New)
VCS:Configuration Service
evs:VINES Event Management Service
WAN:WAN Service
bms:Intelligent Messaging Service (PA100)
sna1:3270/SNA Service - 32 lu's (SNA100)
vt:Asynch Terminal Emulation (HA100)
Kermit:Kermit File Transfer for HA100 (HA102)
NM:Remote Network Management (NM130)
bsc:3270/BSC emulation-32 devices (BSC100)
x.25:X.25 Communications (PDN100)
hdlc:Server-to-Server WAN - HDLC (IM101)
dialin:Asynchronous Dialin Support (NA100)
s_s_lan:Server-to-Server LAN (IM100)
lu62:SNA LU6.2/PU2.1 Service
pcprint:Network PC-based Printing (PCP100) 
tcpip_route:TCP/IP Routing (TCP100)
s_s_tcpip:TCP/IP Server-to-Server (TCP200)
fsunix:VINES Application Toolkit (VDT100)
v386:Intel 80386 platform
rev3.0:Revision 3.00 of VINES
x.29:X.29 Virtual Terminal Option (HA201)
smtp:VINES SMTP mail gateway
mac_mail:Macintosh Mail Gateway
bridge:IBM SLR Token Ring Bridge
asna0:Advanced 3270 Service - 32 lu's (SNA200)
gsna0:Graphics 3270 Service - 32 lu's (SNA300)
v486:Intel 80486 platform
edd:Enterprise Data Distribution Service (edd100)
va-1:VINES Assistant (VA100)
rev5.0:Revision 5.00 of VINES
rev4.0:Revision 4.00 of VINES
mps1:Multi-processor 4.00 VINES (MPS100)
x.29dialin:X.29 Dial-in Option (NA200)
sna6:Server-to-Server WAN - SNA (SNA600)
msformac:Intelligent Messaging Service for Macintosh
atps:AppleTalk Protocol Support
s_s_isdnb:ISDN BRI Server-to-Server (000047)
ds1_cept:T1/E1 Server-to-Server (000054)
ebr:Enterprise Backup and Restore
ebs:Enterprise Backup and Restore Service
rev6.0:Revision 6.00 of VINES
hcs:VINES History Collector Service (snmp100)
snmp:VINES SNMP Master Agent (snmp100)
eddsat:Enterprise Data Distribution Satellite (edd101)
eddupdat:Enterprise Data Distribution Update Service
ebrjbs:Enterprise Backup and Restore Jukebox Small (ebr102)
ebrjbm:Enterprise Backup and Restore Jukebox Medium (ebr103)
ebrjbl:Enterprise Backup and Restore Jukebox Large (ebr104)
rev7.0:Revision 7.00 of VINES

Exit the shell and the server should start to come up again. Say no to the two questions on restoring from a backup and on installing additional options. You will now be presented with a lists of supported network cards, serial communications cards and tape controller adaptors. Select the relevant network adaptor here - under VINES 7.00 and later it's possible to install additional network drivers from a floppy if nothing suitable is listed, but not until after the server is up and running.

Final steps

The server will prompt for a server name. It will then try to look on the network for other servers to validate that the server name is unique. If another server is discovered on the network, the account details of an administrator of that server can be used to add this server to StreetTalk. If no other server is found the server can be set up as either the first server on the network, or as a server to be added to a network later. The second option leaves AdminList@server-name@Servers empty, which must be updated by an existing user on another server once the server joins the network.

Eventually after a delay of some minutes the Server Monitor should come up. If it doesn't then check the logs for the server service - an error in sysopts.db can cause services to fail to start up. Exiting the server monitor brings you to the main server menu.

Testing

Todo

Troubleshooting

Todo

Installing Clients

Clients exited for MS-DOS, Windows 95, Windows 98, Windows NT 3.51/4.0, OS/2 1.x and 2.x and above, and Windows 2000.

DOS

The DOS client has been uploaded to archive.org as three self-extracting .EXE files. DOSMST.EXE contains the client files common to all NICs, whilst DOSDSK1.EXE and DOSDSK2.EXE contain the driver files for every supported NIC, together with the NDIS drivers which should work with any NIC with a DOS NDIS driver. Copy the common files and selected driver files into a directory. Then run PCCONFIG to configure the client settings. Once configured running BAN.EXE should start the client and connect to a server. If there are no local servers with the same version of the client on their VINES Files service, the client will invoke the NEWREV command to upgrade or downgrade to a matching version. NEWREV can also be invoked manually to upgrade and downgrade, or to switch to a different language.

OS/2

OS/2 is supported from VINES 4.10 onwards. OS/2 2.x support was added under VINES 5.50, but was available as an optional patch for earlier VINES revisions. Unfortunately the OS/2 client itself is lost at the moment. OS/2 client programs have to be installed on at least one server on the network for an OS/2 client to be able to connect - from VINES 5.00 the installation of OS/2 files was made optional at installation time.

Windows 95

A server on the network needs to be patched with the Windows 95 client files - patches are bundled with the client installation files, but have to be applied from a DOS workstation. There was also a separate client for Windows 98 released in Banyan's final days - as of yet it hasn't been recovered.

Windows NT 3.51/4.00

Various client revisions have been recovered. None require any patches to be applied to the server.

Windows 2000

A client was issued in late 1999, after Banyan had declared that they were pulling out of the market. As of yet it hasn't been recovered.

Mac System 7.0

There was also an extension for Mac System 7.0 to 7.5.5 which added some extra functionality, although a Mac could login to VINES without it. There was also client for Banyan's E-mail system. Both have been recently recovered. This software also works with Mac OS 8.0.

Others

There were various third-party Windows clients for Banyan's E-mail system. In addition Banyan acquired BeyondMail and offered versions 2 and 3 of that to customers.

Security

root passwords for a few version leaked:

Version Password Notes
8.XX <unkown>
7.XX 7thHeaven not sure of case
6.XX disisdaONE!
5.5X YamIhere
5.00 Rain4Est
4.11 upyourREV
4.10 StorminNormin Norman Schwartskorf - Gulf War
4.00 vivelaVines
3.10 logrhythm spelled incorrectly on purpose
3.01 nobozos
3.00 pandorasbox
3.00 Beta makethenumbers
2.10 havingfun
1.31 springfever

There was also a password for accessing the low-level formatter from the release media on Banyan's own server hardware - Banyan required severs to be fitted with drives bearing Banyan's signature, but this could be circumvented by invoking the formatter by typing the relevant password at a certain installation menu. On CNS servers with later copies of the release media this was nosedive, whilst other known formatter passwords were goforit and format.

Managing the system

The server console has several menus for managing the server. Tasks available include changing communications options, hardware configuration, kernel configuration from VINES 6.00 onwards, network management, print queue management, and server shutdown. UNIX access is also available if configured.

Once logged in, a PC client will have drive Z: mapped to the VINES Files service of a local server. This contains various user tools for accessing VINES service, such as MAIL.EXE, together with the full set of management tools. Banyan also released two sets of GUI management tools - ENS Management Tools (currently lost) and StreetTalk Explorer.

The main management tool is MANAGE.EXE which allows a user to manage user accounts, services and other aspects of StreetTalk. The individual management tools can also be invoked individually - MUSER.EXE for managing users, MNICK.EXE for managing nicknames, MSERVICE.EXE for managing services, MLIST.EXE for managing lists, MORG.EXE for managing organisations and MGROUP.EXE for managing groups.

There's also the tool OPERATE.EXE for managing specific servers and their services.

Network management - MNET.EXE - lets the user inspect communications statistics from each server. The same tool is available from the server console.

Another management tool was SETARL.EXE for setting access rights on file services. SETATTR.EXE could be used to set file attributes.

Banyan released two different Windows based GUI management tools. The first, ENS Management Tools, is lost. StreetTalk Explorer has survived.

Communications and Protocols

The main communication protocol used by VINES was VINES IP. A server's VINES IP address would be in the form xxxxxxxx0001, with the first four bytes being the server's serial number. Workstation VINES IP addresses were in the range xxxxxxxx8000 to xxxxxxFFFE, with the first part being the serial number of the server acting as the PCs routing server. The routing server was the first server to respond to an ARP request and could be any server on that PCs LAN segment - with later VINES releases there was an option to limit the number of active clients a server could route. Various LAN types were supported - such Ethernet, Token Ring, ARCNET, VistaLan, and IBM's PCNET. FDDI was also available with later VINES revisions.

A server could also communicate over serial lines. This required the server to be fitted with one of Banyan's own 6 port ICA cards. Persyst mutliport serial cards were also supported, but these may have stopped working as of VINES 6.00. The ICA supported HDLC and X.25 as well as standard modem connections.

There was also support for Fractional T1 and ISDN via certain server based cards. Later versions of Banyan's SDK also allowed the creation of additional ISDN drivers, although none may have come to market.

VINES also supported TCP/IP. Initially this was to allow TCP/IP to be routed through VINES networks, or VINES IP to be routed through TCP/IP networks. There was also a variant of FTP Software's PCTCP suite that encapsulated TCP/IP in VINES IP, and some third party services could also talk via TCP/IP. As of later maintenance releases of 5.54 it was also possible to have workstations talk to the server via TCP/IP. This was fairly straightforward to configure on Windows 95 and NT clients - with DOS clients it required some lost third-party software. Early releases of VINES required a TCP/IP routing software option to be installed to allow a server based service to talk via TCP/IP - this limit was relaxed by VINES 6.00.

VINES also supported AppleTalk from VINES 5.00 onwards, including LocalTalk using a server installed card. There was an optional extension for System 7.x which has been recovered.

IPX was also supported, but only for use with ENS for Netware.

Services

A partial list of VINES services - there were others, some of which were hidden from the user and administrator.

Server Service

The Server Service - SS@server-name@Servers - was responsible for starting and stopping all other services. Mandatory

StreetTalk

StreeTalk - ST@server-name@Servers - was the directory service. StreetTalk services maintain a list of all other services, and the groups that they contained, but would only contain full item information for its local groups. Later versions of VINES added StreetTalk shadowing, which allowed read-only copies of groups to be placed on other servers. Mandatory.

StreetTalk Directory Assistant (STDA)

An optional service that presented details of the entire distributed StreetTalk database. Its purpose was to reduced traffic to remote StreetTalk services over slow links. STDA would rebuild its databases once a day (typically overnight). Services could be configured as Satellite STDA servcices, meaning that they picked up their data from another STDA service. Introcuded with VINES 4.00(1).

VINES Security

VINES Security - VS@sever-name@Servers (or VanGuard@server-name@Servers in early releases) looked after security sessions, validating a user or service's security tokens. It would poll workstations occasionally to keep sessions alive. Mandatory.

VINES Files

VINES Files - VINES Files@server-name@Servers - was a file service containing VINES client programs and management tools. It would be mapped to drive Z: at login. A client would poll for the nearest VINES Files service running the same version as the client at login, and map itself to the first to respond. Its contents were read only to all users.

Mail

Email services - later known as Intelligent Messaging. The service was typically named MS@server-name@Servers, and would be created under that name if the software option was present at server installation, but could have any name. A user's Mail service was controlled by the SETMAIL command in their profile.

File

A file service was used to share files. Each service was mapped to a specific disk on the server. There could be multiple file services per server.

Print

A print queue. By default these could only be connected to parallel or serial ports on the server itself. With the PC Print option installed these services could also be mapped to PC based printers (the PC had to be running the PCPRINT.EXE TSR) or Banyan compatible print servers. Apple connected PAP printers were also supported.

NetBIOS Naming

Banyan's implementation of NetBIOS allowed clients to talk to each other over NetBIOS even if they were attached to different LAN segments. They did this via a NetBIOS naming service which co-ordinated machine names. The workstation had to load the additional NetBIOS TSR, and issue a SETNETB command to connect to the relevant NetBIOS naming service.

Semaphore

Like NetBIOS, Banyan also supported the old DOS Semaphore API over the entire network, using a TSR and service. This was obsolete by the early 1990s.

SNA

Banyan's SNA services emulated IBM 3174 controllers, allowing a PC to act as a 3270 series terminal. There were several different options of these SNA services, each emulating a different number of LUs (logical units). Communication was via an IBM Token Ring card or SDLC card fitted in the server. There were also two other variants of the SNA client - one offering advanced text facilities (such as international character sets), and another offering graphics support - both of these came with additional software to install on the server which is currently lost.

Asynchronous Terminal Emulation

This service allowed a client to connect to a shared serial line on the server to access a shared modem or terminal session on a legacy system. The service required either a Banyan ICA card (Intelligent Communications Adaptor) or a Persyst DCP-88/VM serial adaptor to function. The service could also act as a remote server console.

DOS/Unix Bridge

A special service only made available if certain third-party services were installed. It allowed a PC to access the entire filesystem on the server, but only as the user 'local', the user account under which all third-party services ran. Typically, this was used to pass files to and from the queue directories of mail gateways. Most VINES services ran as 'root', hence their files were not accessible. The service was also made available if the Application Toolkit option was installed.

PC Based Service

It was also possible to run services on a PC running DOS, Windows NT or OS/2 and have that available via StreetTalk. Lotus Notes, for example, ran as such service under VINES. Banyan also had a product that allowed NT servers to act as a standard file service, which too ran as PC based service. In every case the PC needed to be logged in as a user on the AdminList of the group in which the service resided, as the service's StreetTalk recorded needed to be updated with the current socket address at startup.

RIPL

Used for managing boot disk images sent to diskless workstations which communicated via the RIPL protocol. Seldom used.

VINES Assistant

Optional management tools comprising of a suite of utilities, plus a server-based service that monitored its server and sent out alerts if certain thresholds had been met.

Third Party Services

Other developers could also produce services with Banyan's SDK. Example services include several mail gateways, at least two different RDBMS packages, calendaring tools, and ports of various TCP/IP services such as DNS and LPR. Prior to VINES 5.54 TCP/IP based services need the TCP/IP Routing option to be installed to enable the TCP/IP stack.

SDK

Banyan had an SDK, known as the VINES Application Toolkit, for developing server and PC based applications. VINES 6.00 introduced the ability to write device drivers, and also switched to using GCC. Currently no versions of the SDK have been recovered. Initial copies of the SDK came on a stack of floppy disks (or QIC tape if installing on one of Banyan's own servers), whilst later versions appeared on CD-ROM.

What's new per version

The early history of VINES is lost, with very little surviving. Here's a brief, but incomplete, history of changes.

VINES 1.xx

  • Only available on Banyan's own BNS servers, which were 680x0 based.

VINES 2.xx

  • introduced support for Banyan's DTS (Desktop) servers
  • VINES/286 which ran on IBM AT and clones.

VINES 3.xx

  • VINES/386, for 386 based PC servers.
  • VINES/TEAM, a cheaper version which supported a restricted number of users.
  • Banyan also introduced their serial controller, the ICA.
  • VINES/386 3.00 appears to have been limited to the Compaq Deskpro 386. More plaforms were supported with VINES 3.10.

VINES 4.00

  • introduced major changes to StreetTalk
    • changes to the way it updated meant that the the special group Servers@Servers was no longer required.
  • VINES 4.00 was also the first version of VINES to support the MS-DOS 3.1 network API.
  • First version of VINES to support 486 servers.
  • 4.00 was also the last version to be released for 680x0 and 286 based servers.
  • VINES 4.00 also introduced the STDA directory assistant service, in the form of patch 4.00(1).
VINES 4.10
  • added support for Windows 3.0 and OS/2 1.x clients.
  • There were changes made at the session level to allow multi-tasking workstations to have multiple sessions with some services simultaneously.
  • The initial release of 4.10 had a serious bug which would lead to file system corruption on certain file truncation operations.
VINES 4.11
  • Was a new cut of 4.10 to add support for additional server storage hardware.

VINES 5.00

  • added support for Apple Macs and file access rights on a per file basis.
    • This was a fork of 4.10 so didn't support the new hardware platforms introduced in 4.11.
  • The default S5 filesystem was replaced with the S10 one
    • under the S5 filesystem servers could run out of inodes despite having plenty of spare disk space.
VINES 5.50
  • added 4.11's hardware support to the other features of 5.00.
  • The routing protocol used between servers was changed to one that generates far less traffic on large networks.
VINES 5.52, 5.53 and 5.54
  • added additional server hardware support.

VINES 6.00

  • added loadable device drivers and root access.
  • Loadable device drivers were now available for storage adaptors and network interfaces.
  • StreetTalk was also enhanced, allowing read-only copies of groups to be shadowed to other servers, and allowing some additional characters in item names.
VINES 6.20, 6.30 and 6.40
  • were maintenance releases of 6.00, issued as sets of patches.

VINES 7.00

  • added support for larger filesystems (previously they were limited to 2GB)
  • together with long filename support from certain clients.
  • The root filesystem was also enlarged to circumvent installation problems seen with VINES 6.xx.
  • VINES 7.00 also introduced paper-based server keys and option codes, although dongles could still be used.
  • Patches were also issued to allow paper-based option keys to be used with previous VINES revisions.
  • The LAN server-to-server and SMP options were now bundled with the base release.
VINES 7.10
  • was a maintenance release for 7.00, applied as a set of patches.
  • There were no significant new features.

VINES 8.00

  • added very little other than support for MPS 1.4,
  • support for add-on ISDN card drivers (although none seem to have been released).
  • SMP had been supported since at least VINES 4.00 on certified hardware, but needed to be installed from SMP specific media.
  • VINES 8.00 was unique in that it didn't have its own option bit, and could be installed on any existing VINES 7.00 server.
VINES 8.50
  • was the Y2K compliant version of 8.00.
  • Some services and features were not supported beyond 1999 for various reasons, although these services continued to run.
VINES 8.60
  • was the final release of VINES, containing all of the maintenance patches issued for VINES 8.50 since its release.

VINES ENS

There was also a product named ENS for Netware that allowed Netware servers to use StreetTalk. Initially these used their own special ENS servers, which were cut down VINES servers. ENS 1.00 was effectively VINES 5.20, and ENS 1.1 was VINES 5.30. A server running VINES 5.50 onwards could also act as an ENS server with the relevant software option. The Netware NLM and ENS client files are currently lost, as are media for the two ENS server releases.

VINES UNIX

There were also versions of VINES released for some versions of commercial UNIX - SCO Unix, Solaris, HP-UX and AIX, the latter running on the RS/6000. Some of these were issued under ENS branding. None of these appear to have survived.

StreetTalk for NT

Banyan also issued a VINES implementation that ran on Windows NT entitled StreetTalk for NT. There were also several other NT based software, including a webmail gateway for Intelligent Messaging under IIS, and software to allow an NT drive to act as a VINES file service.

What's Missing

An incomplete list of currently missing software:

VINES 2.xx release media and patches for 286 based servers.

VINES 3.10 release media.

VINES 4.10 or 4.11 release media, plus maintenance patches for VINES 4.00, 4.10 and 4.11.

VINES 5.00 maintenance patches. 5.00(0) has been recovered, but has some serious bugs fixed in later maintenance releases.

VINES 8.00 release media.

VINES 8.00 and 8.50 maintenance patches.

Release notes for any revision of VINES.

Documentation for the 8.60 maintenance patch.

Installation media for Banyan's own hardware - BNS, DTS or CNS, together with a working server.

VINES 286 - any revision.

VINES Application Toolkit - any revision. Documentation was originally released in printed form, moving to CD-ROM with VINES 6.00.

Client for Windows 98

Client for Windows 2000

Advanced 3270 Service installation floppy

Graphics 3270 Service installation floppy

ENS For Netware - ENS Server Software, ENS NLM and VAP, ENS client. The VAP may not have been given a commercial release.

VINES for SCO Unix

ENS for HP-UX, Solaris and AIX

Demarc - SNMP based management tools.

Banyan Intranet Connect - webmail portal that ran under IIS on NT.

StreetTalk Access for Windows NT - allowed NT servers to be used as VINES file services. A precursor to StreetTalk for Windows NT.

BeyondMail 2.x or 3.x for Intelligent Messaging - BeyondMail 2.0 for Novell's MHS has survived.

SMTP Gateway service - version 1.30 does exist, but it won't install on later servers, and is not year 2000 compliant.

MacMail Gateway - little is known about this service. May not have been released.

FTP Software's PC-TCP suite with Banyan specific drivers, version 2.x and 3.x. IBANYAN encapsulated TCP/IP in VINES-IP, EBANYAN hooked the currently installed Ethernet driver.