Hi Bobby,

I find it rather odd that you need to add an IPv6 link local address manually.

For babeld to work, you need functioning IPv6 multicast. You can do a link local multicast ping with `ping ff02::1%wlan1`. If everything is correct you should get replies from all link local address in the network attached to your `wlan1` interface. In your case you should see a reply from your own interface and from the other PI.

You can also try and use `tcpdump -i wlan1 udp port 6696` and see if you can spot both machines' packets. If not, it's another clue that multicast might be broken in your case.

Cheers,

Johannes

On 27.01.22 20:06, Bobby wrote:
Attempt number 2, as it seems the Android gmail app sends html which the mailing list doesn't like. Apologies to all.

I cannot seem to get babeld to work. I imagine it's something silly. If anyone could point out what I'm doing wrong, it would be a huge help. I've been mostly following the instructions here with no luck: https://github.com/jech/babeld

The setup consists of two Raspberry Pis with USB wifi devices. The wifi devices are placed into ad-hoc mode with the following commands:
     sudo ip link set wlan1 down
     sudo iwconfig wlan1 mode ad-hoc channel 1 essid "babeltest"
     sudo ip link set up dev wlan1

IP addresses are assigned to the interface with the following commands:
     sudo ip addr add 10.0.1.1/16 dev wlan1
     sudo ip -6 addr add $(generate-ipv6-address -r)/128 dev wlan1


These same steps are repeated on Pi number 2, but with an ipv4 address of 10.0.2.1. At this point both of them can ping each other at their ipv4 address via the wlan1 interface.

Attempting to run babeld on wlan1 will result in an error regarding a lack of link-local address. The specific message is:
     Interface wlan1 has no link-local address.
     setsockopt(IPV6_LEAVE_GROUP): Cannot assign requested address


The guide on github mentions adding a link local address for VPNs, and since the above error seems related, the following command was issued on both of the Pis:
     sudo ip -6 addr add $(generate-ipv6-address fe80::) dev wlan1


I don't know if this is the right thing to do, but it resolves the link-local error. The ifconfig output for wlan1 on Pi number 2 shows the following after doing so:

wlan1: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
         inet 10.0.2.1  netmask 255.255.0.0 broadcast 0.0.0.0
        inet6 fdf8:2c6e:fe5a:0:9caf:84:72db:c7d4 prefixlen 128  scopeid 0x0<global>
         inet6 fe80::a8d8:b516:ece7:7059  prefixlen 128  scopeid 0x20<link>
         ether 10:0d:7f:b3:f3:0f  txqueuelen 1000 (Ethernet)
         RX packets 229  bytes 32632 (31.8 KiB)
         RX errors 0  dropped 0  overruns 0  frame 0
         TX packets 229  bytes 34568 (33.7 KiB)
         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0



Running babeld still doesn't seem to work though.
=====
sudo babeld -d 2 wlan1
Noticed ifindex change for wlan1.
Noticed status change for wlan1.
Noticed IPv4 change for wlan1.
Upped interface wlan1 (cost=256, channel=1, IPv4).
Sending hello 21160 (400) to wlan1.
Sending self update to wlan1.
Sending update to wlan1 for any.
Sending self update to wlan1.
Sending update to wlan1 for any.
sending request for any.

Checking kernel routes.
   (flushing 12 buffered bytes)
send: Cannot assign requested address
Sending hello 21161 (400) to wlan1.
   (flushing 20 buffered bytes)
send: Cannot assign requested address
Sending hello 21162 (400) to wlan1.
Sending self update to wlan1.
Sending update to wlan1 for 10.0.2.1/32 from 0.0.0.0/0.
Sending update to wlan1 for 10.13.37.126/32 from 0.0.0.0/0.
Sending update to wlan1 for fdf8:2c6e:fe5a:0:9caf:84:72db:c7d4/128 from ::/0.
   (flushing 3 buffered updates on wlan1 (4))
sending request for any.
   (flushing 104 buffered bytes)
send: Cannot assign requested address
Entering main loop.
Sending hello 21163 (400) to wlan1.

My id e6:5f:01:ff:fe:7d:76:9d seqno 59476
10.0.2.1/32 from 0.0.0.0/0 metric 0 (exported)
10.13.37.126/32 from 0.0.0.0/0 metric 0 (exported)
fdf8:2c6e:fe5a:0:9caf:84:72db:c7d4/128 from ::/0 metric 0 (exported)
Checking neighbours.

My id e6:5f:01:ff:fe:7d:76:9d seqno 59476
10.0.2.1/32 from 0.0.0.0/0 metric 0 (exported)
10.13.37.126/32 from 0.0.0.0/0 metric 0 (exported)
fdf8:2c6e:fe5a:0:9caf:84:72db:c7d4/128 from ::/0 metric 0 (exported)
   (flushing 8 buffered bytes)
send: Cannot assign requested address

My id e6:5f:01:ff:fe:7d:76:9d seqno 59476
10.0.2.1/32 from 0.0.0.0/0 metric 0 (exported)
10.13.37.126/32 from 0.0.0.0/0 metric 0 (exported)
fdf8:2c6e:fe5a:0:9caf:84:72db:c7d4/128 from ::/0 metric 0 (exported)
=====

There are constant "send:" errors. There is never any indication that the hello message makes it to the other Pi, nor does anything show that hello messages are being received on this Pi. I've tried all three possible combinations of assigning ipv6 addresses but it makes no difference. Pinging the ipv4 addresses works though, so I know the Pis are able to communicate over wlan1. I think I'm missing something else but I don't know what it is. Any ideas?

Thanks,
Bobby

_______________________________________________
Babel-users mailing list
[email protected]
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/babel-users

_______________________________________________
Babel-users mailing list
[email protected]
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/babel-users

Reply via email to