Subject: hardware wireless switch and USB wireless device
To: None <current-users@netbsd.org>
From: Steven M. Bellovin <smb@cs.columbia.edu>
List: current-users
Date: 12/27/2007 18:45:17
My laptop has a built-in EVDO card which (on my kernel; for various
reasons, I haven't committed the table entry yet) shows up as ugensa0.
When I flip the hardware switch to disable all wireless, it disconnects
the wpi0 WiFi card, I assume the Bluetooth card -- and it disconnects
the ugensa interface in such a way that the device disconnects from the
bus and is deleted.  All well and good.  The problem occurs when I turn
the switch back on.  wpi0 is again available -- the driver detected the
switch, and turned of "RUNNING" mode -- but ugensa is not reattached.

So -- how should this happen?  Should I run drvctl manually?  Should it
run automatically?  If so, what should trigger that?  Should something
in the kernel notice the switch position change and DTRT?  If so, on
what devices?  Should there be a configu file flag that lets a driver
register for reattachment?  (At this point, I'm speaking
architecturally; I haven't even looked yet to see how the switch change
is noticed by the kernel.)

Suggestions?

		--Steve Bellovin, http://www.cs.columbia.edu/~smb