picea » NWAM Phase 0.5 Troubleshooting
en

NWAM Phase 0.5 Troubleshooting

Troubleshooting Network Problems

1. Is NWAM enabled?

Verify that NWAM is enabled, rather than traditional (based on /etc/hostnameTo check from the command line, 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 this instead:

STATE        STIME    FMRI
online       15:18:18 svc:/network/physical:default
disabled     16:44:23 svc:/network/physical:nwam

then NWAM is not enabled; doing the following will enable it:

# svcadm disable network/physical:default
# svcadm enable network/physical:nwam

2. 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 

Then try this command to list the network hardware known to the system:

# dladm show-link

If these commands fail to list network interfaces, or if the "ifconfig" output shows only the loopback interfaces, then 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.

3. Wireless problems?

First, ensure that your wireless device is present:

# dladm show-link

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.

Note: the 'dladm scan-wifi' command must either be executed with root privileges, or, on OpenSolaris systems, be prefixed with "pfexec".

4. 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.

If you are connected to a WEP-protected network, the NWAM Manager applet will wait a few seconds after the connection attempt is started, and then prompt for a new key if DHCP has not yet succeeded. This is only a heuristic; there is no way for the system to determine whether a new key is actually needed. Supplying a new key at this point will delete the old key and retry; this may resolve the problem.

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.

5. Wired/wireless preferences

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, and may take a minute to notice apparent failure (this time is tunable using svccfg to adjust "nwamd/dhcp_wait_time").

If a more-preferred interface becomes available (e.g., if you plug in a wired network connection), NWAM will switch to that interface and shut down the previous one.

If you wish to change the preference order of network devices, right click on the NWAM Manager icon, and select "Network Interface Priority..." to adjust the priority of the interfaces. These changes are saved in a file, and will be retained across reboot.

Alternatively, you can select one of the "Always use ..." entries from the NWAM Manager menu. This is a temporary selection, and is not retained across reboot. It can be used to work around interfaces that transition when not wanted.

6. Static addressing and advanced configuration

The /etc/nwam/llp file contains entries that look like this:

wired_if0 dhcp
..
wireless_if0 dhcp

Changing the order of the entries causes the priority to change; 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". See nwamd(1M) or the interface configuration page for more information on static configuration of NWAM.

7. None of the above

If NWAM appears to be finding all your interfaces and attempting to bring them 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? You also need the correct entries in /etc/nsswitch.conf; does that file list "dns" for both the "hosts:" and "ipnodes:" entries? (A typical entry reads "hosts: files dns")

Enabling debugging in NWAM can also help diagnosis. First, /etc/syslog.conf needs to be modified to ensure system logging 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

Then make sure the log file exists, and refresh the system logging service:

# touch /var/tmp/nwam.log
# svcadm refresh 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 dump the current internal state of the daemon to the log file established above, send it SIGINT:

# pkill -INT nwamd

If you need to restart in order to 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. You should also include the version of the NWAM Manager applet. You can obtain this with:

% /usr/lib/nwam-manager --version
Tags:
Created by admin on 2009/10/26 12:16
Last modified by Renee Sommerfeld on 2010/01/05 00:33

XWiki Enterprise 2.7.1.34853 - Documentation