 Okay, welcome to my talk about Wi-Fi 6, formerly IEEE 802-11AX deep dive. My name is Marcel Ciswiller. I joined Toradex in 2011. I spearheaded the embedded Linux adoption there, and I introduced upstream-first policy. At times I was top-ten contributor in U-boot, as well as Linux kernel ARMsock, and at Toradex we have an industrial embedded Linux platform called Toryzen, which is fully based on mainline technology, mainline U-boot with Distro-boot, KMS theorem graphics with Etnavif or Nuvo, over-the-air update with OSTRI and Docker or Podman with containerized application stuff. What will we cover today? I will introduce Wi-Fi 6. Then we will have a look at the OpenWRT access point landscape. I have two devices there that I'm going to show you a little bit more in detail, how those systems are, what parts those systems have, and then we're also going to look at the Wi-Fi 6 clients that are available, and at the end I show you some real-life configuration benchmark demo use cases. So what is it that this Wi-Fi 6 is all about? Formally it was called IEEE 802.11 AX and it got basically renamed. It's more like a kind of a marketing gimmick, isn't it, that they now use these numbers. It actually got ratified early last year, on 1st of February 2021, and traditionally over the Wi-Fi generations, of course, the whole performance envelope has increased, evolved, that what the diagram is showing. And however, this time for Wi-Fi 6, that was not the main focus to just increase the performance like that, but it was rather about also to increase the efficiency and capacity. That's why it's also known as a high-efficiency Wi-Fi, so especially as improvements that increase and hence the throughput per area basically targeting dense environments, like for example here at the conference where you really have hundreds of clients that are on your network that you increase the overall performance there. So to do that, to get a higher spectral efficiency basically. And another part that is totally new, which is then under the term Wi-Fi 6e, is also that we have a new 6 GHz band that is now also we're allowed to operate in that unlicensed 6 GHz band. Let's have a look at the main concepts of Wi-Fi 6. So one of the concepts is this orthogonal frequency division, multiple access, OFDMA. So basically the spectrum is broken up into groups of subcarriers that are called resource units. And this basically allows sharing each frame amongst users. So in older Wi-Fi standards, basically one frame could only ever have content of one user. The problem with that is if you have now contention for it, it doesn't matter how much or how little data a user has, it will always block a whole frame. With Wi-Fi 6 with OFDMA, basically you can share such a frame amongst multiple users. And this benefit also the 2.4 GHz band, which is often used for like anyway lower rate IoT traffic, for example, for sensor devices, whatever nowadays, home automation, everything, you might have dozens of clients basically flocking that space. Then a completely different thing is that it now also allows 160 MHz bandwidth channels. This is a little bit, yeah, probably one of the features that is kind of diametral to this concentrating on dense applications. Of course, if you want 160 MHz channel, then that won't work well if you have a lot of clients because you basically usually only have like two such bands even available, for example, in the 5 GHz space. Then another concept is that it basically use higher order 1024 quadruple amplitude modulation, the 1024 QAM. It's basically from information technology how you really pack the digital bits into radio signals. Usually the way that is done is that you have these two so-called carrier sine waves. They are phase shifted usually by 90 degree, so kind of a quarter out of phase. And now you modulate not only the output, so the amplitude, but also the phase. And that is how you encode the bits. So I have here an example, for example, of course, from one of the very first Wi-Fi standards where we had a 4x4, so a 16 QAM. You now have to think about that for Wi-Fi 6, it's really now a 32x32. So it's a huge space how the bits are encoded. And of course, that delivers an increased throughput. So you can get up to a 25% peak data rate increase over the previous 256 QAM that was used in Wi-Fi 5. Then another concept is that it now allows for up, as well as downlink, multi-user multiple input, multiple output, the new MIMO. So previous standards also had MIMO concepts. At the beginning, it was single-user only, then later it was also multi-user, but in Wi-Fi 5, it was never up and downlink. So what that now means is that you can basically combine streams. For one user, if you have, like, real high data rate, if you want to stream 4 kilo video or something like that, you can really combine the streams. And of course, that also usually means that the actual Wi-Fi access point, they increased it there. You can now have access points that had 8 streams in the 5 GHz band and 4 streams in the 2.4 GHz band. So you can get a total of 12 streams from a single access point. And of course, that significantly boosts the spectrum use. And one thing that is of course important in such combined stream environment is that you want that the channel state information feedback is basically the sounding that you even know what clients are there in the radio spectrum. It of course works best with clients who truly do Wi-Fi 6 and give you the full 8x8 channel feedback. But it can also work if that this is not mandatory, basically. Another thing is that the more stream kind of bundling you do, of course, it gets more complex and it works best with stationary clients. But performance tests have shown that it also works quite well even when the clients are moving. And you, of course, have the full flexibility. You can have a dual-band 8x8, but you could also operate it, for example, in a tri-band 4x4. So the latest chips from those Wi-Fi vendors, they usually allow for kind of runtime reconfiguring stuff. And then, of course, one thing that one is seeing is that the more streams those radios have, I mean, the more power-hungry it gets and usually also more expensive. So the kind of the lower-end home routers, they most likely will not offer 12 streams. And on the client side, most client devices nowadays still use a 2x2 configuration. But that kind of makes sense because you will have multiple clients usually per access point. So, yeah, as you can see there, if you have an 8 stream access point, you can have 8 single stream clients or 4 to 2 streams clients or things like that. And, of course, for IoT smart devices, it's not required to basically have combined streams. So if you don't require high data rates, you're still fine. You can use still one by one and then a configuration. Then another thing in Wi-Fi 6 is the so-called target wake time. So in earlier Wi-Fi standards, that was usually fixed. And in Wi-Fi 6, that is now possible that you can basically have dynamic target wake time, meaning that per use case of your client device, you can basically orchestrate in your network which device will basically call back again. So this check-in frequency with the access point, this can be really dynamic. And with that, you can, of course, now dramatically reduce power consumption for certain devices. If they don't need frequent check-ins, they don't need to do that. Then another concept that is also targeting this dense environment is the basic service set coloring. So basically the more clients you have, the denser it gets, you will, of course, need more access points or multiple access points. But the problem is the spectrum is kind of limited. But if you now have a dozen access points, for example, at the venue here, there will probably even be, I don't know, multiple dozens of access points likely. And then they eventually will have to share a frequency. And now the problem is there will be some contention going on basically. And with that coloring, it allows increasing the capacity in such dense environments when reusing those frequencies. The way that is done is basically that you prioritize traffic and you do that by basically numbering them, which is what is meant by this coloring. And so it basically then allows that you immediately see in the pie header whether that is even your network and so you can easily ignore traffic from a neighboring, from so-called overlapping basic service set. So that can increase reliability in really dense environments. Then another concept involves around security stuff. It basically, why for six, introduces the WPA3 security protocol. A lot of you guys probably heard of some of the problems with earlier Wi-Fi security. One of the problems is, of course, that using pre-shared keys. I mean, for example, here we're also using pre-shared keys. It's very nice, not usually. If you're a returning attendee, you don't even need to know that because your phone or notebook still remembers this Linux 1996 or 1990. Now I even forgot about it. Anyway, the key is not a very secret thing. Not everybody really has it. And if you now, yeah, if you consider such a network secure, that's probably the wrong concept, not. And with the earlier Wi-Fi standard, one concept they introduced was this Wi-Fi protected setup, WPS. The problem with that is that you kind of press a button on the access point and then you open for a couple minutes or so a window where you then allow clients to kind of connect. But this whole sign-up process only loses like a 23-bit pin and this has been proven can easily be basically exploited. So if you go in close range of such an access point and somebody presses the button, you can basically exploit that. The solution to that is called simultaneous authentication of equals, SAE. And that is a more secure initial key exchange basically for such a personal mode. I mean, for enterprise mode, that of course didn't have such weakness problems. But then you need basically much more infrastructure. You need, in your company, you anyway have accounts for your users and you have some certificates and whatever not then that you don't have that problem. But for a personal mode, that is really is a much better way. And this is basically called the Wi-Fi device provisioning protocol, DPP. That is really can be used to grant access to your network and you can, for example, also use QR codes or NFC tags to do that initial signing on the network. Then, of course, also the actual encryption protocols got a boost. So it allows now to use the 256 Kaloas counter mode protocol, the GCMP256. And as for the message authentication codes, it also allows to use the 384 bit hashed HMAC stuff. However, one thing that one needs to keep in mind, I mean, it's kind of everywhere more or less the case, not is that those are just new algorithms that are now also supported. It doesn't mean that the other ones are still kind of there and it's more a policy question or a configuration question whether or not they are still, can still be used on your network. So basically only with WPA3, only 128 bit is mandatory. And I think in enterprise, they even raised that to 192 bits. But I mean, nobody says or forces you to use the 256 bit one node. So that is you have to, if you really want to have it super secure, you would have to configure your network that it only would allow for those. Another mode that is also new on the security is the so-called Wi-Fi certified enhanced open mode. That basically means that even if you have an open network that even then it will use strong encryption. So by basically automating that whole process and it will then also, so there aren't any real open networks anymore in that case basically, even they will use encryption. Then some of the other news in Wi-Fi 6 is that it also allows 20 megahertz only channels, which can for example be used for IoT sensors. And some of the Wi-Fi 5 features are now also extended to the 2.4 gigahertz band. So in Wi-Fi 5, a lot of these new features were kind of limited to the 5 gigahertz band. Okay, now we have a look at the OpenWRT access point router landscape. Right now only very few media tech based models are officially supported since OpenWRT 2102. There are more available of course in master snapshots. There are mainly older RA MIPS or newer ARM based ones in combination with this MT-7911 or 15 Wi-Fi 6 radios. And this one is for example, this older RA MIPS, the MT-7621AT. It's a dual core MIPS, 1000.4 kC core, 8080 megahertz. And it integrates the 5.4 gigabit switch and an additional RGMI. And a good thing, it also has a network accelerator and it supports this HW NAT stuff, which is nowadays fully mainline supported. And it has three PCI express, USB 3.0 and USB 2.0. And as I said, I first introduced the other one, the newer ARM one. This is a dual 64-bit Cortex A53 based chip, 1.35 gigahertz. It integrates already 2.4 gigahertz, 4x4, Wi-Fi 4 radio. So that formerly 802.11m. And there are also SKUs that integrate Bluetooth 5.0. However, not the 22BV. I think the 22A has it. So that really depends on which exact chip you have. Also this one integrates the 5 port. I'll buy it only a fast Ethernet switch. But it has one HSGMI, so 2.5 gigahertz, a gigabit MAC as well, and an additional RGMI. And also it continues with the HW NAT. It has two PCI express, but now Generation 2, and also USB 3.0 and 2.0, and a later even device and host. But again also there only certain SKUs have that. And for like NAT use, it also has SATA 3.0 or SATA Generation 2. And then kind of the chips around it. So especially for the later one, which doesn't include a gigabit switch, often used is the MT7531BE. This is a 5 port gigabit switch, which has actually a 2.5 gigabit CPU port. So it matches perfectly there with that MAC available. And then as for the radios, there are the MT7911 and the 7915. Those are dual band, dual concurrent. So dbdc 4x4 or 2x2 Wi-Fi 6 radios. And they can do 20 or 40 megahertz in the 2.4 gigahertz or 20, 40 and 80 megahertz in the 5 gigahertz band. And of course those are only the MAC baseband processes, so the BVP, and they will require an external RFIC FEM. And there are also here SKUs with Bluetooth as well, and they integrate a 32-bit RISC MCU, and they do PCI Express 2.1. And 7975, that's then basically the matching RFIC FEM. As you can see in the graphics here, so it's basically a two chip solution. It's not a single chip one. Then this is an actual access point that makes use of this chip set. It's the Belkin RT3200, which is actually exactly the same as the Lynx's E8450. So it's basically the same device branded under different brands. So it uses the ARM base Mediatek and combines that with some spin end. So it means it requires ECC and wear leveling. And as for the RAM, some wind-bond RAM, half a gig, and unfortunately this one only has a USB 2.0 port. Who knows why? Because in theory the chip would have also USB 3.0, but that's not how the hardware designed it here. Nobody knows why, but it is like that. And it has the 7915AN radio and uses this switch chip that I introduced before. Then some more details. So the problem is that the vendor firmware, which is kind of based on OpenWRT, which most are, but of course on some like ancient version. But the bigger problem is so this vendor firmware doesn't really do any proper ECC or wear leveling on that NAND chip. Even so, it basically would be required. So what was now happening is that there is a UBI variant of OpenWRT that one can use that really properly than does the ECC wear leveling. Unfortunately, of course that means you have to replace the U-boot. But the maintainer created really nice convenient installer to do this. It even has some kind of recovery mode basically. So if all goes wrong, it goes into this kind of recovery mode where you basically have like a basic OpenWRT then still running and you can still then update to a proper release again. That makes it really quite nice. Remember when you set up such access points, one thing some people forget is you actually have to set a proper Wi-Fi country code. Otherwise you won't be able to use most frequencies because the system doesn't know whether in your country you're now allowed to do that or not. So you really have to set that. And then another thing on this particular router or with this chip set that is kind of known is that this whole CPU governor scaling stuff can at times happen that it hangs during a reboot probably because it is in some kind of lower voltage and it reboots and something like that. So there are some ways around that which you can also find on the wiki. And yeah, if you're more into actually doing experimental stuff it also has a serial port header available. Actually it's this kind of standard links type from the early days of those WRT routers. It still has a 3.3 voltage level serial port. That's how it looks when you actually run. So this is actually running even a newer one. I have here the 2203 RC3 now running with 510 kernel. That is the radius available, how it looks in the wireless overview. And when you have an associated station here, for example this one, you can see it is using a more than a gigabit bandwidth basically. Then another kind of a chip set in Wi-Fi 6 is of course the stuff from Qualcomm. So the IPQ87X kind of range. Those even have usually quad core A53s, even a little bit higher clocked. Some SKUs come with integrated dual band dual concurrent radios. However not the 71A in this router I'm going to show you later. That one basically uses dedicated separate PCI Express radios. It also comes with 4 gigabit ethernet as well as even two 10 gigabit ones. And also use B3O. And like I said it also usually uses some more chips around it. One that is commonly used with it is the so called IPQ8075. This is basically a 5 port transceiver so it's not a switch. So basically the chip here, while it has multiple ethernet and an ethernet switch integrated, it doesn't have the 5s for them. So you basically need a separate 5 chip, a 5 port 5 chip if you want to do 5 ports. And then the lower two 3 are the radios or some of the radios available in this line. It's the QCN5024. It's basically the 4x4 2.4 GHz one. The 5054 is the 4x4 5 GHz one. And then there is also a 9024 which is basically dual concurrent 4x4 2.4 and 5 GHz band radio. Then that's one of the routers that uses it. Xiaomi AX3600 and it combines it with Ronan flash and also with half a gig of RAM. And of course also uses some power management PMIC chip and the other basically that gigabit 5. And one thing it also has, it has actually an older Wi-Fi 5 radio as well which is this QCA 9889 which they basically foreseen to be used in a one by one IoT kind of configuration. So for like home automation or something like that you could use that. This is the motherboard of this thing. And yeah, here's some notes. So by default the vendor input is actually the serial input is or receive is locked. So you cannot really stop there and use it for development or whatever. And also the SSH is locked in the regular firmware but there are no exploits for that. So if you go on the wiki there are some links to tutorials or guides how you can basically unlock it and then install OpenWD on it. Right now there are still only experimental builds for that. And one thing, another note is that 8GH 11K driver or yeah, system I mean it's remember it's the driver and there is also some firmware running and whatever not but all this is really very memory hungry. And another thing is that the stock flash layout of this router doesn't really allow you to make easy use of all the flash space. So it only allows you to use about half of it. But usually with OpenWD it's not a big deal. Usually you won't install 100 megabytes of packages. And another thing to note here is that it also has a serial port available. One can see it here on the left side. But in this case with this chipset it's actually a 1.8 volt logic level here. So you have to be careful. You will need a probe or USB adapter or whatever not that can really do this 1.8 volt. Otherwise there is the danger that you will destroy the chip. That is basically running a snapshot. There is basically the maintainer. I mean like I said it's not really in there yet. But he has some GitHub action which actually builds the regular images. So you can fairly easily install one of those. This is with one of these snapshot images. It's running even later the 515 kernel. And this is for example an associated station which actually synced with the top Wi-Fi 6 1.2 gigabit rate. Now let's also have a look at the client side. So one of the predominant clients especially in the notebook landscape. I mean for a while it was really the most used one there. Only now certain others are also showing up. So it's the Intel, in this case the AX210 NGV. So this is a 2x2 and it actually already supports this Wi-Fi 6E like mentioned initially. So we can do 2.45 or even also a 6 gigahertz band. Plus this particular model can also support this 160 megahertz mode. And it also, the Wi-Fi part it does on PCI Express and on the Bluetooth part is done by USB. It is in the regular M22230 form factor which is what most notebooks have. But it also exists in a 1216 form factor which could for example be used for more embedded use cases. Then the Linux driver for it is called IWL Wi-Fi. And there the initial Wi-Fi 6 support got merged in July 2018. And the actual AX210 NGV is supported since February 2019. The kernel configuration for it is called WLAN vendor Intel and then IWL Wi-Fi. And you also will need one of these transport IWL MVN. And of course it also requires firmware. So this particular one needs these firmware files. Then some module parameters that can be used is power related. So you can set different power schemes or even disable the power safe completely. Because that area at least in my tests has shown to still have some problems. And actually even with that power stuff I didn't succeed in getting it to run very stable on non-86 embedded systems. Then another client which is now showing up much more and also I have some friends who got new notebooks which actually have that now by default is the Mediatek one. So the MT7921K is basically almost the same but from Mediatek it's also 2x2, 2.45 and 6 GHz also supports 160 MHz bandwidth. And also here the Wi-Fi by PCI Express Bluetooth via USB. All by tier only Bluetooth 50LE. And this is also 2230 form factor key AMD. The Linux driver for it is called MT76. And initial Wi-Fi 6 support there got merged in May 2020. And the actual 7921 is only supported since January last year. And the kernel configuration for it and also the firmware required. And this one actually has shown quite stable and quite high performance at least on x8664 but it also run really good in my tries on ARM based embedded systems. All by not quite that high performance but that might also I guess depend more on the SOC basically of the main system. Another one is the Qualcomm the QCA6391 that's basically the client side of the 8811K stuff. So this one is 2x2, 2.4 and 5 GHz dual band dual concurrent. But it only does 80 MHz bandwidth. So it doesn't do any 6E and also not 160 MHz. It has Bluetooth 5.1 via UART PCM and the Wi-Fi against PCI Express. One thing that is a little bit unusual about that one, you can also spot it if I go back to the other slide. If you look here at how the connector looks here and compare it to that, it uses a different keying. The so-called key E which is rather still unusual and it means that you cannot really put that easily into a regular notebook unless it would have that slot like that. Anyway, current configuration and firmware for it, it proves to run quite stable and also didn't show any big problems running it in an ARM environment. Then another one which I have to admit I ordered some in China but haven't received yet. It would be the real tech one. Let's see. That one actually only got merged rather recently in October last year using the RTW89 driver. Then I want to talk a little bit about some use cases as well. So I actually did some tests on a X86 as well as an ARM platform and that those are some of the pictures. Like I said, in the middle you see that you need some kind of adaptive stuff to even run this E key stuff in such a notebook which is rather unfortunate. On the right side, one of our Toradex boards with such a Wi-Fi again with an adapter because we still use mini PCI Express and not M.2 slots on our board so far. Those are some of the numbers. This is just with IPerf. Like I said, I had trouble getting the Intel one to work on the ARM platforms. It just kept crashing all the time. So you can't even run any even the shortest IPerf. It just kept crashing. You can see here on the X86 the Mediatek has really good performance and strangely for the upload direction the Qualcomm one seems to be slightly better. That was it. Basically allow you to ask any questions. Are there any? I don't know from the online. Okay. Yeah? Just three will bring the microphone. One bigger problem is congestion with cellular networks that are now using the unlicensed bands and were there any features added to sort of mitigate that congestion problem? That's a good question. I think one of the advantages I guess with Wi-Fi is that it's a local area network. You know what I mean? It's ranges of course and also the wattage on the radios is very limited. That way it should not get too much such interference problems unless you have some radio in the vicinity which uses much more wattage to send I guess then you basically have not much chance. You're not going to win against that radio basically. I'm not sure. I think that's the problem. Yeah. Unlicensed bands are basically... Yeah, they're unlicensed. Within this envelope, you're basically allowed to use it. But if you have another radio, you often hear of people for example that live in some apartment or something where they have some kind of not too nice neighbor or something which might be doing something halfway illegal or something on such a band, then you cannot use it. You really have no chance usually. I mean you just... It's useless. It's not usable basically. You cannot do anything anyway because you will need a mechanism to tell the other guy, I mean you cannot do that. But there is no such mechanism. Okay? Any other questions? We're going to have to conclude the session. Sure, yeah. There's eight minutes and the next round of... Okay, you also find the references in my slide if you're interested to run any of that stuff or you can contact me. Thank you very much.