Skip to content

How to make openwifi work in 802.11b mode and the phone can successfully connect to the hotspot #454

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

Open
jylccc opened this issue Apr 10, 2025 · 10 comments

Comments

@jylccc
Copy link

jylccc commented Apr 10, 2025

  1. Could you send email to xianjun.jiao@ugent.be to introduce your self?
    yes,i already send it to you
  2. Our image is used directly or you build your own image?
    use your image
  3. What is your own modification?
    Try to change the working mode of openwifi to 802.11b.
  4. Versions: OS, Vivado, openwifi/openwifi-hw repo branch and commit revision
    unbuntu18.3
    vivado2018.3
    openwifi branch :master
    commit revision:2021.04
  5. Board/hardware type
    zedboard+fcommcs3
  6. WiFi channel number
    6
  7. Steps to reproduce the issue, and the related error message, screenshot, etc
    I want to make openwifi work in 802.11b mode, I refer to the special note for 11b you wrote, I may not understand the meaning, I first changed the support_rate and base_rate in hostapd-openwifi-11ag:
interface=sdr0
driver=nl80211
country_code=BE
ssid=openwifi
hw_mode=g
channel=6
#supported_rates=2 4 11 22
#basic_rates=2 4
#supported_rates=60 90 120 180 240 360 480 540
#basic_rates=60 90 120 180
supported_rates=10 20 55 110
basic_rates=10 20 55 110
#supported_rates=60 90
#basic_rates=60 90
#ieee80211n=1
#ht_capab=[SHORT-GI-20]
#require_ht=1
#ieee80211d=1
#ieee80211h=1
#wpa=2
#wpa_passphrase=myrabbit
#wpa_key_mgmt=WPA-PSK

After logging into my zedboard with putty, I executed the following command at end point

cd openwifi
./fosedem-11ag.sh
./build_wpa_supplicant_wo11b.sh
./fosdem.sh contains:

#!/bin/bash
# Author: Xianjun Jiao
# SPDX-FileCopyrightText: 2019 UGent
# SPDX-License-Identifier: AGPL-3.0-or-later

killall hostapd
killall webfsd

cd ~/openwifi
service network-manager stop
./wgd.sh
ifconfig sdr0 192.168.13.1
route add default gw 192.168.10.1
service isc-dhcp-server restart
hostapd hostapd-openwifi-11ag.conf &
sleep 5
cd webserver
webfsd -F -p 80 -f index.html &

build_wpa_supplicant_wo11b.sh contains:

#!/bin/bash

# Author: Michael Mehari
# SPDX-FileCopyrightText: 2019 UGent
# SPDX-License-Identifier: AGPL-3.0-or-later

#if [ "$#" -ne 1 ]; then
#    echo "You must enter exactly 1 arguments: \$OPENWIFI_DIR"
#    exit 1
#fi

#OPENWIFI_DIR=$1

set -x

#cd $OPENWIFI_DIR/user_space
wget http://w1.fi/releases/wpa_supplicant-2.1.tar.gz
tar xzvf wpa_supplicant-2.1.tar.gz
patch -d wpa_supplicant-2.1/src/drivers/ < driver_nl80211.patch
cd wpa_supplicant-2.1/wpa_supplicant/
cp defconfig .config
sed -i 's/#CONFIG_LIBNL32.*/CONFIG_LIBNL32=y/g' .config
make clean
make -j16
# sudo make install
cd ../../
rm -r wpa_supplicant-2.1/ wpa_supplicant-2.1.tar.gz

The final result is that the wifi signal can be detected on the mobile phone, but when connected, the network refuses the request.
7. Describe your debug efforts by Linux native tools, such as tcpdump and "cat /proc/interrupts"

  1. Describe your debug efforts by: https://github.com/open-sdr/openwifi/blob/master/doc/README.md#Debug-methods

  2. Any other thing we need to know for helping you better?

@HavingaThijs
Copy link
Collaborator

Unfortunately IEEE 802.11b is not supported by openwifi. Since it's based on DSSS modulation instead of OFDM, it would require a significant amount of work to support it.
The special note is for the device connecting to openwifi; it should disable using 802.11b for any frames in order for openwifi to be able to receive it.

@jylccc
Copy link
Author

jylccc commented Apr 14, 2025

Unfortunately IEEE 802.11b is not supported by openwifi. Since it's based on DSSS modulation instead of OFDM, it would require a significant amount of work to support it. The special note is for the device connecting to openwifi; it should disable using 802.11b for any frames in order for openwifi to be able to receive it.
First of all, thank you very much for your reply. If I want to add an 802.11b mode at the physical layer and then start an 802.11 process at the upper layer of the original architecture, and make the physical layer interface and MAC layer data interaction of the newly added 802.11b imitate those of 802.11a/g/n, is this feasible? Also, in which files are the processes and interfaces used for the interaction between the physical layer and MAC layer of 802.11a/g/n specifically located? And can the reception of 802.11b share the reception process of 802.11a/g/n? Do I just need to add 802.11b in the decode part?Looking forward to your reply.

@HavingaThijs
Copy link
Collaborator

Since 802.11b is based on DSSS and not OFDM, you'll have to modify the whole receiver chain running on the FPGA, whose top-level state machine is currently implemented here. In principle I believe the MAC layer can remain the same, so indeed you just need to add the decoding of 802.11b, but as this is a whole new PHY (e.g. even packet detection is different) this will require quite some work.

@jylccc
Copy link
Author

jylccc commented Apr 15, 2025 via email

@HavingaThijs
Copy link
Collaborator

802.11b support is currently not in our roadmap, for requests regarding business collaboration please contact Filip.Louagie@UGent.be.

@ViruKM
Copy link

ViruKM commented Apr 30, 2025

Hi Thijis,
I am trying build FPGA for Openwifi-hw for antsde200 board. i followed all the steps given in readme. but i am facing lot of errors and i am unable to do ./openwifi.tcl file in vivado and its open openofdm block.

@jylccc
Copy link
Author

jylccc commented May 19, 2025

802.11b support is currently not in our roadmap, for requests regarding business collaboration please contact Filip.Louagie@UGent.be.

Thank you very much for your reply. If I want to capture the WiFi received signal level, frequency offset, carrier-to-noise ratio, bit error rate, carrier lock indication, JT lock indication, etc. on the PC side, how can I find these values? Are there clear definitions in the baseband part? The dot11tx.txt file generated by the transmitter and the samples.dat file directly used by the receiver are not the same. The format of the corresponding samples.txt file generated by Python is also different from that of dot11tx.txt. How should I handle it if I want to calculate the bit error rate?

@HavingaThijs
Copy link
Collaborator

HavingaThijs commented May 19, 2025

You need several different ways to obtain these different values, e.g. this application note for the frequency offset when capturing real Wi-Fi packets.
Bit error rate is not automatically calculated, you would need to compare the decoded bits with the known bits.
"Carrier lock" is e.g. the "short preamble detected" counter: https://github.com/open-sdr/openwifi/blob/master/doc/app_notes/perf_counter.md

I'm not entirely sure where you are referring to with the samples.dat file and samples.txt file.

@jylccc
Copy link
Author

jylccc commented May 20, 2025

您需要几种不同的方法来获取这些不同的值,例如,此应用说明用于捕获实际 Wi-Fi 数据包时的频率偏移。误码率不是自动计算的,您需要将解码后的位与已知位进行比较。 例如,“Carrier lock” 是 “short preamble detected” 计数器:https://github.com/open-sdr/openwifi/blob/master/doc/app_notes/perf_counter.md

我不完全确定你指的是 file 和 file 的什么地方。samples.dat``samples.txt

OK, thanks. But where can I find the JT lock and receive level indication? Currently, does OpenWiFi support 2x2 MIMO? If it does, are there any test metrics or test plans for 2x2 MIMO introduced in the MD document?

@jylccc
Copy link
Author

jylccc commented May 21, 2025

You need several different ways to obtain these different values, e.g. this application note for the frequency offset when capturing real Wi-Fi packets. Bit error rate is not automatically calculated, you would need to compare the decoded bits with the known bits. "Carrier lock" is e.g. the "short preamble detected" counter: https://github.com/open-sdr/openwifi/blob/master/doc/app_notes/perf_counter.md

I'm not entirely sure where you are referring to with the samples.dat file and samples.txt file.

Hello, I would like to ask you a question, that is, I want to make n work at 2.4Ghz, change hw_mode to g,channel set to 6, other things remain the same, but openwifi network does not show up, my code screenshot is as follows.
hostapd-openwifi.conf contains:
interface=sdr0 driver=nl80211 country_code=BE ssid=openwifi hw_mode=g channel=6 supported_rates=60 90 120 180 240 360 480 540 basic_rates=60 90 120 180 ieee80211n=1 #ht_capab=[SHORT-GI-20] require_ht=1 #ieee80211d=1 #ieee80211h=1 #wpa=2 #wpa_passphrase=myrabbit #wpa_key_mgmt=WPA-PSK
fosdem.sh contains:
`killall hostapd
killall webfsd

cd ~/openwifi
service network-manager stop
./wgd.sh
ifconfig sdr0 192.168.13.1
route add default gw 192.168.10.1
service isc-dhcp-server restart
hostapd hostapd-openwifi.conf &
sleep 5
cd webserver
webfsd -F -p 80 -f index.html &
`
terminal contains:

sdr0: STA 9e:86:dc:ad:87:cc IEEE 802.11: associated (aid 1)
sdr0: AP-STA-CONNECTED 9e:86:dc:ad:87:cc
sdr0: STA 9e:86:dc:ad:87:cc RADIUS: starting accounting session 0000002E-00000000
sdr0: STA 9e:86:dc:ad:87:cc IEEE 802.11: authenticated
sdr0: STA 9e:86:dc:ad:87:cc IEEE 802.11: did not acknowledge authentication response
sdr0: STA 9e:86:dc:ad:87:cc IEEE 802.11: did not acknowledge authentication response
sdr0: STA 9e:86:dc:ad:87:cc IEEE 802.11: did not acknowledge authentication response
sdr0: STA 9e:86:dc:ad:87:cc IEEE 802.11: did not acknowledge authentication response

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants