[Babel-users] Send: Cannot assign requested address
Johannes Kimmel
fff at bareminimum.eu
Thu Jan 27 21:22:50 GMT 2022
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
> Babel-users at alioth-lists.debian.net
> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/babel-users
More information about the Babel-users
mailing list