Hallo,

ich möchte auf Debian Bullsey einen WLAN-Stick in einer eth-wlan-Bridge nutzen.
Als ersten Schritt versuche ich eine Bridge zu erstellen, bei der nur der WLAN-Stick als einziger Port verfügbar ist.
Leider funktioniert kein Ping, während bei einer Direktverbindung (WLAN ohne Bridge) dieser funktioniert.

Der Stick ist folgender:
Code:
# lsusb | grep WLAN
Bus 001 Device 002: ID 0bda:8178 Realtek Semiconductor Corp. RTL8192CU 802.11n WLAN Adapter
Im ersten Schritt lösche ich das existierende WLAN-Interface und ersetze es durch wport0 (=wireless lan bridge port). wport0 hat 4addr und den promiscuous mode aktiviert.
Code:
# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    ...
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    ...
3: wlx74da38ebfd98: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 86:f1:...:66 brd ff:ff:ff:ff:ff:ff permaddr 74:da:...:98
# iw phy0 interface add wport0 type managed 4addr on
# ip link set wport0 promisc on
# iw dev wlx74da38ebfd98 del
# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    ...
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    ...
4: wport0: <NO-CARRIER,BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc mq state DORMANT group default qlen 1000
    link/ether b2:42:...:a2 brd ff:ff:ff:ff:ff:ff permaddr 74:da:...:98
Dann erstelle ich die Bridge br0, weise ihr eine IP und wport0 als Port zu:
Code:
# ip link add br0 type bridge
# ip link set wport0 master br0
# ip link set br0 up
# CLIENT_IP=192.168.72.11
# WLAN_ROUTER_IP=192.168.72.254
# ip addr add $CLIENT_IP/24 dev br0
# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    ...
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    ...
4: wport0: <NO-CARRIER,BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc mq master br0 state DOWN group default qlen 1000
    link/ether b2:42:...:a2 brd ff:ff:ff:ff:ff:ff permaddr 74:da:...:98
5: br0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 02:a5:...:90 brd ff:ff:ff:ff:ff:ff
    inet 192.168.72.11/24 scope global br0
       valid_lft forever preferred_lft forever
Nach dem Start von WPA Supplicant ...
Code:
wpa_supplicant -dd -D nl80211 -i wport0 -c ~user/test.wlan -b br0 > wpa.log & tail -F wpa.log
... versuche ich zu pingen:
Code:
# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    ...
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    ...
4: wport0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP group default qlen 1000
    link/ether b2:42:...:a2 brd ff:ff:ff:ff:ff:ff permaddr 74:da:...:98
5: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 02:a5:...:90 brd ff:ff:ff:ff:ff:ff
    inet 192.168.72.11/24 scope global br0
       valid_lft forever preferred_lft forever
    inet6 ...

# ping $CLIENT_IP -c 1
PING 192.168.72.11 (192.168.72.11) 56(84) bytes of data.
64 bytes from 192.168.72.11: icmp_seq=1 ttl=64 time=0.045 ms

--- 192.168.72.11 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.045/0.045/0.045/0.000 ms
# ping $WLAN_ROUTER_IP -c 4
PING 192.168.72.254 (192.168.72.254) 56(84) bytes of data.
From 192.168.72.11 icmp_seq=1 Destination Host Unreachable
From 192.168.72.11 icmp_seq=2 Destination Host Unreachable
From 192.168.72.11 icmp_seq=3 Destination Host Unreachable

--- 192.168.72.254 ping statistics ---
4 packets transmitted, 0 received, +3 errors, 100% packet loss, time 3070ms
pipe 4
Der Router meldet eine Verbindung und im wpa.log steht auch:
Code:
wport0: CTRL-EVENT-CONNECTED - Connection to c6:4a:...:8d completed [id=0 id_str=]
Auffällig ist allerdings die Bridge-spezifischen Logeinträge:
Code:
Initializing interface 'wport0' conf '/home/user/test.wlan' driver 'nl80211' ctrl_interface 'N/A' bridge 'br0'
wport0: Receiving packets from bridge interface 'br0'
wport0: RX EAPOL from c6:4a:...:8d to b2:42:...:a2 (bridge)
nl80211: Add ifindex 5 for bridge br0
wport0: RX EAPOL from b2:42:...:a2 to c6:4a:...:8d (bridge - not for this interface - ignore)
wport0: RX EAPOL from c6:4a:...:8d to b2:42:...:a2 (bridge)
nl80211: Add ifindex 5 for bridge br0
nl80211: Add ifindex 5 for bridge br0
wport0: RX EAPOL from b2:42:...:a2 to c6:4a:...:8d (bridge - not for this interface - ignore)
Was beduetet: "bridge - not for this interface - ignore"?
Werden benötigte Frames gefiltert?

Ich verwende firmware-realtek_20210315-3_all.deb. Brauche ich eine alternative Firmware oder gar einen anderen Stick? (Könnt ihr einen empfehlen?)

Auch ein alternativer Versuch mit WPA Supplicant + WEXT schlägt fehl ...
Code:
wpa_supplicant -dd -D wext -i wport0 -c ~user/test.wlan -b br0 > wpa.wext.log & tail -F wpa.wext.log
Code:
# ping $CLIENT_IP -c 1
PING 192.168.72.11 (192.168.72.11) 56(84) bytes of data.
64 bytes from 192.168.72.11: icmp_seq=1 ttl=64 time=0.047 ms

--- 192.168.72.11 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.047/0.047/0.047/0.000 ms
# ping $WLAN_ROUTER_IP -c 4
PING 192.168.72.254 (192.168.72.254) 56(84) bytes of data.
From 192.168.72.11 icmp_seq=1 Destination Host Unreachable
From 192.168.72.11 icmp_seq=2 Destination Host Unreachable
From 192.168.72.11 icmp_seq=3 Destination Host Unreachable
From 192.168.72.11 icmp_seq=4 Destination Host Unreachable

--- 192.168.72.254 ping statistics ---
4 packets transmitted, 0 received, +4 errors, 100% packet loss, time 3069ms
pipe 4
# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    ...
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    ...
4: wport0: <BROADCAST,MULTICAST,PROMISC> mtu 1500 qdisc mq master br0 state DOWN group default qlen 1000
    link/ether 66:e1:...:08 brd ff:ff:ff:ff:ff:ff permaddr 74:da:...:98
5: br0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 02:a5:...:90 brd ff:ff:ff:ff:ff:ff
    inet 192.168.72.11/24 scope global br0
       valid_lft forever preferred_lft forever
    inet6 ...
... hier ist wport0 auf einmal DOWN.