My goal is using create 1 Ap (wlan0.1)& 1 Station(wlan0.2) at the same time, and forword the traffic from wlan0.1 to wlan0.2 , from iw list ,
Supported interface modes:
* managed
* AP
* AP/VLAN
* monitor
* mesh point
* P2P-client
* P2P-GO
* P2P-device
valid interface combinations:
* #{ managed, mesh point } <= 1, #{ AP } <= 1, #{ P2P-client, P2P-GO } <= 1, #{ P2P-device } <= 1,
total <= 4, #channels <= 3
seems support such combinations, ,i want to know if aic8800 support using iptables to do
sudo iptables -t nat -A POSTROUTING -s 192.168.50.0/24 -o wlan0.2 -j MASQUERADE
mysetup is
wlan0.1 as AP mode, static ip addrss 192.168.50.1,
wlan0.2 as client ,connet to other ssid which can access to the internet , i want to client connect to wlan0.1 as can access internet
Zero3W WiFi aic8800_fdrv-Does supoort forward traffic from virtual wlan0.1 to wlan0.2?
It would be possible as long as you set your ZERO 3W as a router: separate sub net, providing DHCP & DNS, etc.
Wi-Fi hardware will block other devices if you just bridge it with another interface, unless both ends enable WDS.
--------ip addr show for wlan0.1 (ap-static ip 192.168.50.1)------
------- wlan0.2(client which can access to internet -------
‘’’’
radxa@radxa-zero3:~$ ip addr show wlan0.1
7: wlan0.1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 98:03:cf:d2:26:4d brd ff:ff:ff:ff:ff:ff
inet 192.168.50.1/24 brd 192.168.50.255 scope global noprefixroute wlan0.1
valid_lft forever preferred_lft forever
inet 169.254.181.61/16 brd 169.254.255.255 scope global noprefixroute wlan0.1
radxa@radxa-zero3:~$ ip addr show wlan0.2
8: wlan0.2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 98:03:cf:d2:26:4e brd ff:ff:ff:ff:ff:ff
inet 192.168.5.106/24 brd 192.168.5.255 scope global dynamic noprefixroute wlan0.2
valid_lft 40689sec preferred_lft 40689sec
inet 192.168.5.110/24 brd 192.168.5.255 scope global secondary dynamic noprefixroute wlan0.2
valid_lft 40697sec preferred_lft 35297sec
‘’’’
i have one ethernet port ( usb NIC through usb3.0 host ,use udev rule rename it to rad2-aslo can access internet) –
below works fine, - phone conect to wlan0.1 - then can access to internet through rad2
--------------- iptables commands for traffic from wlan0.1 to rad2 this works-------------------
radxa@radxa-zero3:~$ sudo iptables -t nat -A POSTROUTING -s 192.168.50.0/24 -o rad2 -j MASQUERADE
radxa@radxa-zero3:~$ sudo iptables -t nat -L -v -n
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
2 144 MASQUERADE 0 – * rad2 192.168.50.0/24 0.0.0.0/0
remove above rule,change it to (wlan0.2 can also access internet)
below not work, phone only can ping 192.168.50.*, the traffic can not forward to wlan0.2,
is this right behavior of the specified aic8800 wireless card, or some wireless card can support this mode( one wlan virtual interface as AP,the other one as station/client mode, and forward the traffic between those 2 virtual interfaces)
--------------- iptables commands for traffic from wlan0.1 to wlan0.2 this does’n work -------------------
radxa@radxa-zero3:~$ sudo iptables -t nat -A POSTROUTING -s 192.168.50.0/24 -o wlan0.2 -j MASQUERADE
radxa@radxa-zero3:~$ sudo route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.5.1 0.0.0.0 UG 1005 0 0 rad2
0.0.0.0 192.168.5.1 0.0.0.0 UG 3008 0 0 wlan0.2
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 rad2
169.254.0.0 0.0.0.0 255.255.0.0 U 3007 0 0 wlan0.1
192.168.5.0 0.0.0.0 255.255.255.0 U 1005 0 0 rad2
192.168.5.0 0.0.0.0 255.255.255.0 U 3008 0 0 wlan0.2
192.168.50.0 0.0.0.0 255.255.255.0 U 600 0 0 wlan0.1
Can’t read your message. You should use
```
code block
```
to quote your command output.
Are you referring to this guide?
https://wiki.radxa.com/Rock/Wireless/AP_mode_manually
I’m trying to setup the same on 5c.
I tried
https://wiki.radxa.com/Rock5/guide/apmode
but there seems to be an issue with virtual interfaces support on AIC8800
radxa@rock-5c:~$ sudo create_ap wlan0 wlan0 ROCK5
Config dir: /tmp/create_ap.wlan0.conf.PRD7UERx
PID: 5615
Network Manager found, set ap0 as unmanaged device... DONE
wlan0 is already associated with channel 48 (5240 MHz)
multiple channels not supported,
fallback to channel 48
Creating a virtual WiFi interface... command failed: Invalid argument (-22)
ERROR: Maybe your WiFi adapter does not fully support virtual interfaces.
Try again with --no-virt.
Doing cleanup.. done
When I try to create virtual interface like here
I get error:
radxa@rock-5c:~$ sudo iw phy phy0 interface add myCli type station
command failed: Invalid argument (-22)
I’ve also tried to use managed instead of station but getting same error
@lesiehzcn how you managed to create your wlan0.1 and wlan0.2?
Can you run zcat /proc/config.gz | grep INOTIFY
and paste the result?
CONFIG_INOTIFY_USER=y
Wiki is deprecated so no need to reference that, but I followed link in our Docs that despite seeing the same -22 error, it worked fine:
radxa@rock-5c:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: end1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether e2:87:24:fb:78:98 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.235/24 brd 192.168.2.255 scope global dynamic noprefixroute end1
valid_lft 3489sec preferred_lft 3489sec
inet6 fdaa::dfc/128 scope global dynamic noprefixroute
valid_lft 3488sec preferred_lft 3488sec
inet6 240e:3b7:324d:4cf0::dfc/128 scope global dynamic noprefixroute
valid_lft 3488sec preferred_lft 3488sec
inet6 240e:3b7:324d:4cf0:32ce:7e30:9215:c99e/64 scope global dynamic noprefixroute
valid_lft 212431sec preferred_lft 126031sec
inet6 fdaa::e6a0:1869:fa31:8184/64 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 fe80::e04e:910:3bde:368/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state DORMANT group default qlen 1000
link/ether 88:00:03:00:00:05 brd ff:ff:ff:ff:ff:ff
4: mySta: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 88:00:03:00:00:07 brd ff:ff:ff:ff:ff:ff
inet 192.168.31.118/24 brd 192.168.31.255 scope global dynamic noprefixroute mySta
valid_lft 3581sec preferred_lft 3581sec
inet6 fdaa:0:0:30::dfc/128 scope global dynamic noprefixroute
valid_lft 3579sec preferred_lft 3579sec
inet6 240e:3b7:324d:4cf2::dfc/128 scope global dynamic noprefixroute
valid_lft 3579sec preferred_lft 3579sec
inet6 240e:3b7:324d:4cf2:8ee6:b0d9:ee06:1005/64 scope global dynamic noprefixroute
valid_lft 212431sec preferred_lft 126031sec
inet6 fdaa::30:e365:850b:6d1:e187/64 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 fe80::a2ad:8f8:90fa:8e31/64 scope link noprefixroute
valid_lft forever preferred_lft forever
5: myAcc: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 88:00:03:00:00:06 brd ff:ff:ff:ff:ff:ff
inet 10.42.0.1/24 brd 10.42.0.255 scope global noprefixroute myAcc
valid_lft forever preferred_lft forever
inet6 fe80::8a00:3ff:fe00:6/64 scope link
valid_lft forever preferred_lft forever
radxa@rock-5c:~$ ping 10.42.0.172
PING 10.42.0.172 (10.42.0.172) 56(84) bytes of data.
64 bytes from 10.42.0.172: icmp_seq=1 ttl=64 time=172 ms
64 bytes from 10.42.0.172: icmp_seq=2 ttl=64 time=557 ms
64 bytes from 10.42.0.172: icmp_seq=3 ttl=64 time=517 ms
^C
--- 10.42.0.172 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 171.918/415.250/557.006/172.842 ms
You just need to follow the instruction there.
after restart I have
radxa@rock-5c:~$ sudo iw dev
phy#0
Unnamed/non-netdev interface
wdev 0x2
addr 88:00:03:00:11:18
type P2P-device
Interface wlan0
ifindex 3
wdev 0x1
addr 88:00:03:00:11:19
ssid home
type managed
channel 132 (5660 MHz), width: 80 MHz, center1: 5690 MHz
and this
radxa@rock-5c:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: end1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 5a:f3:d6:db:bf:9d brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 88:00:03:00:11:19 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.110/24 brd 192.168.1.255 scope global dynamic noprefixroute wlan0
valid_lft 86171sec preferred_lft 86171sec
inet6 2600:1700:38c0:3e60::29/128 scope global dynamic noprefixroute
valid_lft 3374sec preferred_lft 3374sec
inet6 2600:1700:38c0:3e60:e8c3:c8f1:57f6:16ec/64 scope global dynamic noprefixroute
valid_lft 3424sec preferred_lft 3424sec
inet6 fe80::26bf:58c6:6f5:f7b7/64 scope link noprefixroute
valid_lft forever preferred_lft forever
next I run two first commands from doc
radxa@rock-5c:~$ sudo iw phy phy0 interface add mySta type station
radxa@rock-5c:~$ sudo iw phy phy0 interface add myAcc type __ap
radxa@rock-5c:~$ sudo iw dev
phy#0
Interface wlx88000300111a
ifindex 5
wdev 0x4
addr 88:00:03:00:11:1a
type managed
Interface wlx88000300111b
ifindex 4
wdev 0x3
addr 88:00:03:00:11:1b
type managed
Unnamed/non-netdev interface
wdev 0x2
addr 88:00:03:00:11:18
type P2P-device
Interface wlan0
ifindex 3
wdev 0x1
addr 88:00:03:00:11:19
ssid home
type managed
channel 132 (5660 MHz), width: 80 MHz, center1: 5690 MHz
and
radxa@rock-5c:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: end1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 5a:f3:d6:db:bf:9d brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 88:00:03:00:11:19 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.110/24 brd 192.168.1.255 scope global dynamic noprefixroute wlan0
valid_lft 85806sec preferred_lft 85806sec
inet6 2600:1700:38c0:3e60::29/128 scope global dynamic noprefixroute
valid_lft 3008sec preferred_lft 3008sec
inet6 2600:1700:38c0:3e60:e8c3:c8f1:57f6:16ec/64 scope global dynamic noprefixroute
valid_lft 3555sec preferred_lft 3555sec
inet6 fe80::26bf:58c6:6f5:f7b7/64 scope link noprefixroute
valid_lft forever preferred_lft forever
4: wlx88000300111b: <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state DORMANT group default qlen 1000
link/ether 88:00:03:00:11:1b brd ff:ff:ff:ff:ff:ff
5: wlx88000300111a: <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state DORMANT group default qlen 1000
link/ether 88:00:03:00:11:1a brd ff:ff:ff:ff:ff:ff
Looks like interfaces are created incorrectly. Maybe I have to update driver or reset something?