On Mon, Jul 8, 2013 at 4:01 PM, Andreas Eversberg <andreas(a)eversberg.eu> wrote:
oops, i did a mistake. even single trx support never
supported poweroff. the
reason why it worked for me is that i send "SETTSC" and "SETBSIC"
commands
to the transceiver. (calypso-bts requires "SETBSIC" because it generates SCH
itself). because one of these commands will fail, osmo-bts ignores the
response, so it does for "SETTSC".
i think it is not a clean solution to send both commands and ignore the
result. the "POWEROFF" should shutdown transmitter, stop receiving and allow
"SETTSC" (even with different value) again.
Agreed. The larger issue isn't that the POWEROFF command isn't
implemented, it's that the transceiver was written without explicit
state management. Thread deallocation is the most annoying issue. We
can't shutdown threads right now because we don't know what threads
are running.
https://github.com/ttsou/openbts-multi-arfcn/commit/0cbdb59b61
https://github.com/ttsou/openbts-multi-arfcn/commit/8f2d863485
IMO, the preferred solution is to replace thread abstraction or make
the signals work. I think the latter was the original intention with
shutdown triggering on pthread_cancel(), but for whatever reason that
was never implemented.
Thomas