intrig-unicamp / mininet-wifi

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

problem with stations connection to AP #384

Closed rosakolejarz closed 3 years ago

rosakolejarz commented 3 years ago

Hello, Sir. I have some trouble with connecting stations to AP. I don't know why this behaves randomly and sometimes they are connected but a moment later not so.

I attach my demo.py script and output from executing it.

#!/usr/bin/python
from mininet.log import setLogLevel, info
from mn_wifi.net import Mininet_wifi
from mn_wifi.node import Station, OVSKernelAP
from mn_wifi.cli import CLI
from mn_wifi.link import wmediumd
from mn_wifi.wmediumdConnector import interference

def myNetwork():
    net = Mininet_wifi(container='mininet-wifi', ssh_user='user', docker=True, topo=None,
                       build=False, link=wmediumd, wmediumd_mode=interference, ipBase='10.0.0.0/8')

    c0 = net.addController()

    ap1 = net.addAccessPoint('ap1', cls=OVSKernelAP, ssid='ssid1', mode='n', channel='1', position='250.0,400.0,0',
                             range=200)
    sta1 = net.addStation('sta1', cls=Station, ip='10.0.0.1', mac='00:00:00:00:00:01', position='250.0,370.0,0',
                          range=120)

    net.setPropagationModel(model="logDistance", exp=3)
    net.configureWifiNodes()
    net.addLink(sta1, ap1)
    net.build()
    net.controllers[0].start()
    net.get('ap1').start([c0])
    net.plotGraph()

    CLI(net)
    net.stop()

if __name__ == '__main__':
    setLogLevel('info')
    myNetwork()

console:

$ sudo python demo.py 
user@172.17.0.1's password: 
mn28582p00sdocker_mn-wifi.sh                                                                                                        100%  472     0.5KB/s   00:00    
user@172.17.0.1's password: 
ln: failed to create symbolic link '/var/run/netns/0': File exists
Created device with ID 0 
Created device with ID 1
*** sta1-wlan0: signal range of 120m requires tx power equal to 2dBm.
*** ap1-wlan1: signal range of 200m requires tx power equal to 9dBm.
*** Connecting to wmediumd server /var/run/wmediumd.sock
*** Starting CLI:
mininet-wifi> sta1 iwconfig
lo        no wireless extensions.

sta1-wlan0  IEEE 802.11  ESSID:"ssid1"  
      Mode:Managed  Access Point: Not-Associated   Tx-Power=20 dBm   
      Retry short limit:7   RTS thr:off   Fragment thr:off
      Encryption key:off
      Power Management:off

mininet-wifi> sta1 iwconfig
lo        no wireless extensions.

sta1-wlan0  IEEE 802.11  ESSID:"ssid1"  
      Mode:Managed  Frequency:2.412 GHz  Access Point: 02:00:00:00:01:00   
      Bit Rate:1 Mb/s   Tx-Power=2 dBm   
      Retry short limit:7   RTS thr:off   Fragment thr:off
      Encryption key:off
      Power Management:off
      Link Quality=45/70  Signal level=-65 dBm  
      Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
      Tx excessive retries:0  Invalid misc:0   Missed beacon:0

mininet-wifi> sta1 iwconfig
lo        no wireless extensions.

sta1-wlan0  IEEE 802.11  ESSID:off/any  
      Mode:Managed  Access Point: Not-Associated   Tx-Power=20 dBm   
      Retry short limit:7   RTS thr:off   Fragment thr:off
      Encryption key:off
      Power Management:off`

Screenshot from 2021-05-04 12-59-39

I would be grateful for any tips.

ramonfontes commented 3 years ago

Hello,

Is Network Manager running??

rosakolejarz commented 3 years ago
$ sudo systemctl status NetworkManager.service
● NetworkManager.service - Network Manager
   Loaded: loaded (/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
   Active: active (running) since sob 2021-05-01 21:41:49 CEST; 2 days ago
     Docs: man:NetworkManager(8)
 Main PID: 1437 (NetworkManager)
    Tasks: 3
   Memory: 15.2M
      CPU: 3.005s
   CGroup: /system.slice/NetworkManager.service
           └─1437 /usr/sbin/NetworkManager --no-daemon

maj 04 13:10:06 pagoda-PC-1 NetworkManager[1437]: <info>  [1620126606.8740] device (ap1-wlan1): enslaved to non-master-type device ovs-system; ignoring
maj 04 13:10:06 pagoda-PC-1 NetworkManager[1437]: nm_device_get_device_type: assertion 'NM_IS_DEVICE (self)' failed
maj 04 13:10:06 pagoda-PC-1 NetworkManager[1437]: <info>  [1620126606.8792] manager: (ap1): new Generic device (/org/freedesktop/NetworkManager/Devices/177)
maj 04 13:10:06 pagoda-PC-1 NetworkManager[1437]: <info>  [1620126606.8901] devices added (path: /sys/devices/virtual/net/ap1, iface: ap1)
maj 04 13:10:06 pagoda-PC-1 NetworkManager[1437]: <info>  [1620126606.8901] device added (path: /sys/devices/virtual/net/ap1, iface: ap1): no ifupdown configuration found.
maj 04 13:10:15 pagoda-PC-1 NetworkManager[1437]: <warn>  [1620126615.6680] device (ap1-wlan1): re-acquiring supplicant interface (#1).
maj 04 13:10:15 pagoda-PC-1 NetworkManager[1437]: <info>  [1620126615.6709] device (ap1-wlan1): enslaved to non-master-type device ovs-system; ignoring
maj 04 13:10:15 pagoda-PC-1 NetworkManager[1437]: <info>  [1620126615.7258] device (ap1-wlan1): supplicant interface state: starting -> ready
maj 04 13:10:15 pagoda-PC-1 NetworkManager[1437]: <info>  [1620126615.7259] device (ap1-wlan1): state change: unavailable -> disconnected (reason 'supplicant-available') [20 30 42]
maj 04 13:10:19 pagoda-PC-1 NetworkManager[1437]: <info>  [1620126619.4699] device (ap1-wlan1): supplicant interface state: ready -> inactive

I'll try to stop it.

rosakolejarz commented 3 years ago

It looks like when I turned it off, it works, Thank you, Sir.