After trying unsuccessfully to get a Netgear WG111T USB wireless adapter
to work on a laptop (it appears to be impossible), I'm now trying with a
Linksys WPC54G adapter using the NDIS wrapper, and have partial success.
Partial, in that the ndis0 interface is recognized and shows up in the
output of ifconfig, but doesn't automatically connect to my wireless
router. I have on bootup:

ndis0: ...
status: no carrier
ssid ""
...

At this point, I can manually run dhclient:

dhclient ndis0

and have a successful connexion to the outside world. Unfortunately, I
really need a solution which will cause the connexion to be made
automatically on bootup. I think the problem lies in dhclient. After
manually running dhclient, messages appear in /var/log/messags:

dhclient: send_packet: Network is unreachable
dhclient: send_packet: please consult README file regarding broadcast address.
dhclient: New IP Address (ndis0): 192.168.1.3
dhclient: New Subnet Mask (ndis0): 255.255.255.0
dhclient: New IP Broadcast Address (ndis0): 192.168.1.255
dhclient: New Routers: 192.168.1.1

but I think I should see some messages from dhclient on bootup, should I
not?

Thinking that the regular Ethernet interface might be interfering, I
commented out the line in /etc/rc.conf:

##ifconfig_sis0="DHCP"

I have the line:

ifconfig_ndis0="ssid mode 11g DHCP"

(sis0 is the regular Ethernet interface)
and noticing that the output of ifconfig still shows several interfaces
(fwe0, sis0, plip0, lo0, ndis0), I added to /etc/rc.conf the line:

network_interfaces="lo0 ndis0"

but after rebooting, the other interfaces (including sis0) are still
appearing.

I can't see any evidence that dhclient is actually being started on bootup,
and this may be the problem. But there doesn't seem to be a line in
/etc/defaults/rc.conf that would enable or disable the running of dhclient.
(Which seems somewhat odd, surely there are occasions when one wishes to
use only static routing, and not use dhclient at all?)

Any enlightenment would be greatly appreciated.

- Will