How should actually identical boards be supported?

I have several EnGenius EAP1300 and EAP1300EXT access points. The EAP1300 is officially supported, the EAP1300EXT isn't, however the boards are completely identical to the point where the vendor firmware uses identical bootloaders, kernels, and root filesystems for the two devices. I reverse engineered the vendor firmware and found that the only difference between the two is a header that says which device it's for.

The only differences are:

  • Antenna configuration (external vs built-in)
  • A factory programmed product id in the u-boot env.

So, the EAP1300EXT is unofficially supported, one can just flash the EAP1300 build on it.

The question is, how should this be supported?

On the wiki, is there a way to import sections from one page into another?

Should OpenWRT provide separate images for each, or one image?

Should there be entirely separate DTS files, or a common one that's included, and the text changed?

Yes, even if for clarification purposes alone.

The later, move everything common (so 98% of the dts) into a common dtsi, include it from both dts and just set the name in the dts.

Separate data briefs, but one device page for both would be fine (see the Linksys e8450/ Belkin rt3200 or the Linksys WRT-1200AC/ WRT-1900AC(S)/ WRT3200ACM/ WRT32X as example).

Thank you, this is helpful. Do you have examples for a common dts like you describe? The only thing that needs to be changed between the two files is a couple of strings.

One good example is is R7800 and its younger almost identical sister XR500 (that has double flash and no eSata).

They share a common .dtsi and then have only a few lines in device specific .dts

See

1 Like

It looks like I can just use a #define for the ath10k-calibration-variant string, is there any reason I shouldn't?

if you're certain that the image for EAP1300 works perfectly fine in every way on the EXT variant, including leds, reset button, printing the uboot environment, flash size and layout, etc. you can just have the build system make an identical image named differently using the ALT profile variables. an example in ipq40xx

	DEVICE_VENDOR := ASUS
	DEVICE_MODEL := RT-AC58U
	DEVICE_ALT0_VENDOR := ASUS
	DEVICE_ALT0_MODEL := RT-ACRH13

however what EAP1300 really needs is DSA setup or it will be disabled for next release

1 Like

that's just visible in the build system though, i forgot

Yes, I am sure. I've tested and spent a lot of time reversing the vendor firmware, and have physically compared the boards.

Thanks, I'll look into that.

Indeed, I've submitted a pull request for that.

Yes, take a look at the include plugin syntax: https://www.dokuwiki.org/plugin:include#syntax

One device - one devicepage, please.

1 Like