forked from bastibl/gr-ieee802-11
-
Notifications
You must be signed in to change notification settings - Fork 0
kg810/gr-ieee802-11
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Hi, this an IEEE 802.11 a/g/p transceiver for GNU Radio v3.7. Over the air, I tested it with the Ettus USRP N210 with XCVR2450 and CBX daughterboards. For interoperability tests I use mainly an Atheros (ath5k) WiFi card. The code can also be used to make packet error rate simulations. ### DEPENDENCIES IT++ (Version: 4.2-4) GNU Radio (v3.7 with UHD support) If you want to run the receive demo (the one that plots the subcarrier constellations), please assert that you have python-opengl installed. The nongl version of the plot does not work for me. ### INSTALLATION sudo apt-get install libitpp-dev git clone git://github.com/bastibl/gr-ieee802-11.git cd gr-ieee802-11 mkdir build cd build cmake .. make sudo make install sudo ldconfig If you want to connect the flow graph to Wireshark you might also want to install my non WiFi related blocks from https://github.com/bastibl/gr-foo The physical layer is encapsulated in a hierarchical block. To install it, open examples/ofdm_phy_hier.grc in GRC and click build. ### USAGE In the examples folder are several flow graphs. For the more complex ones, there are start scripts in the apps folder. ### REMARKS - If you have problems with the DC offset, try to set the frequency of the RF frontend to a value outside your signal of interest. To do that, set the frequency parameter of the USRP block to something like: uhd.tune_request(5.9e9, 6e6). - If you have a CBX or SBX board, calibrate it. - If you have overruns, assert that you compiled everything in release mode and run volk_profile, which is part of GNU Radio. - If 'D's appear, it might be related to your network interface card. Assert that you made the sysconf changes recommended by Ettus. What NIC do you have? How are you connected to the USRP (switch or directly)? - I never needed it, but maybe real-time priority helps. Transmitter related: - The transceiver is currently connected to a TAP device, i.e. is a virtual Ethernet interface. Therefore, we have no WiFi signaling like association requests and hence, the transceiver can not "join" an ad hoc network. You have to make some small changes to the kernel in order to convince you WiFi card to send to this hosts nevertheless. - The transceiver can not respond to ACKs in time. This is kind of an architectural limitation of USRP + GNU Radio since Ethernet and computations on a normal CPU introduce some latency. You can set the number of ACK retries to zero and handle retransmits on higher layers (-> TCP). - RTS/CTS is not working for the same reason. You can however just disable this mechanism. - Currently, there is no CSMA/CA mechanism, but this can be implemented on the FPGA. ### FURTHER INFORMATION http://www.ccs-labs.org/projects/wime/
About
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published