Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 6 Jul 2018 17:35:51 -0400
From:      Farhan Khan <khanzf@gmail.com>
To:        Kevin Lo <kevlo@freebsd.org>, avos@freebsd.org, freebsd-wireless@freebsd.org
Subject:   Where is rtwn(4) scan failing
Message-ID:  <CAFd4kYCNDTjTbPRxoU_pEbV1sBczhJn6NjfPSgt2c7HsfG3nGQ@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Hi Kevin, Andriy, et al,

As you know, I am working on expanding rtwn(4) to include the
rtl8188ee driver. It appears that net80211(4) performs a scan before
associating to a BSS, so I am working on scanning. When I run
`ifconfig wlan0 scan`, sta_pick_bss() returns immediately without any
listed networks suggesting that whatever happens in the driver is
failing.

It appears that the scanning method begins at rtwn_scan_start(). Using
dtrace and manually tracing the source, I identified that the kernel
executes the following non-net80211(4) methods:

* rtwn_raw_xmit
* r92c_fill_tx_desc_raw
* r88ee_tx_setup_macid
* r88ee_tx_setup_hwseq
* rtwn_pci_tx_start_frame
* r92ce_copy_tx_desc
* r92ce_tx_postsetup
* r92ce_dump_tx_desc

First, can you please provide a conceptual overview of what is
happening in these functions?

Second, I am not certain which (or more than one?) are failing to
function properly with the new driver. Any ideas?

As you know, I am using the Linux rtlwifi code as documentation, but
their code is extremely difficult to read. I suspect that FreeBSD's
r92c_fill_tx_desc_raw is Linux's rtl92ce_tx_fill_desc, but as I said,
the Linux code is extremely difficult to trace through. The rtl8188ee
equivalent is rtl88ee_tx_fill_desc. I only noticed 1 difference thus
far which I do not understand yet.

I suspect somewhere a value is set to 0x1f which should be 0x3f or
something of this nature. I was stuck on Rx for around some 6 months
and while eventually got it, it would be nice to be a little more
efficient with Tx :)

Again, any assistance is greatly appreciated.
Thank you!
--
Farhan Khan
PGP Fingerprint: B28D 2726 E2BC A97E 3854 5ABE 9A9F 00BC D525 16EE



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFd4kYCNDTjTbPRxoU_pEbV1sBczhJn6NjfPSgt2c7HsfG3nGQ>