Xiaomi AX3600 INT firmware

okay, so I downgraded to the chinese 1.0.17 again, reset to factory defaults, gained SSH-access again and upgraded to INT 3.0.22 using the xqrepack-method.
Then I changed:

Luci to appear in english:

uci set luci.main.lang='en'
uci commit

Fixes to keep SSH, enable bootwait and serial access:

nvram set CountryCode=DE
nvram set ssh_en=1
nvram set uart_en=1
nvram set boot_wait=on
nvram commit

I patched the file /etc/config/miwifi to replace all miwifi.com-hostnames by localhost:

# as a last-ditch effort, change the *.miwifi.com hostnames to localhost
sed -i 's@\w\+.miwifi.com@localhost@g' /etc/config/miwifi

Then I added the country-code to the /etc/config/wireless-file:

uci set wireless.wifi0.country='DE'
uci set wireless.wifi1.country='DE'
uci set wireless.wifi2.country='DE'
uci commit

Finnaly I created a script that manually adjusts the regulatory domain by issuing the command "iw reg set DE"
Create the file /etc/init.d/iw-reg-fix and insert this content:

#!/bin/sh /etc/rc.common
# Example script
# Copyright (C) 2007 OpenWrt.org

START=10
STOP=15

start() {
        echo start
        # commands to launch application
        iw reg set DE
}

stop() {
        echo stop
        # commands to kill application
        iw reg set DE
}

Then make it executable:

chmod +x /etc/init.d/iw-reg-fix

And enable it to be exectued on startup: /etc/init.d/iw-reg-fix enable

In the end, I have all the wireless-settings on what I need for operation in Germany (DE):

root@XiaoQiang:/etc/config# iw reg get
global
country DE: DFS-ETSI
        (2400 - 2483 @ 40), (N/A, 20), (N/A)
        (5150 - 5250 @ 80), (N/A, 20), (N/A), NO-OUTDOOR, AUTO-BW
        (5250 - 5350 @ 80), (N/A, 20), (0 ms), NO-OUTDOOR, DFS, AUTO-BW
        (5470 - 5725 @ 160), (N/A, 27), (0 ms), DFS
        (5725 - 5875 @ 80), (N/A, 14), (N/A)
        (57000 - 66000 @ 2160), (N/A, 40), (N/A)


The router switches the 5GHz-channel to 100 and 160 MHz :slight_smile:

The stock firmware even support some cool wireless features for better roaming:

wireless.@wifi-iface[0].bss_transition='1'
wireless.@wifi-iface[0].ieee80211k='1'
wireless.@wifi-iface[0].ieee80211v='1'
5 Likes

Hi,
I've upgraded my Chinese device from 1.0.67 to 3.0.22, too. Then downgraded again to 1.0.17, because my VLAN tagging configuration in /etc/config/network was gone and I had to reconfigure everything from scratch to be able to connect to the internet again.
And because I already had all the efforts, I've done the repackaging https://github.com/geekman/xqrepack to keep SSH open also.
Now I'm back on 3.0.22 INT and unfortunately I had to find out, that the VLAN settings get reverted after every reboot.
What I have tried as a workaround is to set the VLAN setting, then change something in the pppoe configuration and apply in order to reload the network settings including my VLAN. That works, but only until I reboot again. :frowning:
Any idea here?

So in conclusion, which is the best country to select when setting up the AX3600 with INT firmware?

The one matching your physical location, anything else is both illegal and messes up the clients you want to use (what does it help if your router can transmit with 1500 watts on channel -2, if your client won't see that channel and ends up with the intersection of its internal hardware regdom, its configured locale and the IEEE 802.11d regulatory hints pushed by your misconfigured AP).

2 Likes

how do you configure VLANs and don't you have issues with MTU size?

still regulatory domain compliance is dodgy:

global
country PL: DFS-ETSI
	(2402 - 2482 @ 40), (N/A, 20), (N/A)
	(5170 - 5250 @ 80), (N/A, 20), (N/A), AUTO-BW
	(5250 - 5330 @ 80), (N/A, 20), (0 ms), DFS, AUTO-BW
	(5490 - 5710 @ 160), (N/A, 27), (0 ms), DFS
	(57000 - 66000 @ 2160), (N/A, 40), (N/A)

and on 1.0.67:

wl1       ESSID: "bmg2"
          Access Point: 88:C3:97:C7:C0:47
          Mode: Master  Channel: 1 (2.412 GHz)
          Tx-Power: 30 dBm  Link Quality: 100/94
          Signal: -96 dBm  Noise: -96 dBm
          Bit Rate: 573.5 MBit/s
          Encryption: WPA2 PSK (CCMP)
          Type: qcawifi  HW Mode(s): 802.11abgn
          Hardware: unknown [Generic Atheros]
          TX power offset: unknown
          Frequency offset: unknown
          Supports VAPs: yes  PHY name: wl1

however immediately after switching to INT:

root@ax3600:~# iwinfo wifi1 txpowerlist
  0 dBm (   1 mW)
  2 dBm (   1 mW)
  4 dBm (   2 mW)
  6 dBm (   3 mW)
  8 dBm (   6 mW)
 10 dBm (  10 mW)
 12 dBm (  15 mW)
 14 dBm (  25 mW)

At least list of available channels seems to be ok.
For the iw reg set - why bother while it can be put in /etc/rc.local?

1 Like

I used the manual from Darren's Techtalk and changed /etc/config/network, so eth1 is eth1.7 in iconfige interface "ethq" and in config interface "wan" section.
.7 is the naming of the VLAN formmy case (ISP Deutsche Telekom).
I didn't and don't have issues with the MTU size, but keep it on standard 1500 bytes or (hopefully) automatically handled out.
And at every reboot the last line in config interface 'wan' is being changed back to

option ifname 'eth1'

again...
Here's my configuration, maybe it helps:

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

config switch
	option name 'switch0'

config interface 'eth1'
	option ifname 'eth1.7'
	option keepup '1'

config interface 'ifb'
	option ifname 'ifb0'

config interface 'lan'
	option igmp_snooping '0'
	option proto 'static'
	option ipaddr 'xxx.yyy.xxx.yyy'
	option ieee1905managed '1'
	option netmask '255.255.255.0'
	option ifname 'eth2 eth3 eth4'
	option multicast_querier '0'
	option type 'bridge'
	option macaddr '8c:53:c3:yy:xx:zz'
	option force_link '1.7'
	option ipv6 '0'

config interface 'wan'
	option proto 'pppoe'
	list dns '1.1.1.1'
	list dns '1.0.0.1'
	option mtu '1500'
	option peerdns '0'
	option username 'xxxxx@t-online.de'
	option special '1'
	option mru '1480'
	option password 'xxxxxxx'
	option ifname 'eth1.7'

EDIT:
Finally I made it and WAN is using eth1.7.
Thanks to @perceival and his hint to use rc.local, where I added the following for my use case.
In

/etc/config/rc.local
uci set network.wan.ifname='eth1.7'
uci commit
/etc/init.d/network reload
exit 0

works fine and reloads the configuration again after uci commit.

1 Like

Does anybody know what is the dependency between iw reg set and in /etc/config/wireless:

  • country
  • region
  • aregion?

Many thanks, I've implemented it directly. :slight_smile:
Your edited comment regarding bss coloring etc. at the end is a bit confusing for me: Where did you set these settings? I cannot find them in /etc/config/wireless or anyhwere else so far.
How did you exactly use these three lines? They aren't comments neither, but maybe I'm too nooby for that. :slight_smile:

uci set wireless.@wifi-iface[0].bss_transition='1'
uci set wireless.@wifi-iface[0].ieee80211k='1'
uci set wireless.@wifi-iface[0].ieee80211v='1'
uci set wireless.@wifi-iface[1].bss_transition='1'
uci set wireless.@wifi-iface[1].ieee80211k='1'
uci set wireless.@wifi-iface[1].ieee80211v='1'
uci commit

but those make sense only if you have more than one access point

Ah, again uci, thanks.
Well, I have another Netgear Router, but it is only an AC device (R7000 Nighthawk) and I think, there will never be an option for Meshing (I imply that these options are only useful when you use Meshing, right?).

BTW: Is there an option, if someone is able to write a real OpenWRT firmware for the R3600, that OpenMesh can be used in order to be able to use also other OEMs with OpenMesh in theory?

True, of course I have more than one Accesspoint in my network and I need a fast and smooth roaming-experience between them. Hopefully when there is real OpenWRT-support, Dawn and luci-app-dawn will be available.

I believe if you have Chinese version of hardware you'll have top 30 dBm on any version of firmware and region.

On mine ax3600 (plain Chinese version) 30 dBm disappears as soon as I flash INT firmware.

how to set this 50 dBm ?

That's just mock listing visible only when interface is down. Still even if it would be possible I wouldn't recommend setting it. Unless you want to check what is to be a chicken in the microwave oven.

Generally speaking regulatory limits are for a reason. Setting up incorrect country and/or pushing limits might affect your health, medical equipment, meteo radars and several other things. Not mentioning pissed off neighbors.

2 Likes

It's strange cause I also have Chinese version with INT firmware 3.0.22 and in log it shows next:
========== iwinfo wl0 txpowerlist >> /tmp/xiaoqiang.log
0 dBm ( 1 mW)
6 dBm ( 3 mW)
10 dBm ( 10 mW)
14 dBm ( 25 mW)
18 dBm ( 63 mW)
22 dBm ( 158 mW)
26 dBm ( 398 mW)
30 dBm (1000 mW)
========== iwinfo wl0 freqlist >> /tmp/xiaoqiang.log
5.180 GHz (Channel 36)
5.200 GHz (Channel 40)
5.220 GHz (Channel 44)
5.240 GHz (Channel 48)
5.260 GHz (Channel 52)
5.280 GHz (Channel 56)
5.300 GHz (Channel 60)
5.320 GHz (Channel 64)
5.500 GHz (Channel 100)
5.520 GHz (Channel 104)
5.540 GHz (Channel 108)
5.560 GHz (Channel 112)
5.580 GHz (Channel 116)
5.600 GHz (Channel 120)
5.620 GHz (Channel 124)
5.640 GHz (Channel 128)
5.660 GHz (Channel 132)
5.680 GHz (Channel 136)
5.700 GHz (Channel 140)
========== wlanconfig wl0 list >> /tmp/xiaoqiang.log

are you serious???
this router cannot produce such amount of power because 50 dBm = 100 W

Well, mine (same origin, same firmware) says:

========== iwinfo wl0 txpowerlist >> /tmp/xiaoqiang.log
   0 dBm (   1 mW)
   4 dBm (   2 mW)
   6 dBm (   3 mW)
   8 dBm (   6 mW)
  10 dBm (  10 mW)
  12 dBm (  15 mW)
  14 dBm (  25 mW)
* 16 dBm (  39 mW)
========== iwinfo wl0 freqlist >> /tmp/xiaoqiang.log
  5.180 GHz (Channel 36)
* 5.200 GHz (Channel 40)
  5.220 GHz (Channel 44)
  5.240 GHz (Channel 48)
  5.260 GHz (Channel 52)
  5.280 GHz (Channel 56)
  5.300 GHz (Channel 60)
  5.320 GHz (Channel 64)
  5.500 GHz (Channel 100)
  5.520 GHz (Channel 104)
  5.540 GHz (Channel 108)
  5.560 GHz (Channel 112)
  5.580 GHz (Channel 116)
  5.600 GHz (Channel 120)
  5.620 GHz (Channel 124)
  5.640 GHz (Channel 128)
  5.660 GHz (Channel 132)
  5.680 GHz (Channel 136)
  5.700 GHz (Channel 140)

What does your say on the status page about region? Also might be good to see your values of region and aregion fields from /etc/config/wireless.
And the most interesting part is probably in bdata file.
EDIT: I know the difference and bdata it is. Forgot I was messing a bit with mtd9 partition and changed CN to EU.

--- bdata_mtd9_backup.txt	2020-10-31 19:46:28.625699600 +0100
+++ bdata_mtd9_20201031.txt	2020-10-31 19:48:30.432541800 +0100
@@ -1 +1 @@
-SS]"color=101CountryCode=CNSN=22222/E000000000model=R3600miot_did=333333333miot_key=VVVVVVVVVVVVVVVVtelnet_en=0ssh_en=0uart_en=0wl0_ssid=Xiaomi_BBBB_5Gwl1_ssid=Xiaomi_BBBBwl2_ssid=Xiaomi_BBBB
+Ȝb�color=101CountryCode=EUSN=22222/E00000000model=R3600miot_did=333333333miot_key=VVVVVVVVVVVVVVVVtelnet_en=1ssh_en=1uart_en=1wl0_ssid=Xiaomi_BBBB_5Gwl1_ssid=Xiaomi_BBBBwl2_ssid=Xiaomi_BBBB

are you sure that rc.local path is /etc/config? i can find rc.local find in /etc
I'm trying your settings, thx