Date: Sun, 29 Nov 2015 15:14:58 +0200 From: "Andriy Voskoboinyk" <avos@freebsd.org> To: "Steve Wills" <swills@freebsd.org> Cc: "freebsd-wireless@freebsd.org" <freebsd-wireless@freebsd.org> Subject: Re: urtwn broken at r291262 Message-ID: <op.x8u5q8yo4dikkl@localhost> In-Reply-To: <565A8883.7040100@FreeBSD.org> References: <5659ED1D.70003@FreeBSD.org> <op.x8tqbkpw4dikkl@localhost> <565A271C.6070107@FreeBSD.org> <565A5BB2.3020908@FreeBSD.org> <565A8883.7040100@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
Sun, 29 Nov 2015 07:09:23 +0200 було написано Steve Wills
<swills@freebsd.org>:
> On 11/28/2015 20:58, Steve Wills wrote:
>
> No luck with the suggested change, but perhaps I misunderstood. Here's
> the diff I have:
>
> Index: if_urtwn.c
> ===================================================================
> --- if_urtwn.c (revision 290630)
> +++ if_urtwn.c (working copy)
> @@ -1860,7 +1860,7 @@
> } else /* IEEE80211_FC0_TYPE_MGT */
> qsel = R92C_TXDW1_QSEL_MGNT;
> } else {
> - macid = URTWN_MACID_BC;
> + macid = URTWN_MACID_BSS;
> qsel = R92C_TXDW1_QSEL_MGNT;
> }
>
Yes, that was I meant.
>
> Is there something else I can change or debugging info I can provide?
>
Yes, newer patch reverts more changes from this commit.
Please, apply and test with it.
> Thanks,
> Steve
[-- Attachment #2 --]
--- sys/dev/usb/wlan/if_urtwn.c 2015-11-29 13:40:53.947793000 +0200
+++ sys/dev/usb/wlan/if_urtwn.c 2015-11-29 15:08:57.515218000 +0200
@@ -1825,13 +1825,9 @@
if (type == IEEE80211_FC0_TYPE_DATA) {
qsel = R92C_TXDW1_QSEL_BE;
- if (!(m->m_flags & M_EAPOL)) {
- if (ic->ic_curmode != IEEE80211_MODE_11B) {
- raid = R92C_RAID_11BG;
- ridx = URTWN_RIDX_OFDM54;
- } else
- ridx = URTWN_RIDX_CCK11;
- }
+ ridx = URTWN_RIDX_OFDM54;
+ if (ic->ic_curmode != IEEE80211_MODE_11B)
+ raid = R92C_RAID_11BG;
if (sc->chip & URTWN_CHIP_88E)
txd->txdw2 |= htole32(R88E_TXDW2_AGGBK);
@@ -1860,7 +1856,7 @@
} else /* IEEE80211_FC0_TYPE_MGT */
qsel = R92C_TXDW1_QSEL_MGNT;
} else {
- macid = URTWN_MACID_BC;
+ macid = 0;
qsel = R92C_TXDW1_QSEL_MGNT;
}
@@ -1878,12 +1874,11 @@
if (ridx <= URTWN_RIDX_CCK11)
txd->txdw4 |= htole32(R92C_TXDW4_DRVRATE);
+ txd->txdseq = htole16(M_SEQNO_GET(m) % IEEE80211_SEQ_RANGE);
if (!IEEE80211_QOS_HAS_SEQ(wh)) {
/* Use HW sequence numbering for non-QoS frames. */
txd->txdseq = htole16(R92C_TXDSEQ_HWSEQ_EN);
- } else {
- /* Set sequence number. */
- txd->txdseq = htole16(M_SEQNO_GET(m) % IEEE80211_SEQ_RANGE);
+ txd->txdw4 |= htole32(0x80);
}
if (ieee80211_radiotap_active_vap(vap)) {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?op.x8u5q8yo4dikkl>
