Better WiFi adapters for RPI and USB

Following up on this topic.

Installed open wrt on my RPI4 and used my onboard wifi to connect as client. I understand this is not the best connectivity solution but perhaps the best for the RPI. Is there a better alternative to connect as client to camping wifi?

Furthermore I use a WIFI N adapter with internal antenna's. Is there a better alternative with WIFI ac to work with the RPI and open wrt?

Thnx for the help.

I try to make a camping router using Internal and external WiFi, 4G and tethering.

I have a Linksys wireless N dongle (2.4) which is working as should but I want to upgrade to AC with external antenna for more coverage.

Aiming to use the onboard WiFi of my RPI 4b as AP and the USB dongle for connecting to another clients.

I have two questions:

  1. Which USB dongle to use with 5Ghz and perhaps the AC standard?
  2. Standard the internal WiFi of the RPI is configured as client and the dongle as AP. I can switch the settings but if the onboard WiFi is setup as AP the SSID will not show in my networks.

Hope someone can help me with this.

That's what the links above will tell you.

https://openwrt.org/meta/infobox/broadcom_wifi

Thnx for the reply.

So if I understand correctly, only the 2.4GHz band works on OpenWRT, and it's essentially a lucky guess whether the 5GHz band of a specific dongle works or not? The Panda Wireless PAU0B is a dongle that can reliably operate on both 2.4GHz and 5.0GHz with OpenWRT, correct?

If that's the case, then this dongle might indeed be the best choice.

Do you mean that the internal WiFi of my RPI 4b is Broadcom and that's the reason why I can't switch the wireless from client to AP mode?

Is there any way to configure or set this up to make it work?

1 Like

If it's an AC dongle, AC should obviously work.

Not simultaneously.
That's a hw limit of the radio.

b/g should work in AP mode, as described in the wiki, your clients might not support it though.

2.4 GHz has the greatest coverage/range; indoor or outdoor.

No: it has two radios already; they are just weak but both should be working.

Please connect to your OpenWrt device using ssh and copy the output of the following commands and post it here using the "Preformatted text </> " button:
grafik
Remember to redact passwords, MAC addresses and any public IP addresses you may have:

ubus call system board
cat /etc/config/network
cat /etc/config/wireless
cat /etc/config/dhcp
cat /etc/config/firewall

Found this post regarding internal wifi of the RPI, is this the problem I could have?

Wireless AP on Raspberry Pi 4B not working - #6 by Ted.

I have set this up in LuCie but the SSID cannot be seen and I cannot connect:

root@OpenWrt:~# ubus call system board
{
	"kernel": "5.15.167",
	"hostname": "OpenWrt",
	"system": "ARMv8 Processor rev 3",
	"model": "Raspberry Pi 4 Model B Rev 1.5",
	"board_name": "raspberrypi,4-model-b",
	"rootfs_type": "ext4",
	"release": {
		"distribution": "OpenWrt",
		"version": "23.05.5",
		"revision": "r24106-10cc5fcd00",
		"target": "bcm27xx/bcm2711",
		"description": "OpenWrt 23.05.5 r24106-10cc5fcd00"
	}
}
root@OpenWrt:~# cat /etc/config/network

config interface 'loopback'
	option device 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'
	option ula_prefix 'fdb1:7b1e:eb3f::/48'

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'eth0'

config interface 'lan'
	option device 'br-lan'
	option proto 'static'
	option ipaddr '192.168.10.1'
	option netmask '255.255.255.0'
	option ip6assign '60'

config interface 'LTE'
	option proto 'mbim'
	option device '/dev/cdc-wdm0'
	option apn 'live.vodafone.com'
	option pincode '0000'
	option auth 'none'
	option pdptype 'ipv4v6'

config interface 'USB_iPhone'
	option proto 'dhcp'
	option device 'eth1'

config interface 'USB_Android'
	option proto 'dhcp'
	option device 'usb0'

config device
	option name 'wwan0'

config device
	option name 'eth0'

config device
	option name 'phy0-sta0'

config device
	option name 'phy1-ap0'

config interface 'wwan'
	option proto 'dhcp'
root@OpenWrt:~# cat /etc/config/wireless

config wifi-device 'radio1'
	option type 'mac80211'
	option path 'scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3:1.0'
	option channel 'auto'
	option band '2g'
	option htmode 'HT40'
	option cell_density '0'

config wifi-iface 'wifinet4'
	option device 'radio1'
	option mode 'ap'
	option ssid 'Schats@home'
	option encryption 'psk2'
	option key 'password'
	option network 'lan'

config wifi-device 'radio0'
	option type 'mac80211'
	option path 'platform/soc/fe300000.mmcnr/mmc_host/mmc1/mmc1:0001/mmc1:0001:1'
	option channel 'auto'
	option band '2g'
	option cell_density '0'
	option country 'NL'

config wifi-iface 'wifinet2'
	option device 'radio0'
	option mode 'sta'
	option network 'wwan'
	option ssid 'DasZo_5GHz'
	option encryption 'psk2'
	option key 'password'
	option disabled '1'

config wifi-iface 'wifinet3'
	option device 'radio0'
	option mode 'sta'
	option network 'wwan'
	option ssid 'iPhone van Bram'
	option encryption 'psk2'
	option key 'password'
	option disabled '1'

config wifi-iface 'wifinet5'
	option device 'radio0'
	option mode 'ap'
	option ssid 'OpenWrt'
	option encryption 'none'
	option network 'lan'

root@OpenWrt:~# cat /etc/config/dhcp 

config dnsmasq
	option domainneeded '1'
	option boguspriv '1'
	option filterwin2k '0'
	option localise_queries '1'
	option rebind_protection '1'
	option rebind_localhost '1'
	option local '/lan/'
	option domain 'lan'
	option expandhosts '1'
	option nonegcache '0'
	option cachesize '1000'
	option authoritative '1'
	option readethers '1'
	option leasefile '/tmp/dhcp.leases'
	option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
	option nonwildcard '1'
	option localservice '1'
	option ednspacket_max '1232'
	option filter_aaaa '0'
	option filter_a '0'

config dhcp 'lan'
	option interface 'lan'
	option start '100'
	option limit '150'
	option leasetime '12h'
	option dhcpv4 'server'
	option dhcpv6 'server'
	option ra 'server'
	list ra_flags 'managed-config'
	list ra_flags 'other-config'

config dhcp 'wan'
	option interface 'wan'
	option ignore '1'

config odhcpd 'odhcpd'
	option maindhcp '0'
	option leasefile '/tmp/hosts/odhcpd'
	option leasetrigger '/usr/sbin/odhcpd-update'
	option loglevel '4'
root@OpenWrt:~# cat /etc/config/firewall

config defaults
	option input 'REJECT'
	option output 'ACCEPT'
	option forward 'REJECT'
	option synflood_protect '1'

config zone
	option name 'lan'
	option input 'ACCEPT'
	option output 'ACCEPT'
	option forward 'ACCEPT'
	list network 'lan'

config zone
	option name 'wan'
	option input 'REJECT'
	option output 'ACCEPT'
	option forward 'REJECT'
	option masq '1'
	option mtu_fix '1'
	list network 'wan'
	list network 'wan6'
	list network 'LTE'
	list network 'USB_iPhone'
	list network 'USB_Android'
	list network 'wwan'

config forwarding
	option src 'lan'
	option dest 'wan'

config rule
	option name 'Allow-DHCP-Renew'
	option src 'wan'
	option proto 'udp'
	option dest_port '68'
	option target 'ACCEPT'
	option family 'ipv4'

config rule
	option name 'Allow-Ping'
	option src 'wan'
	option proto 'icmp'
	option icmp_type 'echo-request'
	option family 'ipv4'
	option target 'ACCEPT'

config rule
	option name 'Allow-IGMP'
	option src 'wan'
	option proto 'igmp'
	option family 'ipv4'
	option target 'ACCEPT'

config rule
	option name 'Allow-DHCPv6'
	option src 'wan'
	option proto 'udp'
	option dest_port '546'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-MLD'
	option src 'wan'
	option proto 'icmp'
	option src_ip 'fe80::/10'
	list icmp_type '130/0'
	list icmp_type '131/0'
	list icmp_type '132/0'
	list icmp_type '143/0'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-ICMPv6-Input'
	option src 'wan'
	option proto 'icmp'
	list icmp_type 'echo-request'
	list icmp_type 'echo-reply'
	list icmp_type 'destination-unreachable'
	list icmp_type 'packet-too-big'
	list icmp_type 'time-exceeded'
	list icmp_type 'bad-header'
	list icmp_type 'unknown-header-type'
	list icmp_type 'router-solicitation'
	list icmp_type 'neighbour-solicitation'
	list icmp_type 'router-advertisement'
	list icmp_type 'neighbour-advertisement'
	option limit '1000/sec'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-ICMPv6-Forward'
	option src 'wan'
	option dest '*'
	option proto 'icmp'
	list icmp_type 'echo-request'
	list icmp_type 'echo-reply'
	list icmp_type 'destination-unreachable'
	list icmp_type 'packet-too-big'
	list icmp_type 'time-exceeded'
	list icmp_type 'bad-header'
	list icmp_type 'unknown-header-type'
	option limit '1000/sec'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-IPSec-ESP'
	option src 'wan'
	option dest 'lan'
	option proto 'esp'
	option target 'ACCEPT'

config rule
	option name 'Allow-ISAKMP'
	option src 'wan'
	option dest 'lan'
	option dest_port '500'
	option proto 'udp'
	option target 'ACCEPT'

config include
	option path '/etc/firewall.user'
	option fw4_compatible '1'

Did you use ChatGPT before you came here?

No.
Your config is corrupted.

You can try clicking disable, wait for it to take effect, click enable and see if that starts it.

If that fails try restarting the radio itself.

Did you use ChatGPT before you came here?

What is wrong with the config, I don't understand?

Restarted the adapter multiple times already and enabled and disabled the wireless a couple of times, 'OpenWrt' just won't come up.

Your config is corrupted.

Why is my config corrupted, what can I do to fix it?

thnx for the help.

But did you use it?

So, that config tells the radio0 to not be in AP mode but STA mode and it is dangling out there all alone and not in the stanza it should be.

All those single lines I quoted are not supposed to stand alone.
And, again, in your case the last thing OpenWrt sees is 'put radio0 in STA mode'. It's not where it is supposed to be so LuCI cannot edit it.

I'd start over but that is my go to answer most the time with RPis.

Ok, Start over is not a problem. I know what to do. So it is possible to have the onboard wifi in my py act as a AP and the dongle acting as a client?

If so, starting all over is perhaps the best option.

:+1:

Yes. But the range would work better in reverse.

The deal on USB and RPi:
Pick a port for the dongle and do not move the dongle after it is recognized the first time.
RPIs can get flakey when more than one device already has that USB address.

And physically add it after its first boot or after adding the driver and then rebooting .

I want to use this as camping WiFi in my mobile home. Range from the internal antenna is not as important as connecting to the Camping WiFi.

After reinstalling the whole thing it looks to be working ;).

Thnx for the help, I can now order the WiFi dongle to connect to external WiFi.

The antenna that comes with it is good.

If you would like a recommendation for a good directional for the client:

If your problem is solved, please consider marking this topic as [Solved]. See How to mark a topic as [Solved] for a short how-to.
Thanks! :slight_smile:

Hmmm, seems I am not able to order this Panda dongle from the EU. Think I have to look for another one pffff. any suggestions again?

could this be an option? https://www.amazon.nl/Draadloze-netwerkkaart-wifi-dongle-adapter-wifi-kaart-netwerkadapter/dp/B08DF5HF19/ref=sr_1_2_sspa

RTL is never a good buy, even if things are improving, this is also written in the USB Wi-Fi that work in OpenWrt thread.

I'm lost in this! What would be the best guess (with external antenna):
-ALFA Network AWUS036AXM
-ALFA Network AWUS036ACS
-Edup EP-AX1672 Ax3000