Traveling Linux: An Implementation Experience for Unattended Management Applications

Linux runs the trains in northeast Italy.

SAD operates in the local public transport field in an alpine area in the Northeastern part of Italy. We spent several years constructing an integrated payment system for all public transport operators (buses and trains) in our region. We now manage this payment system using about 90 PCs running 2.0.x Linux. As part of a new automatic vehicle location project, we plan to set up special industrial PC systems with GPS (Global Positioning System) and radio for data transfer on-board of every bus. On this Linux system, we implement procedures for traffic and tariff control.

An Integrated Payment System

About two years ago the Provincia Autonoma di Bolzano (The Autonomous Province of Bolzano—see sidebar) started to use a standardized payment system that allows patrons to use one ticket for all methods of public transportation, either on road or rail. This encouraged the setting up of an integrated information system with the aim of standardized management of all information obtained from statistical data about passengers and trips.

The system is based on the use of on-board electronic devices, with magnetic technology, which were built by a Belgian company with international experience in this field, and it required more than four years to completely set up.

The service network is managed by 25 different companies with very different needs and organizational models. In order to have standardized system management we developed a single software model that can define its own operational features, adapting to different conditions, and can integrate the management procedures for the bookkeeping and operational control of the principal companies.

The limits of the hardware features and the operational and development system were taken for granted from the first steps of implementation. These limits were apparent when it became necessary to merge the lines managed by the Ferrovie dello Stato (National Railroad Company) into our system.

This integration required us to set up devices like those on board the vehicles in 37 rail stations. These systems run unattended; therefore, it is necessary to have tele-diagnostic functions, remote updating and automatic data collection available.

Linux on Rail

About the middle of 1993, our consultants told us about the existence of a Unix-like operating system with source available on the Internet that had a license policy similar to that of the Free Software Foundation.

Our introduction to Linux, at that time on the 0.98 release, excited us at once because of its great stability and because the source was available if the need arose to make modifications in order to develop our own projects. Thus, we could implement an agreement with our current system house to obtain the updated and tested Linux distributions and to develop the device drivers for our not exactly standard devices. We modified the devices responsible for running of the magnetic records, converting them back to their natural terminal function, by which they are linkable to a personal computer through a strong and reliable transmission file.

In the first months of 1993, we set up the devices inside the stations. After a testing period and following the availability of the first 1.0.x Linux release versions, the whole system was put into action.

Today, 90 systems are running overall:

  • 40 wholly unattended inside the rail stations,

  • 40 by the ticket windows in the most important stations of the country, and

  • 10 inside the bus depots, that read and collect data coming from the buses through infrared transmissions.

Every unattended system consists of a black box set in a burglar-proof case that contains a 486 33MHz PC with 16MB of RAM and a 150MB hard disk, a minimum of four serial ports (UART 16550A), a V32bis or V34 modem and a battery backup. To each black box are connected (in RS 485) from two to six ticket obliteration units like those on the buses. These units now use Linux release 2.0.2x (ELF version).

The average system uptime is now more than 100 days; some system crashes still take place, probably because of particular environmental conditions. To obviate this, we are testing a hardware watchdog in some places. The ticketing systems are, of course, augmented by the presence of a monitor, a keyboard and terminal connections needed for credit card treatment.

Every night the central system connects to all the terminals, via a Taylor UUCP, for data collection and to start out some functions. Every week we use a PPP connection to do the systems clock adjustment using ntpdate.