Nectar Online Services

Communications

The business-end of a mid 90's ISP: as many modems as can fit. These photos are circa October 1997. There were 60 modems in this built-in wardrobe by the time we sold the business in 1999.
The red dot stickers indicate the modem has had the ROM chip replaced to upgrade the modem from 28.8kbps to 33.6kbps. This upgrade extended the life of the Spirit Viper modems for another couple of years, until 56kbps came along. Please let me know if you can identify the cartoon taped to the bottom shelf.

Each modem needed 3 cables plugged in: power, serial data and telephone
Power: in these photos, under the fan are 2 white boxes with LEDs on the front of them. These are the power supplies for most of the modems. Each box has 3 transformers, each transformer supplies power to 6 modems. This was a big saving for us: one mains power point for 18 modems. Many thanks to John for designing and building those. At a later date we built more and moved them all under the floor for space and cooling gain.
Serial data: many creative ways to get more serial ports. 2 on the motherboard and later 4 and 8 port ISA cards became fairly common too. Our primary serial multiplexer was the Cyclades 16 port serial module (SM16). These can be seen in the photos on the left-hand side, mounted on the wall with 16 DB25 serial cables attached. We imported our first couple of SM16 panels directly from the US.
Telephone lines: based on our projections, Telstra laid a 100 pair cable into this suburban house's bedroom cupboard. There were Telstra techs on street corners and in pits for several blocks over several days, routing telephones pairs. I had the Telstra techs cut the wall end off the telephone cables that were supplied with all the modems and punch the cables directly into our MDF. 


We got our first upstream bandwidth from Access One and had the 128kbps digital internet connection to ourselves for the first few weeks during the build. Having used analogue modems since 300 baud, it was amazing to me at a time when even 28.8kbps was still leading edge. This is the first successful connect log from our Ascend Pipeline 50 router in 1995:
Dec 12 11:24:03 buzz.nectar.com.au ASCEND: slot 2 port 1, Outgoing Call, 029365645
Dec 12 11:24:04 buzz.nectar.com.au ASCEND: call 5 OR slot 2 port 1 64K 029365645
Dec 12 11:24:07 buzz.nectar.com.au ASCEND: slot 2 port 1, LAN session up, aonesyd
Dec 12 11:24:07 buzz.nectar.com.au ASCEND: slot 2 port 2, Outgoing Call, 029365645
Dec 12 11:24:08 buzz.nectar.com.au ASCEND: call 6 OR slot 2 port 2 64K 029365645
Dec 12 11:24:11 buzz.nectar.com.au ASCEND: slot 2 port 2, LAN session up, aonesyd

Servers

Whilst the servers were all built using commodity tower cases, right from the start they were treated as network appliances and rarely had keyboards and mice or even video cards installed.

plum.nectar.com.au
linux hero. This was the box that everyone knew. It ran all the services: mail, web, shell, ftp, DNS, etc. Starting with a Pentium 120MHz CPU, 32MB of RAM, SCSI disks, cdrom and DAT, and linux 1.2.8, this box got most of the hardware love over the years. I started with slackware, then debian, redhat and back to debian, mostly depending on the release cycles that got me the latest versions of software. It was very common to run applications compiled locally from the latest upstream sources to get access to the latest fixes and features. Especially with the early computers and peripherals, the linux kernels on grape and plum were compiled from source, often with cherry-picked patches applied by hand. The kernels were optimised for the specific hardware and also to maximise free memory.

grape.nectar.com.au 
grape was an OG linux terminal server, initially running a i486DX2-66 with 8MB RAM. And all the serial ports mentioned above. This box started with a linux 1.2.x kernel, 10Base2 network adapter, IP networking and lots of mgetty and pppd processes. The RAM got upgraded to 16MB within the first year and by the time of these photos it was running a Pentium 120MHz CPU with 48MB of RAM.
The Banksia MyModem sitting on top of grape holds a claim to having started all of this.

loopy.nectar.com.au
A later addition, this linux box handled news, fax and the Quakeworld game server. On top is the modem for the fax service and system administrator remote access
plum, loopy and mango (??)

Office

For the first couple of years the office and datacentre shared a room. We later moved the office to North Sydney and then to Pyrmont

The tech support day shift. Windows for the support desk. I don't think I even have an X server active on my monitor. Looks like Joe's Own Editor.

  • According to an ASIC search, the Nectar Online Services business name was first registered on 14/08/1995
  • Earliest Internet Archive snapshot of www.nectar.com.au
  • I recall counting a total of 32 ISPs in a computer magazine at the time that first included Nectar
  • We were certainly selling internet access before Telstra had a retail product
  • Our One Way Internet Access product ended up in every router on the planet... otherwise known as Network Address Translation (NAT), we provided this service at the ISP side to enable our corporate clients to get their LANs online.
  • North Sydney: Suite 8.07, 100 Miller St, North Sydney, NSW 2060
  • Pyrmont: Suite 401d, 3 Smail St, Broadway, NSW 2007
  • Thanks to Leefe for the Mac support
  • Thanks to the support staff: Steven, Owen, Sammy and August
  • BOFH:
    • on very rare occasions, for shits and giggles and to impress visitors, I would reconfigure the modems to turn on the speakers, and then disconnect all sessions. The resulting cacophony from 30+ modems answering calls from users was awesome

Marketing

I found this on a list of ISPs. Sounds like our kind of waffle. It sure felt more like Wayne's World than IBM.



Logs and config

Here are some logs and config from those old systems.

edited dmesg from grape August 10th, 1998:
Console: colour *CGA 80x25, 1 virtual console (max 63)
Calibrating delay loop.. ok - 48.03 BogoMIPS
Memory: 47076k/49152k available (708k kernel code, 384k reserved, 984k data)
Swansea University Computer Society NET3.035 for Linux 2.0
NET3: Unix domain sockets 0.13 for Linux NET3.035.
Swansea University Computer Society TCP/IP for NET3.034
IP Protocols: IGMP, ICMP, UDP, TCP
Checking 386/387 coupling... Ok, fpu using exception 16 error reporting.
Checking 'hlt' instruction... Ok.
Intel Pentium with F0 0F bug - workaround enabled.
Linux version 2.0.35 (root@grape.nectar.com.au) (gcc version 2.7.2.1) #1 Sat Aug 1 06:03:14 EST 1998
Starting kswapd v 1.4.2.2
Serial driver version 4.13 with no serial options enabled
tty00 at 0x03f8 (irq = 4) is a 16550A
tty01 at 0x02f8 (irq = 3) is a 16550A
tty02 at 0x03e8 (irq = 4) is a 16550A
tty03 at 0x02e8 (irq = 3) is a 16550A
Cyclom driver $Revision: 1.36.3.9 $$Date: 1996/10/07 19:47:13 $
Cyclom-Y/ISA #1: 0xd4000-0xd5fff, IRQ11, 16 channels starting from port 0.
Cyclom-Y/ISA #2: 0xd6000-0xd7fff, IRQ12, 16 channels starting from port 16.
Real Time Clock Driver v1.09
ide: i82371 PIIX (Triton) on PCI bus 0 function 57
    ide0: BM-DMA at 0xf000-0xf007
hda: Conner Peripherals 420MB - CFS420A, 406MB w/64kB Cache, CHS=826/16/63
ide2: ports already in use, skipping probe
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
PPP: version 2.2.0 (dynamic channel allocation)
TCP compression code copyright 1989 Regents of the University of California
PPP Dynamic channel allocation code copyright 1995 Caldera, Inc.
PPP line discipline registered.
SLIP: version 0.8.4-NET3.019-NEWTTY (dynamic channels, max=256).
CSLIP: code copyright 1989 Regents of the University of California.
SLIP linefill/keepalive option.
eth0: 3c509 at 0x340 tag 1, BNC port, address  00 20 af d9 9a 4b, IRQ 10.
3c509.c:1.12 6/4/97 becker@cesdis.gsfc.nasa.gov
Partition check:
 hda: hda1 hda2
VFS: Mounted root (ext2 filesystem) readonly.
Adding Swap: 100764k swap-space (priority -1)

This is how grape managed all the modems:
#
# inittab       This file describes how the INIT process should set up
#               the system in a certain run-level.
#
# Author:       Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org>
#               Modified for RHS Linux by Marc Ewing and Donnie Barnes
#

id:3:initdefault:

# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit

l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6

# Things to run in every runlevel.
ud::once:/sbin/update

# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now

# When our UPS tells us power has failed, assume we have a few minutes
# of power left.  Schedule a shutdown for 2 minutes from now.
pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"

# If power was restored before the shutdown kicked in, cancel it.
pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"

# Run console gettys in standard runlevels
1:12345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
#3:2345:respawn:/sbin/mingetty tty3
#4:2345:respawn:/sbin/mingetty tty4
#5:2345:respawn:/sbin/mingetty tty5
#6:2345:respawn:/sbin/mingetty tty6
# Run serial mgetty in standard runlevels
# direct null modem line
#s1:45:respawn:/sbin/agetty -hL 19200 ttyS0 vt100
# s0 - express, s1 - customer.net.au

# standard COM ports
s1:2345:respawn:/usr/local/sbin/mgetty -D ttyS0
s2:2345:respawn:/usr/local/sbin/mgetty -D ttyS1
s3:2345:respawn:/usr/local/sbin/mgetty -D ttyS2
s4:2345:respawn:/usr/local/sbin/mgetty -D ttyS3

#s5:2345:respawn:/usr/local/sbin/mgetty -D ttyS4
#s6:2345:respawn:/usr/local/sbin/mgetty -D ttyS5
#s7:2345:respawn:/usr/local/sbin/mgetty -D ttyS6
#s8:2345:respawn:/usr/local/sbin/mgetty -D ttyS7
#s9:2345:respawn:/usr/local/sbin/mgetty -D ttyS8
#t1:2345:respawn:/usr/local/sbin/mgetty -D ttyS9

# cyclades ports
d1:2345:respawn:/usr/local/sbin/mgetty -D ttyC0
d2:2345:respawn:/usr/local/sbin/mgetty -D ttyC1
d3:2345:respawn:/usr/local/sbin/mgetty -D ttyC2
d4:2345:respawn:/usr/local/sbin/mgetty -D ttyC3
d5:2345:respawn:/usr/local/sbin/mgetty -D ttyC4
d6:2345:respawn:/usr/local/sbin/mgetty -D ttyC5
d7:2345:respawn:/usr/local/sbin/mgetty -D ttyC6
d8:2345:respawn:/usr/local/sbin/mgetty -D ttyC7
d9:2345:respawn:/usr/local/sbin/mgetty -D ttyC8
da:2345:respawn:/usr/local/sbin/mgetty -D ttyC9
db:2345:respawn:/usr/local/sbin/mgetty -D ttyC10
dc:2345:respawn:/usr/local/sbin/mgetty -D ttyC11
dd:2345:respawn:/usr/local/sbin/mgetty -D ttyC12
de:2345:respawn:/usr/local/sbin/mgetty -D ttyC13
df:2345:respawn:/usr/local/sbin/mgetty -D ttyC14
dg:2345:respawn:/usr/local/sbin/mgetty -D ttyC15
e1:2345:respawn:/usr/local/sbin/mgetty -D ttyC16
e2:2345:respawn:/usr/local/sbin/mgetty -D ttyC17
e3:2345:respawn:/usr/local/sbin/mgetty -D ttyC18
e4:2345:respawn:/usr/local/sbin/mgetty -D ttyC19
e5:2345:respawn:/usr/local/sbin/mgetty -D ttyC20
e6:2345:respawn:/usr/local/sbin/mgetty -D ttyC21
e7:2345:respawn:/usr/local/sbin/mgetty -D ttyC22
e8:2345:respawn:/usr/local/sbin/mgetty -D ttyC23
e9:2345:respawn:/usr/local/sbin/mgetty -D ttyC24
ea:2345:respawn:/usr/local/sbin/mgetty -D ttyC25
eb:2345:respawn:/usr/local/sbin/mgetty -D ttyC26
ec:2345:respawn:/usr/local/sbin/mgetty -D ttyC27
ed:2345:respawn:/usr/local/sbin/mgetty -D ttyC28
ee:2345:respawn:/usr/local/sbin/mgetty -D ttyC29
ef:2345:respawn:/usr/local/sbin/mgetty -D ttyC30
eg:2345:respawn:/usr/local/sbin/mgetty -D ttyC31

grape's welcome message:
~/tmp/grape/etc$ cat issue

Nectar Online Services    -  bringing the global village to your place


To start a shell session type shell at the prompt.
To start a PPP session enter your username at the prompt.

If you don't have an account type guest at the prompt, password guest.
Call (02) 9957-3692 if you need help with your account.

Here is one of plum's first dmesg from 1995:

Dec 20 19:15:39 plum kernel: Console: mono *MDA 80x25, 1 virtual console (max 63)
Dec 20 19:15:39 plum kernel: bios32_init : BIOS32 Service Directory structure at 0x000fb7c0
Dec 20 19:15:39 plum kernel: bios32_init : BIOS32 Service Directory entry at 0xfbca0
Dec 20 19:15:39 plum kernel: pcibios_init : PCI BIOS revision 2.10 entry at 0xfbcd0
Dec 20 19:15:39 plum kernel: Probing PCI hardware.
Dec 20 19:15:39 plum kernel: Calibrating delay loop.. ok - 47.93 BogoMips
Dec 20 19:15:39 plum kernel: Serial driver version 4.11 with no serial options enabled
Dec 20 19:15:39 plum kernel: tty00 at 0x03f8 (irq = 4) is a 16550A
Dec 20 19:15:39 plum kernel: tty01 at 0x02f8 (irq = 3) is a 16550A
Dec 20 19:15:39 plum kernel: lp0 at 0x03bc, using polling driver
Dec 20 19:15:39 plum kernel: lp1 at 0x0378, using polling driver
Dec 20 19:15:39 plum kernel: Floppy drive(s): fd0 is 1.44M
Dec 20 19:15:39 plum kernel: FDC 0 is a post-1991 82077
Dec 20 19:15:39 plum kernel: BusLogic SCSI: buslogic_detect: configuring PCI HA at port 0x334, IRQ 14, BIOS 0xDC000, ID 7
Dec 20 19:15:39 plum kernel: BusLogic SCSI: buslogic_detect: Model Number: 946C  (revision 0)
Dec 20 19:15:39 plum kernel: BusLogic SCSI: buslogic_detect: firmware revision: 4.25J
Dec 20 19:15:39 plum kernel: scsi0 : BusLogic SCSI driver 1.15
Dec 20 19:15:39 plum kernel: scsi : 1 host.
Dec 20 19:15:39 plum kernel:   Vendor: QUANTUM   Model: VP32210           Rev: 581H
Dec 20 19:15:39 plum kernel:   Type:   Direct-Access                      ANSI SCSI revision: 02
Dec 20 19:15:39 plum kernel: Detected scsi disk sda at scsi0, id 0, lun 0
Dec 20 19:15:39 plum kernel:   Vendor: QUANTUM   Model: VP32210           Rev: 581H
Dec 20 19:15:39 plum kernel:   Type:   Direct-Access                      ANSI SCSI revision: 02
Dec 20 19:15:39 plum kernel: Detected scsi disk sdb at scsi0, id 1, lun 0
Dec 20 19:15:39 plum kernel:   Vendor: QUANTUM   Model: VP32210           Rev: 581H
Dec 20 19:15:39 plum kernel:   Type:   Direct-Access                      ANSI SCSI revision: 02
Dec 20 19:15:39 plum kernel: Detected scsi disk sdc at scsi0, id 2, lun 0
Dec 20 19:15:39 plum kernel:   Vendor: NEC       Model: CD-ROM DRIVE      Rev:
Dec 20 19:15:39 plum kernel:   Type:   CD-ROM                             ANSI SCSI revision: 00
Dec 20 19:15:39 plum kernel: Detected scsi CD-ROM sr0 at scsi0, id 4, lun 0
Dec 20 19:15:39 plum kernel:   Vendor: WangDAT   Model: Model 3200        Rev: 03.0
Dec 20 19:15:39 plum kernel:   Type:   Sequential-Access                  ANSI SCSI revision: 02
Dec 20 19:15:39 plum kernel: Detected scsi tape st0 at scsi0, id 5, lun 0
Dec 20 19:15:39 plum kernel: scsi : detected 1 SCSI tape 1 SCSI cdrom 3 SCSI disks total.
Dec 20 19:15:39 plum kernel: SCSI Hardware sector size is 512 bytes on device sda
Dec 20 19:15:39 plum kernel: SCSI Hardware sector size is 512 bytes on device sdb
Dec 20 19:15:39 plum kernel: SCSI Hardware sector size is 512 bytes on device sdc
Dec 20 19:15:39 plum kernel: eth0: 3Com 3c590 Vortex 10baseT at 0xe000, 00:20:af:f4:bc:ae, IRQ 11
Dec 20 19:15:39 plum kernel:   Internal config register is 320012.
Dec 20 19:15:39 plum kernel:   32K byte-wide RAM 1:1 Rx:Tx split, 10base2 interface.
Dec 20 19:15:39 plum kernel: 3c59x.c:v0.06a 6/30/95 becker@cesdis.gsfc.nasa.gov
Dec 20 19:15:39 plum kernel: Memory: 31312k/32768k available (692k kernel code, 384k reserved, 380k data)
Dec 20 19:15:39 plum kernel: This processor honours the WP bit even when in supervisor mode. Good.
Dec 20 19:15:39 plum kernel: Swansea University Computer Society NET3.019
Dec 20 19:15:39 plum kernel: Swansea University Computer Society TCP/IP for NET3.019
Dec 20 19:15:39 plum kernel: IP Protocols: ICMP, UDP, TCP
Dec 20 19:15:39 plum kernel: PPP: version 0.2.7 (4 channels) NEW_TTY_DRIVERS OPTIMIZE_FLAGS
Dec 20 19:15:39 plum kernel: TCP compression code copyright 1989 Regents of the University of California
Dec 20 19:15:39 plum kernel: PPP line discipline registered.
Dec 20 19:15:39 plum kernel: Checking 386/387 coupling... Ok, fpu using exception 16 error reporting.
Dec 20 19:15:39 plum kernel: Checking 'hlt' instruction... Ok.
Dec 20 19:15:39 plum kernel: Linux version 1.2.13 (root@plum) (gcc version 2.6.3) #1 Mon Dec 11 22:33:41 EST 1995
Dec 20 19:15:39 plum kernel: Partition check:
Dec 20 19:15:39 plum kernel:   sda: sda1 sda2 sda3 sda4
Dec 20 19:15:39 plum kernel:   sdb: sdb1 sdb2
Dec 20 19:15:39 plum kernel:   sdc: sdc1
Dec 20 19:15:39 plum kernel: VFS: Mounted root (ext2 filesystem) readonly.
Dec 20 19:15:39 plum kernel: Adding Swap: 103420k swap-space
Dec 20 19:15:39 plum kernel: eth0: vortex_open() irq 11 media status 0800.



Comments