Support for TP-LINK RE305 V3

I am also interested to install openwrt in the my tp-link RE305 v3.

I'm trying to "prepare" the code - according to similar configs - it seems you can't just reuse the code from re305v1 - there's different "disk" layout - it's more similar to re200/220.
I've forked repo & made new branch - you can check it here: https://github.com/koyuch/openwrt/commit/98ca337978ceab343509d1d5dab395b41d994527
Could anyone with more knowledge about openwrt code check if it could be ok..?
Though I haven't still tested it (I haven't even connect to serial, but you can read a lot of info from oem firmware..) Will probably try it trough weekend
Btw. it's really funny that the OEM version is actually built on old openwrt version (12.09 from 2013)
Heads up :smile:

I've been running a test image for a couple of weeks ("OpenWrt SNAPSHOT, r15882-4b37e3bc2b"). I haven't noticed issues so far, but I had the wrong numbers of the LED GPIOs.

From some testing and checking the binaries in the OEM firmware related to upgrade process (especially /usr/bin/nvrammanager), this device seems to require a signed image when uploading through the TP-Link web UI. You can downgrade the firmware, though.

I couldn't find any button combination to trigger the TFTP download, I had to interrupt UBoot through serial. I booted from a initramfs image first (setup the TFTP server and connect it via ethernet, choose 1 in the boot options), tested it a bit with that, then proceeded to run sysupgrade. Serial settings are the same as RE305V1 (baudrate=57600). To access the serial port, you need to remove the 4 screws, and remove the front cover. After that, the nodes are labelled and easy to access.

@servitkar, my changes were almost exactly yours! Besides the GPIO (your list seems correct, just tested it) and MAC addresses. For the MACs, I used negative increments. I believe I had to use negative values to match how the OEM firmware behaved.
Since I don't a device with the OEM firmware anymore, could you check the MACs to be sure what's the right setting?
(By the way, on this line you need to use a tab instead of spaces)

2 Likes

Hi
Can any one help me with snapshot download link for re305 v3?

hi
can u help me to install ?
i need link to bin file

thanks @pmeira, so I've loaded it with serial (according to your "recipe"), but I'm not big soldering master, so it was really messy soldering.. I don't know if I haven't overburnt something.. (but at least it seems everything is working as intended)

I've tried it also with "usual" option '2' - rewrite flash in bootloader, but it seems there's some problem with lzma compression of kernel - the error was like this one: How to replicate snapshot builds exactly? (LZMA ERROR 1)
I've tried to "look" on it with binwalk, but I just don't understand how can be dictionary bigger than the actual size of data (8MB vs 6MB):

$ binwalk openwrt-ramips-mt76x8-tplink_re305-v3-squashfs-factory.bin   
DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
9416          0x24C8          LZMA compressed data, properties: 0x6D, dictionary size: 8388608 bytes, uncompressed size: 6289259 bytes
2004840       0x1E9768        Squashfs filesystem, little endian, version 4.0, compression:xz, size: 3128791 bytes, 1175 inodes, blocksize: 262144 bytes, created: 2021-03-22 17:44:16

but when I compare this with "official" snapshot build of re305v1, result is very similar.. (& nobody has reported problems with it..

Could anybody test it with original oem upload? (but just be ready to "debug" with serial..) - in v1 it seems it was succesful: OpenWrt Support for TP-LINK RE305 v1 - #2 by petitess
I can upload my builds here, but I don't know what's "official" place where to upload it

btw. thank you @pmeira for your comments, actualy you we're right about macs negative increments (I've already updated my branch), but I don't think that positive increments would have any impact on functionality :slight_smile: I have spotted in your changes, that you haven't changed size of target image size - actually you can use "bigger" size as mtd partitions were moved & they emptied more space for rootfs (it's more similar to re200 than to 305v1)

but I don't think that positive increments would have any impact on functionality

Right, you can put any value and it would work, but it's better to reproduce the OEM values.

that you haven't changed size of target image size

Yep, I know, but note that I abandoned that in favor of your repo, I don't plan to make a PR from mine (since yours looked OK, that was no point in mentioning it). That's why I went so far as mention the issue with tab vs spaces -- someone else would have requested the change down the line when you make the PR.

@pmeira ah ok thanks, I thought that you want to also create PR. So I've just filed that in - we'll see if it's gonna be accepted :slight_smile: https://github.com/openwrt/openwrt/pull/4044

I've uploaded my build to: gdrive. pls follow procedure described by @pmeira, or you can try also load it trough oem update, but at your own risk! (& be ready to "repair" with serial port)

1 Like

i try with OEM upgrade but got error "enable to upgrade"
even i change the file name !

try to name it similar as original oem names: "re305v3_eu-up-ver1-1-4-P1[20201202-rel42413].bin" (you can "update" the versions - for example "re305v3_eu-up-ver1-1-5-P1[20210404-rel54321].bin")
otherwise it could be more complicated as @pmeira pointed out.. for example for re200v1 there was some more difficult way how to "glue" new bin file: https://openwrt.org/toh/tp-link/re200#web_interface_method_v1 (but there would be other "numbers" according to 305 bin file..)

This is because there's no .soft_ver set, see my comment on the GitHub PR.

@Aabayoumy Can you share the firmware version yours has? My EU one has (had) 1.1.3 20200715 and I can't grab that one from TP-Link's website even (it will give me an older 2020-03-20 one as the most recent one).

We want to set the .soft_ver high enough.

1 Like

This is because there's no .soft_ver set

@Borromini Oh, if that was the only issue, this is great news then.
This contains re305v3_eu-up-ver1-1-4-P1[20201202-rel42413].bin: https://static.tp-link.com/2021/202101/20210114/RE305(V3)_20201202.zip

1 Like

The file name check is a crude one that earlier TP-Link firmware used but it's easy to work around, which is probably why they hardcoded a version number check. Also helps if they want to prevent downgrading (which apparently happens with some models).

I just flashed OpenWrt through the OEM web UI with the version set, so it's definitely just that. Otherwise installation from OEM web UI would still be broken.

1 Like

I have 1.1.4 Build 20201202 Rel. 42413
Can you explian more how to make this changes?
Or can i downgrade to older ver?

i downgrade to ver 1.1.3 Build 20200715 Rel. 38287
and rename openwrt-ramips-mt76x8-tplink_re305-v3-squashfs-factory.bin to re305v3_eu-up-ver1-1-4-P1[20201202-rel42413].bin and try to upgrade but it's also fail after 3 %

@Borromini btw. are you sure you have v3? because on my v3 there's pretty obvious serial pin layout on board

(sorry for the messy soldering :smiley: but you can see there the labels..) I'll include your patch in the PR, but still have to resolve that dtsi split thing..

1 Like

The label on the box clearly says V3, yes. And on the back of the device as well. Thanks for the pic.

@Aabayoumy You need an image with the adapted code for it to work. Like I explained simply renaming it won't work.

& do you have there serial labels like on mine? (btw. you don't have to dissasemble too much - just the "front" cover)
but it's good news that it works also with oem update, thanks for that :slight_smile:

Yes, I do, with TX / RX / 3V3 / GND labels. I initially glossed over them since your commit message read as if it was readily accessible. Sorry for the confusion.

Would you mind mentioning that in the commit message? E.g. something like:

Serial is exposed to the right side of the main board (in the middle) and marked with TX/RX/3V3/GND, but the holes are filled with solder.

I can lend a hand with the DTS/DTSI split in the days to come, can't promise when exactly.