Picture of the OSDCU board Picture of the OSDCU enclosure, front view Picture of the OSDCU enclosure, rear view

What is the OSDCU

Our OSDCU is a 2006-2010 (conception to completion) open source hardware reimplementation of the highly obscure XSB-2000 SDSL-to-V.35 DSU from the late 1990s.

Why?

It is expected that the total number of people in the world who would have a need for such a device will never exceed 5 (the current user count stands at 1), but the creator of the OSDCU was one such person-in-need, and recreating the needed functionality from scratch took less time and provided a greater certainty of success than finding a surviving unit from the 1990s.

In the end we did find a whole bunch of XSB-2000 units, but that was after we had already built our own OSDCU as a replacement. Our version also has some advantages over the original:

What's in the name

OSDCU stands for Open source SDSL Debug and Connectivity Unit. When the project was originally conceived in the summer of SE 45 (2006), most prevalent flavors of SDSL were shrouded in mystery for us, and the name reflects our original intent to use our gadget as a debug instrument to pry into those mysteries.

However, the task of reverse-engineering the most common SDSL flavors was successfully completed using our Hack-o-Rocket well before we had built the OSDCU, thus the originally intended use of the OSDCU as an SDSL debug analyser never really happened. The OSDCU now serves as a multiflavor SDSL to EIA-530 DSU.

Physical hardware

OSDCU is a hardware design of our very own. It is a 130x165 mm printed circuit board (PCB) designed for mounting in a simple metal enclosure similar to the CopperRocket. It takes DC power (+5 V, +12 V and -12 V) from an Amperor AOF25 open frame power supply which in turn takes AC mains power (either American or European, auto-switching).

The OSDCU board contains an MC68302 microprocessor subsystem, an RS8973 SDSL bitpump and an EIA-530 synchronous serial DCE port. There is also an optionally-populated FPGA. (See the hardware design specification for more details.) The external connectors are the SDSL jack, the EIA-530 port (DB25F) and an asynchronous serial console port which runs at 9600 baud and enables configuration, monitoring, control and hacking functions.

We have built 3 of these board+enclosure units so far: one is serving our own facility's SDSL connection to the outside world, and the other two remain available for playful hacking and as emergency spares. If there is anyone else in the world who would be interested in such a unit (granted, an enormous if), we can always build more.

We have used the services of Vorhies Technologies for PCB assembly and rework, and our custom sheel metal enclosure was designed and manufactured at Vinatech Engineering in San Diego, California. We've been very happy with both services and strongly recommend them to others; we have no connection to either company except as a satisfied customer.

Capabilities

Bit-transparent DSU

It works. We've stress-tested it up to 1568 kbps, but we haven't fully tested 2320 kbps operation yet — given the scarcity of other SDSL devices that support this speed, putting together the necessary test rig would take more work than we can spare at the moment.

The bit-transparent DSU implementation supports pre-activation (STU-R automatically detects the data rate selected by the STU-C) with the Copper Mountain flavor and with our own IFCTF flavor thanks to our use of SDCORE.

Nokia SDSL/ATM

The N1L2CS operational program performs Layer 2 conversion between Nokia SDSL/ATM and HDLC on the EIA-530 port. The code is derived from our earlier Hack-o-Rocket IP router and works using only the MC68302 SCC to receive and transmit Nokia frames, no FPGA.

We have built one OSDCU board running at around 16.67 MHz and two boards running at 25 MHz, the latter being the maximum system clock speed as intended by the original design. In comparison, the Hack-o-Rocket IP router ran on the CR201s board whose MC68LC302 clocked at 24.576 MHz.

The OSDCU performs considerably better than the Hack-o-Rocket. Whereas the Hack-o-Rocket was only able to saturate the line at 192 kbps (running at 384 kbps it could keep up with the downstream traffic, but only clocked in at 26 kbyte/s upstream), N1L2CS handles near-line-speed FTP transfers in either direction at 384 kbps even on a 16 MHz board! The difference in performance must be due to the inefficiency of the Ethernet interface on the Hack-o-Rocket which is removed on the OSDCU.

The 25 MHz OSDCU board currently maxes out at 768 kbps for Nokia SDSL without FPGA assistance. At 384 kbps there appears to be no usable bandwidth reduction due to converter CPU starvation (FTP transfers in either direction clock in near line speed), but at 768 kbps we observe a situation similar to what we saw at 384 kbps on the Hack-o-Rocket: the converter keeps up with the downstream traffic, but only about 80% of the available bandwidth can be utilised in the upstream direction. Attempting 1152 kbps or 1536 kbps fails in exactly the same manner as on the Hack-o-Rocket: instant death by SCC Tx underrun.

One of our OSDCU boards does have the FPGA populated, and the plan is to try implementing the SDSL Tx direction in the FPGA instead of the SCC. That approach is expected to give the Layer 2 converter a more sensible interrupt nesting structure with resulting benefits:

  • Certain: the added latency in the HDLC to SDSL direction will be reduced;
  • Likely: we'll be able to utilise the full bandwidth in both directions at 768 kbps;
  • Some hope: perhaps with the SCC's workload reduced to Rx only we'll be able to handle 1152 kbps or even 1536 kbps (dream).

The ultimate proof

As they say, the proof of the pudding is in the eating. As already mentioned, we are using one of our OSDCU boxes on our own facility's SDSL connection to the outside world. This connection is a 384 kbps SDSL service from UUNet via Covad, and instead of using abominable Inefficient Networks or Netopia CPE, we are using a classic Cisco 2500 series router with our own OSDCU attaching its serial WAN interface to SDSL. Because it's Covad (Nokia D50), the OSDCU is running in Layer 2 converter mode, specifically FRF.8.

The ifctfvax.Harhan.ORG host which is serving these web pages is itself located at the SDSL-connected facility, hence these words you are now reading have passed through a running OSDCU board on their way from our server to your screen.

Source

The complete source for the OSDCU (hardware and software) can be checked out of our CVS repository as follows:

cvs -d :pserver:anoncvs@ifctfvax.Harhan.ORG:/fs1/IFCTF-cvs co OSDCU

We also have the following for the convenience of anyone interested:

The formal release files for all hardware and software components are located on our FTP site.