New fixes feedback - Xiaomi Mi Router 4A Gigabit Edition (R4AG/R4A Gigabit)

@db260179 Are the updates you've made in v1.2 based on the following thread?

Correct, I applied on my test branch and used for a week. I noticed in the /proc/interrupts i wasnt getting so many errors.

So i classed it as fix/improved to go into stable.

1 Like

When using my oscilliscope I could see some serious noise going on at 80mhz and would jump aroung alot. At 33mhz it was stable signal. This was on my 12v 3a psu.

So others can try with their supplied psu and the new snapshot version

https://downloads.openwrt.org/snapshots/targets/ramips/mt7621/openwrt-ramips-mt7621-xiaomi_mi-router-4a-gigabit-squashfs-sysupgrade.bin

This is without my pending spi frequency patch to lower down to 33mhz, so still set to 80mhz.

1 Like

latest snapshot not pretty stable than previous snapshot. I have to reboot to enable wifi. also I can't install openvpn openssl. perhaps new kernel related?

Yes most likely, snapshot by nature is a moving target. For now just use the custom v19.07.4 builds im generating as you can still use the official software repo to install packages.

Only caveat is you need to use my supplied imagebuilder if you want to add kernel modules as kernel debug modules will not be the same.

Hello,

The last v1.2-stable release fix my multicast dropped packages problems, here more info: Dropped packets in trunk interfaces

Now I have no pixeled video in tagged VLAN.

Thanks for your help!

Kind regards.

2 Likes

yeah. right now I'm using your latest version. overall pretty stabile. but openvpn openssl still are not supported.

Hello , i tried the latest build with an uptime of 2d6h and everything works perfectly. The only thing i cant figure out is how should i install SQM because i get errors with luci and ssh.

So it appears openwrt main site had issues yesterday - if your have issues downloading packages, change the /etc/opkg/distfeeds.conf links to a mirror address - https://openwrt.org/downloads (mirror section)

Remember, you need to do a opkg update, then opkg install luci-sqm. If you dont to do the opkg-update there is no cache of the package list.

1 Like

I could only install it if i force dependencies(It was telling me that kernel version is incompatible) but unfortunately when was installed it wasnt operating at all. Maybe i should try without an existing config(this config was originally on an another build by araujorm).

Are ok, then sqm must use a kernel module - the kernel modules you can't install from the openwrt repo as the symbols wont be the same to my built kernel modules. So you will need to use the imagebuilder i've supplied - https://workupload.com/file/5JL4d2E2777 V1.2 release

How to use this follow - https://openwrt.org/docs/guide-user/additional-software/imagebuilder

Then upgrade your firmware to this new custom image you have built. Easy to do and you can add packages what you want.

I will fix the Config-min i use to include sqm and luci-sqm

Ultimatley if you want your own image, then just use my source code and build your own image.

1 Like

I'm pretty new to all that stuff but i'll try to figure it out , thanks for all this info and for your time!

No problem, thanks for the feedback

So I just used imagebuilder and managed to build the firmware without any additional packages (Yeah it was much easier from what i was expecting), but when trying to embed luci-app-sqm i get the same error as before

satisfy_dependencies_for: Cannot satisfy the following dependencies for luci-app-sqm: kernel (= 4.14.195-1-2e88863ccdd594fb8e842df3c25842ee) 
opkg_install_cmd: Cannot install package luci-app-sqm.
The opkg install command failed with code 255.

Ok, yes see what you mean.

So probably best to do your own build very easy to do, just follow these instructions:

Software needed:

Docker engine - setup first on linux - just grab a ubuntu iso and install in virtualbox

Git clone my repo - git clone https://gitlab.com/db260179/xiaomi-m4a.git

in a shell terminal, 'cd xiaomi-m4a/docker' then run './run-build.sh build-image'
This will build the openwrt build environment as docker image

Then you run './run-build.sh build-min' for minimal image or ./run-build.sh build-full for most useful applications including sqm

Im not offering any web sites for my pre built images, i expect people to build their own images. once you have built your image you can host on simple web server the built packages you have done.

1 Like

Once again thanks! I'll try and hopefully upload an image if i manage to do it in case anyone needs sqm.

@db260179 Thanks for these instructions. Trying them now. Should the build-min image match the md5sum of your uploaded v1.2 release?

It looks like the ./run-build.sh script needs to be called as './run-build.sh start-min' for the minimal image.

So build the docker image first - './run-build.sh build-image' then build the code inside - './run-build.sh start-min' - for minimal xiaomi image or start-full for lots of features etc

The built images/packages files will be in the 'bin/targets/mt7621' folder

Also as a tip for anyone doing this, put your 'dl' folder outside of this openwrt directory so that you can store all of the downloaded packages and not remove them on a cleanup. i.e. ln -s ../dl dl (symlink the dl folder in your user home folder to keep)

@db260179 Either I'm doing something wrong, or I think something has broken with your stable combo of build.sh / Dockerfile / run-build. I'm just learning docker a little to troubleshoot. Is it possible you are using a previously built docker image with a newer run-build script and your build image has extra files? Basically I'm building the build image (which works fine), then when trying to build openwrt image it exits quickly with a guid output. It looks like build.sh is missing in the or maybe just a path issue? I also noticed one of your commits removed the dl symlink creation so another possible cause?

Not sure if this is related too:

@Brett Interesting issue, so i've just git cloned on my ubuntu 18.04 machine and then cd into the docker folder: ./run-build.sh build-image (this will create a user in the image called buser based on your current runing linux user UID and GID), then i run the ./run-build.sh start-min. No issues?

So my question is what OS are you running on, version etc?
Your docker setup, have you added the current working user to the docker group?
No need to run as root, just a standard user in the docker group.

I don't know if this works reliably on windows or macosx? I only use linux machines.

Can you post the errors you are getting?

If its windows or macosx, those OS dont understand symlinks, most likely - so it cant find the ./build.sh script in the Dockerfile entrypoint.
As the openwrt symlink folder in the docker folder points to the current code in the parent folder. Its possible win/osx wont work? - feel free to change it to work on win/osx.