Bug #2944
closedOsmoBTS master does not work with CalypsoBTS based transceivers
100%
Description
Starting from revision 8c1d15764377eb6a11aa432661d5afe60c2e8a9c CalypsoBTS-based transceivers (I tested jolly/testing) does not longer work.
osmo-bts-trx fails early with:
<000b> trx_if.c:488 Response message 'RSP SETSLOT 0 5' does not match command message 'CMD SETSLOT 0 5' <0001> bts.c:210 Shutting down BTS 0, Reason TRX-CTRL-MSG: CRITICAL
I added some log statements to the beginning of the cmd_matches_rsp function and the output from osmo-bts-trx now looks like this:
... <000b> trx_if.c:240 Enqueuing TRX control command 'CMD POWEROFF' <000b> trx_if.c:160 Sending control 'CMD POWEROFF' to phy0.0 <000b> trx_if.c:457 Response message: 'RSP POWEROFF 0' <000b> trx_if.c:422 ############################# <000b> trx_if.c:423 ***TCM_CMD: POWEROFF*** <000b> trx_if.c:424 ***RSPNAME: POWEROFF*** <000b> trx_if.c:425 ***TCM_PARAMS: *** <000b> trx_if.c:426 ***PARAMS: *** <0001> oml.c:1049 ADM state already was Unlocked <000b> trx_if.c:240 Enqueuing TRX control command 'CMD RXTUNE 1781800' <000b> trx_if.c:160 Sending control 'CMD RXTUNE 1781800' to phy0.0 <000b> trx_if.c:240 Enqueuing TRX control command 'CMD TXTUNE 1876800' <000b> trx_if.c:240 Enqueuing TRX control command 'CMD SETBSIC 63' <000b> trx_if.c:240 Enqueuing TRX control command 'CMD POWERON' <000b> trx_if.c:240 Enqueuing TRX control command 'CMD SETRXGAIN 1' <000b> trx_if.c:240 Enqueuing TRX control command 'CMD SETPOWER 20' <000b> trx_if.c:240 Enqueuing TRX control command 'CMD SETSLOT 0 5' <000b> trx_if.c:457 Response message: 'RSP RXTUNE 0 1781800' <000b> trx_if.c:422 ############################# <000b> trx_if.c:423 ***TCM_CMD: RXTUNE*** <000b> trx_if.c:424 ***RSPNAME: RXTUNE*** <000b> trx_if.c:425 ***TCM_PARAMS: 1781800*** <000b> trx_if.c:426 ***PARAMS: 1781800*** <000b> trx_if.c:160 Sending control 'CMD TXTUNE 1876800' to phy0.0 <000b> trx_if.c:457 Response message: 'RSP TXTUNE 0 1876800' <000b> trx_if.c:422 ############################# <000b> trx_if.c:423 ***TCM_CMD: TXTUNE*** <000b> trx_if.c:424 ***RSPNAME: TXTUNE*** <000b> trx_if.c:425 ***TCM_PARAMS: 1876800*** <000b> trx_if.c:426 ***PARAMS: 1876800*** <000b> trx_if.c:160 Sending control 'CMD SETBSIC 63' to phy0.0 <000b> trx_if.c:457 Response message: 'RSP SETBSIC 0' <000b> trx_if.c:422 ############################# <000b> trx_if.c:423 ***TCM_CMD: SETBSIC*** <000b> trx_if.c:424 ***RSPNAME: SETBSIC*** <000b> trx_if.c:425 ***TCM_PARAMS: 63*** <000b> trx_if.c:426 ***PARAMS: *** <000b> trx_if.c:160 Sending control 'CMD POWERON' to phy0.0 <000b> trx_if.c:457 Response message: 'RSP POWERON 0' <000b> trx_if.c:422 ############################# <000b> trx_if.c:423 ***TCM_CMD: POWERON*** <000b> trx_if.c:424 ***RSPNAME: POWERON*** <000b> trx_if.c:425 ***TCM_PARAMS: *** <000b> trx_if.c:426 ***PARAMS: *** <000b> trx_if.c:160 Sending control 'CMD SETRXGAIN 1' to phy0.0 <000b> trx_if.c:457 Response message: 'RSP SETRXGAIN 0 1' <000b> trx_if.c:422 ############################# <000b> trx_if.c:423 ***TCM_CMD: SETRXGAIN*** <000b> trx_if.c:424 ***RSPNAME: SETRXGAIN*** <000b> trx_if.c:425 ***TCM_PARAMS: 1*** <000b> trx_if.c:426 ***PARAMS: 1*** <000b> trx_if.c:160 Sending control 'CMD SETPOWER 20' to phy0.0 <000b> trx_if.c:457 Response message: 'RSP SETPOWER 0 20' <000b> trx_if.c:422 ############################# <000b> trx_if.c:423 ***TCM_CMD: SETPOWER*** <000b> trx_if.c:424 ***RSPNAME: SETPOWER*** <000b> trx_if.c:425 ***TCM_PARAMS: 20*** <000b> trx_if.c:426 ***PARAMS: 20*** <000b> trx_if.c:160 Sending control 'CMD SETSLOT 0 5' to phy0.0 <000b> trx_if.c:457 Response message: 'RSP SETSLOT 0 5' <000b> trx_if.c:422 ############################# <000b> trx_if.c:423 ***TCM_CMD: SETSLOT*** <000b> trx_if.c:424 ***RSPNAME: SETSLOT*** <000b> trx_if.c:425 ***TCM_PARAMS: 0 5*** <000b> trx_if.c:426 ***PARAMS: 5*** <000b> trx_if.c:422 ############################# <000b> trx_if.c:423 ***TCM_CMD: SETPOWER*** <000b> trx_if.c:424 ***RSPNAME: SETSLOT*** <000b> trx_if.c:425 ***TCM_PARAMS: 20*** <000b> trx_if.c:426 ***PARAMS: 5*** <000b> trx_if.c:489 Response message 'RSP SETSLOT 0 5' does not match command message 'CMD SETSLOT 0 5' <0001> bts.c:210 Shutting down BTS 0, Reason TRX-CTRL-MSG: CRITICAL <000b> trx_if.c:240 Enqueuing TRX control command 'CMD POWEROFF' <000b> trx_if.c:124 Clock indication: fn=1325341 <000b> trx_if.c:124 Clock indication: fn=1325389 <000b> trx_if.c:124 Clock indication: fn=1325440 ...
SETPOWER does not match SETSLOT so cmd_matches_rsp returns false.
Full logs, configs and a pcap trace is attached.
Files
Updated by pespin about 6 years ago
On my sysmocell5k or while using limsdr with osmo-trx, I get the following responses:
20180214130638617 DTRX <000b> /home/pespin/dev/sysmocom/git/osmo-bts/src/osmo-bts-trx/trx_if.c:450 Response message: 'RSP POWEROFF 0' 20180214130638617 DTRX <000b> /home/pespin/dev/sysmocom/git/osmo-bts/src/osmo-bts-trx/trx_if.c:450 Response message: 'RSP RXTUNE 0 1782000' 20180214130638618 DTRX <000b> /home/pespin/dev/sysmocom/git/osmo-bts/src/osmo-bts-trx/trx_if.c:450 Response message: 'RSP TXTUNE 0 1877000' 20180214130638618 DTRX <000b> /home/pespin/dev/sysmocom/git/osmo-bts/src/osmo-bts-trx/trx_if.c:450 Response message: 'RSP SETTSC 0' 20180214130638618 DTRX <000b> /home/pespin/dev/sysmocom/git/osmo-bts/src/osmo-bts-trx/trx_if.c:450 Response message: 'RSP POWERON 0' 20180214130638619 DTRX <000b> /home/pespin/dev/sysmocom/git/osmo-bts/src/osmo-bts-trx/trx_if.c:450 Response message: 'RSP SETRXGAIN 0 1' 20180214130638619 DTRX <000b> /home/pespin/dev/sysmocom/git/osmo-bts/src/osmo-bts-trx/trx_if.c:450 Response message: 'RSP SETPOWER 0 20' 20180214130638619 DTRX <000b> /home/pespin/dev/sysmocom/git/osmo-bts/src/osmo-bts-trx/trx_if.c:450 Response message: 'RSP SETSLOT 0 0 5' 20180214130638620 DTRX <000b> /home/pespin/dev/sysmocom/git/osmo-bts/src/osmo-bts-trx/trx_if.c:450 Response message: 'RSP SETSLOT 0 1 1' 20180214130638620 DTRX <000b> /home/pespin/dev/sysmocom/git/osmo-bts/src/osmo-bts-trx/trx_if.c:450 Response message: 'RSP SETSLOT 0 2 1' 20180214130638620 DTRX <000b> /home/pespin/dev/sysmocom/git/osmo-bts/src/osmo-bts-trx/trx_if.c:450 Response message: 'RSP SETSLOT 0 3 1' 20180214130638621 DTRX <000b> /home/pespin/dev/sysmocom/git/osmo-bts/src/osmo-bts-trx/trx_if.c:450 Response message: 'RSP SETSLOT 0 4 1' 20180214130638621 DTRX <000b> /home/pespin/dev/sysmocom/git/osmo-bts/src/osmo-bts-trx/trx_if.c:450 Response message: 'RSP SETSLOT 0 5 1' 20180214130638621 DTRX <000b> /home/pespin/dev/sysmocom/git/osmo-bts/src/osmo-bts-trx/trx_if.c:450 Response message: 'RSP SETSLOT 0 6 13' 20180214130638622 DTRX <000b> /home/pespin/dev/sysmocom/git/osmo-bts/src/osmo-bts-trx/trx_if.c:450 Response message: 'RSP SETSLOT 0 7 13'
As you can see, RSP SETSLOT has an extra value in relation to calypsoBTS rsp.
README in osmo-trx says:
SETSLOT sets the format of the uplink timeslots in the ARFCN. The <timeslot> indicates the timeslot of interest. The <chantype> indicates the type of channel that occupies the timeslot. A chantype of zero indicates the timeslot is off. CMD SETSLOT <timeslot> <chantype> RSP SETSLOT <status> <timeslot> <chantype>
Which means CalypsoBTS RSP SETSLOT is either missing either status or timeslot in the response, probably the status is missing. I'll have a look and submit a patch for it.
Updated by pespin about 6 years ago
Please test the following patch and provide feedback: https://gerrit.osmocom.org/#/c/6449
Updated by pespin about 6 years ago
- Status changed from New to Feedback
- Assignee changed from pespin to roox
Updated by roox about 6 years ago
I just did some tests - It works like a charm - Thanks!
It's probably also a good idea to include this patch in the other branches with transceiver support (e.g. sylvain/testing)
Updated by pespin about 6 years ago
- Assignee changed from roox to pespin
I backported the patch as indicated.
So we now have the patches reviewed (+2) but due to the branch being old and having no jenkins.sh, Jenkins Builder set validate -1, and I'm not able to merge it. Help on how to fight against gerrit is required here.
Patches are:
https://gerrit.osmocom.org/#/c/6449/
https://gerrit.osmocom.org/#/c/6457/
Updated by laforge about 6 years ago
On Thu, Feb 15, 2018 at 06:38:50PM +0000, pespin [REDMINE] wrote:
So we now have the patches reviewed (+2) but due to the branch being old and having no jenkins.sh, Jenkins Builder set validate -1, and I'm not able to merge it. Help on how to fight against gerrit is required here.
I could manually override the V-1 and set it to V+1.
However, I guess the better solution would be to first merge a patch
that adds jenkins.sh to the respective branch, and then re-trigger the
validation of those patches. This way we would have a working solution
even for future patches.
Or even better: Rebas those old but still relevant branches on top of
current master, and they would get the jenkins.sh and associated build
verification for free.
Do we have any volunteers for this?
Updated by pespin about 6 years ago
- Status changed from Feedback to Resolved
- % Done changed from 0 to 100
Merged