irnet(4) IrNET protocol device

DESCRIPTION

File /dev/irnet is used to access and configure the IrNET protocol part of the Linux-IrDA stack.

IrNET is a protocol allowing to create TCP/IP connections between two IrDA peers in an efficient fashion, and generally to enable standard networking over IrDA. It is a thin layer, passing PPP packets to IrTTP and vice versa. It uses PPP in synchronous mode, because IrTTP offer a reliable sequenced packet service (as opposed to a byte stream). In fact, you could see IrNET as carrying TCP/IP in a IrDA socket, using PPP to provide the glue.

The main difference with traditional PPP over IrCOMM is that it avoids the framing and serial emulation which are a performance bottleneck. It also allows multipoint communications in a sensible fashion. And finally, it can automatically handle incomming connections through irnetd.

The main difference with IrLAN is that we use PPP for the link management, which is more standard, interoperable and flexible than the IrLAN protocol. For example, PPP adds authentication, encryption, compression, header compression and automated routing setup. And, as IrNET let PPP do the hard work, the implementation is much simpler than IrLAN.

IrNET connections are initiated and managed with pppd(8). File /dev/irnet also offer a control channel. Reads from /dev/irnet will return various IrNET events. Write to /dev/irnet allow to configure the IrNET connection.

CONFIGURATION

If your system does not have /dev/irnet created already, it can be created with the following commands:
        mknod -m 644 /dev/irnet c 10 187
        chown root:root /dev/irnet

You will also need to have IrNET support in your kernel or as module and the Linux-IrDA stack installed and configured (see irattach(8)).

File /dev/irnet is supposed to only be used with the PPP line discipline or for accessing the control channel, other use are unsupported. IrNET support multiple concurent connections (limited by the IrDA stack), all those connections are multiplexed on a single /dev/irnet device (as opposed to IrCOMM which as one device per connection).

PARAMETERS

Writing commands to /dev/irnet allow to configure the IrNET connection being made. This need to be done through pppd(8) (see below for examples). Commands are separated by comas.
name <peer>
Connect to the IrDA device which IrDA nickname is <peer>. The IrDA nickname is a string up to 31 characters.
daddr <peer>
Connect to the IrDA device which IrDA address is <peer>. The IrDA address is a 32 bits hexadecimal number.
raddr <port>
Restrict connections to the local IrDA interface which IrDA address is <port>. The IrDA address is a 32 bits hexadecimal number.

DISPLAY

Reading from /dev/irnet will show various IrNET events. This is usually done with the command cat /dev/irnet.
Found
Dump of the current IrNET discovery log.
Discovered
New IrNET device discovered.
Expired
Previously discovered IrNET device no longer present.
Connected to
This computer successfully established an IrNET connection to a peer.
Connection from
A peer successfully established an IrNET connection to this computer.
Request from
A peer attempted to connect to this computer, but no IrNET connection was waiting for it.
No-answer from
This computer attempted to connect to a peer, but no IrNET connection was waiting for it.
Blocked link with
The IrDA link of the IrNET connection is currently blocked.
Disconnection from
A peer successfully terminated an IrNET connection with this computer.
Disconnected to
This computer successfully terminated an IrNET connection with a peer.

File /proc/net/irda/irnet will also show the current state of the various IrNET connections.

EXAMPLE

Start a IrNET server accepting any incomming connection:
      pppd /dev/irnet 9600 local noauth nolock passive

Start a IrNET client connecting to any IrDA peer:

      pppd /dev/irnet 9600 local noauth nolock

Start a IrNET client connecting to the IrDA peer called
MyIrDANode:
      pppd /dev/irnet 9600 local noauth nolock connect echo name MyIrDANode

Start a IrNET server accepting incomming connection from peer with IrDA address 0x12345678 only on IrDA port 0x87654321:

      pppd /dev/irnet 9600 local noauth nolock passive connect echo daddr 0x12345678 , saddr 0x87654321

AUTHOR

Jean Tourrilhes - [email protected]

FILES

/dev/irnet
/proc/net/irda/irnet