IRNET(4) Linux-IrDA man pages IRNET(4)
irnet - IrNET protocol device
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
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.
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).
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.
Connect to the IrDA device which IrDA nickname is <peer>. The IrDA nickname is a string up to 31 characters.
Connect to the IrDA device which IrDA address is <peer>. The IrDA address is a 32 bits hexadecimal number.
Restrict connections to the local IrDA interface which IrDA address is <port>. The IrDA address is a 32 bits hexadecimal number.
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.
New IrNET device discovered.
Previously discovered IrNET device no longer present.
This computer successfully established an IrNET connection to a peer.
A peer successfully established an IrNET connection to this computer.
A peer attempted to connect to this computer, but no IrNET connection was waiting for it.
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.
A peer successfully terminated an IrNET connection with this computer.
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.
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"
Jean Tourrilhes - email@example.com
irda(7), irnetd(8), pppd(8), irattach(8), irdadump(8).
irda-utils 2 May 2003 IRNET(4)