-
-
Notifications
You must be signed in to change notification settings - Fork 295
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
8812AU 8814AU support MCS 9-10-11-12-13-14-15 and up #22
Comments
It’s been discussed. Sounds like we have a guy that will play with it. Have you tried that feature? Hoping someone more knowledgeable on the specifics will comment. |
What do you mean ? |
Following the advice of @svpcom, we modified the But it didn't resolve the problem. Do you think we could change this parameter with the .conf files ? |
I've made an experiment: replace second antenna with terminator (50 ohm load) and run tx on MCS8 rate. No any packets was received! So in case of MIMO (MCS8+) you must receive signal from all TX antennas (which is false in case of WFB where multiple antennas using for diversity). So you can use only STBC and not MIMO modes. |
@Yes21 What problem do you want to solve? Enable STBC by default (it works by patching stbc = 1 in driver) or do this in runtume (need to rewrite code with hardcoded packet headers in https://github.com/HD-Fpv/Open.HD/blob/7c4519174f63b6de4defa6d08926c18717ec7fe9/wifibroadcast-base/tx_rawsock.c#L115 and add dynamic flags evaluation like is done in my code above) |
|
The problem is to make the 2 antennas of AWUS036ACH (4 for AWUS1900) sending data in monitor mode.
Do we just need to replace : |
#define IEEE80211_RADIOTAP_MCS_HAVE_BW 0x01
#define IEEE80211_RADIOTAP_MCS_HAVE_MCS 0x02
#define IEEE80211_RADIOTAP_MCS_HAVE_GI 0x04
#define IEEE80211_RADIOTAP_MCS_HAVE_FMT 0x08
#define IEEE80211_RADIOTAP_MCS_BW_20 0
#define IEEE80211_RADIOTAP_MCS_BW_40 1
#define IEEE80211_RADIOTAP_MCS_BW_20L 2
#define IEEE80211_RADIOTAP_MCS_BW_20U 3
#define IEEE80211_RADIOTAP_MCS_SGI 0x04
#define IEEE80211_RADIOTAP_MCS_FMT_GF 0x08
#define IEEE80211_RADIOTAP_MCS_HAVE_FEC 0x10
#define IEEE80211_RADIOTAP_MCS_HAVE_STBC 0x20
#define IEEE80211_RADIOTAP_MCS_FEC_LDPC 0x10
#define IEEE80211_RADIOTAP_MCS_STBC_MASK 0x60
#define IEEE80211_RADIOTAP_MCS_STBC_1 1
#define IEEE80211_RADIOTAP_MCS_STBC_2 2
#define IEEE80211_RADIOTAP_MCS_STBC_3 3
#define IEEE80211_RADIOTAP_MCS_STBC_SHIFT 5
#define MCS_KNOWN (IEEE80211_RADIOTAP_MCS_HAVE_MCS | IEEE80211_RADIOTAP_MCS_HAVE_BW | IEEE80211_RADIOTAP_MCS_HAVE_GI | IEEE80211_RADIOTAP_MCS_HAVE_STBC | IEEE80211_RADIOTAP_MCS_HAVE_FEC)
// For MCS#1 -- QPSK 1/2 20MHz long GI + STBC
#define MCS_FLAGS (IEEE80211_RADIOTAP_MCS_BW_20 | (IEEE80211_RADIOTAP_MCS_STBC_1 << IEEE80211_RADIOTAP_MCS_STBC_SHIFT))
#define MCS_INDEX 1
static uint8_t radiotap_header[] __attribute__((unused)) = {
0x00, 0x00, // <-- radiotap version
0x0d, 0x00, // <- radiotap header length
0x00, 0x80, 0x08, 0x00, // <-- radiotap present flags: RADIOTAP_TX_FLAGS + RADIOTAP_MCS
0x08, 0x00, // RADIOTAP_F_TX_NOACK
MCS_KNOWN , MCS_FLAGS, MCS_INDEX // bitmap, flags, mcs_index
}; |
This code is for set MCS modes (802.11n), not for legacy modes (802.11a/b/g) |
for MCS#1 -- QPSK 1/2 20MHz long GI without STBC #define MCS_FLAGS (IEEE80211_RADIOTAP_MCS_BW_20) for stbc + ldpc: #define MCS_FLAGS (IEEE80211_RADIOTAP_MCS_BW_20 | (IEEE80211_RADIOTAP_MCS_STBC_1 << IEEE80211_RADIOTAP_MCS_STBC_SHIFT) | IEEE80211_RADIOTAP_MCS_FEC_LDPC) |
Hello SVP, so with this mod,, 88XXau board transmit same radio data through there 2 or 4 antennas ? Idea is to have capability to receive data on the ground even if one antenna is NLOS..... |
@roque-canales Yes, see https://en.wikipedia.org/wiki/Space%E2%80%93time_block_code for reference. |
Thank you, Yes is exactly this feature that I wait to be released on image. I'm not expert user for compile image with this feature. Could you please release an image with this feature activated for 88xxAU users ? |
I'm trying to implement this code in Open.HD. |
@roque-canales, if you want to test it, no need to build an image. (delete the .txt extension) |
@Yes21 static u8 u8aRadiotapHeader[] = {
0x00, 0x00, // <-- radiotap version
0x0d, 0x00, // <- radiotap header length
0x00, 0x80, 0x08, 0x00, // <-- radiotap present flags: RADIOTAP_TX_FLAGS + RADIOTAP_MCS
0x08, 0x00, // RADIOTAP_F_TX_NOACK
MCS_KNOWN , 0x00, 0x00 // bitmap, flags, mcs_index
}; If you set MCS_KNOWN you must use MCS modes, but not legacy rates: {
0x00, 0x00, // <-- radiotap version
0x0d, 0x00, // <- radiotap header length
0x00, 0x80, 0x08, 0x00, // <-- radiotap present flags: RADIOTAP_TX_FLAGS + RADIOTAP_MCS
0x08, 0x00, // RADIOTAP_F_TX_NOACK
MCS_KNOWN , MCS_FLAGS, MCS_INDEX // bitmap, flags, mcs_index
}; Also you need to rewrite |
Ok, with this settings, it seems that the 2 antennas of 036ACH are sending !
I will look for this later ... And many thanks Vasily for your help and your patience !! |
Hello, could you please tell me the values that need to be replaced ?
Kind regards |
replace first switch with u8aRadiotapHeader[MCS_FLAGS_OFF] = mcs_flags;
u8aRadiotapHeader[MCS_IDX_OFF] = mcs_index; |
Thank you :) ok and after? |
You need to replace switch (rate) {
...
} with this two lines. |
Ok so I supress the first switch with /* */, so the switch rate by the two lines you told upper. /* switch (rate) { u8aRadiotapHeader[MCS_FLAGS_OFF] = mcs_flags; memcpy(packet_header, u8aRadiotapHeader, sizeof(u8aRadiotapHeader)); switch (type) { And after ? the code is ok or it need another upgrade? I want to use stbc 20mhz. |
@Yes21 Wich datarate you set? I test with 4 with no success. |
|
There was an error in it. |
Hello Vasily, thank you so much for yesterday, now I'm trying to finish de rawsock file. Could you please help me for activate STBC 20mhz.? I bypass switch rate: I write theses two lines below: u8aRadiotapHeader[MCS_FLAGS_OFF] = mcs_flags; and after what I must to do? Thank you so much for help us. |
// offset of MCS_FLAGS and MCS index
#define MCS_FLAGS_OFF 11
#define MCS_IDX_OFF 12
// Settings for MCS#1 -- QPSK 1/2 20MHz long GI + STBC
#define MCS_FLAGS (IEEE80211_RADIOTAP_MCS_BW_20 | (IEEE80211_RADIOTAP_MCS_STBC_1 << IEEE80211_RADIOTAP_MCS_STBC_SHIFT))
#define MCS_INDEX 1 If you want to select it statically - just remove |
|
Hello Vasily could you please tell me the good values for activate stbc with 20mhz channel and datarate 4 equivalent rate? |
Hi @zipray, what do you want to show us with this link ? |
@roque-canales use
where |
Thank you Vasily |
Closing, refer to new combined rtl8812au issue |
Hello,
88XXAU chips can be used in MIMO mode for long range (MCS 9-10-11-12) or (VHT 2 Streams)
these board ar 2T2R.
For the moment, when using these boards only one antenna transmit. This is because we are using only one Stream mode (datarate MCS below 9)
I see that aircrack dkms 88xxAU driver is compatible with these multistreams mode (MIMO)
So it's open-hd that dont use these driver capability.
Does anybody could check this? maybe rodizio?
The text was updated successfully, but these errors were encountered: