Jiao Xianjun
1477da1602
Update frequent_trick.md
2022-04-27 09:37:00 +02:00
Jiao Xianjun
c88a7dfd18
Add WoWMoM2022 paper by Thijs Havinga
2022-04-19 11:48:26 +02:00
Jiao Xianjun
5d6b78c965
Add method for increasing Tx power:
...
In the app note.
2022-04-13 08:58:05 +02:00
Jiao Xianjun
b9b3abd353
Update README.md
2022-04-04 11:20:58 +02:00
Jiao Xianjun
0e84893f08
Update README.md
2022-04-01 14:12:20 +02:00
Jiao Xianjun
a816a273f8
Update README.md
2022-04-01 12:31:59 +02:00
Jiao Xianjun
e91d8a2947
Update README.md
2022-04-01 11:33:41 +02:00
Jiao Xianjun
81493bdcfb
Update README.md
2022-04-01 10:59:19 +02:00
Jiao Xianjun
d5242439df
Update 64bit image openwifi-1.3.0-wilsele-
2022-04-01 10:50:04 +02:00
Jiao Xianjun
1b00373f88
Update FPGA image link for openwifi-1.3.0-wilsele
2022-04-01 10:34:53 +02:00
Jiao Xianjun
30d5f3221b
Merge pull request #151 from open-sdr/pre-release
...
openwifi-1.3.0-wilsele
2022-04-01 10:32:43 +02:00
Xianjun Jiao
90a9618231
doc and app notes update
2022-04-01 10:04:21 +02:00
Xianjun Jiao
425e8346ec
Add clock architecture and sensing picture
2022-04-01 10:01:42 +02:00
Xianjun Jiao
6fdc02fb32
Remove hdmi spdif and clkgen from the devicetree of zc706, because they are removed from the FPGA design
2022-04-01 10:00:39 +02:00
Xianjun Jiao
628c5d74a4
inject_80211 make location needs to be changed in post_config.sh
2022-03-30 13:06:16 +02:00
Xianjun Jiao
152dcbfbcc
Add inject_80211 make into post_config.sh
2022-03-30 11:47:41 +02:00
Xianjun Jiao
d6c1c3f7f5
Easier way to set arbitrary trx frequency via register rf 1 and 5:
...
Create helper function ad9361_tx_calibration() and openwifi_rf_rx_update_after_tuning() for frequency tuning. No matter it is from Linux request or rf register 1 (Tx freq override MHz) and 5 (Rx freq override MHz)
2022-03-30 11:36:36 +02:00
Xianjun Jiao
6bb9ef71e9
Example of how to add debug channel via sysfs and access it via script --> driver
2022-03-29 15:18:55 +02:00
Xianjun Jiao
e4d5d1a3ce
Add code for new statistics and setting channel via sysfs
2022-03-29 15:16:29 +02:00
Xianjun Jiao
947b93458d
Add missing code in sdr.h for the improved tx queue mechanism in previous commit
2022-03-29 15:08:44 +02:00
Xianjun Jiao
8b7c849019
The improved tx queue handling mechanism between openwifi_tx() and openwifi_tx_interrupt():
...
1. Consider more corner cases: interrupt missing will cause a bd in the driver ring will never be cleaned. this need to be considered in the openwifi_tx()
2. Another corner case in openwifi_tx_interrupt: a packet is just sent and an interrupt calls the routine, but it finds that the bd in the driver ring has been cleared somehow
3. The driver ring and FPGA queue are always 1 on 1 mapping. User needs to map the higher level Linux priority to the driver ring idx instead of FPGA queue idx
4. Record the information about which FPGA queue (driver ring) has stopped which Linux priority before, and do exhausted search after a packet is sent (in the interrupt routine) to wake that Linux priority queue (in mac80211) up
5. Reserve more room before the FPGA queue full to adopt the last packet before we decide to stop the mac80211 queue. In this way, the last packet before the queue stop will still be put into FPGA and is expected to be sent (not lost/drop actively)
2022-03-29 14:44:39 +02:00
Xianjun Jiao
2c78ef135f
Fix the AMPDU reporting bug in tx interrupt:
...
When pkt_cnt is 1, it is also possible the aggregation case (single packet aggregation). So the reporting type (non aggregation or aggregation) should be decided automatically based on a dedicated use_ht_aggr flag instead of pkt_cnt, otherwise the Linux minstrel_ht link adaptation can not get correct TX status report in the aggregation case and will keep using the lowest MCS0
2022-03-29 14:20:38 +02:00
Xianjun Jiao
106a5e441f
Align rx ring init to the new pkt existing flag inserted by FPGA
2022-03-29 14:14:30 +02:00
Xianjun Jiao
d4661bbd1c
Update the RX_BD_BUF_SIZE and NUM_RX_BD in sdr.h
2022-03-29 12:42:17 +02:00
Xianjun Jiao
088d2d18c4
Add dmesg printk flag in sdr.h and use it in openwifi_rx-interrupt() accordingly
2022-03-29 12:39:33 +02:00
Xianjun Jiao
ca865e3837
Move the location of hdr/addr1/addr2 in openwifi_rx_interrupt() preparing for statistics usage
2022-03-29 12:36:53 +02:00
Xianjun Jiao
d267a5f4fb
Add more info when the rx pkt content is abnormal in openwifi_rx_interrupt()
2022-03-29 12:34:51 +02:00
Xianjun Jiao
9c7deabd59
Make the freq/band report in openwifi_rx_interrupt from our driver internal variable instead of Linux setting. The latter might be asynchronous and cause issue: if the received management frame has wrong freq/band info, the Linux mac80211 might reject some state or have issue according to Linux kernel doc somewhere
2022-03-29 12:21:25 +02:00
Xianjun Jiao
0dc3d33d6e
Rename the rssi_val to more meaningful rssi_half_db in openwifi_rx_interrupt, and use the helper function rssi_half_db_to_rssi_dbm to do calculation
2022-03-29 12:17:54 +02:00
Xianjun Jiao
1bbdabf023
Remove unnecessary variable initialization and other minor adaptation
2022-03-29 12:16:04 +02:00
Xianjun Jiao
b62a370457
Change the sc to seqno in openwifi_rx_interrupt() and align the operation logic to openwifi_tx()
2022-03-29 12:14:29 +02:00
Xianjun Jiao
bca13d88e4
Shorten the openwifi_rx_interrupt message header to openwifi_rx
2022-03-29 12:13:05 +02:00
thavinga
641a980a9b
Disable AD9361 auto calibration and enable openwifi FPGA SPI control in openwifi_start()
2022-03-29 11:34:57 +02:00
Xianjun Jiao
3ac0023386
Try to allocate more room while skb head/tail room is not enough to adopt header/padding in openwifi_tx()
2022-03-29 11:24:42 +02:00
Xianjun Jiao
e7312859f8
Move the normal print location in openwifi_tx()
2022-03-29 11:23:10 +02:00
Xianjun Jiao
09350b04b6
Optimize the type of prio and queue_idx in openwifi_tx()
2022-03-29 11:21:46 +02:00
Xianjun Jiao
f11dfbd0cf
Try to wait a bit instead of quit immediately while status!=DMA_COMPLETE in openwifi_tx()
2022-03-29 11:18:51 +02:00
Xianjun Jiao
f70dfc6b7b
Optimize seq_no in openwifi_tx()
2022-03-29 11:16:49 +02:00
Xianjun Jiao
5c65530f0b
Calculate the duration/id field in driver:
...
Linux only sets that field for non-ht, and leaves the field blank for ht. Linux expects lower level set it. This is realized after checking the mac80211 source code. After studying the duration/id field of COTS WiFi chip by wireshark, we calculate it in driver sdr.c gen_ht_duration_id(). The concrete logic/method of the calculation is in the comments of the function gen_ht_duration_id().
2022-03-29 11:04:35 +02:00
Xianjun Jiao
86032d0bc7
sifs and n_dbps optimization in openwfii_tx()
2022-03-29 11:03:31 +02:00
Xianjun Jiao
d8b2967699
date type optimization
2022-03-29 11:01:13 +02:00
Xianjun Jiao
db25dabc2b
Optimize the pkt_need_ack flag check and rate_hw_value override
2022-03-29 10:56:47 +02:00
Xianjun Jiao
6e0ffbea06
Add abnormal detection prio >= MAX_NUM_HW_QUEUE in openwifi_tx()
2022-03-29 10:48:12 +02:00
Xianjun Jiao
5e4bffc1ef
Optimize some variable type
2022-03-29 10:47:32 +02:00
Xianjun Jiao
56d25ef86c
We try to handle all tid, so qos_hdr can be optimized
2022-03-29 10:45:49 +02:00
aslaamshaafi
9f3a7b7fcf
Merge branch 'pre-release' of github.com:open-sdr/openwifi into pre-release
2022-03-29 10:21:17 +02:00
aslaamshaafi
616c431c9e
replace len_mpdu+LEN_PHY_CRC with num_dma_symbol in sdr.c because axis interface in tx_intf IP use it as num_dma_symbol.
2022-03-29 10:21:04 +02:00
Xianjun Jiao
4bdc210e86
Open the 4 queue gates all the time during xpu initialization
2022-03-29 10:13:16 +02:00
Xianjun Jiao
b597510ce3
Relax the ACK waiting condition for non block ACK case:
...
If the packet type/sub-type is ACK and the length field is 14, we believe it is ACK. No matter the fcs is valid or not
2022-03-29 10:11:14 +02:00
Xianjun Jiao
066dd1bba2
fine tuning of ack tx wait time for new design
2022-03-29 10:06:27 +02:00