 Aleph One !PC Network Drivers Release Note 1995.01.06
 -----------------------------------------------------

This release note applies to v1.67 or later of the !PC (or !PC486 or !PC
Card) applications, and network driver(v05), and explains how to connect
the PC Card to a network. Installation details are given, together with
notes for unusual network configurations. Note that the term '!PC' is used
throughout this document to refer to the '!PC' application from Aleph One,
and the '!PC486' & '!PC Card' applications from Acorn.



 1. Requirements
 ===============

To use this software you will need:

(i) An Archimedes or Risc PC with an ANT/Atomwide Ethernet card (or an
Acorn Ethernet III, or Access card). Either Podules or Risc PC internal
network cards can be used. Boards supplied by other manufacturers will
theoretically work, if you can obtain drivers equivalent to Ether3 which
conform to the DCI 4 specification.

(ii) An Aleph One or Acorn PC card.  If you have an old Aleph One podule
Card (Revision1, Issue1) card (pre June '93), make  sure it has the
'interrupts swapped' modification (this is a pair of wire mods on the
bottom of the board. Without this modification, you may have trouble
configuring your PC software.  (Revision1, Issue 2 cards (June 93 - March
'94) have an 'Issue 2' label on the back of the parallel port, Revision 2
cards (April '94 on) are identified by *podules).  Contact Aleph One
technical support if you need more information.

(iii) Networking software (of your own choice) to run on the PC which
can support a Novell NE2000 network card or clone.  Virtually all
modern software will do this.  

(iv) The files provided on the !PC network driver software disk. These
are - 

PCNE2  (RISCOS relocatable module) version 1.67 (06/12/94) or later.
ETHER3 (RISCOS relocatable module) version 1.40 (20/07/94) or later.
Note that you are now supplied with a range of modules for all models of
Ethernet card. These will be generically refered to as ether3 throughout
this document. Substitute the appropriate driver for your machine and card
wherever ether3 is mentioned. See the Eth_readme document for details.

(v) !PC application version 1.67  (07/12/94) or later.

The software works by emulating an NE2000 network card in the PC, and
connects to the Archimedes Ethernet card via the PCNE2 and ETHER3 modules.
ETHER3 is an updated version of the network card driver supplied with the
Ethernet board in ROM; it is designed to replace the old version, unless
your ROM copy is the same version (only likely on very new ethernet cards)
(See 'Soft-Loading Ether3', below).

 

 2. Installation
 ===============

You need first to determine which ethernet driver your machine needs. Most
people will want either Ether3 for podule cards, or EtherB for Risc PC
network slot cards. The various versions of the modules are found in the
ether3 directory. Using EtherB requires changes to the driver option for 
the PCNE2 module in your !Run file (See below).

See the Eth_Readme file for details.

Copy the PCNE2 and Ether3 files into the !PC application directory, 
as this is where the !Run file expects them to be.

Then load !PC's !Run file into a text editor.  Ensure that the
following lines are present. You should find them commented out with a
'|'. Remove this comment character. These ensure that the ETHER3 and
PCNE2 modules are present when !PC is run:

 RMEnsure Ether3 1.40  RMLoad <Obey$Dir>.ETHER3
 RMEnsure Ether3 1.40  Error  <Obey$Dir>.ETHER3 not found or too old

 RMEnsure PCNE2 1.67   RMLoad <Obey$Dir>.PCNE2 
 RMEnsure PCNE2 1.67   Error  <Obey$Dir>.PCNE2 not found or too old
                      
This is all you need for normal Novell Netware, Netware Lite, or 
Microsoft (Windows for Workgroups) networks.  If you are intending to
use other PC networking software (e.g. TCP/IP), you may need to add 
options to the end of the 'RMLoad <Obey$Dir>.PCNE2' line (see section 
2.3).  If you have additional networking software already installed  
on the Archimedes, you may need to check the section 'Ether3 problems'
below.                        

With this done, !PC can then be started, and the PC network software
can then be installed. At some point during installation, you will
probably be asked what type of network card the PC has. At this point,
select a Novell NE2000 card driver. You will usually be asked for the
I/O Port Address and Interrupt or IRQ number for the card. You should
choose the following settings:
 
   I/O port base: 340hex
   Interrupt: IRQ 5
   No DMA (Direct Memory Access)

(If you have a revision 1 Aleph One PC Card without the 'interrupts
swapped' modification (see above), it will not be able to use Interrupt 5.
You may still be able to get it to work, however: see 'Interrupt number
options' below).


 2.1 Setup Examples 
 ================== 

For Netware, Netware Lite, & Personal Netware the configuration above is
specified by a NET.CFG file which contains these lines (possibly amongst
others): (the indentation is significant)

# Setup the NE2000 card  
Link driver NE2000
	 
	INT 5
	PORT 340



for Windows for Workgroups, the setup is contained in the PROTOCOL.INI
file:

[MS$NE2CLONE]
drivername=MS2000$
INTERRUPT=5 
IOBASE=0x340




 3. Soft-loading Ether3
 ======================

You must have a sufficiently recent version of Ether3 to be compatible &
capable. In general you should use the version supplied, but if your Ether3
module is currently loaded from ROM, and you wish to use networking other
than the PC Card, then the procedure for soft-loading can be complex
(especially with an Access card). It may be appropriate to just use the
version you have in ROM.

Here are the requirements & constraints - compare your ROM version and
networking requirements to determine whether you need to soft-load ether3:-
 * You cannot use any version before 1.23
 * If you need to use multicasting (eg WFWG) then you need 1.40 on.
 * If you have an 8004 controller (eg Risc PC internal ethernet card) and 
   need to use multicasting then you need 1.43
   
If you decide to stick with your existing ROM version of Ether3 then you
need to re-comment the RMENSURE Ether3 lines in the !PC.!Run file.

If you only want to use the PC card's networking facilities then things are
quite straightforward: you just disable any existing networking software,
by turning bootnet off, and unplugging the modules. If you want to run
RISCOS networking software as well as DOS networking software then you need
to build an appropriate protocol stack. The Ether3 driver module sits at
the bottom of this stack, which means it has to be loaded first.
 
If you have other RISCOS networking software installed, it will probably
be loading its own version of Ether3 (possibly called EtherA) when it
starts up. If this is already soft-loaded then you can just locate this
version, and replace it with the new Ether3 supplied here.  Soft-loaded
drivers will be in the !BootNet.Drivers directory for AUN, or in the
!Internet.Drivers directory for !Internet. 

More usually the module is in ROM. For an Acorn/Atomwide/ANT the ether3
module is loaded automatically if Bootnet is On. For soft-loading, Bootnet
must be switched off, and the ether3 module in ROM should be unplugged with

  *unplug Ether3
  
you should now ensure that the new Ether3 module is loaded by !BootNet,
!Internet or !PC.

If you have an Acorn Access card the procedure is more complex, as a number
of ROM modules (including ether3) are init-ed on power-up. It requires the
building of a two stage boot sequence which includes a file which is
accessed before the desktop is active and a file which is called when the
desktop becomes active.

The information provided here assumes that the !Internet and !BootNet
application have had their drivers replaced with the new Ether3 module. If
a !Boot file; of type Desktop, already exists then rename it as Desktop.

Create an Obey file which contains the following lines:

     RMKill Ether3
     RMKill InternetA
     RMkill Sharefs
     RMkill freeway
     RMkill AccMsgs
     Run ADFS::4.$.Apps.tcp_ip.!Internet.!Run
     RMReinit AccMSGS
     RMReinit Freeway
     RMReinit sharefs
     Run ADFS::4.$.Apps.tcp_ip.!BootNet.!Run
     Desktop -f ADFS::4.$.Desktop | Used if there is a Desktop file
     |Desktop | Used if there isn't a Desktop file.

Note:   The pathnames to the applications and files may vary according to
        the disc structure used. The order in which the modules are
        *RMREINITed is vital.

Save this file as !Boot and reset the machine. On a Risc PC put all the
lines except the Desktop ones into the !boot.Choices.Boot.PreDesk directory
and call the file !Run. 

The above assumes that you have the !Internet software and want to run
TCPIP. If you just want to use Access with the PC card then you need a
!boot file like this:

     RMKill Ether3
     RMKill InternetA
     RMkill Sharefs
     RMkill freeway
     RMkill AccMsgs
     RMReinit Ether3
     RMReinit InternetA
     RMReinit AccMSGS
     RMReinit Freeway
     RMReinit sharefs
     
 (followed by the Desktop lines as above if not on a RISC-PC)
     
The order of modules is significant.
                                           

 4. Interrupt Number Options 
 ===========================

The network emulation needs an Interrupt (or IRQ) number on the PC to
function correctly. In alost all cases the best thing is to leave it at
interrupt 5. If you have an Aleph One Revision1, Issue1 card without the
'interrupts swapped' modification, however, this will not work and
interrupt 15 is recommended. Note that !PC versions after 1.55 use int 15
instead of int6 for Arc-PC communication so it is not available for
networking. On Aleph One Revision 2 podule PC cards (April 1994 onwards)
there are more options for swapping interrupts around, and you need to take
into account your other hardware options (see below).

For the NE2000 emulation to work properly, it must have an interrupt
number which:

 (i)   Can be generated by the PC card  
 (ii)  Is allowed by your PC network software
                                             
The default interrupt number is 5, but !PC can use a number of
alternatives. Place the line

  NE2000Int nn

in the !PC.Config file to change this to IRQ number nn. Allowable
values can be 5, 8 or 15. If you have a card without the 'interrupts
swapped' mod, you can't use Int 5, and are therefore restricted to 8
or 15. If can have !PC after 1.55 then you can't use 15.

You will then have to change your PC networking software to accept 
this setting.  The original NE2000 card did not support interrupt
numbers 8 or 15, and so most software won't accept these settings.
However, a number of recent NE2000 'clone' cards do allow this and are
supplied with drivers which accept Int 8 or Int 15. Windows for
Workgroups and Netware Lite & Netware 3.12 onwards are supplied with
NE2000 drivers which will accept both these values. If you can find
such a driver, you should be able to use it.

Alternatively, you may be able to do without !PC's built-in mouse
support. You can disable this, and will then be able to use interrupt
number 3. To do this, add the lines

   BusMouse Off
   NE2000Int 3

to the !PC.Config file.

The selection of interrupt numbers is complicated by having additional
hardware options such as second serial port (int 3) & local IDE drive
(int14) on Revision 2 Aleph One Cards.

You must allot the interrupt numbers as your software allows and as seems
most appropriate:
INT     USES
0       System clock
1       Keyboard
2       [Cascade]
3       Busmouse / 2nd Serial port if fitted
4       1st Serial port
5       Networking / Busmouse
6       !PC before v1.55 
7       LPT1, LPT2
8       Clock/Calendar
9       VGA
10
11
12
13      Coprocessor
14      Local IDE drive if fitted
15      Networking / !PC software from v1.55



 5. PCNE2 module options
 =======================

You need to make sure PCNE2 is set up correctly for the PC network
software which you intend to use. You can configure the PCNE2 module
by changing the following line in !PC's !Run file:

   RMEnsure PCNE2 1.67  RMLoad <Obey$Dir>.PCNE2   {options}


{options} may be one or more of:

-p<packet type> :
   Selects the type of network packets which PCNE2 is to
   receive and transmit to the network.  This needs to be
   chosen according to the PC network software in use.  The
   currently available types are
   
   ISO    Packets using the ISO / IEEE802.3-style 'Frame Length'
          packets. This is what Netware, Netware Lite, and Windows
          for Workgroups normally use, and is the default for the
          PCNE2 module.
   
   IPX    Novell systems using the IPX protocol and old Ethernet
          (Ethernet_II) ('Frame Type') style packets.  See 
          'Alternative Novell configurations' below for an 
          explanation of this.
   
   TCPIP  Systems using the TCP/IP protocol e.g. PC-TCP or 
          PC-NFS.
   
   XNS    Xerox's XNS protocol (e.g. 3Com's 3+Open system).
   
   DECNET Digital's DECNET-DOS operating system.
   
   DECLAT Digital's LAT protocol.
   
More than one -p option can be given, although there is a maximum
limit imposed by the network driver. Some choices may use up more than
one frame type.

-n<number>
   If you need to support a protocol which is not listed
   above, you can specify the Frame Type values which PCNE2
   should receive by number using this option.  The number
   given is in hex up to 4 digits. For instance, the '-pTCPIP'
   switch is equivalent to

       -n800 -n806 -n8035

   Several -n options can be given, and mixed with -p options.
   
-d<driver name> :
   Selects the RISCOS network driver and unit number to be
   used.  By default, the PCNE2 module uses 'ea0' for the
   driver name, which is the Atomwide Ethernet card driver
   'ea', unit 0).  To change this to Acorn Ethernet ('et'),
   unit 0 you would use

      PCNE2 -det0

   If you have only one Ethernet card, you can find out the 
   correct name for your driver by typing

     *show Inet$EtherType
   
   The unit number is always zero, unless you have more than one ethernet
   card in the machine.



 5.1 Examples:
 === ========= 

for Novell Netware, Netware Lite, Windows for Workgroups, LAN Manager,
etc:

   RMEnsure PCNE2 1.67  RMLoad <Obey$Dir>.PCNE2

(equivalent to)                                                     

   RMEnsure PCNE2 1.67  RMLoad <Obey$Dir>.PCNE2 -pISO


for PC-TCP, PC-NFS, etc

   RMEnsure PCNE2 1.67  RMLoad <Obey$Dir>.PCNE2 -pTCPIP
                                                     

for both Netware (etc) and TCP/IP simultaneously
                                               
   RMEnsure PCNE2 1.67  RMLoad <Obey$Dir>.PCNE2 -pISO -pTCPIP


for Novell Netware using 'ETHERNET_II' frames

   RMEnsure PCNE2 1.67  RMLoad <Obey$Dir>.PCNE2 -pIPX
                                                                


 6. Alternative Novell Netware Configurations
 ============================================ 

There are two common standards for formatting data transmitted over 
Ethernet-type networks. The original Xerox Ethernet standard specified
that each data packet had 'Frame Type' information at the start. Later,
the ISO and IEEE 802.3 standards replaced this with a 'Frame Length'
field. 

Most Novell installations use ISO/IEEE 802.3 'Frame Length' packets.
However, it is possible to set up Novell to use 'Frame Type' packets,
and if your network does this you should use the -pIPX switch with
PCNE2.

To check which is in use, find a DOS machine which is already
connected  to the network. In the \NET (or similar) directory, look 
for a file called NET.CFG and display it on the  screen. 
Lines similar to

     Frame ETHERNET_802.3
     Frame ETHERBET_802.2
     Frame ETHERNET_SNAP

mean ISO packets are in use (no need to worry), and lines similar to

   Frame ETHERNET_II

mean you need to use the '-pIPX' switch. If you still can't decide,
try both, as in

   RMEnsure PCNE2 1.50 RMLoad <Obey$Dir>.PCNE2 -pIPX -pISO



 7. Ether3 Module Options 
 ========================

See the separate file in the ether3 directory 'Eth_Readme' which details 
the various ethernet driver modules.