Hi,
attenuation is controlled in first place by osmo-bts, which gets information about the nominal Tx power from the currently running device from osmo-trx, by using TRXC protocol. BTS sends "NOMTXPOWER" command and osmo-trx answers with "RSP NOMTXPOWER <dBm>". Then osmo-bts tells osmo-trx which attenuation to apply based on the nominal Tx power by means of using "SETPOWER" or "ADJPOWER" TRXC commands.
I don't see any "NOMTXPOWER" "SETPOWER" or "ADJPOWER" TRXC protocol command in the logs of osmo-trx or osmo-bts, so I bet you don't have osmo-bts properly configured to set the attenuation. Maybe you didn't set enough verbosity for the TRXC category in logs, debug would be great.
So have a look around those TRXC command strings in osmo-bts and osmo-trx code, those are the ones in charge of setting attenutation.
In any case, the UmTRX is probably going to provide wrong information to the BTS when it asks for the nominal Tx Power, since it is using the B210 device values as fallback, as warned here:
<0005> UHDDevice.cpp:250 No Power parameters exist for device UmTRX
4/1 Tx/Rx SPS on band GSM900, using B210 ones as fallback
To fix that, have a look in osmo-trx.git, grep for "struct dev_band_desc", and add entries to the table called "dev_band_nom_power_param_map" in UHDDevice.cpp (and submit a patch to gerrit ;).
See also: * osmo-bts User Manual "14.2.3 Configuring power ramping" https://ftp.osmocom.org/docs/latest/osmobts-usermanual.pdf
* osmo-trx User Manual "19.2.1 Power Control" https://ftp.osmocom.org/docs/latest/osmotrx-usermanual.pdf