ER7206 using OpenWrt?

any potential support for ER7206?

Open one up, see what's inside.

Or perhaps binwalk the fw.

once we get a backup-system in place (here), we can start risking it


ER7206(UN)_V1_1.2.0 Build 20220117
binwalk --signature --term 'ER7206(UN)_v1_1.2.0 Build 20220117.bin'

DECIMAL       HEXADECIMAL     DESCRIPTION
---------------------------------------------------------------------------------------------------------------------------------------------------
1088464       0x109BD0        device tree image (dtb)
1200280       0x125098        Motorola S-Record; binary data in text format, record type: header
1500083       0x16E3B3        HTML document header
1518931       0x172D53        HTML document footer
1638464       0x190040        LZMA compressed data, properties: 0x5D, dictionary size: 8388608 bytes, uncompressed size: 6021040 bytes
3369427       0x3369D3        Squashfs filesystem, little endian, version 4.0, compression:xz, size: 15624447 bytes, 4348 inodes, blocksize: 16384
                              bytes, created: 2022-01-17 12:41:31
21187766      0x1434CB6       device tree image (dtb)
21296166      0x144F426       Motorola S-Record; binary data in text format, record type: header
21386046      0x146533E       CRC32 polynomial table, little endian
21593457      0x1497D71       HTML document header
21612305      0x149C711       HTML document footer

ER7206(UN)_V1_1.1.1_20210723
binwalk --signature --term ER7206v1_un_1.1.1_20210723-rel64359_up.bin

DECIMAL       HEXADECIMAL     DESCRIPTION
---------------------------------------------------------------------------------------------------------------------------------------------------
1088464       0x109BD0        device tree image (dtb)
1200280       0x125098        Motorola S-Record; binary data in text format, record type: header
1500083       0x16E3B3        HTML document header
1518931       0x172D53        HTML document footer
1638464       0x190040        LZMA compressed data, properties: 0x5D, dictionary size: 8388608 bytes, uncompressed size: 6021040 bytes
3369654       0x336AB6        Squashfs filesystem, little endian, version 4.0, compression:xz, size: 15279197 bytes, 4319 inodes, blocksize: 16384
                              bytes, created: 2021-07-23 09:52:39
20008253      0x1314D3D       device tree image (dtb)
20116653      0x132F4AD       Motorola S-Record; binary data in text format, record type: header
20206469      0x1345385       CRC32 polynomial table, little endian
20413760      0x1377D40       HTML document header
20432608      0x137C6E0       HTML document footer

ER7206(UN)_V1_1.0.1_20210113
binwalk --signature --term ER7206v1_un_1.0.1_20210113-rel35468_up.bin

DECIMAL       HEXADECIMAL     DESCRIPTION
---------------------------------------------------------------------------------------------------------------------------------------------------
1091152       0x10A650        device tree image (dtb)
1203272       0x125C48        Motorola S-Record; binary data in text format, record type: header
1503667       0x16F1B3        HTML document header
1522515       0x173B53        HTML document footer
1638464       0x190040        LZMA compressed data, properties: 0x5D, dictionary size: 8388608 bytes, uncompressed size: 5979872 bytes
3358372       0x333EA4        Squashfs filesystem, little endian, version 4.0, compression:xz, size: 14837471 bytes, 4268 inodes, blocksize: 16384
                              bytes, created: 2021-01-13 01:51:08
18433096      0x1194448       Boot section Start 0x42424242 End 0x22313233
18433104      0x1194450       Boot section Start 0x0 End 0x0



According to the firmware offered for download this is an octeon (MIPS64!) platform, running a vendor-modified version of OpenWrt Barrier Breaker 14.07. Adding support for this device to OpenWrt should be pretty easy, just add the device tree, add userland for sysupgrade, buttons, leds, default settings, ... and build an image compatible with the vendor firmware.
We may need to enable realtek-mdio DSA driver to support the RTL8367S (it is apparently supported already by vanilla Linux, so just need to enable the driver, hopefully...)

This is the device-tree extracted from latest vendor firmware:

/dts-v1/;

/ {
	model = "cavium,evb7000_interposer";
	compatible = "cavium,evb7000_interposer";
	#address-cells = <0x02>;
	#size-cells = <0x02>;
	interrupt-parent = <0x01>;

	soc@0 {
		compatible = "simple-bus";
		#address-cells = <0x02>;
		#size-cells = <0x02>;
		ranges;

		interrupt-controller@1070000000000 {
			compatible = "cavium,octeon-3860-ciu";
			interrupt-controller;
			#interrupt-cells = <0x02>;
			reg = <0x10700 0x00 0x00 0x7000>;
			linux,phandle = <0x01>;
			phandle = <0x01>;
		};

		interrupt-controller@107000000e000 {
			compatible = "cavium,octeon-7130-cib";
			reg = <0x10700 0xe000 0x00 0x08 0x10700 0xe100 0x00 0x08>;
			cavium,max-bits = <0x17>;
			interrupt-controller;
			interrupt-parent = <0x01>;
			interrupts = <0x01 0x18>;
			#interrupt-cells = <0x02>;
		};

		interrupt-controller@107000000e200 {
			compatible = "cavium,octeon-7130-cib";
			reg = <0x10700 0xe200 0x00 0x08 0x10700 0xe300 0x00 0x08>;
			cavium,max-bits = <0x0c>;
			interrupt-controller;
			interrupt-parent = <0x01>;
			interrupts = <0x01 0x34>;
			#interrupt-cells = <0x02>;
		};

		interrupt-controller@107000000e400 {
			compatible = "cavium,octeon-7130-cib";
			reg = <0x10700 0xe400 0x00 0x08 0x10700 0xe500 0x00 0x08>;
			cavium,max-bits = <0x06>;
			interrupt-controller;
			interrupt-parent = <0x01>;
			interrupts = <0x01 0x3f>;
			#interrupt-cells = <0x02>;
		};

		interrupt-controller@107000000ec00 {
			compatible = "cavium,octeon-7130-cib";
			reg = <0x10700 0xec00 0x00 0x08 0x10700 0xee00 0x00 0x08>;
			cavium,max-bits = <0x0f>;
			interrupt-controller;
			interrupt-parent = <0x01>;
			interrupts = <0x02 0x11>;
			#interrupt-cells = <0x02>;
		};

		interrupt-controller@107000000e600 {
			compatible = "cavium,octeon-7130-cib";
			reg = <0x10700 0xe600 0x00 0x08 0x10700 0xe700 0x00 0x08>;
			cavium,max-bits = <0x04>;
			interrupt-controller;
			interrupt-parent = <0x01>;
			interrupts = <0x02 0x10>;
			#interrupt-cells = <0x02>;
			linux,phandle = <0x04>;
			phandle = <0x04>;
		};

		interrupt-controller@107000000e800 {
			compatible = "cavium,octeon-7130-cib";
			reg = <0x10700 0xe800 0x00 0x08 0x10700 0xea00 0x00 0x08>;
			cavium,max-bits = <0x0b>;
			interrupt-controller;
			interrupt-parent = <0x01>;
			interrupts = <0x01 0x21>;
			#interrupt-cells = <0x02>;
			linux,phandle = <0x05>;
			phandle = <0x05>;
		};

		interrupt-controller@107000000e900 {
			compatible = "cavium,octeon-7130-cib";
			reg = <0x10700 0xe900 0x00 0x08 0x10700 0xeb00 0x00 0x08>;
			cavium,max-bits = <0x0b>;
			interrupt-controller;
			interrupt-parent = <0x01>;
			interrupts = <0x01 0x11>;
			#interrupt-cells = <0x02>;
			linux,phandle = <0x06>;
			phandle = <0x06>;
		};

		gpio-controller@1070000000800 {
			#gpio-cells = <0x02>;
			compatible = "cavium,octeon-3860-gpio";
			reg = <0x10700 0x800 0x00 0x100>;
			gpio-controller;
			interrupt-controller;
			#interrupt-cells = <0x02>;
			interrupts = <0x00 0x10 0x00 0x11 0x00 0x12 0x00 0x13 0x00 0x14 0x00 0x15 0x00 0x16 0x00 0x17 0x00 0x18 0x00 0x19 0x00 0x1a 0x00 0x1b 0x00 0x1c 0x00 0x1d 0x00 0x1e 0x00 0x1f>;
			linux,phandle = <0x02>;
			phandle = <0x02>;
		};

		bootbus@1180000000000 {
			compatible = "cavium,octeon-3860-bootbus";
			reg = <0x11800 0x00 0x00 0x200>;
			#address-cells = <0x02>;
			#size-cells = <0x01>;
			ranges = <0x00 0x00 0x00 0x1f400000 0x00 0x01 0x00 0x10000 0x20000000 0x00 0x02 0x00 0x10000 0x30000000 0x00 0x03 0x00 0x10000 0x40000000 0x00 0x04 0x00 0x10000 0x50000000 0x00 0x05 0x00 0x10000 0x60000000 0x00 0x06 0x00 0x10000 0x70000000 0x00 0x07 0x00 0x10000 0x80000000 0x00>;

			nor@0,0 {
				compatible = "cfi-flash";
				reg = <0x00 0x00 0x800000>;
				#address-cells = <0x01>;
				#size-cells = <0x01>;

				partition@0 {
					label = "bootloader";
					reg = <0x00 0x280000>;
					read-only;
				};

				partition@280000 {
					label = "kernel";
					reg = <0x280000 0x200000>;
				};

				partition@480000 {
					label = "cramfs";
					reg = <0x480000 0x370000>;
				};

				partition@7f0000 {
					label = "environment";
					reg = <0x7f0000 0x10000>;
					read-only;
				};
			};
		};

		mdio@1180000001800 {
			compatible = "cavium,octeon-3860-mdio";
			#address-cells = <0x01>;
			#size-cells = <0x00>;
			reg = <0x11800 0x1800 0x00 0x40>;

			ethernet-phy@5 {
				compatible = "realtek,rtl8367s\0ethernet-phy-ieee802.3-c22";
				reg = <0x1d>;
				interrupt-parent = <0x02>;
				interrupts = <0x01 0x08>;
				linux,phandle = <0x03>;
				phandle = <0x03>;
			};
		};

		pip@11800a0000000 {
			compatible = "cavium,octeon-3860-pip";
			#address-cells = <0x01>;
			#size-cells = <0x00>;
			reg = <0x11800 0xa0000000 0x00 0x2000>;

			interface@1 {
				cavium,qlm-trim = "0,sgmii";
				compatible = "cavium,octeon-3860-pip-interface";
				#address-cells = <0x01>;
				#size-cells = <0x00>;
				reg = <0x01>;

				ethernet@0 {
					compatible = "cavium,octeon-3860-pip-port";
					reg = <0x00>;
					local-mac-address = [00 00 00 00 00 00];
					phy-handle = <0x03>;
					cavium,sgmii-mac-phy-mode;
				};
			};

			interface@0 {
				cavium,qlm-trim = "0,sgmii";
				compatible = "cavium,octeon-3860-pip-interface";
				#address-cells = <0x01>;
				#size-cells = <0x00>;
				reg = <0x00>;

				ethernet@0 {
					compatible = "cavium,octeon-3860-pip-port";
					reg = <0x00>;
					local-mac-address = [00 00 00 00 00 00];
					cavium,sgmii-mac-1000x-mode;
				};
			};

			interface@4 {
				compatible = "cavium,octeon-3860-pip-interface";
				#address-cells = <0x01>;
				#size-cells = <0x00>;
				reg = <0x04>;

				ethernet@0 {
					compatible = "cavium,octeon-3860-pip-port";
					reg = <0x00>;
					local-mac-address = [00 00 00 00 00 00];
				};
			};
		};

		uctl@118006c000000 {
			compatible = "cavium,octeon-7130-sata-uctl";
			reg = <0x11800 0x6c000000 0x00 0x100>;
			ranges;
			#address-cells = <0x02>;
			#size-cells = <0x02>;

			sata@16c0000000000 {
				compatible = "cavium,octeon-7130-ahci";
				reg = <0x16c00 0x00 0x00 0x200>;
				interrupt-parent = <0x04>;
				interrupts = <0x02 0x04>;
				cavium,qlm-trim = "2,sata";
				cavium,qlm-trim-alias = "sata";
			};
		};

		uctl@1180068000000 {
			compatible = "cavium,octeon-7130-usb-uctl";
			reg = <0x11800 0x68000000 0x00 0x100>;
			ranges;
			#address-cells = <0x02>;
			#size-cells = <0x02>;
			refclk-frequency = <0x5f5e100>;
			refclk-type-ss = "dlmc_ref_clk0";
			refclk-type-hs = "pll_ref_clk";
			power = <0x02 0x12 0x01>;

			xhci@1680000000000 {
				compatible = "cavium,octeon-7130-xhci\0synopsys,dwc3";
				reg = <0x16800 0x00 0x10 0x00>;
				interrupt-parent = <0x05>;
				interrupts = <0x09 0x04>;
			};
		};

		uctl@1180069000000 {
			compatible = "cavium,octeon-7130-usb-uctl";
			reg = <0x11800 0x69000000 0x00 0x100>;
			ranges;
			#address-cells = <0x02>;
			#size-cells = <0x02>;
			refclk-frequency = <0x5f5e100>;
			refclk-type-ss = "dlmc_ref_clk0";
			refclk-type-hs = "pll_ref_clk";
			power = <0x02 0x13 0x01>;

			xhci@1690000000000 {
				compatible = "cavium,octeon-7130-xhci\0synopsys,dwc3";
				reg = <0x16900 0x00 0x10 0x00>;
				interrupt-parent = <0x06>;
				interrupts = <0x09 0x04>;
			};
		};

		i2c@1180000001000 {
			#address-cells = <0x01>;
			#size-cells = <0x00>;
			compatible = "cavium,octeon-3860-twsi";
			reg = <0x11800 0x1000 0x00 0x200>;
			interrupts = <0x00 0x2d>;
			clock-frequency = <0x61a80>;

			tmp@2c {
				compatible = "analogdevices,adm1031";
				reg = <0x2c>;
				interrupt-parent = <0x02>;
				interrupts = <0x0c 0x08 0x0d 0x08 0x10 0x08>;
			};

			tlv-eeprom@54 {
				compatible = "atmel,24c256";
				reg = <0x54>;
				pagesize = <0x40>;
			};

			rtc@68 {
				compatible = "dallas,ds1337";
				reg = <0x68>;
				interrupt-parent = <0x02>;
				interrupts = <0x11 0x08>;
			};
		};

		i2c@1180000001200 {
			#address-cells = <0x01>;
			#size-cells = <0x00>;
			compatible = "cavium,octeon-3860-twsi";
			reg = <0x11800 0x1200 0x00 0x200>;
			interrupts = <0x00 0x3b>;
			clock-frequency = <0x61a80>;

			sata-eeprom@51 {
				compatible = "atmel,24lc01";
				reg = <0x51>;
				pagesize = <0x08>;
			};
		};

		serial@1180000000800 {
			compatible = "cavium,octeon-3860-uart\0ns16550";
			reg = <0x11800 0x800 0x00 0x400>;
			clock-frequency = <0x00>;
			current-speed = <0x1c200>;
			reg-shift = <0x03>;
			interrupts = <0x00 0x22>;
		};

		serial@1180000000c00 {
			compatible = "cavium,octeon-3860-uart\0ns16550";
			reg = <0x11800 0xc00 0x00 0x400>;
			clock-frequency = <0x00>;
			current-speed = <0x1c200>;
			reg-shift = <0x03>;
			interrupts = <0x00 0x23>;
		};

		mmc@1180000002000 {
			compatible = "cavium,octeon-6130-mmc";
			reg = <0x11800 0x2000 0x00 0x100 0x11800 0x168 0x00 0x20>;
			#address-cells = <0x01>;
			#size-cells = <0x00>;
			interrupts = <0x01 0x13 0x00 0x3f>;
			cavium,pcm-trim = "0,not-pcm";

			mmc-slot@0 {
				compatible = "cavium,octeon-6130-mmc-slot";
				reg = <0x00>;
				voltage-ranges = <0xce4 0xce4>;
				spi-max-frequency = <0x18cba80>;
				power-gpios = <0x02 0x08 0x00>;
				wp-gpios = <0x02 0x0e 0x00>;
				cd-gpios = <0x02 0x0f 0x01>;
				cavium,bus-max-width = <0x08>;
			};
		};

		spi@1070000001000 {
			compatible = "cavium,octeon-3010-spi";
			reg = <0x10700 0x1000 0x00 0x100>;
			interrupts = <0x00 0x3a>;
			#address-cells = <0x01>;
			#size-cells = <0x00>;
			spi-max-frequency = <0x17d7840>;

			flash@0 {
				compatible = "gd,gd25q256c\0st,w25q256\0spi-flash";
				reg = <0x00>;
				spi-max-frequency = <0x2625a0>;
				pagesize = <0x100>;
				size = <0x800000>;
				address-width = <0x18>;
			};
		};

		nand-flash-interface@1070001000000 {
			compatible = "cavium,octeon-5230-nand";
			reg = <0x10700 0x1000000 0x00 0x100 0x11800 0x168 0x00 0x20>;
			#address-cells = <0x01>;
			#size-cells = <0x00>;
			interrupts = <0x00 0x3f>;

			flash@7 {
				compatible = "nand-flash";
				reg = <0x02>;
				nand-ecc-mode = "soft";
				nand-ecc-size = <0x400>;
				nand-ecc-bytes = <0x2a>;
				nand-bus-width = <0x08>;
			};
		};

		dma-engine@1180000000100 {
			compatible = "cavium,octeon-5750-bootbus-dma";
			reg = <0x11800 0x100 0x00 0x08>;
			interrupts = <0x00 0x3f>;
		};

		dma-engine@1180000000108 {
			compatible = "cavium,octeon-5750-bootbus-dma";
			reg = <0x11800 0x108 0x00 0x08>;
			interrupts = <0x00 0x3f>;
		};
	};

	gpio-leds {
		compatible = "gpio-leds";

		sys {
			label = "SYS_LED";
			gpios = <0x02 0x00 0x00>;
			default-state = "off";
		};

		sysctl {
			label = "SYS_LED_BLINK_FAST";
			gpios = <0x02 0x0f 0x00>;
			default-state = "off";
		};

		lan-led@0 {
			label = "LAN_LED_0";
			gpios = <0x02 0x03 0x01>;
			default-state = "on";
		};

		lan-led@1 {
			label = "LAN_LED_1";
			gpios = <0x02 0x04 0x01>;
			default-state = "on";
		};

		lan-led@2 {
			label = "LAN_LED_2";
			gpios = <0x02 0x05 0x01>;
			default-state = "on";
		};

		lan-led@3 {
			label = "LAN_LED_3";
			gpios = <0x02 0x06 0x01>;
			default-state = "on";
		};

		lan-led@4 {
			label = "LAN_LED_4";
			gpios = <0x02 0x07 0x01>;
			default-state = "on";
		};
	};

	gpio-keys-polled {
		compatible = "gpio-keys-polled";
		#address-cells = <0x01>;
		#size-cells = <0x00>;
		poll-interval = <0x3e8>;

		reset {
			label = "reset";
			linux,code = <0x198>;
			gpios = <0x02 0x02 0x01>;
		};
	};

	aliases {
		pip = "/soc@0/pip@11800a0000000";
		smi0 = "/soc@0/mdio@1180000001800";
		twsi0 = "/soc@0/i2c@1180000001000";
		twsi1 = "/soc@0/i2c@1180000001200";
		uart0 = "/soc@0/serial@1180000000800";
		uart1 = "/soc@0/serial@1180000000c00";
		flash0 = "/soc@0/bootbus@1180000000000/nor@0,0";
		emmc = "/soc@0/mmc@1180000002000";
		spi = "/soc@0/spi@1070000001000";
		sata = "/soc@0/uctl@118006c000000/sata@16c0000000000";
	};
};
2 Likes

I just got one of these devices -- the v1.0 model -- and it seems pretty capable. It was a compromise; I needed to replace my edgerouter 5-PoE urgently and my go-to vendors -- ubiquiti and mikrotik -- are all out of stock. But this router performs better and runs cooler than the router it replaced. I'm pleased to learn it's running openwrt under the hood.

I've not done this before but I will try the steps daniel mentioned and work through https://openwrt.org/docs/guide-developer/adding_new_device this weekend and report back.

1 Like

Best of luck!

A good source of guidance is looking at the git commits for other devices with the same SOC, this makes it clear where updates are needed.

Hi,
I just bought one and I am interested to run openwrt on it.
@droyo , did you succeed to run openwrt on your device ?

Regards,

This is the internal of the device.
I located a JTAG port but I failed to get the 3.3v pin. On one or two pin I have a signal.

You shouldn't connect the 3.3v pin anyway, RX, TX and GND.

Sure !
But I have 3 pins that seems to have some signal. It was a bit unexpected.
Let see what happen, at least nothing seems to send more than 3.3v so I will test each pin against a serial console.
Standard baudrate is 115200, right?

Ready to play !

I can manage to configure the kernek but I'll definitely need help for creating a full firmware with
device-tree and tplink safeloader.

Best regards,

U-Boot 2013.07 (Build time: Jun 17 2021 - 23:03:57)

Rank(0) Rlevel Rank   0x1, 0x0044104104145145 :     4     4     4     4     4     5     5     5     5 (35)
Warning: Board descriptor tuple not found in eeprom, using defaults
EVB7000_SFF board revision major:1, minor:0, serial #: unknown
OCTEON CN7020-AAP pass 1.2, Core clock: 1000 MHz, IO clock: 500 MHz, DDR clock: 667 MHz (1334 Mhz DDR)
Base DRAM address used by u-boot: 0x2fc00000, size: 0x400000
DRAM: 512 MiB
Disable watchdog! GPIO[8]=1 
Clearing DRAM...... done
chip 7 is onfi
NAND:  [nand_init],105
[nand_init],112
...
Octeon evb7000_sff(ram)# printenv
autoload=n
baudrate=115200
boardname=evb7000_sff
bootcmd=ubi readvol 0x82200000 bootloader;go 0x82200000
bootdelay=1
bootli=bootoctlinux $loadaddr coremask=0xffff numcores=2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200 board=OSG-PRO mtdparts=spi32766.0:2M(bootloader),8M(kernel),15M(rootfs),128K(device-info),64K(support-list),576K(firmware-info),128K(tddp),128K(log),5M(rootfs_data),32M@0x000000(firmware)
diphy=mii device mdio-octeon0;mii wirte 0 0 0x1940;mii wirte 1 0 0x1940;mii wirte 2 0 0x1940;mii wirte 3 0 0x1940;mii wirte 4 0 0x1940;
dram_size_mbytes=512
enphy=mii device mdio-octeon0;mii wirte 0 0 0x1140;mii wirte 1 0 0x1140;mii wirte 2 0 0x1140;mii wirte 3 0 0x1140;mii wirte 4 0 0x1140;
env_addr=1ddf0000
env_size=10000
eth1addr=xxxx
eth2addr=xxx
ethact=octeth1
ethaddr=xxxx
flash_base_addr=1dc00000
flash_size=2000000
ipaddr=192.168.0.10
loadaddr=0x20000000
mtddevname=firmware
mtddevnum=0
mtdids=nand0=octeon_nand0
mtdparts=mtdparts=octeon_nand0:126M(firmware),2M(panic-oops)
numcores=2
octeon_failsafe_mode=0
octeon_ram_mode=1
partition=nand0,0
resetenv=sf probe;sf erase 0x1f0000 0x10000
serial#=unknown
serverip=192.168.0.146
stderr=serial
stdin=serial,pci,bootcmd
stdout=serial
ver=U-Boot 2013.07 (Build time: Jun 17 2021 - 23:05:41)

Wonder if they actually implemented that?

Never stop being impressed by the lack of simple spell checking in vendor firmware. Makes you think about the general quality assurance...

1 Like

protect - enable or disable FLASH write protection
qlm - Octeon QLM debug function (dangerous - remove from final product)
read64 - read 64 bit word from 64 bit address (deprecated)
read64b - read 8 bit word from 64 bit address (deprecated)

I cannot get network through u-boot, any ideas ?

Octeon evb7000_sff(ram)# setenv ipaddr 192.168.0.177
Octeon evb7000_sff(ram)# setenv serverip 192.168.0.196
Octeon evb7000_sff(ram)# setenv netmask 255.255.255.0
Octeon evb7000_sff(ram)# setenv gatewayip 192.168.0.254


Octeon evb7000_sff(ram)# ping 192.168.0.196
octeon_ebt3000_rgmii_init(), dev_ptr: c0370e80, dev: octrgmii0, port: 24
octrgmii0 already initialized
Using octrgmii0 device
octeon_eth_write_hwaddr: Setting octrgmii0 address to 02:4d:7a:4f:7a:02
cvm_oct_set_mac_address: gmx reg: 0x80011800e0000000
ping failed; host 192.168.0.196 is not alive

Maybe try "mii write" instead of "mii wirte" in the phy enable command?

1 Like

Can you confirm that it is the good address & size ?

sf probe 0
sf read 0x1dc00000 0x0 0x2000000
tftpput 0x0 0x2000000 192.168.0.196:firmware.bin

binwalk gives me

binwalk firmware.bin 

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
524288        0x80000         Flattened device tree, size: 9527 bytes, version: 17

Hi all,

I was able to compile openwrt, and tftpboot the kernel image.
Now I will need help to create a full image that can be installed on the device.

Octeon evb7000_sff(ram)# mii device mdio-octeon0;mii write 0 0 0x1140;mii write 1 0 0x1140;mii write 2 0 0x1140;mii write 3 0 0x1140;mii write 4 0 0x1140;
Octeon evb7000_sff(ram)# setenv ipaddr 192.168.0.222
Octeon evb7000_sff(ram)# setenv serverip 192.168.0.24
Octeon evb7000_sff(ram)# tftpboot 0 ER7206.bin
BusyBox v1.35.0 (2022-07-20 19:52:06 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt SNAPSHOT, r20151-a0b7fef0ff
 -----------------------------------------------------
=== WARNING! =====================================
There is no root password defined on this device!
Use the "passwd" command to set up a new password
in order to prevent unauthorized SSH logins.
--------------------------------------------------
root@OpenWrt:/# ifconfig
br-lan    Link encap:Ethernet  HWaddr 02:4D:7A:4F:7A:00
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fda3:d72c:2a9e::1/60 Scope:Global
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

@frollic @openwrtFan11 I have now a working kernel but I struggle to create a factory image for the TP-Link.