networkd can't bridge a wlan access point
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
systemd (Ubuntu) |
Invalid
|
Undecided
|
Unassigned |
Bug Description
I'm trying to build a router with ubuntu server 24.04, using a device with some ethernets and a wifi, putting some ethernets and the wifi into one bridge.
But I currently don't see how to make networkd do this.
Example config (that doesn't work):
/etc/netplan/
network:
version: 2
renderer: networkd
ethernets:
enp4s0:
dhcp4: no
enp5s0:
dhcp4: no
wifis:
wlp1s0:
dhcp4: no
access-
"hurra":
mode: ap
bridges:
lan:
dhcp4: no
addresses:
- "192.168.122.1/24"
- "fdfc:1234:
interfaces:
- enp4s0
- enp5s0
- wlp1s0
doesn't work:
ERROR: wlp1s0: hurra: networkd does not support this wifi mode
removing the wifis section, running the wifi with hostapd, and just list it as regular ethernet, as many howtos out there recommend, like
ethernets:
enp4s0:
dhcp4: no
enp5s0:
dhcp4: no
wlp1s0:
dhcp4: no
doesn't work either. Error message
2025-04-
which is clearly wrong, since a manual
brctl addif lan wlp1s0
works properly
and removing it from netplan, just listing it in the bridge member list results in
# networkctl
IDX LINK TYPE OPERATIONAL SETUP
1 lo loopback carrier unmanaged
2 enp3s0 ether routable configured
3 enp4s0 ether enslaved configured
4 enp5s0 ether no-carrier configured
5 enp6s0 ether off unmanaged
6 wlp1s0 wlan degraded unmanaged
7 lan bridge routable configured
man pages systemd.netdev and systemd.network don't help either.
So how is this supposed to work? Just errecting a wifi access point and attaching it to a bridge with systemd tools/ubuntu server?
ProblemType: Bug
DistroRelease: Ubuntu 24.04
Package: systemd 255.4-1ubuntu8.6
ProcVersionSign
Uname: Linux 6.8.0-57-generic x86_64
NonfreeKernelMo
ApportVersion: 2.28.1-0ubuntu3.5
Architecture: amd64
CasperMD5CheckR
Date: Fri Apr 11 13:33:18 2025
InstallationDate: Installed on 2025-04-08 (3 days ago)
InstallationMedia: Ubuntu-Server 24.04.2 LTS "Noble Numbat" - Release amd64 (20250216.2)
Lsusb:
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 05e3:0751 Genesys Logic, Inc. microSD Card Reader
Bus 001 Device 003: ID 0bda:b85b Realtek Semiconductor Corp. Bluetooth Radio
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Lsusb-t:
/: Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/8p, 480M
|__ Port 006: Dev 002, If 0, Class=Mass Storage, Driver=usb-storage, 480M
|__ Port 008: Dev 003, If 0, Class=Wireless, Driver=btusb, 12M
|__ Port 008: Dev 003, If 1, Class=Wireless, Driver=btusb, 12M
/: Bus 002.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/6p, 10000M
MachineType: Default string Default string
ProcKernelCmdLine: BOOT_IMAGE=
SourcePackage: systemd
SystemdFailedUnits:
Error: command ['systemctl', 'status', '--full', '●'] failed with exit code 4: Invalid unit name "●" escaped as "\xe2\x97\x8f" (maybe you should use systemd-escape?).
Unit \xe2\x97\
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 04/17/2023
dmi.bios.release: 5.19
dmi.bios.vendor: American Megatrends International, LLC.
dmi.bios.version: JK4LV107
dmi.board.
dmi.board.name: Default string
dmi.board.vendor: Default string
dmi.board.version: Default string
dmi.chassis.
dmi.chassis.type: 3
dmi.chassis.vendor: Default string
dmi.chassis.
dmi.modalias: dmi:bvnAmerican
dmi.product.family: Default string
dmi.product.name: Default string
dmi.product.sku: Default string
dmi.product.
dmi.sys.vendor: Default string
I saw your thread on systemd-devel, and I think that's the more appropriate place for a question like this. I think this falls a bit outside the scope of a bug report for Ubuntu's sake.
If you find that in fact something needs backporting to support your use case, please let us know. But as far as "figuring out how to do this", I think support forums/mailing lists are more appropriate.