Xiaomi 4a Gigabit RD05 edition or something else?

I just acquired a brand new Xiaomi 4a Gigabit edition CN edition (from Aliex***).
Already a happy user of multiple ax3000t routers, and very happy with them, so was hoping this one would be as easy to figure out as ax3000t.

Now my question is regarding the hardware - I am not sure that this is what is supported by OpenWrt. Here are a few things that make me suspicious.

Stock firmware says:
Xiaomi路由器4A千兆版 MiWiFi Release 1.0.34

Google translate says that this means 4A Gigabit edition. (and that is what I ordered)
So, the version of firmware does not match anything mentioned on the OWRT wiki page for 4A Gigabit edition.

On the label, on the label RD05 is mentioned, but not as a model number - as a network name rd05_minet_{last four digits of the mac address}.

I tried the invasion script to gain the ssh access, but it did not do anything/was not successful.

Then I tried the xmir-patcher, and that worked! I obtained the ssh access, and the full device info says:

Base info:
  Linux version: None
  DISTRIB_TARGET = realtek/rtl8197
  DISTRIB_ARCH = mipsel_24kc
  CPU arch: mips
  CPU name: None
 
Version info:
  UBoot: None
  OpenWrt: unknown
  Firmware: 1.0.34
  Channel: release
  BuildTime: Thu, 11 Jul 2024 11:00:30 +0000
  Hardware: RD05
  UBoot(2): 3.6.0

Also cat /proc/cpuinfo gives me this:

root@XiaoQiang:~# cat /proc/cpuinfo 
system type		: RTL8197F
machine			: Unknown
processor		: 0
cpu model		: MIPS 24Kc V8.5
BogoMIPS		: 666.41
wait instruction	: yes
microsecond timers	: yes
tlb_entries		: 64
extra interrupt vector	: yes
hardware watchpoint	: yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb]
isa			: mips1 mips2 mips32r2
ASEs implemented	: mips16
shadow register sets	: 4
kscratch registers	: 0
package			: 0
core			: 1
VCED exceptions		: not available
VCEI exceptions		: not available

So, my questons are:
Is this a Mediatek device/4A Gigabit as we know it?
If not, what is it? (although it does have the same case, layout, and both the seller and the firmware claim it is 4A Gigabit edition)
Can I install OpenWrt on it?

Thanks,
Bojan

RTL8197F

Kind of gives you the answer there sadly.

It's not an mt7621 per ToH for the one in the wiki?

it's not.

RTL router SoCs are usually unsupported ...

run free, it's probably a low RAM device anyway.

We can live in hope =P

Datasheet says they can do 128MiB of ram with DDR1 and 512MiB of ram in DDR2 so we can live in hope =P

But given they only want to spend 7.2 USD (in one unit qty) on the SoC I doubt it =P

Some of them say embedded DDR so depends on exact chip?

if it's megaBIT it's 16MB....

you and me both :slight_smile:

128Mb of ram per top, so not useless.

1 Like

Yeah I was hoping they're meaning megabytes in that datasheet hahaha.

I'm having a look on wikidevi now for the different versions, shows a lot of 64MiB and 128MiB devices.

I'm guessing if it's gigabit it has to have an external switch as they're all FE integrated. But some of them have RGMII?

Cool. So Next is whether there's source and drivers somewhere and whether you want to put in the work to get it in Openwrt? =P

First thing I found was this.

More

make sure you check if the SoC is in the kernel, if not, you'll have to start by getting it there, unless you want to maintain your local Openwrt version.

1 Like
root@XiaoQiang:~# free
              total        used        free      shared  buff/cache   available
Mem:         117708       61672       26076        4468       29960       34224
Swap:             0  

not completely useless, memory wise :slight_smile:

I also bought one of these recently hoping to get a 4a gigabit v2 to flash openwrt - but have ended up with an RD05 too.



Cool.

Any hope you can take the heatsink off and figure out what the switch is?

I'm assuming it has to have a switch chip as datasheet says RTL8197F only has a built in 4x FE switch, not gigabit?

Or is it like only one of the ports is gigabit?

Iif it's on device tree I guess one might be able to see by the shell what sort of switch it is? IDK.

I am very new to OpenWRT, but from what I can see, luci is mentioned in the stock urls, and the layout and config files on the device are very openwrt like.

So if they got it to work, I guess the community will soon as well.

Being able to get ssh access (permanently) using xmir, makes me consider to keep it, as it is very close to openwrt.

even unsupportable devices will have the same layout.

that's not how it works ...

good luck installing kmods from vanilla openwrt.

post the complete dmesg.

It's all about upstream linux kernel driver support.

The sources above are where to start. And then the very long process of getting it to a state where it can go into openwrt?

I doubt it as nothing comes up from LKML etc or main linux kernel source for this?

Best I've found is stuff for rtl83xx mentioning it as part of GPIO drivers and their similarities.

edit:
Had a quick look through this:

Didn't see anything regarding wifi. But it does have stuff about the PCI controller. Not sure if the built in wifi would ever work then?

But yeah it's mostly on device tree? But kernel 4.14.....

dmesg from shell:

root@XiaoQiang:~# dmesg
[   53.806302] Init Download FW OK 
[   53.809622] halmac_init_mac_cfg OK
[   53.812999] halmac_cfg_rx_aggregation OK
[   53.816886] halmac_init_mac_cfg OK
[   53.821118] [GetHwReg88XX][size PHY_REG_PG_8812Fmp_Type0]
[   53.826596] [GetHwReg88XX][PHY_REG_PG_8812Fmp_Type0]
[   54.363278] [set_8812F_trx_regs] +++ 
[   54.451455] rtl8192cd_init_hw_PCI----->
[   54.456186] rtl8192cd_open----->
[   54.459523] IPv6: ADDRCONF(NETDEV_UP): wl0: link is not ready
[   54.483766] device wl0 entered promiscuous mode
[   58.058873] ----->rtl8192cd_close
[   58.281398] rtl8192cd_close----->
[   58.284735] ----->rtl8192cd_open
[   58.300963] invalid basic rate, use default value [150]!
[   58.306425] ----->rtl8192cd_init_hw_PCI
[   58.310257] clock 40MHz
[   58.313283] InitPON OK!!!
[   58.315897] REG_HCI_MIX_CFG = 23 
[   58.319192] InitMAC Page0 
[   58.331132] >>SetBeaconDownload88XX
[   58.334595] Init Download FW OK 
[   58.337916] halmac_init_mac_cfg OK
[   58.341291] halmac_cfg_rx_aggregation OK
[   58.345182] halmac_init_mac_cfg OK
[   58.349538] [GetHwReg88XX][size PHY_REG_PG_8812Fmp_Type0]
[   58.354951] [GetHwReg88XX][PHY_REG_PG_8812Fmp_Type0]
[   58.892306] [set_8812F_trx_regs] +++ 
[   58.992295] rtl8192cd_init_hw_PCI----->
[   58.996751] rtl8192cd_open----->
[   59.001012] IPv6: ADDRCONF(NETDEV_CHANGE): wl0: link becomes ready
[   59.007393] br-lan: port 5(wl0) entered forwarding state
[   59.012731] br-lan: port 5(wl0) entered forwarding state
[   59.068366] wl0-ioctl-err: invalid mib name [twt_enable=0] !
[   59.670798] random: nonblocking pool is initialized
[   60.008532] miwifi_netlink_set_miwifi_mesh-1955 set miwifi_mesh 0
[   60.057005] miwifi_netlink_set_mesh_model-2687 set mesh model RD05
[   60.134809] miwifi_netlink_set_mesh_ver-2154 set mesh_ver 4
[   60.173994] miwifi_netlink_set_mesh_id-2563 set mesh id 0xaa08ec7d
[   60.297032] miwifi_netlink_set_mesh_hop-2418 set mesh hop 0
[   60.321636] miwifi_netlink_set_mesh_apmac-2088 set mesh_apmac 44:f7:70:58:d7:59
[   60.350755] miwifi_netlink_set_mesh_aplimit-2497 set mesh aplimit 9
[   60.380746] miwifi_netlink_set_mesh_backhaul-1888 adapter=872b03e0 set mesh_backhaul 1
[   60.410880] miwifi_netlink_set_wds-2747 set wds to 1
[   61.002808] br-lan: port 5(wl0) entered forwarding state
[   61.016352] ----->rtl8192cd_open
[   61.019885] invalid basic rate, use default value [150]!
[   61.025460] rtl8192cd_open----->
[   61.028833] IPv6: ADDRCONF(NETDEV_UP): wl5: link is not ready
[   61.039151] device wl5 entered promiscuous mode
[   61.229561] ----->rtl8192cd_close
[   61.444366] rtl8192cd_close----->
[   61.447680] ----->rtl8192cd_open
[   61.451164] invalid basic rate, use default value [150]!
[   61.456646] rtl8192cd_open----->
[   61.460006] IPv6: ADDRCONF(NETDEV_CHANGE): wl5: link becomes ready
[   61.466352] br-lan: port 6(wl5) entered forwarding state
[   61.471691] br-lan: port 6(wl5) entered forwarding state
[   61.545740] wl5-ioctl-err: invalid mib name [twt_enable=0] !
[   63.462821] br-lan: port 6(wl5) entered forwarding state
[   64.459393] miwifi_netlink_set_mesh_capip-2220 set mesh capip 229.0.89.10
[   64.488347] miwifi_netlink_set_mesh_hop-2418 set mesh hop 0
[   64.997613] wifi (2173): drop_caches: 3
[   79.771499] port_mask: 0x1
[   79.774975] Power on port 0!
[   79.807822] port_mask: 0x2
[   79.811108] Power on port 1!
[   79.846632] port_mask: 0x4
[   79.849860] Power on port 2!
[   81.443192] dev: eth2 port 2 link up
[   81.475434] br-lan: port 3(eth2) entered forwarding state
[   81.480911] br-lan: port 3(eth2) entered forwarding state
[   83.472808] br-lan: port 3(eth2) entered forwarding state
[   85.686043] miwifi_netlink_set_mesh_capip-2220 set mesh capip 229.0.89.10
[   85.838183] miwifi_netlink_set_mesh_hop-2418 set mesh hop 0
1 Like

Cool. So it looks like the source above which has rtl8192 on PCI?

i did try taking off the shield - but couldnt figure out how to get it off without damaging it

1 Like

there's always serial, next to the capacitor, but I'm not sure it'll tell you more than dmesg.

2 Likes