Amazon Luna unplayable

Hi! I don't play games usually, but I've been trying to test Amazon Luna but it has been impossible:

  • The video has a lot of slowness, stops, and similar.
  • The sound cuts a lot.
  • The Luna app shows messages constantly about problems with wifi.

I've tried it from several devices, a pixel 7, a TV, a computer... All the same problem.

I have a Xiaomi AX3600 with OpenWrt. For curiosity I've tried with the ISP router and it works perfectly, the games are playable again. My connection is fiber 300/300.

I will try with SQM, but I doubt this is the only reason for this to work as bad, totally unplayable.

Some idea or suggestion?

Tested enabling the SQM Cake without luck. Some idea of what more testing?

More info if it helps:
I've two AX3600, one as simple AP and connected both with mesh (802.11s). If I use the "simple" AP it seems to work right. It is playable. If I use the one that acts as router, it has a lot of problems.
The AP connects with the router using the 5Ghz band, and it works perfectly, so I think maybe some problem of load with the SSID used to connect the devices? The 5GHz band of this routers has 6 clients (router), and 4 clients (AP) so it's not as different...

What speed is your ISP giving you?

What browser are you using on each wifi?

What are the 9 devices that are connected ?
In addition:

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

Thanks for trying to help @LilRedDog !!

What speed is your ISP giving you?

300/300 and I receive this without problem. https://www.waveform.com/tools/bufferbloat?test-id=64c7655d-05e9-44ce-9e8b-eb34d4c0171b

What browser are you using on each wifi?

I tried different devices, some of them Chrome, some of them the official App of Amazon. I think the most interesting test is with my phone, a Google Pixel 7, I tried it with both, the Chrome browser and the official app, connected to the router and connected to the AP.

What are the 9 devices that are connected ?

To the 5GHz network, the devices are basically:

  • Some Google Nest Mini speakers
  • A TV, and a receiver A/V (tested with them off too)
  • Two or three mobile phones (testedwith them off too)

I've several devices connected to the 2.4GHz network, basically IoT devices and a Home Assistant server connected with cable.

I've a Guest wifi network too, but I tried to disable it without luck.

I think I've an old Mi Router 3 at some place, I plan to connect it by ethernet to the router and try with the wifi of the Mi Router 3, to see how it works.

root@router-comedor:~# ubus call system board
{
        "kernel": "6.1.69",
        "hostname": "router-comedor",
        "system": "ARMv8 Processor rev 4",
        "model": "Xiaomi AX3600",
        "board_name": "xiaomi,ax3600",
        "rootfs_type": "squashfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "SNAPSHOT",
                "revision": "r24707-4693514ca8",
                "target": "qualcommax/ipq807x",
                "description": "OpenWrt SNAPSHOT r24707-4693514ca8"
        }
}
root@router-comedor:~# 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 'fd94:*:*::/48'
        option packet_steering '1'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'lan1'
        list ports 'lan2'
        list ports 'lan3'

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option netmask '255.255.255.0'
        option ipaddr '192.168.100.1'
        option ip6assign '60'
        option ip6ifaceid '::1'
        option ip6hint '00'

config interface 'wan'
        option device 'wan.20'
        option proto 'pppoe'
        option username '****'
        option password '****'
        option peerdns '0'
        option ipv6 '0'
        list dns '127.0.0.1'

config interface 'wan6'
        option proto 'dhcpv6'
        option reqaddress 'try'
        option reqprefix 'auto'
        option peerdns '0'
        option device '@wan'
        list dns '::1'

config device
        option type '8021q'
        option ifname 'wan'
        option vid '20'
        option name 'wan.20'

config interface 'guest'
        option proto 'static'
        option netmask '255.255.255.0'
        option device 'br-inv'
        option ipaddr '192.168.101.1'
        option ip6assign '60'
        option ip6hint '10'

config device 'guest_dev'
        option type 'bridge'
        option name 'br-inv'
root@router-comedor:~# cat /etc/config/wireless

config wifi-device 'radio0'
        option type 'mac80211'
        option path 'soc/20000000.pci/pci0000:00/0000:00:00.0/0000:01:00.0'
        option channel '36'
        option band '5g'
        option htmode 'VHT80'
        option cell_density '0'
        option disabled '1'

config wifi-device 'radio1'
        option type 'mac80211'
        option path 'platform/soc/c000000.wifi'
        option channel '36'
        option band '5g'
        option htmode 'HE80'
        option cell_density '0'
        option country 'ES'

config wifi-device 'radio2'
        option type 'mac80211'
        option path 'platform/soc/c000000.wifi+1'
        option band '2g'
        option channel '6'
        option country 'ES'
        option cell_density '0'
        option htmode 'HE40'
        option txpower '20'

config wifi-iface 'wifinet1'
        option device 'radio1'
        option mode 'ap'
        option key '*****'
        option ieee80211r '1'
        option ft_over_ds '0'
        option ieee80211k '1'
        option time_advertisement '2'
        option time_zone 'CET-1CEST,M3.5.0,M10.5.0/3'
        option wnm_sleep_mode '1'
        option bss_transition '1'
        option network 'lan'
        option ssid 'PIMINET'
        option ifname 'wlan5g'
        option encryption 'psk2'
        option ft_psk_generate_local '1'

config wifi-iface 'wifinet2'
        option device 'radio1'
        option mode 'ap'
        option encryption 'sae-mixed'
        option key '*****'
        option ssid 'PIMINET_INVITADOS'
        option ifname 'wlan5g-inv'
        option network 'guest'
        option isolate '1'

config wifi-iface 'wifinet3'
        option device 'radio1'
        option mode 'mesh'
        option encryption 'sae'
        option mesh_fwding '1'
        option mesh_rssi_threshold '0'
        option network 'lan'
        option mesh_id 'PIMIMESH'
        option key '*****'
        option ifname 'm-11s-0'

config wifi-iface 'wifinet4'
        option device 'radio2'
        option network 'lan'
        option mode 'ap'
        option ssid 'PIMINET_N'
        option ifname 'wlan24g'
        option key '*****'
        option encryption 'psk2'

config wifi-iface 'wifinet5'
        option device 'radio2'
        option mode 'ap'
        option ssid 'PIMINET_N_INVITADOS'
        option isolate '1'
        option ifname 'wlan24g-inv'
        option key '*****'
        option disassoc_low_ack '0'
        option wmm '0'
        option network 'guest'
        option encryption 'sae-mixed'
root@router-comedor:~# cat /etc/config/dhcp

config dnsmasq
        option domainneeded '1'
        option localise_queries '1'
        option rebind_protection '1'
        option rebind_localhost '1'
        option expandhosts '1'
        option readethers '1'
        option leasefile '/tmp/dhcp.leases'
        option localservice '1'
        option ednspacket_max '1232'
        option local '/piminet/'
        option domain 'piminet'
        list rebind_domain 'piminet'
        list server '8.8.8.8'
        option authoritative '1'

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

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'

config domain
        option name 'router-despacho'
        option ip '192.168.100.2'

config dhcp 'guest'
        option interface 'guest'
        option leasetime '1h'
        option start '100'
        option limit '100'
        option ra 'server'
        option dhcpv6 'server'
        list ra_flags 'managed-config'
        list ra_flags 'other-config'

[A lot of config host to assign static IPs]
root@router-comedor:~# cat /etc/config/firewall

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

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

config zone
        option name 'guest'
        option forward 'REJECT'
        option input 'REJECT'
        list network 'guest'
        option output 'ACCEPT'

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'

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 src_ip 'fc00::/6'
        option dest_ip 'fc00::/6'
        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 redirect
        option dest 'lan'
        option target 'DNAT'
        option name 'Interceptar-DNS'
        list proto 'udp'
        option src 'lan'
        option src_dport '53'
        option dest_port '53'
        option dest_ip '192.168.100.1'

config redirect
        option dest 'lan'
        option target 'DNAT'
        option name 'Home Assistant'
        list proto 'tcp'
        option src 'wan'
        option src_dport '443'
        option dest_ip '192.168.100.5'
        option dest_port '443'

config forwarding
        option src 'guest'
        option dest 'wan'

config rule
        option name 'Guest-DNS'
        option src 'guest'
        option target 'ACCEPT'
        option dest_port '53'

config rule
        option name 'Guest-DHCP'
        option src 'guest'
        option target 'ACCEPT'
        list proto 'udp'
        option dest_port '67'
        option family 'ipv4'

config redirect
        option dest 'lan'
        option target 'DNAT'
        option name 'Acestream TV'
        option src 'wan'
        option src_dport '8621'
        option dest_ip '192.168.100.55'
        option dest_port '8621'

config rule
        option name 'Guest-DHCPv6'
        option family 'ipv6'
        list proto 'udp'
        option src 'guest'
        option dest_port '547'
        option target 'ACCEPT'

config rule
        option name 'HomeAssistant-IPv6'
        option family 'ipv6'
        list proto 'tcp'
        option src 'wan'
        list dest_ip '::*:*:*:*/-64'
        option dest_port '443'
        option target 'ACCEPT'
        option dest 'lan'

Which router is that?

and please Also show the output of mesh11sd status

The router is https://openwrt.org/toh/xiaomi/ax3600

root@router-comedor:~# mesh11sd status
{
  "setup":{
    "version":"2.0.0",
    "enabled":"1",
    "procd_status":"running",
    "portal_detect":"1",
    "mesh_basename":"m-11s-",
    "checkinterval":"10",
    "interface_timeout":"10",
    "debuglevel":"1"
  }
  "interfaces":{
    "m-11s-0":{
      "mesh_retry_timeout":"100",
      "mesh_confirm_timeout":"100",
      "mesh_holding_timeout":"100",
      "mesh_max_peer_links":"8",
      "mesh_max_retries":"3",
      "mesh_ttl":"31",
      "mesh_element_ttl":"31",
      "mesh_auto_open_plinks":"0",
      "mesh_hwmp_max_preq_retries":"4",
      "mesh_path_refresh_time":"1000",
      "mesh_min_discovery_timeout":"100",
      "mesh_hwmp_active_path_timeout":"5000",
      "mesh_hwmp_preq_min_interval":"10",
      "mesh_hwmp_net_diameter_traversal_time":"50",
      "mesh_hwmp_rootmode":"3",
      "mesh_hwmp_rann_interval":"5000",
      "mesh_gate_announcements":"1",
      "mesh_fwding":"1",
      "mesh_sync_offset_max_neighor":"50",
      "mesh_rssi_threshold":"-70",
      "mesh_hwmp_active_path_to_root_timeout":"6000",
      "mesh_hwmp_root_interval":"5000",
      "mesh_hwmp_confirmation_interval":"2000",
      "mesh_power_mode":"active",
      "mesh_awake_window":"10",
      "mesh_plink_timeout":"0",
      "mesh_connected_to_gate":"1",
      "mesh_nolearn":"0",
      "mesh_connected_to_as":"1",
      "mesh_id":"PIMIMESH",
      "device":"radio1",
      "channel":"36",
      "tx_packets":"15434891",
      "tx_bytes":"13079564991",
      "rx_packets":"11046974",
      "rx_bytes":"3765893936",
      "active_peers":"1",
      "peers":{
        "2a:d1:27:4e:a6:30":{
          "next_hop":"2a:d1:27:4e:a6:30"
        }
      }
      "active_stations":"6",
      "stations":{
        "30:ff:f6:5e:c2:51":{
          "proxy_node":"2a:d1:27:4e:a6:30"
        },
        "ee:c3:e5:2d:d6:d4":{
          "proxy_node":"2a:d1:27:4e:a6:30"
        },
        "bc:5f:f4:d5:ca:b4":{
          "proxy_node":"2a:d1:27:4e:a6:30"
        },
        "7c:dd:90:b8:b1:d1":{
          "proxy_node":"2a:d1:27:4e:a6:30"
        },
        "ac:67:84:56:2c:af":{
          "proxy_node":"2a:d1:27:4e:a6:30"
        },
        "28:d1:27:4e:a6:2f":{
          "proxy_node":"2a:d1:27:4e:a6:30"
        }
      }
    }
  }
}

Sorry, I meant which router did you pull the configs from?

From the one that acts as router. I have two AX3600, the router and the AP. The one that seems to produce the problem is the router.
The problem happens at three or four meters of distance, without walls. At one meter it seems it works better, but I need to do more tests to confirm that.

`
Sorry, I pasted the wrong cfg the first post.

Is there a reason those are not the default settings? e.g. it is a mesh client?

I can't say. I've not edited this by hand, so I suppose Luci at some moment added it.

From the other router. And I forgot to add mesh11sd status

What 5g channels are you using on both?

You don't play any other games so it is hard to pin down if it is a config issue or a game issue. DDG search supplys reasons it is all you fault; browser, isp etc.

Is streaming video an issue?
Ping 8.8.8.8 also so we can look at consistency.

I'm out of home now. I will paste the files from the AP tomorrow.

Yesterday I let a ping to 8.8.8.8 in the background from the router while playing. The game failed from time to time as always, but the ping was totally consistent. Between 7 and 8 ms all the time.

For this reason I suspect from the wifi of the router, because the router itself seems ok. I will try to test connected to Ethernet to see how it behaves too.

Streaming video never was an issue, but of course, they use a big buffer so it's not as exigent, it's not real time.

The only channel I use in 5GHz band it's the 36 with 80 MHz. I have the mesh connection so I can't have different band between the router and the AP.

Being out of home, I've tried from a different wifi. The router is connected by antenna, to another router at 5 Km that provides the internet. The connection is not too good as you can see:

But the Amazon Luna works perfectly, without stuttering, maybe a little slow in reactions as expected from this connection.

So it's clear that the problem is with the router of my home. Tomorrow I will do more tests as promised.

@LilRedDog I think I've found the culprit...

The Android devices did not roam between the router and the AP. The signal can be bad, be just near the other AP, and they did not roam. I need to turn off wifi and then on to make them roam.
To fix that, I installed usteer. It worked perfectly and make the devices roam without problem.
I tested to stop usteer... And the problems are gone. Now the game works perfectly. I suspect that usteer asks the device to search for other APs with a beacon, and this makes the device to search using the wifi and causing the problems.
I'm not too sure how to fix that, I want to play games and I want to make the devices roam... I will check usteer options but I doubt I can find something...

Try this:
Network/wireless/edit (both routers) bottom page / Interface Configuration/WLAN Roaming---enable 802.11r Fast Transition.

Of course I have 802.11r and k/v. But this is not enough for my Android phones to change AP.

Of course...

Have you spent the time to properly tune your APs -- setting correct power levels (almost always reduced) and channel selection are critical for roaming. 802.11r (as well as k and v and usteer and such) will be largely at the mercy of the performance of the 'classical' roaming, so if you haven't optimized the radio tuning, that will likely be a major issue.

Further, there are many devices that don't do well with 802.11r to the point where even a well tuned network may fail to work well with certain client devices. I personally recommend against using 802.11r in general for most situations... but if you are going to use it, it is critical to tune the radios first, get a baseline of performance, and then enable 802.11r after that and compare.

Of course...

Sorry, maybe I need to use other words... thanks for the suggestion, but what I wanted to say is that I have all the "roaming" parameters to make usteer roam as documented.

Have you spent the time to properly tune your APs -- setting correct power levels (almost always reduced ) and channel selection are critical for roaming. 802.11r (as well as k and v and usteer and such) will be largely at the mercy of the performance of the 'classical' roaming, so if you haven't optimized the radio tuning, that will likely be a major issue.

Yes, I spend weeks testing all the options to make the devices roam without any luck some months ago. It seem my Google Android phones don't like to roam. They need to "loose" the wifi signal completely before they decide to roam. After some time I configured usteer and then they started to roam perfectly.
I know some devices don't like 802.11r, I detected two of them in my house. If I connect them to the network, and after that I enable 802.11r, they work, but if I try to join the network the first time with 802.11r enabled, they fail. By luck, this devices use the 2.4GHz band (they are IoT devices) and I use the roaming only for 5GHz, that is the band used by my phones/computers, so I disabled roaming por 2.4GHz to simplify things. I don't have band steering, only AP steering.

Regards!