This is an automated email from the ASF dual-hosted git repository.

xiaoxiang781216 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git

commit 3e37733cd5da426d32b62c5542f7642e9f21d5e3
Author: raiden00pl <[email protected]>
AuthorDate: Thu Oct 22 13:20:33 2026 +0200

    wireless/ieee802154: turn the network device carrier on in ifup
    
    The MAC network device and the loopback never set IFF_RUNNING, and
    routing by address skips a device that is not running, so connect()
    failed with ENETUNREACH.
    
    Assisted-by: Claude Code
    Signed-off-by: raiden00pl <[email protected]>
---
 wireless/ieee802154/mac802154_loopback.c | 2 ++
 wireless/ieee802154/mac802154_netdev.c   | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/wireless/ieee802154/mac802154_loopback.c 
b/wireless/ieee802154/mac802154_loopback.c
index c67ec0ed929..532a07b2900 100644
--- a/wireless/ieee802154/mac802154_loopback.c
+++ b/wireless/ieee802154/mac802154_loopback.c
@@ -493,6 +493,7 @@ static int lo_ifup(FAR struct net_driver_s *dev)
 #endif
 
   priv->lo_bifup = true;
+  netdev_carrier_on(dev);
   return OK;
 }
 
@@ -521,6 +522,7 @@ static int lo_ifdown(FAR struct net_driver_s *dev)
   /* Mark the device "down" */
 
   priv->lo_bifup = false;
+  netdev_carrier_off(dev);
   return OK;
 }
 
diff --git a/wireless/ieee802154/mac802154_netdev.c 
b/wireless/ieee802154/mac802154_netdev.c
index 55ea9d9e25f..26298a2231f 100644
--- a/wireless/ieee802154/mac802154_netdev.c
+++ b/wireless/ieee802154/mac802154_netdev.c
@@ -684,6 +684,7 @@ static int macnet_ifup(FAR struct net_driver_s *dev)
              dev->d_mac.radio.nv_addr[0], dev->d_mac.radio.nv_addr[1]);
 #endif
 
+      netdev_carrier_on(dev);
       ret = OK;
     }
 
@@ -722,6 +723,7 @@ static int macnet_ifdown(FAR struct net_driver_s *dev)
   /* Mark the device "down" */
 
   priv->md_bifup = false;
+  netdev_carrier_off(dev);
 
   return OK;
 }

Reply via email to