Support for TP-Link TL-WR850N v3

Very similar to TL-WR850N v2 and TL-WR841N v14

CPU: MediaTek MT7628NN
RAM: Zentel A3S56D40GTP-50L

hi im looking to create wiki entry for a device i have , im scooping all the necessary details to meet requirements . i collected resources i need help confirming things . my device is TL-WR850N v3 . i opened my router box and found my
soc name : MT7628NN
flash memory
I need someone to assist me so that i can confirm these specs . thanks .

1 Like

compare to the v2:

make fotos

Are you sure about the chips (number of chips) ?
256Mb and 32Mbit mean its a 4 Megabyte flash and 32 Megabyte RAM unit and those are not that nice to work with/support ("tiny" device class)

Hello. some progress with the problem. i also have a tl-wr850n v3. I can't get the firmware for this model.

It is hard to make it working with 4MB flash only. You must sacrifice something like ipv6 or wpa3. If we have some tiny web interface it would be better and more easy.

I tried building 19.07 just to use as an AP only device, build failed with no good error.

This thread for WR841N v14 has a lot of information

Patch for 19.07.1 based on WR841N v14 and WR850N v2

I think the image for WR841N v14 should work too except for LEDs. I can't find the stock firmware for this revision either to try once.


  • The TFTP recovery IP of this device seems to have changed. It is:

  • The 850v3 section of this patch seems to give a DTS compilation error with 1 "factory" related error and 6 "gpio" related errors

  • The "gpio" related errors seems to be solved by replacing the text "gpio" with "gpio1" ( since this is 19.07 ). YMMV. No guarantees as to whether this translates to a usable firmware but it compiles. Specifically 6 lines similar to:

gpios = <&gpio 38 GPIO_ACTIVE_LOW>;


gpios = <&gpio1 38 GPIO_ACTIVE_LOW>;
  • The "factory" related error seems to be from the included DTS: "mt7628an.dtsi", particularly this "factory" line below:

      wmac: wmac@10300000 {
              compatible = "mediatek,mt7628-wmac";
              reg = <0x10300000 0x100000>;
              interrupt-parent = <&cpuintc>;
              interrupts = <6>;
              status = "disabled";
              mediatek,mtd-eeprom = <&factory 0x0000>;

Now this "factory" line is trying to refer back to the DTS to find the wireless mac id from inside the factory section but it cannot find the corresponding section.

YMMV ( this can brick your router ). Add the following test section to TL-WR850NV3.dts ( before the &pinctrl section )

&spi0 {
        status = "okay";

        flash@0 {
                compatible = "jedec,spi-nor";
                reg = <0>;
                spi-max-frequency = <10000000>;

                partitions {
                        compatible = "fixed-partitions";
                        #address-cells = <1>;
                        #size-cells = <1>;

                        partition@0 {
                                label = "boot";
                                reg = <0x0 0x10000>;

                        partition@10000 {
                                compatible = "tplink,firmware";
                                label = "firmware";
                                reg = <0x10000 0x3e0000>;

                        factory: partition@3f0000 {
                                label = "factory";
                                reg = <0x3f0000 0x10000>;

This section is taken from the 840nv620 and 841nv14 patches and is not guaranteed to result in a working firmware and may brick the router but the DTS compiles.

This is to request your help in:

  • Does this DTS patch work?

  • Is there a better way to patch the DTSI to hardcode the DTSI line:

              mediatek,mtd-eeprom = <&factory 0x0000>;

with a constant, like:

            mediatek,mtd-eeprom = <0x3f0000 0x0000>;

so that the DTS &spi0 section is not required or even delete the line so that the MAC is set from the 02_network file as explained in: ?

  • If the DTS &spi0 section is required and the partition information is wrong then what is the correct partition information for the 850nv3

  • If a USB TTL cable is used to recover the 850nv3 then does anyone have the instructions to flash it, like partition information so that one can erase flash etc.?

Note to OpenWRT, this firmware:

seems to provide a tiny working firmware for the 4/32 devices, firmware max size is 3.5 MB, it itself compiles to around 3.2 MB and may be able to even fit in PPPoE ( need to replace WPad with Wpad mini ) thus making it a candidate for a fully working tiny firmware for 4/32 devices. Hence please don't retire support for 4/32 devices, at least please continue to update the 19.07 snapshot branch with kernel and security updates for at least 2 more years.

Thank you and kind regards.