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 https://wiki.lm-technologies.com/linux-wifi-ad-hoc-mode/. I did the following on each of the devices (iwd was not running).


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)

                SSID: ibstest

                freq: 2437

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.


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 necessary.


Is there something that I am missing? Or maybe something which is missing in iwd in adhoc mode?


One of the devices is using an Intel Wireless AC 9260 and the other one an Intel Wireless 8265 / 8275.






Diego Santa Cruz, PhD
Technology Architect