 for this intro. First, let me say, when I submitted the proposal for doing this talk here, I didn't expect to be put into a room with such a big audience in front of me. Yeah, anyway, now I'm here. And first of all, this is not a talk address to open WRT developers. So the technical level is really on a more abstract, almost sometimes philosophical level here. But I thought about it, and I really made the decision that this is the most important point I want to get across here to you. And I think I'm preaching to the choir here when I say that we're all interested to keep developing technologies, communication technologies that allow us to communicate more directly and more authentically. So we need more of the things on the right side and less dependency on the infrastructure that looks like on the left side here. The problem is, for example, in wireless mesh networks where this is very easy to do, or we will see it's an interference limit problem that we run into quite fast. So it's not the performance of the network is not dependent on creating distances that are small enough to get at least some signal to the receiver. It's more or less the interdependencies of multiple transmissions in a shared common medium. And actually, every wireless network eventually becomes an interference limited network with a growing node density. It's even analogous to society itself because right now we're starting to live in a society that is attention limited. The relation, attention interference is pretty strong if you look at it. Obviously, the technology that we like to use to build meshes, we refer to it as IEEE to WLAN, or most people nowadays globally say Wi-Fi, it's a trademark term from the Wi-Fi Alliance. And the link speeds that these protocol families offer are sort of growing like monotonously. It's really strange to look at the throughput figures that some vendors now give in the range of, I don't know, seven gigabits per second or something like that, although the hardware itself starts to look really ridiculous. But anyway, this is the most suitable technology that we now have. It's becoming, thanks to Moore's law, extremely cheap, extremely powerful, but it needs one thing to work, which is free channels. And especially 11AC gear is directed toward five gigahertz usage. And if you look, for example, in North America, in order to get these gigabit speeds, we must use channel widths in the order of 80 or 160 megahertz even. And then we have the same situation that we know from years ago in the ISM 2.4 gigahertz band. So I'm a fan of wireless mesh networks. In the previous talk, we heard what great things we can do with meshes. And this passion caused me to look into ways how to improve the overall performance of meshes, of true meshes. And there are many spots you can look at improving. This is just one way to categorize. So I looked at rate controlling and power controlling. So these are things that are not really standardized. So there is room for improvement, room for optimization for mesh networks. I also looked at rather sort of fancy things like network coding for some time. And I also had the chance to look at congestion control because I worked for a project that defines the distributed congestion control in the vehicular communication field. So like ITSG5, they like to call this. And when I did all this, over the years, it came to me that there is one strange thing missing here, actually, which is we know that these networks are interference-limited mostly, or they all become interference-limited in the end. But where exactly can I measure these interference anywhere when I'm participating in such a network? So I'm actually trying to make the point here that in order to make this distributed system robust enough, or at least more robust, we need to implement some way that lets us directly observe what are the resources that are available currently in that channel, in that room. Like right now, in here, there are probably lots of, there's the 2.4 gigahertz band is buzzing because of probe requests and, I don't know, the normal activity with the access points in here. Where in our devices can we see that? And most people think, yes, it's possible because basically you're just looking at the information that is decodable by the radio front end, and then you can sort of assume that you have a very good correlation with exactly this is the activity that is actually taking place right now. But the thing is, because it's a distributed coordination that is done when accessing the medium, actually, it's called distributed coordination function. So pretty straightforward in the standard, which is more or less the equivalent of, so it's mimicking human communications in a sense that if you put several polite people in a room, and they want to have a discussion, they do exactly that. So they listen if the medium is free, if it's not free, they back off and wait until the person who is currently speaking has finished a sentence or appears to have finished the sentence. So, and since this is distributed over space, every receiver has a different perception of exactly what is the medium now active or not? Am I allowed to speak or not? And 803.11 works in a way where it just defines sort of a power threshold or most 90% of the devices work like this. There's a power threshold. For example, yeah, in OFDM it's only a power threshold. And so there's a power threshold defined and every note that is waiting to get the next opportunity to transmit is basically waiting until the channel power goes below the threshold. This is a very simplistic shortcut now, but essentially that's the way it works. So, for example, this should be a visualization of instantaneous power at the antenna input of a Wi-Fi radio. And this is not a real measurement. This is basically something that I tried to come up with a visualization as it actually looks like but cleaned it up a little bit more. So, this is not the real measurement data here, but you see that there are these blocks and these blocks correspond to individual with the M-frame transmissions around the place and the green line is the line from which a so this could be sort of the carrier sensing threshold at our current receiving device. And what happens is that you see there, maybe it's not so perfectly clear, but there are multiple overlappings all the time. So, there is not like a slot structure because it's a distributed phenomenon and everybody has a different perception. It's really like if we want to have a clear discussion in that room it would be pretty impossible just via unamplified verbal talking here. So, what an actual receiver is trying to understand are those parts that are non-overlapping and what he forwards to the upper layer is basically just the stuff that he could decode and that is sort of the fundamental thing that I want to sort of point out that there that the whole channel load, the receiver or the upper layers they don't see the actual utilization of the channel. So, there is a sort of loss of information that happens there all the time because our equipment is currently working like it works. You only get what you could understand and you get some signal strength information annotated to it. And this is sort of the philosophical part here that is some media theories if you like keyword is Marshall McLuhan here they say all the technologies we develop are extensions of our human capabilities and if you think about it wireless communication is a little bit could be said as an extension of our ears and of our mouth and this behavior here is equivalent to the situation where we're all having sort of a lecture magnetically so we have we have ears in the 2.4 and in the 5 gigahertz spectrum and when we go into a noisy room we basically hear nothing we just hear the stuff that someone is speaking to us really standing directly and shouting in our ears that's what we can hear but we don't hear that there is activity in the room we don't look for another room for example because we cannot even perceive the noise here and that's a very long message saying that we now made a patch for OpenWRT that when you go for a real-time graph so OpenWRT has this real-time graph view before you even connect to anything before you even see any other before you do any any kind of association or attachment you see now our third graph additional to the two that were there before and this third graph just shows you on the current channel that you're listening to this is the level of activity like in percent over time I thought about doing a demo here but I think it takes too much time so I'm just showing you some screenshots here we call it QPSS load that I will explain later but what you actually can do now is we see the actual channel utilization we see what are the resources left that we can use to communicate with and this has many useful I mean applications just because it's observable right now and we thought well isn't it even better if we can tell about these situations if we can inform now the actual reasoning was now we can observe it at our local node but it's still difficult to communicate this some way for example to clients that want to talk to us so it's we want we looked for ways to distribute this this measurement data somehow in order to create a global view of what are the resources in this room currently available and we thought that we should broadcast these local local observations using beacons and it turns out if you look into the standard documents there is already defined a way to do this broadcasting of channel load measurements and this thing they call it the QPSS load and there's already standardized format how you can annotate this load in every beacon that you send so you add seven bytes of additional information to every beacon beacon is normal management information that is transmitted by x points in infrastructure mode or ad hoc nodes themselves so all we did is basically try to implement this in the software stack on open wt we we were aware at the point in time that some access points for example the sort of enterprise carrier enterprise great sysco gear is already doing that the reasoning behind is it enables voice of ip applications to have to offer a better quality of service because the handover decisions are better and so we went forward and tried to put this into an open software stack the patch itself that does sort of the main important things is really really short the problem is that i have a background in electrical engineering so i i'm really lousy at kernel hacking but i have a colleague who sort of has a computer science degree but he's also completely new to kernel space things so we pretty much screwed up everything that because can screw up there and made all the memory allocation and all the lockings the wrong way but we still were adventurous enough so basic this is this is my colleague here he deserves all the credit for the coding i'm just the guy who sort of suggested it and also managed to get some some funding for it by this u project called confined so we were naive enough to do our first trial at the at the wireless battle mesh in august this year in maribor and i will never forget the face of atria when we had to sort of quickly find out that our patch totally kernel panics in a situation as is in the battle mesh so i felt really sorry for for suggesting the idea anyway we will we're currently in the face of sort of polishing it really to make it it's sort of to convince subsystem developers to to let this in because it's a it's a it's a rather nasty thing that we are updating fields in a in a beacon over time so this is not not not a usual thing but we think it's relevant so we want to go for it and what it for example allows this rebroadcasting is something like that so this is a few that you can get when you use a very nice tool called horse highly optimized radio scanning tool is one way so bruno wrote it or is maintaining it and it's it's pretty useful when you're doing a debugging of mesh links and now we made a little patch to it so this the part on the right side is new and the part on the right side just says you okay these in these MAC addresses now see from their point of view these in these loads if you if you look they're all operating on the same channel they're all within communication range so this is this is an output you see just with your normal wafer receiver so i could i could demonstrate it right here with a normal with a with a normal wafer radio i see access points around here broadcasting the channel load fuse and i see that they're different so this this is a perfect demonstration of it's a distributed phenomenon everybody has a different perception of noise why is this all so relevant i mean it's relevant for the cases that were mentioned in the intro for example but there is another thing that i'm i'm there's another reason why i wanted to sort of make this point here and that is currently there's a lot of activity around the five so there there are lots of things happening because of because of technology operating in this they're called it the UNI band the uni bands and this activity one part of it is due to the cellular industry looking at it from so they are they're looking at ways now very concretely to use these unlicensed bands the terms are ltu or license assisted access and i mean it's a matter of regulation whether this will actually be put in place but it's expected that they're i mean the whole point of doing this is in order to have more control so cellular industry is looking for ways to expand their domain of control into the into the unlicensed bands and the problem is if this happens since our rifle radios cannot understand those differently formatted signals we will hear basically nothing if this activity in the neighborhood starts to appear so these these are put these are some some some early measurements that people did that show clearly that the presence of such a in this case is an ltu base station will greatly diminish all the performance that we can out of the five gigahertz bands using wi-fi as again it's a matter of regulation how how how strictly will be in this equal access and coexistence if they really take it if you really take coexistence and equal access seriously there is no point in doing ltu or license assisted access simply because if you want to have an equal equal access you basically have to use the same medium access protocol listen before talk same same rights to every node and then the whole point practically vanishes because it's the the channel code is not such different between those two standards and i think that it's partly because of this that now this this this discussion has started because uh no wait let me skip this uh the fcc and the european commissions have just or the fc is about to and the european commission already has put new law into place that now seems to try to make it i would say if you look at the new law it says that they want to make it impossible that people change the settings on their routers and they're especially worried about the uni bands again and the official reason it's always is about the vet or does there but i don't i don't think it's a coincidence that there are now that there is now a law being put into place that restricts the behavior of or restricts the freedoms that we have and at the same time there's a there's another secondary user sort of to say the primary user is the is the uh the vet or does here and the secondary user was always wi-fi and now it appears that another secondary user wants all wi-fi users to be as restrictive as possible that that's how i interpret the whole thing um yo uh this channel patch will allow us if that's the big if if we are still allowed to run open software on these things this channel patch will at least allow us to detect that there are uh uh nearby licensed assisted access or ltu base stations that may be the cause of problems there um i think i should come i have a little common to make but i think i skip it and basically the message i'm trying to make here is we should treat these spectrum resources as our commons so so sort of it's um it's about the right for free speech in in an electromagnetic way these are the same sort of the four software freedoms that stallman talks about we need them also and we have to ensure that we still retain the freedom to express electromagnetically sort of that's my point questions okay so we have some more time for questions if you want to ask a question and you're listening on the stream below please go in the irc uh we have an angel listening there and reading the questions out here loud if you have a question in the room please come to one of the six uh microphones and i see we already have the first one on microphone number two um just a small question uh regarding the horse tool uh where you made a patch where you see on the right side the qbss um i didn't fully understand because uh you have you said that this qbss is broadcasted in the beacons but you could clearly see that normal stations were also shown their point of view of the uh how much interference they see how is this done because if it's only the access point sending it in the beacons how can you see that the the station view oh it's not the station view it's uh basically what i'm what i wanted to say is that you see several access points there and the sort of all of the all of those give their individual views okay but that gives you a global these are all access points all on the same okay yeah um the second question because you said that some vendors implement this yeah it's already in the standards if somebody's using the patch uh are these interoperable comparable so if if i have a rubo workstation cisco workstation yeah it's okay yeah thanks okay next question from microphone number four hello thank you for the talk just a quick question you had a chart where you showed how the wafer performance upgrades if a base station is near my yeah do you think anybody will go for it because everybody uses why for the public outcry i can't imagine that can ever be reality right i mean why why would stop working we'll see i mean i also kept i'm yeah i'm having the same few i'm just puzzled thank you okay uh i see we have a question up there at microphone number five hi um i have a short question um regarding um measurements have you looked at the um how this behaves with throughput from access points so if you can actually um detect before even you can uh or before you transmit data how the throughput will be no but that's an excellent idea i mean building an estimator for expectable throughput yeah it would be now possible with that that was yeah excellent thanks good uh microphone number four uh hello what data do you exactly get from the hardware and is it similar from all the devices yeah the chips the data we get are cycle counters they're called cycle counters and we're for this we're using the busy cycle counters or the receive cycle counters whatever we like and these are registers that are being sort of in most drivers they're being copied in so they are available via the netlink interface and your this patch just reads them out and displays them it's a very simple thing actually and most most current hardware or most current drivers are exporting this feature so so microphone number one hi um do you have an idea how we can keep this spectrum in the comments so i think i think the only way we have is to make make it visible what what we do with it so this if you take this further we can see okay my neighborhood is full of stuff um and 90 percent of this is ltu base station so i will certainly try to do something about it right but if you cannot see it you cannot act so uh now we um push in very shortly a question from the internet do these chipsets measure measure all interfaces or just use use it by other wi-fi sorry can you say it again do these chipsets measure all interfaces or just use it usage of other wi-fi's if the uh chips use only the um user interfaces all interfaces all interfaces or just the user interface especially interfaces but just by uh wi-fi just wi-fi i mean right that's what i would say i don't get it really so just wi-fi yeah okay um microphone number four yeah um so have you taken a look at um a pteros qualcomm spectrum analysis mode for this actions and does it actually qualify to supplement your data sure sure sure it's a nice feature the the when we played with it we just had the impression that it only sparsely samples so it's not only about every half a second or something yeah it's for for estimating channel load it's not really that usable but also to get a look at other you can you can classify what kind of interfera that is yeah that should also be put into visualization mode yeah because there's no uh i know that avm has options for that on their rush but there's no real option on uh open wrt now to do it yeah and it's really not that easy to do it by hand so yeah would be great to have an option for that if someone is interested please come come let's talk okay we have time for one last short question microphone number four please yeah um yeah i just one did you have experience with five years and is there is a possibility to get the information from the client also about the inter activities in there from the which client would you refer to the ifa client like your mobile phone or you mean the wife a client is typically not sending beacons is that what you mean yeah that's why yeah yeah i mean that we can annotate it to other management frames like the prop requests they all send out all time it would be a seven bytes addition which is really small okay let's just okay for everybody who still has a question uh paul will be in the four year afterwards so you can meet him there and ask your leftover questions thank you very much it was a really nice talk so a last round of applause for him thanks for having me