Asus RT-N12+: WiFi shows up, doesn't connect

Fresh install > Factory reset
Enabled and set up Wireless interface
Wireless SSID shows up. However, laptop is unable to connect to the WiFi network from OpenWRT (running latest supported version)

Any inputs / guidance towards issue resolution would be appreciated.

System details:

Hostname OpenWrt
Model Asus RT-N12+
Architecture MediaTek MT7620N ver:2 eco:6
Target Platform ramips/mt7620
Firmware Version OpenWrt 22.03.7 r20341-591b7e93d3 / LuCI openwrt-22.03 branch git-24.067.02332-4c1ddfb
Kernel Version 5.10.221

Command outputs:
iwinfo
dmesg | grep wlan0
cat /etc/config/network
cat /etc/config/wireless
cat /etc/config/dhcp
cat /etc/config/firewall

System log

Kernel log

Found this issue on GitHub.

for encryption try this:

       option encryption 'psk2+ccmp'

Will probably not be the root cause but worth a try

Thank you for the inputs. Already used this option. Similar behavior...

Check dd-wrt, thry still make squeezed fw for small old devices like yours.
It is imperative you post text here because as it stands they are visible only to ms account holders.

For kernel logs- keep logread -f running and enable AP while it is running, then try to connect and see it fail. Kernel log is subset of system log, no point posting both.

Wireless
radio0
Type: MediaTek MT7620 802.11bgn
Channel: 1 (2.412 GHz)
Bitrate: -
Signal: 0 dBm / Quality: 0%
SSID: OpenWrt
Mode: Master
BSSID: xx:xx:xx:xx:xx:xx
Encryption: mixed WPA/WPA2 PSK (CCMP)
Associations: -
iwinfo
wlan0     ESSID: "OpenWrt"
          Access Point: xx:xx:xx:xx:xx:xx
          Mode: Master  Channel: 1 (2.412 GHz)  HT Mode: HT20
          Center Channel 1: 1 2: unknown
          Tx-Power: 20 dBm  Link Quality: unknown/70
          Signal: unknown  Noise: unknown
          Bit Rate: unknown
          Encryption: mixed WPA/WPA2 PSK (CCMP)
          Type: nl80211  HW Mode(s): 802.11b/g/n
          Hardware: 14C3:7620 14C3:000C [MediaTek MT7620]
          TX power offset: none
          Frequency offset: none
          Supports VAPs: yes  PHY name: phy0
dmesg | grep wlan0
[  579.234105] br-lan: port 2(wlan0) entered blocking state
[  579.239737] br-lan: port 2(wlan0) entered disabled state
[  579.245804] device wlan0 entered promiscuous mode
[  581.681205] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[  581.688214] br-lan: port 2(wlan0) entered blocking state
[  581.693646] br-lan: port 2(wlan0) entered forwarding state
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 'fd99:688f:61c2::/48'

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

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

config device
        option name 'eth0.2'
        option macaddr 'xx:xx:xx:xx:xx:xx'

config interface 'wan'
        option device 'eth0.2'
        option proto 'dhcp'

config interface 'wan6'
        option device 'eth0.2'
        option proto 'dhcpv6'

config switch
        option name 'switch0'
        option reset '1'
        option enable_vlan '1'

config switch_vlan
        option device 'switch0'
        option vlan '1'
        option ports '0 1 2 3 6t'

config switch_vlan
        option device 'switch0'
        option vlan '2'
        option ports '4 6t'
root@OpenWrt:~# cat /etc/config/wireless

config wifi-device 'radio0'
        option type 'mac80211'
        option path 'platform/10180000.wmac'
        option channel '1'
        option band '2g'
        option htmode 'HT20'
        option cell_density '0'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option ssid 'OpenWrt'
        option encryption 'psk-mixed+ccmp'
        option key '1q2w3e4r'
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 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'

config dhcp 'lan'
        option interface 'lan'
        option start '100'
        option limit '150'
        option leasetime '12h'
        option dhcpv4 'server'
        option dhcpv6 'server'
        option ra 'server'
        option ra_slaac '1'
        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 syn_flood        1
        option input            ACCEPT
        option output           ACCEPT
        option forward          REJECT
# Uncomment this line to disable ipv6 rules
#       option disable_ipv6     1

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

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

config forwarding
        option src              lan
        option dest             wan

# We need to accept udp packets on port 68,
# see https://dev.openwrt.org/ticket/4108
config rule
        option name             Allow-DHCP-Renew
        option src              wan
        option proto            udp
        option dest_port        68
        option target           ACCEPT
        option family           ipv4

# Allow IPv4 ping
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

# Allow DHCPv6 replies
# see https://github.com/openwrt/openwrt/issues/5066
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

# Allow essential incoming IPv6 ICMP traffic
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

# Allow essential forwarded IPv6 ICMP traffic
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

Don’t use psk mixed.

Try wpa2 (psk2).

Also, you’re using an old, eol, and unsupported version of OpenWrt. Since your hardware doesn’t seem to be supported anymore, you should seriously consider a newer device.

@psherman Thank you for the prompt response. I had already tried multiple combinations including the one you suggested. Also, tried with "WMM mode" set to "OFF". Still facing the same issue.

Also, I have seen a related issue on OpenWrt@GitHub. Was this issue resolved? Which release?

Am just trying to revive an old router and prevent e-waste, by using it with OpenWrt. The Asus firmware has known issues and vulnerabilities. Seeing that LAN seems to be working just fine in OpenWRT; wish that the wireless would work too.

I totally appreciate that and applaud the effort.

Without a doubt. But, so does OpenWrt 22.03 as it is EOL. The last release was in July 2024, and it will not be updated to patch any of the vulnerabilities that have been discovered since its release.

Yes, point taken. However, even OpenWRT 22.03 would be FAR better than the native Asus firmware by MILES, and most likely have lesser CVEs/issues. Commendable work; keep it up!