- Is NWAM enabled?
To determine if NWAM is running, run:
# svcs physical
If NWAM is running, you should see:
STATE STIME FMRI
disabled 15:18:18 svc:/network/physical:default
online 16:44:23 svc:/network/physical:nwam
If you see
STATE STIME FMRI
online 15:18:18 svc:/network/physical:default
disabled 16:44:23 svc:/network/physical:nwam
NWAM is not enabled, so doing the following will fix this:
# svcadm disable network/physical:default
# svcadm enable network/physical:nwam
- Driver problems?
To determine if drivers have attached successfully
for your network devices, run:
# ifconfig -a
If you see only
lo0: flags=2001000849 mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
lo0: flags=2002000849 mtu 8252 index 1
inet6 ::1/128
you likely need drivers or need to update /etc/driver_aliases for the devices you have. The laptop community is a great resource for troubleshooting these sorts of issues.
- Wireless problems
First, ensure that your wireless device is present:
# dladm show-link
Now to determine if the wireless device can see any WLANs, run
# dladm scan-wifi
If the scan is picking up WLANs, we know wireless is working, so there may be an NWAM-specific problem.
- Wireless/WEP/DHCP problems
Because of the way authentication works with WEP, there is no definitive
indication of keying problems: if an incorrect key is given, the connection
to the AP will succeed, but packets will not move. From the perspective of
the nwam daemon, the connect operation succeeds, and then DHCP is started,
but never acquires a lease. Since the DHCP protocol does not have a time
limit, the DHCP client will continue to try to connect; in this case, there
is no protocol-defined way to distinguish between an authentication failure
and a missing/slow DHCP server.
If you suspect you might be running into this problem, confirm that you are
connected:
# dladm show-wifi
LINK STATUS ESSID SEC STRENGTH MODE SPEED
wpi0 connected foo wep good g 36Mb
...and that there are no responses coming from the DHCP server:
# ifconfig wpi0 dhcp status
Interface State Sent Recv Declined Flags
wpi0 SELECTING 5 0 0
To recover, you must delete the incorrect key, and restart the nwam service.
It will then walk you through the process of choosing a WLAN and entering
the key again.
Use the dladm command to delete the incorrect key. The name of the key will
be in the format "nwam-<essid>-<bssid>". You can use
dladm to see the names of all stored keys, as well:
# dladm show-secobj
OBJECT CLASS
nwam-foo-0.11.24.b.84.b1 wep
nwam-bar-12.17.a6.c0.c5.0 wep
# dladm delete-secobj nwam-foo-0.11.24.b.84.b1
#
After deleting the incorrect key, restart the nwam service:
# svcadm restart nwam
- Wired/wireless preferences and static addressing
By default, NWAM prefers, and will first try to configure, plugged in wired
interfaces. If this fails, it will fall back to wireless. In cases where
drivers do not support notifications of plugging/unplugging, NWAM may
erroneously assume the wired devices are plugged in. If you wish to change
the order of device configuration, edit the /etc/nwam/llp file. it should
look like this:
wired_if0 dhcp
..
wireless_if0 dhcp
Changing the order is easy, just move the wireless_if0 entry/entries above the wired. If you wish to assign a static address, replace "dhcp" with "static",
followed by the static address and an optional prefix length, e.g.
"static 192.168.1.4/24".
- None of the above
If NWAM appears to be finding all your interfaces and attempting to bring
the up, but you still don't have the expected network connectivity, it's
often useful to know how far NWAM got in its attempt to bring things up.
Some helpful things to check are:
- The output of '
ifconfig -a': which interface(s) is/are
marked RUNNING? Is DHCPRUNNING set on any of the interfaces? Is an
IP address assigned to any of the interfaces?
- For a wireless link, the output of '
dladm show-wifi': is the
link connected to a WLAN?
- The output of '
netstat -rn': do you have a default route?
- Are name services set up properly? The typical dhcp-based configuration
will include a file called /etc/resolv.conf, which configures DNS for
network name resolution; does that file exist, with data entered in it?
Enabling debugging in NWAM can also help diagnosis. First, /etc/syslog.conf
needs to be modified to ensure syslogging captures daemon debug messages. Add
a line such as this (note that the syslog.conf fields must be TAB-separated,
so if you copy and paste the text from this page, you'll probably need to
manually insert a tab before the filename):
daemon.debug /var/tmp/nwam.log
followed by
# touch /var/tmp/nwam.log
# svcadm refresh system-log
# svcadm restart system-log
This tells syslog to dump daemon messages in /var/tmp/nwam.log. Now, enable
debugging in NWAM:
# svccfg -s nwam setprop nwamd/debug = true
# svcadm refresh nwam
To restart and try and reproduce the problem, it may help to run
# svcadm restart nwam
When contacting nwam-discuss about problems, the debug log will be helpful in diagnosing the issue.