Universal Serial Bus (USB) Support for ETH Oberon

Christian Plattner

Semester Project Summer 2000
Supervisor: P. Muller
Institute for Computer Systems, ETH Zürich


The goal of this semester project was to plan and develop an implementation of Universal Serial Bus (USB) support for ETH Oberon. USB was founded by the companies Compaq, Intel, Microsoft and NEC. It defines (essentially) a hardware interface and a communciation protocol.

The original motivation for the Universal Serial Bus came from three interrelated considerations:

  • Connection of the PC to the telephone
  • Ease-of-use
  • Port expansion

    User applications such as digital imaging demand a high performance connection between the PC and these increasingly sophisticated peripherals.

    USB is the answer to connectivity for the PC architecture. It is a fast, bi-directional, isochronous, low-cost, dynamically attachable serial interface that is consistent with the requirements of the PC platform of today and tomorrow.


    The development and implementation was done on a Native Oberon system. A central aspect of the design was the posibility to port the USB support to Aos, the Active Oberon System, without having to change the interface design.

    After finishing the design phase, the following components were implemented:

  • USB core support (including a generic hub driver)
  • A driver for the Intel UHCI chipset
  • A generic USB Mouse driver
  • A generic USB Keyboard driver
  • A driver for USB Mass Storage devices

    The mouse and keyboard drivers should be able to handle all USB mice and keyboards available on the market. The hub driver (included in the core support) should also work with all known USB hubs.

    USB Mass Storage devices are a little bit tricky. Although there exists an official specification (from the USB comitee) on how to design such devices and how they should communicate over the bus, vendors often decide to implement their own (proprietary) protocols. This is the reason why USB devices often get delivered with special Windows 95/98/NT (TM) driver disks. Many vendors do not like to give away the specifications of their products, nevertheless the Oberon USB Mass Storage driver supports some proprietary devices.

    Further development effort should be made in writing a driver for the Compaq OHCI chipset and the implementation of streaming devices (audio devices, cameras).

    Report and Implementation Details

    The report (including an overview of the Oberon USB API) can be downloaded at the following location:

  • Report in .pdf format
  • Report in .ps format

    The report is written in german.

    Links to more information

  • Native Oberon and Aos
  • http://www.usb.org/
  • http://developer.intel.com/

    [ Department | Institute | Student Projects ]
    ETH Zürich: Institut für Computer Systeme, ETH Zentrum, CH-8092 Zürich

    Comments to Pieter Muller <muller@inf.ethz.ch>
    October 23, 2000