New Xiaomi Router AC2100

Yoy should push firmware to /tmp folder first you can use wget for that. Btw you must be on OpenWRT for using firmware I shared because it is sysupgrade package. sysupgrade -v /tmp/<image>.bin this command will work. After upgrading I suggest you to reset all settings. Btw before upgrading don't forget to turn on wifi. You can enable it from /etc/config

NOTE: YOU MUST BE AT OPENWRT FIRMWARE TO USE THIS IMAGE. You cannot use this at process of bootloader hacking.

Yes I'm already on OpenWRT as I said above.
Before I do this though, I was using the snapshots from https://downloads.openwrt.org/snapshots/targets/ramips/mt7621/ as of a few days which should be at least somewhat stable right?
For me it drops it's in a constant cycle of dropping network connectivity (holding the internet connection for about 3 seconds, then it has no outgoing connectivity for about 30 seconds).

I'm currently using it as a DHCP client for another combined modem/router, any logs I should look at for this as it's extremely unstable for me at the moment?
If the binaries were built from master I assumed they should be at least somewhat stable.

Edit : to clarify, this is with a direct ethernet connection and not a wifi issue, the SSH session itself is stable but network connectivity is not.

The firmware I shared with you is not based to master branch. It is based to latest stable 19.07 which Openwrt team doesn't provide to you. Thanks to @ilyas he is helped soo much. Actually he did all job. I just played with lan/wan ports. And master snapshots shouldn't be stable. They are under active development without actual bugfixing process. Maybe your other router can cause that kinda issue. You can try to switch old modem to bridge mode without dhcp. Maybe it helps. Ilyas's openwrt is works fine for me than other's except padavan.

1 Like

:slight_smile: wrong assumption. "snapshot" is basically "whatever happens to have been pushed lately"... no real quality control or testing. the "releases" (19.07.3 etc) are bound to be a lot more stable.

here's the 19.07 build (and diffs/edits/source, in case someone wants to build with other options, etc)

i don't have an rm2100/ac2100 but @emirefek has tested it and confirmed that it works.

This... is much easier. Assuming we have the same endpoint. It's a little hard to tell under the mountain of obfuscation.

Looks like I went with the harrrrrrd option. :laughing: (Well it was a fun home isolation task to make)

Someone run along and test this. I would but I'm running mine in production now. (Which turns out ain't the greatest idea between patchy 2.4ghz connectivity and the occasional warning from the switch and 5ghz that disrupts traffic)

I did a backport to 19.07.3 from the new commit for the master branch. Everything is working fine (in contradiction to ilyas I left mt76 in place in the dts file and I didn't replace it by pci14c3). I also tried more unusual stuff like 802.11s mesh with sae encryption and it's working without any issues.

Sadly I'm experiencing a strange issue with the mt7530 switch. I can only reach 100 Mbit/s instead of 1 Gbit/s. I can remember that there were some mdio issues in the past so maybe it has some correlation with these issues.

Those of you who tried ilyas firmware version 19.07: Do you also experience the same issue?

@ilyas : I could also upload a staging tree with my modifications for the 19.07 tree. Maybe we can continue testing your or my backport and then doing a PR to get this integrated into 19.07 officially.

Sample bandwidth output from LUCI:

Hi, I upddated with firmware from https://github.com/iscilyas/openwrt/releases and it broke all networking. To restore, I connected via UART to it and I got root shell. It seems thet there is config conflicts betwean master snapshort I used before and 19.07. I made few fixes in /etc/config/network and I was able to up link (I see packets on ethernet level) However TCP/IP is not working at all. WAN can not connect to the internet. And router is not accessible via ethernet. Finally I runed firstboot that made settings reset. But it did not fix networking.
I stuck In that state that I can not copy other firmware without networking. It would be really nice if anybody can give me a hint how to fix it.

They don't typically accept device backports.

master is DSA, 19.07 is swconfig.

Please factory reset when moving between these builds, if you choose to use them.

Please factory reset when moving between these builds, if you choose to use them.

I executed firtsboot (but I did it after instaling another version) that is a factory reset for OpenWrt, isn't it?
Do you mean that I should perform factory reset to stock firmware?

Maybe just try

umount /overlay && jffs2reset && reboot now

That should normally solve it.

well i don't even have an rm2100/ac2100 so i'd be perfectly happy for you to take over responsibility for 19.07 :wink: it's a pity they don't accept device backports though

yeah i was just curious if that would change anything... probably didn't :wink:

I got this

root@OpenWrt:/# umount /overlay
root@OpenWrt:/# jffs2reset
This will erase all settings and remove any installed packages. Are you sure? [N/y]
y
/dev/ubi0_1 is n[  119.440936] ubi0 error: ubi_open_volume.part.3: cannot open device 0, volume 1, error -16
ot mounted
/dev/ubi0_1 will be erased on next mount
writing /dev/ubi0_1 failed: Bad file descriptor

Ilyas's backport works fine. I'm using it daily. And I'm first tester of it. All my switch ports are FullDuplex1000mbps. Maybe you are doing something wrong.

You can try my precompiled firmware if you want. https://drive.google.com/folderview?id=13mTGEswOK_YABMWrE8TbLoKqCgCqTEmL
Maybe you have an hardware failiure.

hey sorry to hear that. i realized i should have given a warning that you should probably fresh install (instead of doing a sysupgrade)... or at least not save any configuration files.

i think a "fresh install" (moving from openwrt-snapshot to openwrt-19.07) should be something like this (taking into account the new partition names):

mtd write xiaomi-router-kernel1.bin kernel
mtd write xiaomi-router-rootfs0.bin ubi
reboot

if you're already using openwrt, keep in mind that the partition names are different (vs stock xiaomi)... kernel1 in stock becomes kernel in openwrt, and rootfs0 in stock becomes ubi in openwrt.... so the commands above would become:

mtd write xiaomi-router-kernel1.bin kernel
mtd -r write xiaomi-router-rootfs0.bin ubi

i'm just making sure this is clarified

I know, that I am doing it on my own risk.
Thanks for hint. But currently I have issues with delivery new binaries, as far as standard ssh, scp, wget etc... doesn't work for me. I tried to copy it as base64 over UART but it was unsuccessful.

Could anyone dump me /etc/config/network from working 19.07 and output of uci show network please?

Here's an example from a working config:

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

config globals 'globals'
        option ula_prefix 'fde6:9ebf:3bc5::/48'

config interface 'lan'
        option type 'bridge'
        option ifname 'eth0.1'
        option proto 'static'
        option netmask '255.255.255.0'
        option broadcast '192.168.1.255'
        option ip6assign '64'
        option ipaddr '192.168.1.1'
        option ip6ifaceid '::1'
        option mtu '1500'

config interface 'wan'
        option proto 'dhcp'
        option mtu '1500'
        option peerdns '0'
        option ifname 'eth0.2'
        list dns '127.0.0.1'

config interface 'wan6'
        option proto 'dhcpv6'
        option mtu '1500'
        option reqprefix 'auto'
        option reqaddress 'try'
        option peerdns '0'
        option ifname 'eth0.2'
        list dns '0::1'

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

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

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

same in uci syntax:

root@OpenWRT:/etc/config# uci show network
network.loopback=interface
network.loopback.ifname='lo'
network.loopback.proto='static'
network.loopback.ipaddr='127.0.0.1'
network.loopback.netmask='255.0.0.0'
network.globals=globals
network.globals.ula_prefix='fde6:9ebf:3bc5::/48'
network.lan=interface
network.lan.type='bridge'
network.lan.ifname='eth0.1'
network.lan.proto='static'
network.lan.netmask='255.255.255.0'
network.lan.broadcast='192.168.1.255'
network.lan.ip6assign='64'
network.lan.ipaddr='192.168.1.1'
network.lan.ip6ifaceid='::1'
network.lan.mtu='1500'
network.wan=interface
network.wan.proto='dhcp'
network.wan.mtu='1500'
network.wan.peerdns='0'
network.wan.ifname='eth0.2'
network.wan.dns='127.0.0.1'
network.wan6=interface
network.wan6.proto='dhcpv6'
network.wan6.mtu='1500'
network.wan6.reqprefix='auto'
network.wan6.reqaddress='try'
network.wan6.peerdns='0'
network.wan6.ifname='eth0.2'
network.wan6.dns='0::1'
network.@switch[0]=switch
network.@switch[0].name='switch0'
network.@switch[0].reset='1'
network.@switch[0].enable_vlan='1'
network.@switch_vlan[0]=switch_vlan
network.@switch_vlan[0].device='switch0'
network.@switch_vlan[0].vlan='1'
network.@switch_vlan[0].vid='1'
network.@switch_vlan[0].ports='2 3 4 6t'
network.@switch_vlan[1]=switch_vlan
network.@switch_vlan[1].device='switch0'
network.@switch_vlan[1].vlan='2'
network.@switch_vlan[1].vid='2'
network.@switch_vlan[1].ports='0 6t'


Just as an idea: If the network ports aren't working (maybe due to switch issues as you downgraded from DSA to swconfig) did you try just to create a wifi network and check if TCP/IP is working via wifi?

Then you could upload the fresh install files via SCP and write it to mtd.

Could you maybe provide the according config.buildinfo file to see which packets you selected during the build process (it's included in bin/targets/ramips/mt7621)?