suiluj / pi-adhoc-mqtt-cluster

Using batman-adv to connect several raspberrypi to a mesh network and creating a vernemq cluster
MIT License
21 stars 4 forks source link

Alfred fails to open interface #1

Open msaiducar opened 5 years ago

msaiducar commented 5 years ago

I followed the Option 1 in Batman Adv and Batctl page, however I couldn't able to run either alfred or batadv-vis. I only didn't execute the line batctl gw_mode client which says optional. I used 3 Raspberry Pi3 to build network, and I didn't get any error. I got the following output when I execute sudo batctl o command.

pi@raspberrypi:~ $ sudo batctl o
[B.A.T.M.A.N. adv 2018.4, MainIF/MAC: wlan0/b8:27:eb:1d:0a:57 (bat0/d6:bf:c9:ff:0c:42 BATMAN_IV)]                      
   Originator        last-seen (#/255) Nexthop           [outgoingIF]
   b8:27:eb:8c:98:3d    4.490s   ( 52) b8:27:eb:43:f7:26 [wlan0]
 * b8:27:eb:8c:98:3d    4.490s   (105) b8:27:eb:8c:98:3d [wlan0]
 * b8:27:eb:43:f7:26    0.560s   ( 75) b8:27:eb:8c:98:3d [wlan0] 
   b8:27:eb:43:f7:26    0.560s   ( 68) b8:27:eb:43:f7:26 [wlan0]  

But, when I execute the following commands, it fails. What am I missing?

pi@raspberrypi:~ $ sudo batadv-vis -i bat0 -s
can't connect to unix socket: Connection refused  
pi@raspberrypi:~ $ sudo alfred -i bat0 -m -p 1 &
can't bind: Cannot assign requested address
Failed to open interfaces

This is the output of network interfaces,


pi@raspberrypi:~ $ ifconfig
bat0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 169.254.149.200  netmask 255.255.0.0  broadcast 169.254.255.255
        inet6 fe80::8f24:1731:4110:45fe  prefixlen 64  scopeid 0x20<link>
        ether 1e:52:bd:b4:8e:01  txqueuelen 1000  (Ethernet)
        RX packets 47020  bytes 3405836 (3.2 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4439  bytes 1617434 (1.5 MiB)
        TX errors 0  dropped 39 overruns 0  carrier 0  collisions 0

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.76  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::6777:ddba:a1bf:ec9d  prefixlen 64  scopeid 0x20<link>
        ether b8:27:eb:d9:cd:68  txqueuelen 1000  (Ethernet)
        RX packets 162079  bytes 23884312 (22.7 MiB)
        RX errors 0  dropped 1  overruns 0  frame 0
        TX packets 35594  bytes 4911434 (4.6 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 173  bytes 16480 (16.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 173  bytes 16480 (16.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::ba27:ebff:fe8c:983d  prefixlen 64  scopeid 0x20<link>
        ether b8:27:eb:8c:98:3d  txqueuelen 1000  (Ethernet)
        RX packets 1199859  bytes 71583039 (68.2 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 804736  bytes 81476197 (77.7 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
suiluj commented 5 years ago

hello @msaiducar

I read somewhere that the iplink.local address and the mac address have to match: https://lists.open-mesh.org/pipermail/b.a.t.m.a.n/2016-May/015169.html

So try to give the bat0 interface a link local address which is matching the mac interface. (There are special calculation rules for that.)

I set the ipv6 link local address in the startup script of Option 3.

# set IPv6 link-local adress
# help link: https://ben.akrin.com/?p=1347
ip -6 addr add fe80::ba27:ebff:fe77:3d38/64 dev bat0

It seems that the ben.akrin page is down. So instead i just found a new one which has a form at the button to calculate automatically: http://www.sput.nl/internet/ipv6/ll-mac.html

Does this work for you then?

lfsabcd7 commented 4 years ago

Same issue with alfred launcher. [https://github.com/albertlauncher/albert]() But solution didn't worked alfred can't bind unix socket: Permission denied

alfred debian-2020.1-1 OS: Kali GNU/Linux Rolling x Kernel: 5.6.0-kali2-amd64 Shell: bash 5.0.16