Why is rtwn module detaching?
Adrian Chadd
adrian.chadd at gmail.com
Mon Aug 7 23:15:25 UTC 2017
For reference, we chatted on IRC.
I think it's the NIC disappearing because giving it an iP brings it
link 'up' and something in the 'up' path is causing the firmware to
crash and the NIC to disappear.
which bus is it on btw? eg, you could try 'devctl rescan pcib3' if
it's on pcib3..
-adrian
On 5 August 2017 at 19:43, Farhan Khan <khanzf at gmail.com> wrote:
> 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 1.1.1.1
>
> 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 at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-wireless
> To unsubscribe, send any mail to "freebsd-wireless-unsubscribe at freebsd.org"
More information about the freebsd-wireless
mailing list