Closed tagorepothuneedi closed 3 years ago
Below is the script I'm running
from mininet.log import setLogLevel, info from mn_wifi.link import wmediumd, mesh from mn_wifi.cli import CLI from mn_wifi.net import Mininet_wifi from mn_wifi.wmediumdConnector import interference, snr, error_prob from mininet.node import RemoteController def topology(): "Create a network." net = Mininet_wifi(link=wmediumd, wmediumd_mode=snr) info(" Creating nodes\n") h1 = net.addHost('h1') h2 = net.addHost('h2') h3 = net.addHost('h3') ap1 = net.addAccessPoint('ap1', wlans=2, position='10,10,0', band=5) ap2 = net.addAccessPoint('ap2', wlans=3, position='12,10,0', band=5) ap3 = net.addAccessPoint('ap3', wlans=2, position='14,10,0', band=5) c0 = net.addController('c0') info(" Configuring Propagation Model\n") net.setPropagationModel(model="logDistance", exp=4) info(" Configuring wifi nodes\n") net.configureWifiNodes() info(" Associating Stations\n") net.addLink(h1, ap1,error_prob=0.01) net.addLink(h2, ap2,error_prob=0.02) net.addLink(h3, ap3,error_prob=0.02) net.addLink(ap1, intf='ap1-wlan2', cls=mesh, ssid='mesh-ssid', mode='ac', channel=36, txpower=20) net.addLink(ap2, intf='ap2-wlan2', cls=mesh, ssid='mesh-ssid', mode='ac', channel=36, txpower=20) net.addLink(ap2, intf='ap2-wlan3', cls=mesh, ssid='mesh-ssid2', mode='ac', channel=36, txpower=20) net.addLink(ap3, intf='ap3-wlan2', cls=mesh, ssid='mesh-ssid2', mode='ac', channel=36, txpower=20) info(" Starting network\n") net.build() c0.start() ap1.start([c0]) ap2.start([c0]) ap3.start([c0]) info(" Running CLI\n") CLI(net) info("*** Stopping network\n") net.stop() if name == 'main': setLogLevel('info') topology()
I'm sorry I mentioned stations but what I meant to say is hosts h1 h2 h3 are not pinging. may I know if the error_prob mode work with mesh?
error_prob
only works for the wireless link. However, hosts are connected to aps via cables. I think you want to use the loss
parameter instead of error_prob
.
net.addLink(h1, ap1,loss=10). Can I use in this way?
Yes.
Thanks for the reply professor. My main goals of the task is to run a mesh topology with less interference so I had used different channels between AP's . Doing this, still different channels still interfere with each other. Does wmediumd doesn't care about running different channels and still simulates interference ? So I though of instead of using interference as wmediumd_mode,I used snr and as you mentioned it doesn't work.
Can you please let me know if wmediumd consider using different channels and doesn't produce interference between AP's?
Could you please tell me how are you measuring the interference among APs?
by MCS rateset of the station which I can see using iw station dump command. the bitrate will get effected by interference and is proportional to MCS codes . I assume interference is high.
Are you considering that in a mesh network every hop will decrease the bandwidth by half?
Yeah I had already chatted with you on this issue a month ago .you had asked me about any real work that could prove above 100Mbps throughputs in mesh networks, if you can remember:) . I understand that for tx,rx on same channel reduces the bandwidth by half and if there are more node it will cut by number of nodes. But my mentor had test results of achieving 200Mbps bandwidth for a linear topology(3nodes) in mesh network using ac mode in testbed cases. That results are not achievable on Mininet wifi or wmediumd because of the rateset that wmediumd is using which supports only upto 54mbps.
1.Compex WLE900VX 802.11ac / abgn WiFi 5 3x3 MIMO QCA9880 Wireless Mini PCIe 2.4/5 Ghz Dual Band - used in GATEWORK VENTANA SBC 2.For the test bed we are using the same channel as its mesh. But before I was talking about in simulation using different channels like this AP1---- Ch4---- AP2 -------Ch36-------AP3.
Much remains to be done on wmediumd and the support of high throughput is one of them.
Yes.Thanks for the reply.
Dear Ramon I'm running meshAP.py example and modified wmediumd_mode= interference to snr. The issue is the stations are not able to ping. What am I doing wrong here kindly please let know.