STRIP(4) | Device Drivers Manual | STRIP(4)

# 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.

December 5, 2004 | NetBSD 9.0