Atheros_CSI_tool_OpenWRT_src icon indicating copy to clipboard operation
Atheros_CSI_tool_OpenWRT_src copied to clipboard

Getting 0x3x114 CSI values

Open itskalvik opened this issue 5 years ago • 21 comments

I have a WDR4300 router setup with openwrt as the transmitter and a desktop with the ar9590 NIC for the receiver. I forced MCS 16 at 40 MHz (5Ghz) by updating fixed_rate_idx with value 78. But, when I transmit packets, I am getting 0 transmitting antennas and rxs->rs_datalen is 641 in ar9003_csi.c . I tried setting MCS 15 at 40 MHz with 77 in the rate_index_table file and I am getting 2x3x114 CSI values. Not sure why it won't transmit with all antennas when using MCS 16 at 40 MHz. I tried using different routers for transmitting and different desktops with different NICs and got the same issue. I am receiving 3x3x56 CSI values when using MCS 16 at 20 MHz without any issues. I also tried changing the packet length but it still does not work. Any MCS rate over 15 at 40Hz and 5 GHz gives nc = 0 and rxs->rs_datalen = 641. Can't figure out why.

itskalvik avatar Dec 16 '18 04:12 itskalvik

same issue here. When adjusting to a higher rate, I keep getting 3x0x114 CSI value. Not sure what happens.

btw, what is the rate_index_table file you mentioned?

thu-zxs avatar Dec 20 '18 08:12 thu-zxs

When you echo a number into the fixed_rate_idx file you can adjust the MCS rate. 18 gives you MCS 16 at 20MHz and 78 is MCS 16 at 40MHz. you can try playing around with the value to change the Guard interval, MCS rate and channel width.

echo 78 >> /sys/kernel/debug/ieee80211/phy1/rc/fixed_rate_idx

itskalvik avatar Dec 20 '18 16:12 itskalvik

Update: It looks like when ever I send packets with any length of payload at MCS 16 or higher at 40MHz, the recv_csi tool receives a fixed payload length of 1924. Not sure why though.

itskalvik avatar Dec 20 '18 23:12 itskalvik

Yeah, right. When echoing 78 into that files, packets with payload length of 1924 keeps occurring, with CSI value being 3x0x114. When value being 77, payload length is 1040, and CSI value is 3x2x114.

MCS 16 corresponds to a 3 streams transmission, which may cause problems according to the author: https://github.com/xieyaxiongfly/Atheros-CSI-Tool-UserSpace-APP/issues/22#issuecomment-287285288

I've sent email to @xieyaxiongfly with no response. Hope anyone could help, really need 3x3x114 CSI.

Update: Question: Is there a link, table or something shows the relationship between the number and guard interval, MCS rate, channel width?

thu-zxs avatar Dec 21 '18 03:12 thu-zxs

I didn't find any reference. Just tried different values. But If I remember it right 0-24 was 20MHz, large GI, after that it was 20 MHz, short GI followed by 40MHz with large and then short GI.

itskalvik avatar Dec 21 '18 21:12 itskalvik

Any updates? I use ubuntu version and any higher than mcs 16 will mostly lose CSI with ampty 3*0*114 and few 3*3*56 ones.

jinzhang-unsw avatar Dec 25 '18 08:12 jinzhang-unsw

Nothing. Got stuck.

thu-zxs avatar Dec 26 '18 06:12 thu-zxs

I print out the buffer in csi_fun.c in the receiver, the csi_len variable is wrong, and buf_addr mostly is 0 when transmit in any rates higher than 0x90 (MCS 16). Everything work normally if transmit in rates lower than 0x8f (MCS 15). Potentially the transmitter has bug like bit operation can cause this problem.

jinzhang-unsw avatar Dec 26 '18 06:12 jinzhang-unsw

ubuntu版本下如何设置成5GHz,如何获得114个子载波?@jinzhang-unsw

shulinyang avatar Apr 10 '19 12:04 shulinyang

ubuntu版本下如何设置成5GHz,如何获得114个子载波?@thu-zxs

shulinyang avatar Apr 10 '19 12:04 shulinyang

ubuntu版本下如何设置成5GHz,如何获得114个子载波?@thu-zxs

  1. AP working on 5GHz: Google about the hostapd configurations.
  2. search on the issues for how to change the transmission rate on ubuntu.

thu-zxs avatar Apr 15 '19 09:04 thu-zxs

能分享一下处理114个子载波的代码吗@thu-zxs

shulinyang avatar Apr 15 '19 13:04 shulinyang

能分享一下处理114个子载波的代码吗@thu-zxs

只要ap设置成40MHz,设置好传输速率就可以获得114个子载波呀。

thu-zxs avatar Apr 15 '19 15:04 thu-zxs

已经可以拿到114个子载波,您有源码对114子载波进行处理吗,如一些过滤器?@thu-zxs

shulinyang avatar Apr 16 '19 02:04 shulinyang

出现一个问题,Ubuntu模式下,天线设置为31,结果收集的数据是32*114,您能解决这个问题吗?万分感谢@thu-zxs

shulinyang avatar Apr 16 '19 14:04 shulinyang

如何调整速率@thu-zxs

shulinyang avatar Apr 17 '19 02:04 shulinyang

如何调整速率@jinzhang-unsw

shulinyang avatar Apr 17 '19 07:04 shulinyang

@shulinyang 你好,请问你是怎么拿到114个子载波的啊?可否加一波好友哇

zwlovefish avatar May 30 '19 12:05 zwlovefish

@shulinyang你好,请问你是怎么拿到114个子载波的啊?可否加一波好友哇

18255445041微信

shulinyang avatar Jun 24 '19 13:06 shulinyang

我现在可以拿到114个子载波,但是数据中每次都会存在32114而且会存在56的子载波,请问您遇到这种情况吗?如何修改呢@thu-zxs

shulinyang avatar Jul 02 '19 01:07 shulinyang

1924 payload is a bug in Linux kernel CSI driver. 1924 is not the payload, it is a partial CSI buffer. See my comment: https://github.com/xieyaxiongfly/Atheros-CSI-Tool-UserSpace-APP/issues/22#issuecomment-552143069

mzakharo avatar Nov 10 '19 05:11 mzakharo