Project update 4 of 7
In our previous updates, we introduced how to use AntSDR E200 with C/C++ API or Python API. In today’s update, let’s take a look at how AntSDR E200 supports the open-source projects: openwifi, which is a Linux mac80211 compatible full-stack IEEE802.11/Wi-Fi design based on SDR (Software Defined Radio).
Openwifi uses SDR to build a WiFi signal transceiver, and this update will walk you through the steps of using openwifi with AntSDR E200.
Download openwifi img, unzip and burn it into a SD card (>= 16 GB). After this operation, the SD card should have two partitions: BOOT and rootfs. To flash the SD card, SD card tool software (such as Startup Disk Creator in Ubuntu) or dd command can be used：
sudo dd bs=512 count=31116288 if=openwifi-1.4.0-notter.img of=/dev/sdb
note: /dev/sdb is our sdcard mounting point.
Config the correct files in the BOOT partition:
Insert the SD card to the board. Configure the board in SD booting mode. Connect antennas. Power on.
Login to the board from our PC (PC Ethernet should have IP 192.168.10.1) with password openwifi or we can use a serial port.
# Trough ssh ssh email@example.com # Trough uart (we will need tools like picocom and /dev/ttyUSB0 is our serial port) sudo picocom -b 115200 /dev/ttyUSB0
Perform the necessary configuration
raspi-config --expand-rootfs #(Only needed when our SD card > 16GB. Run and reboot) cd openwifi ./setup_once.sh #(Reboot the board. Only need to run once for new board) ./wgd.sh
Then, we can scan the wifi around our device
ifconfig sdr0 up iwlist sdr0 scan
I will get something like this:
root@analog:~/openwifi# ifconfig sdr0 up root@analog:~/openwifi# ifconfig .... sdr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 ether 66:55:44:33:22:db txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ... root@analog:~/openwifi# iwlist sdr0 scan sdr0 Scan completed : Cell 01 - Address: 78:60:5B:60:8E:C2 Channel:44 Frequency:5.22 GHz (Channel 44) Quality=36/70 Signal level=-74 dBm Encryption key:on ESSID:"SEAC" Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s 36 Mb/s; 48 Mb/s; 54 Mb/s Mode:Master ... Cell 02 - Address: 7E:60:5B:60:8E:C2 Channel:44 Frequency:5.22 GHz (Channel 44) Quality=33/70 Signal level=-77 dBm Encryption key:on ESSID:"" Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s 36 Mb/s; 48 Mb/s; 54 Mb/s Mode:Master ... Cell 03 - Address: 7E:60:5B:60:8D:1A Channel:48 Frequency:5.24 GHz (Channel 48) Quality=26/70 Signal level=-84 dBm Encryption key:on ESSID:"" Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s 36 Mb/s; 48 Mb/s; 54 Mb/s Mode:Master ...
Finally, let’s turn our AntSDR E200 device into a router
./fosdem.sh # (Use "./wgd.sh 1" to enable experimental AMPDU aggregation on top of 11n) # (Use "./fosdem-11ag.sh" to force 11a/g mode)
I will get something like this:
root@analog:~/openwifi# ./fosdem.sh hostapd: no process found rm: cannot remove '/var/run/dhcpd.pid': No such file or directory Job for isc-dhcp-server.service failed because the control process exited with error code. See "systemctl status isc-dhcp-server.service" and "journalctl -xe" for details. Configuration file: hostapd-openwifi.conf sdr0: interface state UNINITIALIZED->COUNTRY_UPDATE Using interface sdr0 with hwaddr 66:55:44:33:22:db and ssid "openwifi" sdr0: interface state COUNTRY_UPDATE->ENABLED sdr0: AP-ENABLED
Now take out my mobile phone, and I will see a Wi-Fi signal named "openwifi".
This example demonstrates how to use AntSDR E200 to run the example of openwifi, and shows the ability of AntSDR E200 to be applied in actual interesting projects. For more information about openwifi, please refer to their GitHub repository.
Along with this demo, we’d like to share this video of DragonOS running openwifi on the AntSDR E200. In this video, the creator uses AntSDR E200 in monitoring mode to observe surrounding WiFi signals.
We hope this helps to convey some of the potential use cases for AntSDR E200 using openwifi. Feel free to send us a message if you have any technical questions. We’re very grateful for the support we’ve received so far. If you haven’t already, please help us bring our project to life! We are offering our boards at a special campaign pricing, so pre-order yours today.