HELIOS Tech Info #143

Fri, 17 Aug 2012

AppleTalk on Solaris 11

We received customer reports that the HELIOS services did not start properly on a new Solaris 11 machine. System log messages like these were displayed:

srvsrv[878]: srvutil start all
atalkd[887]: configureInterface /dev/net: Is a directory
atalkd[887]: no interfaces configured, stopped
srvsrv[878]: service atalkd (pid 887) exited with status 40
srvsrv[878]: could not start service atalkd

We investigated this issue and found that the interface configuration did not contain a physical network interface, which is required.

So "dladm" shows a logical network interface (net0) and a real device (e1000g0) like this:

# /usr/sbin/dladm show-phys
LINK     MEDIA      STATE    SPEED    DUPLEX  DEVICE
net0     Ethernet   up       1000     full    e1000g0

instead of a working server without logical interfaces:

# /usr/sbin/dladm show-phys
LINK
     MEDIA      STATE    SPEED    DUPLEX  DEVICE
e1000g0  Ethernet   up
       1000     full    e1000g0

Since Solaris only provides direct access to the logical interfaces (e.g. for 'ifconfig -a') the physical interface is not recognized and therefore AppleTalk can't be started.

A workaround for this problem is to configure the real network interface via 'prefvalue' using following command:
HELIOSDIR/bin/prefvalue -k Programs/atalkd/if -t strlist "e1000g0"

Of course, the interface name has to be adjusted to the correct one as shown in the "dladm" call.

Please note that AppleTalk is legacy and not supported by Apple nor by HELIOS anymore.