Skip to content

[BUG]: --net=gateway client never gets an IP with the first-party OpenWrt rootfs #345

Description

@krau

Kernel Version

5.10

Kernel Source Link (REQUIRED)

https://github.com/Pzqqt/android_kernel_xiaomi_marble

Droidspaces Version

6.6.0

Rooting Method

KernelSU

Device OEM & Model

marble

Android Version & ROM

16 los

Execution Mode

Both

Networking Mode

NAT

Describe the Bug

A --net=gateway client container never receives an address when the gateway container is the first-party OpenWrt image from the built-in rootfs repository (OpenWrt-24.10-Minimal).

Inside the client:

$ ip -4 addr
1: lo: ... inet 127.0.0.1/8 scope host lo
2: eth0@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> ...
    inet6 fe80::.../64 scope link
$ ip route

The app's container details screen shows 127.0.0.1 for that container, because that is the UI fallback when the reported address list is empty, which makes a missing address look like a plausible one.

Steps to Reproduce

  1. Router container from the app's rootfs repository (OpenWrt 24.10 Minimal)
droidspaces --name=openwrt --rootfs=/data/openwrt --net=nat start
  1. A client with a DHCP client on eth0
droidspaces --name=alpine --rootfs=/data/alpine --net=gateway --gateway=openwrt start

Inside the gateway container:

$ ip -4 addr
    inet 172.28.x.x/16 ... dev eth0      # WAN, from Droidspaces NAT
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> ...
                                         # exists, no address
$ uci show network | grep lan            # empty

Inside the client: ip -4 addr shows only lo (plus a link-local on eth0).


Manually configure the LAN once inside the gateway container makes everything work, with no other change:

    uci set network.lan=interface
    uci set network.lan.device='eth1'
    uci set network.lan.proto='static'
    uci set network.lan.ipaddr='192.168.1.1'
    uci set network.lan.netmask='255.255.255.0'
    uci commit network
    uci set dhcp.lan=dhcp
    uci set dhcp.lan.interface='lan'
    uci set dhcp.lan.start='100'
    uci set dhcp.lan.limit='150'
    uci set dhcp.lan.leasetime='12h'
    uci commit dhcp
    uci add_list firewall.lan.network='lan'
    uci commit firewall
    /etc/init.d/network reload && /etc/init.d/dnsmasq restart && /etc/init.d/firewall reload

The client then gets 192.168.1.100/24, default route via 192.168.1.1, DNS and internet, and droidspaces show --format reports the real IP.

Logs / Screenshots

No response

Required Acknowledgments

  • I have verified this is not a duplicate issue.
  • I am using a kernel compiled strictly according to Droidspaces' official documentation.
  • I am NOT using a kernel with 69+ random configs, CRC nukes, or a broken ABI.
  • I have confirmed this issue persists in both Daemon and Direct modes.
  • I admit that I am a clown for checking this box, confirming I have NOT read these rules.
  • I admit I did zero research, didn't ask my AI waifu for a fix, and am dropping this here because I'm 100% sure the fault lies with Droidspaces.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions