STRIP(4) BSD Programmer's Manual STRIP(4)NAMEstrip - packet-mode network device driver for the Metricom Ricochet radio
SYNOPSIS
pseudo-device strip [count]
DESCRIPTION
Configures count strip interfaces, named st0, st1, etc, into a kernel
built from a config file containing the given entry.
Each strip interface is a pseudo-device driver for the Metricom Ricochet
radio, operating in peer-to-peer packet mode.
The strip driver takes outbound network packets, encapsulates them using
the Metricom "starmode" framing, and sends the packets out an RS-232 in-
terface to a Metricom Ricochet radio. Packets arriving from the radio via
the serial link are decapsulated and then passed up to the local host's
networking stack.
strip is an acronym for Starmode Radio IP.
In many ways, the strip driver is very much like the sl SLIP pseudo-
device driver. A strip device is attached to a tty line with slattach(8).
Once attached, the interface is configured via ifconfig(8). The major
difference between the sl(4) SLIP pseudo-device driver and the strip
driver is that SLIP works only between two hosts over a dedicated point-
to-point connection. In contrast, strip sends packets to a frequency-
hopping radio, which can address packets to any peer Metricom radio rath-
er than just to a single host at the other end of a point-to-point line.
Thus, one strip pseudo-device is usually sufficient for any kernel.
In other respects, a strip interface is rather like an Ethernet inter-
face. Packets are individually addressed, and subsequent packets can be
sent independently to different MAC addresses. However, the "Star-mode"
framing and MAC addressing are not in any way compatible with Ethernet.
Broadcast or multicast to more than one radio is not possible, due to the
independent frequency-hopping operation of the radios. The interface
flags IFF_POINTOPOINT and IFF_BROADCAST are not supported on strip inter-
face.
In other words, strip implements a multiple-access, non-broadcast device,
accessed via an RS-232 serial line, using a proprietary packet framing
scheme.
This version strip driver maps IP addresses to Metricom radio addresses
using statically configured entries in the normal routing table. These
entries map IP addresses of peer radios to the MAC-level addresses. The
exact syntax of this mapping and an example are discussed below. The In-
ternet Assigned Numbers Authority (IANA) has allocated an ARP type code
for use with STRIP. A future version of this driver will support arp(4)
to obtain the IP address of reachable peer radios dynamically.
ADDRESS CONFIGURATION
This version of the strip driver requires static pre-configuration of the
mapping from IP addresses to radio MAC addresses. The route(8) command
should be used to bind a peer STRIP host's radio IP address to the peer's
link-level radio address. Radio addresses are encoded using the hex
equivalent of the radio's decimal ASCII address. For example, the follow-
ing route command will configure a routing entry to a radio with a MAC
address of 1234-5678, and an IP address 10.11.12.13:
route add -host 10.11.12.13 -link 1:2:3:4:5:6:7:8
Generalising from this example to other IP addresses and to other 8-digit
MAC addresses should be clear.
RADIO CONFIGURATION
The Metricom radios can auto-baud at speeds up to 38.4k baud. At higher
speeds -- 57600 or 115200 -- the radio cannot autobaud. When running at
high speeds, the radio's serial port should be manually configured to
permanently run at the desired speed. Use a terminal emulator and the
Hayes command ATS304=115200 to set the serial baudrate to the specified
number (or 0 for autobaud). The command AT&w will then save the current
radio state in non-volatile memory.
Metricom radios can operate in either "modem-emulation" mode or in packet
mode (Starmode). The strip driver automatically detects if the radio has
fallen out of starmode, and resets it back into starmode, if the baud
rate was set correctly by slattach(8).
SEE ALSOarp(4), inet(4), route(8), slattach(8), slip(8)HISTORYstrip was originally developed for the Linux kernel by Stuart Cheshire of
Stanford's Operating Systems and Networking group, as part of Mary
Baker's MosquitoNet http://mosquitonet.stanford.edu/mosquitonet.html pro-
ject. This strip driver was ported to BSD by Jonathan Stone at Stanford's
Distributed Systems Group and first distributed with NetBSD 1.2.
BUGS
Currently is IP-only. Encapsulations for AppleTalk and ARP have been de-
fined, but are not yet implemented in this driver.
strip has not been widely tested on a variety of lower-level tty drivers.
The detection and resetting of radios that crash out of Starmode does not
always work in this version of the driver. One workaround is to kill the
slattach(8) process, ifconfig the strip interface down, and then start a
new slattach and rerun ifconfig.
MirOS BSD #10-current August 9, 2009 1