RangeNetworks / OpenBTS-UMTS

3G UMTS Data Radio Access Network Node
GNU Affero General Public License v3.0
297 stars 196 forks source link

Separate port TX/RX and RX for sending and receiving #1

Open ghost opened 9 years ago

ghost commented 9 years ago

USRP N200 has two ports RX and TX/RX. I assume that in OpenBTS-UMTS source code, send and receive for USRP series N is done by port TX/RX. How can we modify the source code to make sending to be done by port TX/RX, and receiving by port RX? (In fact using one antenna for sending and another one for receiving).

dkogue commented 7 years ago

maybe u can help me. I am running OpenBTS_UMTS on Ubuntu 16 but can not see the signal when I check on my Nexus phone. here are my audit logs: /OpenBTS$ sudo ./OpenBTS-UMTS 1498833143.790579 140246743963456:

OpenBTS, OpenBTS-UMTS Copyright 2008, 2009, 2010 Free Software Foundation, Inc. Copyright 2010 Kestrel Signal Processing, Inc. Copyright 2011, 2012, 2013, 2014 Range Networks, Inc. Release 1.0-master P formal build date 2017-06-02T10:56:56 d528034ac8 CommonLibs:d528034ac8 "OpenBTS" is a trademark of Range Networks, Inc. "OpenBTS-UMTS" is a trademark of Range Networks, Inc.

Contributors: Range Networks, Inc.: David Burgess, Harvind Samra, Donald Kirker, Doug Brown, Pat Thompson, Michael Iedema Kestrel Signal Processing, Inc.: David Burgess, Harvind Samra, Raffi Sevlian, Roshan Baliga GNU Radio: Johnathan Corgan Others: Anne Kwong, Jacob Appelbaum, Joshua Lackey, Alon Levy Alexander Chemeris, Alberto Escudero-Pascual Incorporated GPL libraries and components: libosip2 (LGPL), liportp2 (LGPL)

This program comes with ABSOLUTELY NO WARRANTY.

Use of this software may be subject to other legal restrictions, including patent licsensing and radio spectrum licensing. All users of this software are expected to comply with applicable regulations and laws. See the LEGAL file in the source code for more information.

ALERT 140246743963456 16:32:23.8 OpenBTS-UMTS.cpp:166:main: OpenBTS-UMTS (re)starting, ver 1.0-master build date Jun 2 2017 1498833143.812509 140246743963456: Starting the system... TBSIZE: 260 RACH radioFrameSize=1200 total=1200 tbsize=256 TBSIZE: 360 FACH SF=64 radioFrameSize=1080 total=1080 tbsize=360

TBSIZE: 260 RACH radioFrameSize=1200 total=1200 tbsize=256 TBSIZE: 360 FACH SF=64 radioFrameSize=1080 total=1080 tbsize=360

RACH TFS: mPresent=2 mMaxTfSize=0 mMaxTbSize=0 multiplexed=1 mTTI=10 mTypeOfChannelCoding=2 mRateMatchingAttribute=256 mCRCSize=16 TF( mTBSize=256 mNumTB=1) TF( mTBSize=256 mNumTB=2) FACH TFS: mPresent=2 mMaxTfSize=0 mMaxTbSize=0 multiplexed=1 mTTI=10 mTypeOfChannelCoding=2 mRateMatchingAttribute=256 mCRCSize=12 TF( mTBSize=360 mNumTB=0) TF( mTBSize=360 mNumTB=1) chReserve(64,2) ALERT 140246743963456 16:32:23.8 UMTSPhCh.cpp:654:chConflict: Attempt to reserve channel: sf=64 chcode=2 which conflicts with reserved channel: sf=32 chcode=1 chReserve(256,2) ALERT 140246743963456 16:32:23.8 UMTSPhCh.cpp:654:chConflict: Attempt to reserve channel: sf=256 chcode=2 which conflicts with reserved channel: sf=128 chcode=1 chReserve(64,3) ALERT 140246743963456 16:32:23.8 UMTSPhCh.cpp:654:chConflict: Attempt to reserve channel: sf=64 chcode=3 which conflicts with reserved channel: sf=32 chcode=1 chReserve(256,4) ALERT 140246743963456 16:32:23.8 UMTSPhCh.cpp:654:chConflict: Attempt to reserve channel: sf=256 chcode=4 which conflicts with reserved channel: sf=128 chcode=2 chReserve(64,2) ALERT 140246743963456 16:32:23.8 UMTSPhCh.cpp:654:chConflict: Attempt to reserve channel: sf=64 chcode=2 which conflicts with reserved channel: sf=32 chcode=1 Dumping SIB5... SysInfoType5 ::= { sib6indicator: FALSE pich-PowerOffset: -10 modeSpecificInfo: fdd ::= { aich-PowerOffset: -10 } primaryCCPCH-Info: fdd ::= { tx-DiversityIndicator: FALSE } prach-SystemInformationList: PRACH-SystemInformationList ::= { PRACH-SystemInformation ::= { prach-RACH-Info: PRACH-RACH-Info ::= { modeSpecificInfo: fdd ::= { availableSignatures: 20 00 availableSF: 0 (sfpr32) preambleScramblingCodeWordNumber: 0 puncturingLimit: 15 (pl1) availableSubChannelNumbers: 00 20 } } transportChannelIdentity: 3 rach-TransportFormatSet: CommonTransChTFS ::= { tti: CommonDynamicTF-InfoList ::= { CommonDynamicTF-Info ::= { rlc-Size: fdd ::= { octetModeRLC-SizeInfoType2: 26 } numberOfTbSizeList: numberOfTbSizeList ::= {

2 } logicalChannelList: } } semistaticTF-Information: SemistaticTF-Information ::= { channelCodingType: 0 (half) rateMatchingAttribute: 256 crc-Size: 3 (crc16) } } rach-TFCS: TFCS-ReconfAdd ::= { ctfcSize: ctfc2Bit ::= { TFCS-ReconfAdd-foo2 ::= { ctfc2: 0 powerOffsetInformation: PowerOffsetInformation ::= { gainFactorInformation: SignalledGainFactors ::= { modeSpecificInfo: fdd ::= { gainFactorBetaC: 15 } gainFactorBetaD: 15 } powerOffsetPp-m: 2 } } TFCS-ReconfAdd-foo2 ::= { ctfc2: 1 powerOffsetInformation: PowerOffsetInformation ::= { gainFactorInformation: SignalledGainFactors ::= { modeSpecificInfo: fdd ::= { gainFactorBetaC: 15 } gainFactorBetaD: 15 } powerOffsetPp-m: 2 } } } } prach-Partitioning: fdd ::= { ASCSetting-FDD ::= { accessServiceClass-FDD: AccessServiceClass-FDD ::= { availableSignatureStartIndex: 0 availableSignatureEndIndex: 0 assignedSubChannelNumber: F0 } } } ac-To-ASC-MappingTable: AC-To-ASC-MappingTable ::= { 0 0 0 0 0 0 0 } modeSpecificInfo: fdd ::= { primaryCPICH-TX-Power: 10 constantValue: -10 prach-PowerOffset: PRACH-PowerOffset ::= { powerRampStep: 1 preambleRetransMax: 64 } rach-TransmissionParameters: RACH-TransmissionParameters ::= { mmax: 32 nb01Min: 0 nb01Max: 50 } aich-Info: AICH-Info ::= { channelisationCode256: 2 sttd-Indicator: FALSE aich-TransmissionTiming: 1 (e1) } } } } sCCPCH-SystemInformationList: SCCPCH-SystemInformationList ::= { SCCPCH-SystemInformation ::= { secondaryCCPCH-Info: SecondaryCCPCH-Info ::= { modeSpecificInfo: fdd ::= { dummy1: 0 (mayBeUsed) sttd-Indicator: FALSE sf-AndCodeNumber: 3 pilotSymbolExistence: FALSE tfci-Existence: TRUE positionFixedOrFlexible: 0 (fixed) timingOffset: 0 } } tfcs: TFCS-ReconfAdd ::= { ctfcSize: ctfc2Bit ::= { TFCS-ReconfAdd-foo2 ::= { ctfc2: 0 } TFCS-ReconfAdd-foo2 ::= { ctfc2: 1 } } } fach-PCH-InformationList: FACH-PCH-InformationList ::= { FACH-PCH-Information ::= { transportFormatSet: CommonTransChTFS ::= { tti: CommonDynamicTF-InfoList ::= { CommonDynamicTF-Info ::= { rlc-Size: fdd ::= { octetModeRLC-SizeInfoType2: 3 } numberOfTbSizeList: numberOfTbSizeList ::= { } logicalChannelList: } } semistaticTF-Information: SemistaticTF-Information ::= { channelCodingType: 0 (half) rateMatchingAttribute: 256 crc-Size: 2 (crc12) } } transportChannelIdentity: 1 ctch-Indicator: FALSE } } pich-Info: fdd ::= { channelisationCode256: 4 pi-CountPerFrame: 0 (e18) sttd-Indicator: FALSE } } SCCPCH-SystemInformation ::= { secondaryCCPCH-Info: SecondaryCCPCH-Info ::= { modeSpecificInfo: fdd ::= { dummy1: 0 (mayBeUsed) sttd-Indicator: FALSE sf-AndCodeNumber: 2 pilotSymbolExistence: FALSE tfci-Existence: TRUE positionFixedOrFlexible: 0 (fixed) timingOffset: 0 } } tfcs: TFCS-ReconfAdd ::= { ctfcSize: ctfc2Bit ::= { TFCS-ReconfAdd-foo2 ::= { ctfc2: 0 } TFCS-ReconfAdd-foo2 ::= { ctfc2: 1 } } } fach-PCH-InformationList: FACH-PCH-InformationList ::= { FACH-PCH-Information ::= { transportFormatSet: CommonTransChTFS ::= { tti: CommonDynamicTF-InfoList ::= { CommonDynamicTF-Info ::= { rlc-Size: fdd ::= { octetModeRLC-SizeInfoType2: 3 } numberOfTbSizeList: numberOfTbSizeList ::= { } logicalChannelList: } } semistaticTF-Information: SemistaticTF-Information ::= { channelCodingType: 0 (half) rateMatchingAttribute: 256 crc-Size: 2 (crc12) } } transportChannelIdentity: 1 ctch-Indicator: FALSE } } } } } SysInfoType11 ::= { sib12indicator: FALSE measurementControlSysInfo: MeasurementControlSysInfo ::= { use-of-HCS: hcs-not-used ::= { cellSelectQualityMeasure: cpich-Ec-N0 ::= { } } } }=== Phase1 Encoding SIB MIB === Phase1 Encoded SIB MIB size 152 blocks 0.672566 SIB0: bytes: ByteVector(size=19 data: 00 00 40 25 00 00 44 20 64 20 33 21 91 51 00 30 74 a0 3b) === Phase1 Encoding SIB SIB1 === Phase1 Encoded SIB SIB1 size 94 blocks 0.415929 SIB1: bytes: ByteVector(size=12 data: c4 02 10 8b 20 00 01 00 ce 01 ab 40) === Phase1 Encoding SIB SIB2 === Phase1 Encoded SIB SIB2 size 20 blocks 0.0884956 SIB2: bytes: ByteVector(size=3 data: 00 06 40) === Phase1 Encoding SIB SIB3 === Phase1 Encoded SIB SIB3 size 102 blocks 0.451327 SIB3: bytes: ByteVector(size=13 data: 00 00 00 00 42 c0 60 00 04 b4 ff ff fc) === Phase1 Encoding SIB SIB5 === Phase1 Encoded SIB SIB5 size 466 blocks 2.06195 SIB4: bytes: ByteVector(size=59 data: 80 30 0e 88 00 00 f0 02 14 00 68 2c 0a ff 60 00 32 3f de c7 fb 84 03 c0 00 00 fa 99 1f fc 0c 80 91 e0 40 d0 00 08 22 00 43 08 8b fd 00 04 18 08 12 00 01 04 40 08 61 11 7f a0 00) === Phase1 Encoding SIB SIB7 === Phase1 Encoded SIB SIB7 size 20 blocks 0.0884956 SIB5: bytes: ByteVector(size=3 data: 4a 00 00) === Phase1 Encoding SIB SIB11 === Phase1 Encoded SIB SIB11 size 10 blocks 0.0442478 SIB6: bytes: ByteVector(size=2 data: 01 00) chReserve(256,0) ALERT 140246743963456 16:32:23.8 UMTSPhCh.cpp:654:chConflict: Attempt to reserve channel: sf=256 chcode=0 which conflicts with reserved channel: sf=128 chcode=0 chReserve(256,1) ALERT 140246743963456 16:32:23.8 UMTSPhCh.cpp:654:chConflict: Attempt to reserve channel: sf=256 chcode=1 which conflicts with reserved channel: sf=128 chcode=0 1498833143.828134 140246743963456: Starting the transceiver... linux; GNU C++ version 5.3.1 20151219; Boost_105800; UHD_003.009.002-0-unknown ** Configuring logger ** Using internal clock reference ** Searching for USRP device -- Detected Device: B210 -- Operating over USB 2. -- Initialize CODEC control... -- Initialize Radio control... -- Performing register loopback test... pass -- Performing register loopback test... pass -- Performing CODEC loopback test... pass -- Performing CODEC loopback test... pass -- Asking for clock rate 16.000000 MHz... -- Actually got clock rate 16.000000 MHz. -- Performing timer loopback test... pass -- Performing timer loopback test... pass -- Setting master clock rate selection to 'automatic'. -- Asking for clock rate 32.000000 MHz... -- Actually got clock rate 32.000000 MHz. -- Performing timer loopback test... pass -- Performing timer loopback test... pass -- Asking for clock rate 25.000000 MHz... -- Actually got clock rate 25.000000 MHz. -- Performing timer loopback test... pass -- Performing timer loopback test... pass ** Device ready RTNETLINK answers: File exists 1498833149.691751 140246743963456: system ready 1498833149.691792 140246743963456: use the OpenBTS-UMTSCLI utility to access CLI OpenBTS> audit +---------------------------------------------------------------------+ | ERROR : Invalid Values [key current-value (default)] | | To use the default value again, execute: rmconfig key | +---------------------------------------------------------------------+ GGSN.DNS "8.8.8.8 " ("") SMS.MIMEType "application/vnd.3gpp.sms" ("application/vnd.3gpp.sms") UMTS.PRACH.SF "32" ("32") UMTS.RLC.TransmissionBufferSize "10000000" ("1000000") UMTS.Radio.C0 "10838" ("3050") UMTS.SCCPCH.SF "64" ("64") +---------------------------------------------------------------------+ | WARNING : Site Values Which Are Still Default [key current-value] | | These should be set to fit your installation: config key value | +---------------------------------------------------------------------+ GSM.Identity.BSIC.BCC "2" GSM.Identity.LAC "1000" GSM.Identity.MCC "001" GSM.Identity.MNC "01" GSM.RRLP.SEED.LATITUDE "37.777423" GSM.RRLP.SEED.LONGITUDE "-122.39807" UMTS.Identity.CI "10" UMTS.Identity.LAC "132" UMTS.Identity.MCC "001" UMTS.Identity.MNC "01" UMTS.Identity.URAI "100" +---------------------------------------------------------------------+ | INFO : Non-Default Values [key current-value (default)] | | To use the default value again, execute: rmconfig key | +---------------------------------------------------------------------+ GGSN.DNS "8.8.8.8 " ("") GGSN.Firewall.Enable "0" ("1") UMTS.RLC.TransmissionBufferSize "10000000" ("1000000") UMTS.Radio.Band "2100" ("900") UMTS.Radio.RxGain "56" ("57") +---------------------------------------------------------------------+ | INFO : Custom/Deprecated Key/Value Pairs [key current-value] | | To clean up any extraneous keys, execute: rmconfig key | +---------------------------------------------------------------------+ UMTS.Identity.ShortName "01001"