Hi,
without looking into much detail at your branch, I should suggest:
* Rebase your work on top of current osmo-trx master, the base commit you use is uite old and the API has changed a bit since then, with some fixes and improvements.
* Make sure you run both osmo-trx and osmo-bts-trx with RR scheduler (realtime). For instance, osmo-trx VTY cmd "rt-prio 18", and osmo-bts-trx cmd line arg "-r 1".
* From what i see in the logs, it looks like you have some issues with how you are managing the tmestamps inside your device backend, so something is not being done correctly in there most probably, then 0 is returned and osmo-trx upper layers decide to stop the process.
Once you have something working acceptably fine (MS can use the network more or less reliably, and osmo-trx doesn't stop or crash), I'm happy to review your patch in gerrit.
Regards, Pau