PocketBeagle 2: not reachable using local network via usb tethering on MacOS (26.5)

So changes between Debian 12 and Debian 13, thats odd. Does the ethernet come up on the host machine, and just not defined with a number? Or is the whole interface missing? What device comes up on the USB?

I found this thread while reviving an older project with BBB using a windows pc.

I couldn’t get an ip address from the BBB USB DHCP Server.
Since it is also armhf I post my findings here.

In the manual for systemd.network in the DCHPServer section is a new note which wasn’t there in older versions:

DHCPServer=

Takes a boolean. If set to “yes”, DHCPv4 server will be started. Defaults to “no”. Further settings for the DHCP server may be set in the [DHCPServer] section described below.

Even if this is enabled, the DHCP server will not be started automatically and wait for the persistent storage being ready to load/save leases in the storage, unless RelayTarget= or PersistLeases=no are specified in the [DHCPServer] section. It will be started after systemd-networkd-persistent-storage.service is started, which calls networkctl persistent-storage yes. See networkctl(1) for more details.

Added in version 215.

PersistLeases=

Takes a boolean. When true, the DHCP server will load and save leases in the persistent storage. When false, the DHCP server will neither load nor save leases in the persistent storage. Hence, bound leases will be lost when the interface is reconfigured e.g. by networkctl reconfigure, or systemd-networkd.service(8) is restarted. That may cause address conflict on the network. So, please take an extra care when disable this setting. When unspecified, the value specified in the same setting in networkd.conf(5), which defaults to “yes”, will be used.

Added in version 256.

I modified my /etc/systemd/network/usb0.network and now the windows host is getting an ip address from the BBB usb0 interface.

[Match]
Name=usb0

[Link]
RequiredForOnline=no

[Network]
Address=192.168.7.2/30
DHCP=no
DHCPServer=true

[DHCPServer]
PoolSize=1
MaxLeaseTimeSec=20min
EmitDNS=no
EmitRouter=yes
EmitTimezone=no
PersistLeases=runtime

I didn’t test sharing the windows pc internet connection with the BBB yet, which is the goal, but at least I am getting an ip address now.

Thanks @d-ahrens merged in the new PersistLeases=runtime option: bb-usb-gadgets (1.20260720.0) · beagleboard/repos-arm64@6e7aa0b · GitHub