I am trying to establish an ad-hoc connection between two Linux devices using iwd but so
far I have not had any success without manual intervention. In short the link state
remains dormant and no packets can be sent.
I succeeded to do it manually with iw inspiring me from
. I did the following on each of
the devices (iwd was not running).
* iw phy phy0 interface add ibs0 type ibss
* ip link set ibs0 up
* iw dev ibs0 ibss join ibstest 2437
After a few seconds the two devices connected and "iw dev ibs0 link" showed
(same MAC address on both)
Joined IBSS 86:ac:e8:60:15:f3 (on ibs0)
And "ip link show dev ibs0" shows
5: ibs0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT
group default qlen 1000
link/ether 3c:6a:a7:51:6d:dd brd ff:ff:ff:ff:ff:ff
And I can successfully ping the local-link IPv6 address of the other device.
With iwd I do the following to establish ad-hoc networking.
* Reboot to start with a clean state
* Start iwd
* iwctl device wlan0 set-property Mode ad-hoc
* iwctl ad-hoc wlan0 start_open ibstest
A few seconds later the two devices do connect, I see the a "new Station"
message from one of the iwd, and "iw dev wlan0 link" shows the same MAC address
on both devices, so as far as I understand they are joined.
However, "ip link show dev wlan0" shows "NO-CARRIER" on both devices
with state DORMANT and mode DORMANT.
5: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state
DORMANT mode DORMANT group default qlen 1000
link/ether 34:e1:2d:24:03:42 brd ff:ff:ff:ff:ff:ff
When doing it manually with iw the state was UP and the mode DEFAULT, so I manually
changed the state with "ip link set wlan0 state up". After that "ip
link" no longer shows NO-CARRIER and pings worked. Changing the mode was not
Is there something that I am missing? Or maybe something which is missing in iwd in adhoc
One of the devices is using an Intel Wireless AC 9260 and the other one an Intel Wireless
8265 / 8275.
Diego Santa Cruz, PhD