NAME
strip —
Metricom Ricochet packet radio
wireless network device
SYNOPSIS
pseudo-device strip
DESCRIPTION
The
strip driver takes outbound network packets, encapsulates
them using the Metricom “star mode” framing, and sends the packets
out an RS-232 interface to a Metricom
Ricochet packet radio.
Packets arriving from the packet 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.
The
strip interfaces can be created by using the
ifconfig(8)
create command. Each
strip interface is a
pseudo-device driver for the Metricom
Ricochet packet radio,
operating in peer-to-peer packet mode.
In many ways, the
strip driver is very much like the
sl(4) 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 packet
radio, which can address packets to any peer Metricom
Ricochet packet radio, rather 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 interface. 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 packet radio is not
possible, due to the independent frequency-hopping operation of the packet
radios. The interface flags
IFF_POINTOPOINT
and
IFF_BROADCAST
are not supported on the
strip interface.
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 of the
strip driver maps IP addresses to Metricom
Ricochet packet radio addresses using statically configured
entries in the normal routing table. These entries map IP addresses of peer
packet radios to the MAC-level addresses. The exact syntax of this mapping and
an example are discussed below. The Internet 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 packet radios dynamically.
ADDRESS CONFIGURATION
This version of the STRIP driver requires static pre-configuration of the
mapping from IP addresses to packet radio MAC addresses. The
route(8) command should be used
to bind a peer STRIP host's packet radio IP address to the peer's link-level
packet radio address.
Radio addresses are encoded using the hex equivalent of the packet radio's
decimal ASCII address. For example, the following route command will configure
a routing entry to a packet radio with a MAC address of 1234-5678, and an IP
address 10.11.12.13, reachable via the
strip0 interface:
route add -host 10.11.12.13 -link strip0: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
Ricochet packet radios can auto-baud at speeds up
to 38.4K baud. At higher speeds -- 57600 or 115200 -- the packet radio cannot
autobaud. When running at high speeds, the packet 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 packet radio state in
non-volatile memory.
Metricom
Ricochet packet radios can operate in either
“modem-emulation” mode or in packet mode (i.e. “star
mode”). The
strip driver automatically detects if the
packet radio has fallen out of “star mode”, and resets it back
into “star mode”, if the baud rate was set correctly by
slattach(8).
SEE ALSO
arp(4),
inet(4),
sl(4),
ifconfig(8),
route(8),
slattach(8)
HISTORY
strip 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 project.
This
strip driver was ported to
NetBSD
by Jonathan Stone at Stanford's Distributed Systems Group and first
distributed with
NetBSD 1.2.
BUGS
Currently,
strip is IP-only. Encapsulations for AppleTalk and
ARP have been defined, but are not yet implemented in this driver.
strip has not been widely tested on a variety of lower-level
serial drivers.
The detection and resetting of packet radios that crash out of “star
mode” does not always work in this version of the driver. One workaround
is to kill the
slattach(8)
process,
ifconfig(8) the
strip interface down, and then start a new slattach and
rerun ifconfig to enable the interface again.