intrig-unicamp / mininet-wifi

Emulator for Software-Defined Wireless Networks
https://mn-wifi.readthedocs.io/
Other
438 stars 239 forks source link

Running meshAP.py with wmediumd_mode=snr ,stations not pinging. #333

Closed tagorepothuneedi closed 3 years ago

tagorepothuneedi commented 3 years ago

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.

tagorepothuneedi commented 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()

ramonfontes commented 3 years ago
  1. I can see no stations in the network topology.
  2. Mesh doesn't work with the SNR mode.
tagorepothuneedi commented 3 years ago

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?

ramonfontes commented 3 years ago

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.

tagorepothuneedi commented 3 years ago

net.addLink(h1, ap1,loss=10). Can I use in this way?

ramonfontes commented 3 years ago

Yes.

tagorepothuneedi commented 3 years ago

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?

ramonfontes commented 3 years ago

Could you please tell me how are you measuring the interference among APs?

tagorepothuneedi commented 3 years ago

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.

ramonfontes commented 3 years ago

Are you considering that in a mesh network every hop will decrease the bandwidth by half?

tagorepothuneedi commented 3 years ago

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.

ramonfontes commented 3 years ago
  1. Which hardware did your mentor use?
  2. and how do you expect to use different channels in wireless mesh?
tagorepothuneedi commented 3 years ago

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.

ramonfontes commented 3 years ago
  1. Did your mentor use IEEE 802.11s?
  2. AFAIK wmediumd does not have the sense of different channels - https://github.com/bcopeland/wmediumd may have the answer.

Much remains to be done on wmediumd and the support of high throughput is one of them.

tagorepothuneedi commented 3 years ago

Yes.Thanks for the reply.