Device won't connect to 2.4GHz unless `Allow legacy 802.11b rates` is enabled

For some reason my Motorola Moto G5 phone won't connect to the 2.4GHz radio on my WRT1900ACSv2 unless the Allow legacy 802.11b rates is enabled. Now I know my phone isn't completely the problem here because they can connect to my two Linksys EA6350v3's on the 2.4GHz radio and neither of them have Allow legacy 802.11b rates enabled. The weird thing is my 1st generation Motorola Moto G can happily connect to the WRT1900ACSv2 without the Allow legacy 802.11b ratesenabled.

These settings below are the default wireless settings from a factory reset.

    config wifi-device 'radio0'
    option type 'mac80211'
    option channel '36'
    option hwmode '11a'
    option path 'soc/soc:pcie/pci0000:00/0000:00:01.0/0000:01:00.0'
    option htmode 'VHT80'
    option disabled '1'
    option country 'FR'

config wifi-iface 'default_radio0'
    option device 'radio0'
    option network 'lan'
    option mode 'ap'
    option ssid 'OpenWrt'
    option encryption 'none'
    option macaddr 'AB:12:CD:34:EF:56'

config wifi-device 'radio1'
    option type 'mac80211'
    option channel '11'
    option hwmode '11g'
    option path 'soc/soc:pcie/pci0000:00/0000:00:02.0/0000:02:00.0'
    option htmode 'HT20'
    option disabled '1'
    option country 'FR'

config wifi-iface 'default_radio1'
    option device 'radio1'
    option network 'lan'
    option mode 'ap'
    option ssid 'OpenWrt'
    option encryption 'none'
    option macaddr 'AB:12:CD:34:EF:56'

I then setup the wireless radios and APs with these commands:

echo "Renaming existing wireless interfaces... "
uci batch <<"EOF"
rename wireless.default_radio0='lan0'
rename wireless.default_radio1='lan1'
set wireless.radio0.country='GB'
set wireless.radio1.country='GB'
EOF

echo "Setting up LAN Wireless APs... "
uci batch <<"EOF"
set wireless.lan0.ssid='Linksys_5GHz'
set wireless.lan0.device='radio0'
set wireless.lan0.mode='ap'
set wireless.lan0.encryption='psk2+ccmp'
set wireless.lan0.key='password'
set wireless.lan0.wps_pushbutton='0'
set wireless.lan0.network='lan'
set wireless.lan0.disabled='0'
set wireless.lan1.ssid='Linksys_2.4GHz'
set wireless.lan1.device='radio1'
set wireless.lan1.mode='ap'
set wireless.lan1.encryption='psk2+ccmp'
set wireless.lan1.key='password'
set wireless.lan1.wps_pushbutton='0'
set wireless.lan1.network='lan'
set wireless.lan1.disabled='0'
EOF

# Disable legacy
uci set wireless.radio1.legacy_rates='0'

Router information

Model Linksys WRT1900ACS
Firmware Version OpenWrt 19.07-SNAPSHOT r11274-c7b9c85819 / LuCI openwrt-19.07 branch git-21.016.33009-0386a29
Kernel Version 4.14.215
kmod-mwlwifi 4.14.215+2019-03-02-31d93860-1
hostapd-common 2019-08-08-ca8c2bd2-4
hostapd-utils 2019-08-08-ca8c2bd2-4
wpad-openssl 2019-08-08-ca8c2bd2-4

From the Android phone, it won't even attempt to connect to the AP at all not even to obtain an IP address. After many attempts trying to connect, Android labels it as Disabled.

Any ideas?

This is a case of 'if it hurts, don't do it' - or more explicitly, don't disable legacy rates. mwlwifi is known to have many interoperability issues (which aren't going to be fixed, as Marvell/ NXP don't care), so other than replacing the WRT1900ACSv2, you can only try to live with it and work around its bugs and defects.

I deleted my previous post because there were errors in it. I have v19 running on that router and the moto phone works fine. However, when I tried to upgrade to v23, I get the exact bug you are describing. My guess is that there is an incompatibility in the radio driver with moto phones. I have the moto G7 power. The problem went away when I reinstalled v19.