Awesome
rtl8733bu-20230626
RTL8731BU & RTL8733BU Linux driver, mainly modified for FPV.
This repository will be my playground (mainly for dirty low-level hacks. so, no performance guarantee in this repo).
OpenIPC had already added this driver, see OpenIPC/realtek-wlan.
Download pre-built OpenIPC firmware with this driver integrated here to help test new features.
Check out the original driver tarball from the module vendors at here.
Android 4~12 driver is included also, but I have no idea how to use them.
Any Wi-Fi adaptor/module with RTL8731BU/RTL8733BU chipset should work. The VID/PID may vary.
BL-M8731BU4_datasheet_V1.0.1.0_230323.pdf
Suitable for FPV beginners, or any ultra-small size all-in-one digital video transmitters.
Not suitable for RX.
Tested:
- Build on kernel 6.8
- OpenIPC integration
- Packet injection: Good, legacy/MCS rates work well, LDPC encoding works too (in most cases, see "known bugs" below)
- Monitor (RX): Good for most cases (see below)
- TX power unlocked by
iw
: supported, validated by my SDR receiver. Should setrtw_tx_pwr_by_rate=0 rtw_tx_pwr_lmt_enable=0
wheninsmod
- Set Wi-Fi regd in OS: Set
rtw_regd_src=1
wheninsmod
- 5MHz/10MHz Injection: Seems good, set to 20MHz channel first, then
echo <5/10> > /proc/net/rtl8733bu/<wlan0>/narrowband
- Unlock center frequency: All frequencies between 5080MHz ~ 6030MHz (5MHz step) in 5GHz band. They really cost-downed it too much
- Temperature readout: working, see
thermal_state
in procfs - dkms install
- Channel state scanning (ACS) -- see here for usage
Need test or can be further investigated:
- EDCCA Threshold: merged, not tested yet
- SIFS, Slot time, ACK timeout, etc.
- ~4k Maximum MTU: merged, not tested yet
Known bugs/issues:
- Monitor RX can not decode any LDPC-encoded packet in any bandwidth. 873xb does not support LDPC RX (hard-coded here).
- Injecting LDPC-encoded packets is not working well. In most cases, it works, but only when injecting with certain MCS & packet length combinations, the packet does not go into the air. It could be some firmware or silicon bug. If it's not working, you can -- a. slightly change the packet length, b. change MCS, or c. just disable the LDPC
- No narrowband AP/STA support (needs additional firmware)