10 ms·
Openwifi: Linux mac80211 compatible full-stack 802.11/Wi-Fi design based on SDR
- deleted 6y ago[deleted]
- homarp 6y agosee also https://www.youtube.com/watch?v=Notn9X482LI https://www.youtube.com/watch?v=Notn9X482LI a talk introducing OpenWifi
- tambourine_man 6y ago0.2 ms latency. Pretty good.
- mikenew 6y agoThat's about what I get with my desktop using Cat6 -> Network Switch -> Cat6 -> router. That's very impressive.
- etaioinshrdlu 6y agoIt seems one of the final missing links to fully open source hardware WiFi would be the RF transceiver chip. This is, to my understanding, something similar to a high-bandwidth DAC and ADC coupled with configurable frequency mixers to access radio frequencies. Is anyone trying to create an open source version of that chip? I understand there's not a lot in the way of open source analog chip designs out there, but with Google/Skywater's free PDK, the time may be ripe to change that. Also, there are many SDR LTE base stations, but can we make our own SDR LTE handset as well? Can it connect to an existing cell network?
- monocasa 6y agoThe Google/Skywater PDK only allows for digital designs at the moment.
- etaioinshrdlu 6y agoThere is definite progress in bringing analog support, but I agree it is nowhere near ready yet.
- myself248 6y agoHow open does it need to be? If you're willing to take up a suitcase worth of room, you can use standard analog ICs and RF building blocks to take a quite normal DAC and upconvert it to RF, and downconvert the receive chain likewise to a very common ADC. The standard wifi channel width of 20MHz should place it within reach of quite a few off-the-shelf chips. That approach should be able to do the whole thing with no NDAs or whatever; it would be a fine capstone project for someone chasing an EE/RF degree...
- etaioinshrdlu 6y agoI think it would be cool if 100% of the digital logic was open source, and 100% of the analog was at least well-understood, and commoditized. Kind of like how you don't need an open source op-amp, they're well understood and commoditized (for most applications). Does it really take up a suitcase worth of electronics to do what the transceiver IC's are doing?
- myself248 6y agoProbably not, but it's a tradeoff between integration and modularity/testability. Take a look at slide 23: https://ntms.org/files/Jan2018/Microwave_Radio_Cowtown_2018.pdf https://ntms.org/files/Jan2018/Microwave_Radio_Cowtown_2018.... Can you build that all onto one board? Yeah sure, after it's proven and set in stone.
- exikyut 6y agoThe HackRF One can do 1MHz-6GHz, but also indicates "8-Bit I and 8-Bit Q". On the one hand I'm like, it's basically just dumping wideband spectrum into the air, right? On the other hand the OpenOFDM reference talks quite a bit about much larger I/Q values, so maybe "8-bit quadrature samples" is exactly why nobody uses it for Wi-Fi. :( (Yup, am RF noob)
- fake-name 6y agoThe HackRF One uses a series of up/down converters, plus a MAX2837 for tuning, and a MAX5864 for the actual ADC/DAC. It goes 22 MSPS, so it can theoretically look at any ~20 mhz section of the 1 MHz - 6 GHz tuning range. WiFi channels are generally 20, 40 or 80 MHz, so the latter two are not possible given the hardware, and the smallest (20 MHz) would be right at the limit of the hardware. Additionally, there may be other complications (tx/rx switching speed, tuning speed (I'm not sure if wifi would need to do frequency hopping, and if the bandwidth is sufficient to mitigate that need), etc...) And then someone would have to actually implement it.
- bri3d 6y agoIf you're going down to the "fixed function chips must also be open" realm, you'd also need an open source FPGA (or to use PDK to try to tape out) for the OpenWifi design. My read is that currently OpenWifi is also tied to proprietary Xilinx IP cores like the Xilinx Viterbi Decoder.
- etaioinshrdlu 6y agoYes, I agree. But perhaps the design that is implemented on the FGPA could just be turned into a regular ASIC as well, once it is known to work well.
- Lramseyer 6y agoThe challenge of doing that, is that there are apparently a lot of proprietary IP blocks (both analog and digital) that are in the FPGA (like the Viterbi decoder as the parent comment suggests) that would need to be redesigned before you could tape it out into your own chip. I am not sure what other IP blocks are being used in these FPGAs, but a viterbi decoder can be pretty area and power heavy (relatively speaking.) I'm not sure if you would be able to get enough performance [speed] with modern WiFi protocols by implementing it in normal FPGA fabric hence why those blocks are woven into the FPGA. All that said, this is still a very good thing, because it marks a step forward towards a more open source hardware ecosystem.
- jxj 6y agoIndeed, not only the viterbi but also many basic building blocks in the Xilinx and Analog Devices reference design which is the starting point of our openwifi project. Viterbi won't be an issue, we know how to write our own viterbi decoder on FPGA. It just need some time. A Thorough and comprehensive IP block analysis will be needed and we will also evaluate how big the effort will be to replace all (almost) the big company owned blocks. We have to do this analysis and invest effort in the future, because we really want to tape out a real opensource WiFi baseband chip! As the first step, RF won't be integrated.
- deleted 6y ago
- jacquesm 6y agoIsn't that a patent minefield?
- mschuster91 6y agoIf one is selling it yes indeed. For merely publishing the source? I'm not sure.
- otterley 6y agoAt least in the U.S., patents forbid making, using, selling, or importing a patent-encumbered device without the inventor or assignee's consent. So no, not just selling.
- throwaway2048 6y agoAnd source code is none of those things
- otterley 6y agoDo you have a legal citation for this assertion? I don’t think the law is clear on this either way.
- throwaway2048 6y agoDo you have a legal citation that it does? You are the one putting forward that its illegal.
- otterley 6y agoI did not claim that source code constitutes an "invention" for the purpose of patent law or that the act of copying source code constitutes "making" an invention--the law is unclear on that. I was only stating that "selling" an invention was not the only act forbidden by patent law. Here is the relevant law that supports my claim: https://www.law.cornell.edu/uscode/text/35/271 https://www.law.cornell.edu/uscode/text/35/271 (a) Except as otherwise provided in this title, whoever without authority makes, uses, offers to sell, or sells any patented invention, within the United States or imports into the United States any patented invention during the term of the patent therefor, infringes the patent. (b) Whoever actively induces infringement of a patent shall be liable as an infringer. Title 35 of the U.S. Code is the full text of U.S. Patent legislation. Then there are the volumes of case law interpreting it, if you'd care to read it.
- sasaf5 6y ago> can we make our own SDR LTE handset To achieve the same data rates as a usual LTE handset, but using SDR instead of an ASIC, would make it extremely power hungry. Power is not much of an issue for the base station, but for the handset it is essential.
- apcragg 6y agoYou're right. It's trite, but given design flexibility, low power, or cost you only get to pick two.
- teleforce 6y agoI'd say it is very unlikely and close to impossible unless it's sponsored by a government fund or a very big IC design company that's as big as Intel. But I'm glad if someone can proof me wrong :-) Nowadays if you want an RF transceiver chip you either go with direct synthesis of ADC/DAC or homodyne architecture. The companies that have both of these design capabilities are ADI and TI, and both them are happy with their monopoly. But if any R&D company that probably can pull it off it will be IMEC, and coincidentally it is the employer of some of Openwifi engineers. FYI, IMEC are both funded by Belgium government and a well established IC design company.
- floatingatoll 6y ago"Is anyone being funded to create an open source version of that chip?" might be a more pragmatic question.
- jxj 6y agoGood and tough question. So far, we are not very successful to find enough funding to bring the design to the next mature level and tape out it. Working on it, but difficult. No one can decide to pay 200~300k euro in a minute with very uncertain return (like charity), because no one can 100% answer the question of how many openwifi chips can be sold per year.
- forgot_account 6y ago>>>but can we make our own SDR LTE handset as well? Maybe if you put one these in a kinda-large handheld: https://tinysdr.org/ https://tinysdr.org/ https://limemicro.com/products/boards/limesdr-mini/ https://limemicro.com/products/boards/limesdr-mini/ https://xtrx.io/about/ https://xtrx.io/about/
- linuxlizard 6y agoIs the paper available elsewhere? https://biblio.ugent.be/publication/8663043/file/8663044.pdf https://biblio.ugent.be/publication/8663043/file/8663044.pdf
- homarp 6y agotry https://www.orca-project.eu/wp-content/uploads/sites/4/2020/03/openwifi-vtc-antwerp-PID1249076.pdf https://www.orca-project.eu/wp-content/uploads/sites/4/2020/...
- linuxlizard 6y agoWorks. Thank you!
- epse 6y agoIf you need any more info, my masters thesis is on this project (it's my uni)
- djsumdog 6y agoHow does licensing work with software defined Wi-Fi? As I understand it, Australia holds many Wi-Fi patents and most of the money from radios goes into their University system. Would SDR based implementations be in violation of those patents? What if someone made a hardware version?
- dayofthedaleks 6y agoI can’t speak to patent encumbrance on anything as recent as 802.11ac, but the Australian CSIRO patents began expiring in 2013 and have probably all aged out by now.
- beervirus 6y agoDepends how the patent claims are drafted. But there's no reason to think that the software implementation would be immune to an allegation of infringement.
- shakna 6y agoSome of those patents have expired, so it would take a lot of research to be certain. A hardware implementation is likely to be patent-infringing. The SDR implementation is unlikely to be patent-infringing, as Australia does not generally allow software patents. [0] Software implementations of existing hardware are generally not considered to be patent-infringing under the current interpretations of law. However! The SDR implementation is still likely to be copyright-infringing, as Australia does have copyright laws that are rather vague and far reaching, and Australians are not granted the right to give up copyright. [0] Software patents can be granted, but they require the idea "improve the computer" rather than "merely requires generic computer implementation". Which is a higher hurdle than people expect, and has led to IBM, Microsoft and others losing and failing to gain software patents in Australia.
- wmf 6y agoOpenOFDM looks like Verilog running on an FPGA; is that "software"?
- 6y ago
- deleted 6y ago[deleted]
- Serious_Cheese 6y agoPlease excuse my ignorance,I'm fairly new to this field. So with OpenWifi, will I have control as to what packets I would like to send over the air? So for example, can I construct a specific packet using OpenWifi and then send them over the air over a specific channel (say channel 11, 2.4 Ghz)?
- alex7o 6y agoNot exactly, you can already do this using monitoring mode on your normal WiFi card. This is using SDR(software defined radio) to create a WiFi card from scratch. Technical speaking you can recreate any radio signal using SDR, with some limitations of course.
- jxj 6y agoA short answer: yes you can. A bit longer answer: Basically Linux gives packet to our driver, and then our driver gives the packet to our FPGA for further processing (queuing, modulation, CSMA, etc). So you can compose your packet in the driver or anywhere else that can communicate with the driver, then instruct the FPGA to send your packet at any frequency 70M~6GHz. It will be very worth to read the README and project document word by word on the github: https://github.com/open-sdr/openwifi https://github.com/open-sdr/openwifi . I believe you can already find answers of more questions there.
- newhouseb 6y agoThis relies on OpenOFDM for much of the "Physical" layer of WiFi, which has some INCREDIBLE documentation that is really worth checking out if you want to understand how modern radios go from a radio signal to packets: https://openofdm.readthedocs.io/en/latest/ https://openofdm.readthedocs.io/en/latest/ (Modern) WiFi shares a lot of similarities to the physical layers of LTE/5G NR in their more basic modes, so this is useful well beyond WiFi.
- non-entity 6y agoWow. I once wondered about building a wifi card with an SDR but quickly got discouraged when figuring out how much IEEE charges for the specifications.
- pantalaimon 6y agoAll the specifications are on Sci-Hub.
- stagger87 6y agoDon't buy the spec unless you have a business reason to. 802.11 specs are available to most members of IEEE. Whether it be your personal membership or through your school, work, a friend. A membership is like 200 a year.
- monadic2 6y agoWhat is the point of the IEEE if the results are not public domain? Seems like burning cash to no common benefit.
- sohkamyung 6y agoMost of the IEEE 802 specs (including the base IEEE802.11 WiFi spec) are free [1]. But you do need to at least register to get access to them. >New IEEE 802® standards are included in the program after they have been published in PDF for six months. All standards available in the IEEE GET 802™ program will remain in the program until they are replaced by a superseding document or are withdrawn. Drafts are not part of the program. > >To download these standards, you must sign in with an IEEE Account. If you do not already have an IEEE Account [1] https://ieeexplore.ieee.org/browse/standards/get-program/page/series?id=68 https://ieeexplore.ieee.org/browse/standards/get-program/pag...
- deleted 6y ago[deleted]
- antsoul 6y agoHis talk at Fosdem : https://fosdem.org/2020/schedule/event/fsr_openwifi/ https://fosdem.org/2020/schedule/event/fsr_openwifi/
- jhallenworld 6y agoThis project (and OpenOFDM) is massively impressive. The standard is complex, and almost nothing works until just about everything is working. They should write a blog about when the first ping worked. Anyway, there is a lot of value as a testbench or as a standard implementation for others. I can only imagine how much a testbench would cost... https://ip.cadence.com/uploads/706/dsv-sim-eth-wireless80211-pdf https://ip.cadence.com/uploads/706/dsv-sim-eth-wireless80211...
- jxj 6y agoI like this sentence "nothing works until just about everything is working". Actually the first ping worked in the end of 2018 to the beginning of 2019. But like you also realize, it is complicated, and actually well beyond my original imagination. So between the first ping and the release status (at the end of 2019), there was a lot of work. Finally it comes to today, and it runs "normally": stable ping, stable throughput, less crash. Huge effort is needed just to make things work as normal.
- bb88 6y agoQuestion: How does the AGPLv3 work when it's describing/programming hardware? I have a good idea how it works on software, but less than a good idea on hardware.
- cjbprime 6y agoExtremely surprised to see AGPLv3 used instead of GPLv3, given that this looks like binaries that you install on a device rather than a network service you connect to. Anyone know what's up with that?
- person_of_color 6y agoSo what's the max tput?
- jxj 6y agoHello, This is the author Xianjun. When communicate with commercial device, tcp can achieve ~30M, UDP can achieve ~38M in 20MHz 11a/g non MIMO mode. We are still working hard to optimize the whole design, because we know it is not mature enough and there is still lots of work to be done. For example, the original PHY rx openofdm design is simplified a lot for a quite small fpga which means performance (like sensitive) is sacrificed. Now our FPGA is more advanced than the openofdm FPGA in USRP N210, so there is a chance to improve a lot on both performance and features (like MIMO and new standard). Recently nlnet.nl gives us a short term fund to complete the 802.11n feature: https://nlnet.nl/project/OpenWifi-80211n/index.html https://nlnet.nl/project/OpenWifi-80211n/index.html There are lots of information (including throughout) in the readme and “project document” on GitHub (https://github.com/open-SDR/openwifi https://github.com/open-SDR/openwifi). Worth to read word by word.
- jl2718 6y agoSomebody shoot holes in my idea. I want to do wifi over coax with the baseband into the coax and the up/down converter on the antenna side. This is interesting for such a project, but of course I want full speed modulation (gigabit). I don’t want to just transmit data like MoCa. I want a direct interface to an antenna. The point is to make roaming over large distances completely transparent to the client.
- whatsmylogin 6y agoThere are some works and even products on distributed antenna systems for WiFi. E.g. [1]. MU-MIMO can benefit from the distributed antennas due to the condition of the MIMO channel matrix. If is should be standards-compliant, you will be limited in functionality. E.g. the timing-constraints of ACK and CSMA limit the length of the antenna cable, though that should not prevent your idea. I guess, it will be more problematic to realize compliant CSMA, as you would need to perform clear channel assessment on each individual antenna? Anyways, distributed MU-MIMO seems to get traction. We are working on it ourselves. [1] https://conferences2.sigcomm.org/co-next/2014/CoNEXT_papers/p29.pdf https://conferences2.sigcomm.org/co-next/2014/CoNEXT_papers/...
- zbrozek 6y agoDownsides: - Very nonstandard - Limited client density (could be fine in a house) - Beam-forming probably out of the question It would probably work OK though. But why is it better than making 802.11r work? From my perspective as a user (not as a client node) it's completely transparent.
- nimbius 6y agomost of these FPGA's are north of $2000 USD...does anyone know if you can do something like this with an RTL SDR dongle?
- jxj 6y ago2000USD? Not really. Following two options are less than 1000USD: 1. zed board + fmcomms4 = 883 USD https://www.digikey.com/product-detail/en/digilent-inc/410-248/1286-1043-ND/4840855 https://www.digikey.com/product-detail/en/digilent-inc/410-2... https://www.digikey.com/products/en?keywords=FMCOMMS4 https://www.digikey.com/products/en?keywords=FMCOMMS4 2. adrv9364z7020 + crr bob board = 932 USD https://www.digikey.com/products/en/rf-if-and-rfid/rf-transceiver-modules-and-modems/872?k=ADRV9364 https://www.digikey.com/products/en/rf-if-and-rfid/rf-transc... https://www.digikey.com/product-detail/en/analog-devices-inc/ADRV1CRR-BOB/ADRV1CRR-BOB-ND/7203205 https://www.digikey.com/product-detail/en/analog-devices-inc...
- simcop2387 6y agoNot possible with an RTL SDR dongle. Not only are they not able to handle enough bandwidth (Wifi needs a minimum of 20MHz bandwidth), they can't transmit either. There's some other SDRs like the HackRF One that might be able to do it, but you're looking at needing two of them (one for RX one for TX) unless they can switch modes fast enough (not sure on that).
- knorker 6y agoAGPL? Nope nope nope. It's a shame. Sounded like it would have been interesting.
- jxj 6y agoHow so?
- knorker 6y agoAGPL is very controversial. I'm clearly on the "won't touch it with a 10 meter pole" side. There are people with other opinions, but even they agree that this is not tested in court, and it's more expensive to be sued, even if you win, than to just buy (or write from scratch) ANY alternative to the AGPL software in question. AGPL is a legal landmine. You can't plug it into anything else, even for your own purposes. Let's say you use these to create a guest wifi network. According to AGPL it looks like you must now opensource any and all scripts that you use to manage this environment. In other words that one-off script you used to loop over all your access points during setup must be opensourced. Oh, it has details about your internal asset tracking system? Well, they now have to be public. Oh, it relies on your internal database? I guess that's opensource now too. Did you even keep that one-off script? AGPL demands that others must be able to run what you run, essentially. It says that everything you do operationally to your service must now be documented and published. You want to connect your internal SSO to the AP? Sorry, you better instead change it so that your internal SSO takes whatever protocol the AGPL software already takes. Oh, that's not feasible? Ok, give up then. 1 year later… oh shit oh shit oh shit, someone added internal SSO to the AGPL software! Now we have to opensource that, but we can't because it includes code we licensed from a third party only for nondistribution! AGPL only makes sense for organizations that fundamentally ONLY will EVER run open source software (like FSF and that's it), and usually not even then. Also ideologically it's a huge violation of freedom. What I do in my own home is absolutely none of your business. What executes on my hardware is my business. For those who disagree about my examples: Yeah… I'm personally not a lawyer (but HAVE consulted with lawyers about this). You may be right. In the end a court will decide. But do you want to take this poison pill in order to find out in court if you die?