CM(4) FreeBSD Kernel Interfaces Manual CM(4)


cmSMC Arcnet Ethernet device driver


To compile this driver into the kernel, place the following lines in your kernel configuration file:

device isa
device cm

Alternatively, to load the driver as a module at boot time, place the following line in loader.conf(5):



The cm driver provides support for the Arcnet ISA network adapters.

This driver also has quirks preset in the device.hints(5) file for card detection.


The cm driver supports the following card models:

  • SMC90c26
  • SMC90c56
  • SMC90c66 in '56 compatibility mode.


When the NOARP flag is set on the cm interface, it does not employ the address resolution protocol described in arp(4) to dynamically map between Internet and Ethernet addresses on the local network. Instead it uses the least significant 8 bits of the IP address as the hardware address like described in RFC 1051 and RFC 1201.

With the IFF_LINK0 flag cleared IP/ARP/RARP encoding is done according to RFC 1201 that is, with Packet Header Definition Standard header and packet type 212 / 213. The MTU is normally 1500. The IFF_LINK0 flag is cleared by default.

With the IFF_LINK0 flag set, IP and ARP encoding is done according to the deprecated RFC 1051 encoding, that is with simple header, packet type 240 / 241, and the MTU is 507.

When switching between the two modes, use

ifconfig interfacename down up

to switch the MTU.


The following driver specific error messages may be reported:
reset: card reset, link addr = 0x%02x (cm%d)
The card is being reset and a new link address assigned.
srint: restarted rx on buf cm%d
The rx buffer has been emptied and will be reset.


The cm device was ported from NetBSD by Max Khon <fjoe@FreeBSD.org> and first appeared in FreeBSD 4.6. This manual page first appeared in FreeBSD 5.3.


This manual page was written by Tom Rhodes <trhodes@FreeBSD.org>. The IMPLEMENTATION NOTES section was submitted by Max Khon <fjoe@FreeBSD.org> and originated from NetBSD.


The cm driver code could do with a bit of improvement, it would be nice if some one could come along and take care of this.

The IMPLEMENTATION NOTES section is specific to all Arcnet devices (see sys/net/if_arcsubr.c) and should be moved to a more generic location.

July 16, 2005 FreeBSD