Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable tx mimo for iwn driver (Centrino N wireless cards) #424

Merged
merged 6 commits into from
Dec 3, 2020

Conversation

pigworlds
Copy link
Contributor

This change enables the tx mimo for iwn driver on old wireless cards.

The iwn_rates table was pervious only include mcs rate up to 7. The link quality table generation didn't handle mimo rates.
This change port over the iwn_rates and link quality tables from iwm driver, plus additional logging.

A test on Centrino N 6205 shows slight increase of tx rate around 30mbps using iperf3.

@OpenIntelWireless OpenIntelWireless deleted a comment from win1010525 Nov 28, 2020
@williambj1 williambj1 requested a review from zxystd November 28, 2020 06:38
@williambj1 williambj1 added the enhancement New feature or request label Nov 28, 2020
@zxystd
Copy link
Collaborator

zxystd commented Nov 30, 2020

Thank you for the contribution, I am busy for these days, will take sometime to have a look.

@pigworlds
Copy link
Contributor Author

No worries, take your time.

The tx structure is reused, and all fields need properly initialize.
Without set proper rflags value, certain packet like mgmt frame
may be sent at wrong coding scheme. This is discovered during
a failed addba negotiation.
Copy link
Collaborator

@zxystd zxystd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great. seems no problems.

@zxystd zxystd merged commit df94da8 into OpenIntelWireless:master Dec 3, 2020
@ihsanbudiman
Copy link

please centrino 6235

@pigworlds
Copy link
Contributor Author

@ihsanbudiman I don't have a copy of 6235, and it should work in some degree.
Can you try it, collect and share the logs if it doesn't work well for you?

break;
}
if (ic->ic_flags & IEEE80211_F_USEPROT)
if (sc->hw_type != IWN_HW_REV_TYPE_4965)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pigworlds Hi :), do you remember where does the code from? It seems that it is different from Linux

Copy link
Contributor Author

@pigworlds pigworlds Mar 18, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I looked at the history and can only find they were introduced in pigworlds@38bbc0c and pigworlds@bffc12b.

I don't recall the reason for this flag, it could be a trial and error and this works. This might be a bug too.

tab = ht_plcp;
rflags |= IWN_RFLAG_MCS;
if (sgi_ok)
rflags |= IWN_RFLAG_SGI;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pigworlds A weird thing is that the Tx performance drops seriously when SGI is enabled on 5GHz/40MHz channels, do you have the same experience? My card is N-6235.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't have the same experience with my Intel N-6205 connecting to Netgear R7800 router. It shows both Tx/Rx at 300.0 Mbit/s, 40 MHz, MCS 15, Short GI, while running iperf3 test.

I recall that with certain routers, the performance drops quickly when I move the laptop around, and stable when the laptop remains stationary. I don't remember specific SGI settings of those routers.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see, thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Development

Successfully merging this pull request may close these issues.

4 participants