Project

General

Profile

Actions

Bug #2944

closed

OsmoBTS master does not work with CalypsoBTS based transceivers

Added by roox about 6 years ago. Updated about 6 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
-
Target version:
-
Start date:
02/13/2018
Due date:
% Done:

100%

Spec Reference:

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

calypsobts-transceiver-jolly-testing calypsobts-transceiver-jolly-testing 6.31 KB roox, 02/13/2018 11:09 PM
calypsobts-transceiver-jolly-testing-firmware calypsobts-transceiver-jolly-testing-firmware 8.37 KB roox, 02/13/2018 11:09 PM
openbsc.cfg openbsc.cfg 1.35 KB roox, 02/13/2018 11:09 PM
osmo-bts.cfg osmo-bts.cfg 716 Bytes roox, 02/13/2018 11:09 PM
osmo-nitb osmo-nitb 9.61 KB roox, 02/13/2018 11:09 PM
osmo-bts-trx-debug osmo-bts-trx-debug 6.5 KB roox, 02/13/2018 11:09 PM
osmo-bts-calypto-issue.pcap osmo-bts-calypto-issue.pcap 32.4 KB roox, 02/13/2018 11:10 PM
Actions #1

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.

Actions #2

Updated by pespin about 6 years ago

Please test the following patch and provide feedback: https://gerrit.osmocom.org/#/c/6449

Actions #3

Updated by pespin about 6 years ago

  • Status changed from New to Feedback
  • Assignee changed from pespin to roox
Actions #4

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)

Actions #5

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/

Actions #6

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?

Actions #7

Updated by pespin about 6 years ago

  • Status changed from Feedback to Resolved
  • % Done changed from 0 to 100

Merged

Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)