Hi all,

I am slowly struggling through writing my Wifi first driver, which is an
extension to the current rtwn driver. I have reached another hurdle that
I'm stuck on.

I bring up my wifi driver as follows:

# kldload rtwn && kldload rtwn_pci
# sudo ifconfig wlan0 create wlandev rtwn0
# sudo ifconfig wlan0

The third line causes the rtwn0 device to detach (and pci0 device, which
requires a reboot and is quite frustrating).

I traced through the code to find why it is detaching and found that in
rtwn_parent() (sys/dev/rtwn/if_rtwn.c), it checks the ic->ic_nrunning (from
struct ieee80211com). If that value is less than or equal to 0, it will
cause the rtwn driver to stop. This appears to be a common control
structure used by other drivers as well.

Unfortunately, I have not been able to determine where ic->ic_nrunning is
modified anywhere in the kernel. In fact, the only references I found from
my searches was checking the ic_nrunning value, not setting it.

Does anyone know where this is being set? Without determining this, I
cannot why my driver is unloading. I suspect that I failed to set the
appropriate 802.11 values in my own code, causing the base 802.11 code to
mark it as "off" or malfunctioning but I am not certain.

Please advise.
Thank you,
Farhan Khan
PGP Fingerprint: 782F 342B 5B08 0D2F F4E8 82C3 FFA1 CAE1 6536 51CA
freebsd-wireless@freebsd.org mailing list
To unsubscribe, send any mail to "freebsd-wireless-unsubscr...@freebsd.org"

Reply via email to