I would like to know how OpenWrt gets the TX-Power value. It is given by the hardware, or defined by the developer in the firmware, or ...
These days I have worked with many Huawei HG556a routers to investigate and provide more information to the device page. But my surprise has been that four of them, all of the C model, get different value from TX-Power. Same firmware (17.01.4), same model, same configuration (default), but two get 20dBm and the other two get 30dBm.
The only difference are the serial numbers.
I do not understand why the same wlan chip (RT3062F in this case) gives different values in TX-Power.
It's an intersection of the hardware (including antenna characteristics), your configured regdom settings and additional regulatory hints provided by e.g. IEEE 802.11d (you must never exceed maximum txpower, so the lowest value wins).
Hardware capabilities, rf amp characteristics and antenna gain are a fixed value, stored in the calibration data (but it might differ between channels), just as well as the regdom value (country code) for the region the device was sold to.
OpenWrt's regulatory domain database is based on upstream's wireless-regdb project, which lists the necessary settings for 'all' countries around the world (again, different channels may use different power levels). The allowed settings are derived from the intersection of the hardware regdom settings, the configured region and hints received over the air via IEEE 802.11d.
I taked a look, a little "Cirilic" for me. I'm thinking about something more simple, like this:
Radio Transmit Power (dBm) – Loss from Cables & Connectors (dB) + Antenna Gain (dBi) = Output Power (dBm/W/mW)
But even in this case, if you have same hardware, same antenna, same country, same channel, same everything... Why do I obtain different values?
If hardware and running software (OpenWrt) are the same, the results 'should' be the same for a given channel - but it all depends on OTP calibration data (if one device was targetted at FCC, another at ETSI and the third at MKK markets).
That makes sense. In fact, they do not have the same serial numbers, the calibration data may be different, even if the hardware is the same.
I'm going to change the calibration data and see what happens.
I will report.
I recommend against modifying the calibration data, aside from the legal implications, calibration data is really device specific and needs to offset production tolerances (for different channels, temperatures, etc.) - getting this wrong can have significant effects on signal quality and hitting the necessary frequencies exactly enough for the peer to connect to.
 read, this is plain illegal in most jurisdictions around the world, unless you hold a ham radio license and can certify the device yourself.
You don't need to trade with devices to sufficiently annoy commercial (licensed primary-) users of neighbouring frequencies, like cell phone providers, tv cable, (weather-) radars, etc. pp. to take legal action.