Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64

2019-10-05 Thread OBS Notification
Visit 
https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64

Package network:osmocom:nightly/osmo-trx failed to build in 
Debian_Unstable/x86_64

Check out the package for editing:
  osc checkout network:osmocom:nightly osmo-trx

Last lines of build log:
[  434s] ar: `u' modifier ignored since `D' is the default (see `U')
[  434s] libtool: link: ranlib .libs/libtransceiver_common.a
[  434s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln 
-s "../libtransceiver_common.la" "libtransceiver_common.la" )
[  434s] /bin/bash ../libtool  --tag=CXX   --mode=link g++ -lpthread 
-I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 
-fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat 
-Werror=format-security  -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd 
osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la 
../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la 
../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl 
-losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd 
[  434s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g 
-O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong 
-Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o 
osmo-trx-uhd osmo_trx_uhd-osmo-trx.o  ./device/uhd/.libs/libdevice.a 
./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a 
../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f 
/usr/lib/x86_64-linux-gnu/libosmoctrl.so 
/usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc 
/usr/lib/x86_64-linux-gnu/libosmovty.so 
/usr/lib/x86_64-linux-gnu/libosmocore.so -luhd
[  435s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined 
reference to symbol '_ZN5boost6system16generic_categoryEv'
[  435s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: 
error adding symbols: DSO missing from command line
[  435s] collect2: error: ld returned 1 exit status
[  435s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1
[  435s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M'
[  435s] make[3]: *** [Makefile:820: all-recursive] Error 1
[  435s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M'
[  435s] make[2]: *** [Makefile:513: all-recursive] Error 1
[  435s] make[2]: Leaving directory '/usr/src/packages/BUILD'
[  435s] make[1]: *** [Makefile:444: all] Error 2
[  435s] make[1]: Leaving directory '/usr/src/packages/BUILD'
[  435s] dh_auto_build: make -j1 returned exit code 2
[  435s] make: *** [debian/rules:6: build] Error 255
[  435s] dpkg-buildpackage: error: debian/rules build subprocess returned exit 
status 2
[  435s] 
[  435s] lamb64 failed "build osmo-trx_1.1.1.30.92814.dsc" at Sun Oct  6 
03:55:36 UTC 2019.
[  435s] 
[  435s] ### VM INTERACTION START ###
[  438s] [  420.192344] sysrq: SysRq : Power Off
[  438s] [  420.200438] reboot: Power down
[  438s] ### VM INTERACTION END ###
[  438s] 
[  438s] lamb64 failed "build osmo-trx_1.1.1.30.92814.dsc" at Sun Oct  6 
03:55:40 UTC 2019.
[  438s] 

-- 
Configure notifications at https://build.opensuse.org/my/notifications
openSUSE Build Service (https://build.opensuse.org/)


Build failure of network:osmocom:latest/osmo-trx in Debian_Unstable/x86_64

2019-10-05 Thread OBS Notification
Visit 
https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Unstable/x86_64

Package network:osmocom:latest/osmo-trx failed to build in 
Debian_Unstable/x86_64

Check out the package for editing:
  osc checkout network:osmocom:latest osmo-trx

Last lines of build log:
[  461s] ar: `u' modifier ignored since `D' is the default (see `U')
[  461s] libtool: link: ranlib .libs/libtransceiver_common.a
[  461s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln 
-s "../libtransceiver_common.la" "libtransceiver_common.la" )
[  461s] /bin/bash ../libtool  --tag=CXX   --mode=link g++ -lpthread 
-I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 
-fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat 
-Werror=format-security  -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd 
osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la 
../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la 
../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl 
-losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd 
[  461s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g 
-O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong 
-Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o 
osmo-trx-uhd osmo_trx_uhd-osmo-trx.o  ./device/uhd/.libs/libdevice.a 
./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a 
../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f 
/usr/lib/x86_64-linux-gnu/libosmoctrl.so 
/usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc 
/usr/lib/x86_64-linux-gnu/libosmovty.so 
/usr/lib/x86_64-linux-gnu/libosmocore.so -luhd
[  461s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined 
reference to symbol '_ZN5boost6system16generic_categoryEv'
[  461s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: 
error adding symbols: DSO missing from command line
[  461s] collect2: error: ld returned 1 exit status
[  461s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1
[  461s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M'
[  461s] make[3]: *** [Makefile:820: all-recursive] Error 1
[  461s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M'
[  461s] make[2]: *** [Makefile:513: all-recursive] Error 1
[  461s] make[2]: Leaving directory '/usr/src/packages/BUILD'
[  461s] make[1]: *** [Makefile:444: all] Error 2
[  461s] make[1]: Leaving directory '/usr/src/packages/BUILD'
[  461s] dh_auto_build: make -j1 returned exit code 2
[  461s] make: *** [debian/rules:6: build] Error 255
[  461s] dpkg-buildpackage: error: debian/rules build subprocess returned exit 
status 2
[  461s] 
[  461s] lamb02 failed "build osmo-trx_1.1.1.dsc" at Sun Oct  6 03:52:31 UTC 
2019.
[  461s] 
[  461s] ### VM INTERACTION START ###
[  465s] [  446.307295] sysrq: SysRq : Power Off
[  465s] [  446.335642] reboot: Power down
[  465s] ### VM INTERACTION END ###
[  465s] 
[  465s] lamb02 failed "build osmo-trx_1.1.1.dsc" at Sun Oct  6 03:52:35 UTC 
2019.
[  465s] 

-- 
Configure notifications at https://build.opensuse.org/my/notifications
openSUSE Build Service (https://build.opensuse.org/)


Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64

2019-10-05 Thread OBS Notification
Visit 
https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64

Package network:osmocom:nightly/osmo-trx failed to build in 
Debian_Testing/x86_64

Check out the package for editing:
  osc checkout network:osmocom:nightly osmo-trx

Last lines of build log:
[  430s] ar: `u' modifier ignored since `D' is the default (see `U')
[  430s] libtool: link: ranlib .libs/libtransceiver_common.a
[  430s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln 
-s "../libtransceiver_common.la" "libtransceiver_common.la" )
[  430s] /bin/bash ../libtool  --tag=CXX   --mode=link g++ -lpthread 
-I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 
-fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat 
-Werror=format-security  -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd 
osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la 
../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la 
../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl 
-losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd 
[  430s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g 
-O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong 
-Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o 
osmo-trx-uhd osmo_trx_uhd-osmo-trx.o  ./device/uhd/.libs/libdevice.a 
./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a 
../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f 
/usr/lib/x86_64-linux-gnu/libosmoctrl.so 
/usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc 
/usr/lib/x86_64-linux-gnu/libosmovty.so 
/usr/lib/x86_64-linux-gnu/libosmocore.so -luhd
[  430s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined 
reference to symbol '_ZN5boost6system16generic_categoryEv'
[  430s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: 
error adding symbols: DSO missing from command line
[  430s] collect2: error: ld returned 1 exit status
[  430s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1
[  430s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M'
[  430s] make[3]: *** [Makefile:820: all-recursive] Error 1
[  430s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M'
[  430s] make[2]: *** [Makefile:513: all-recursive] Error 1
[  430s] make[2]: Leaving directory '/usr/src/packages/BUILD'
[  430s] make[1]: *** [Makefile:444: all] Error 2
[  430s] make[1]: Leaving directory '/usr/src/packages/BUILD'
[  430s] dh_auto_build: make -j1 returned exit code 2
[  430s] make: *** [debian/rules:6: build] Error 255
[  430s] dpkg-buildpackage: error: debian/rules build subprocess returned exit 
status 2
[  430s] 
[  430s] lamb09 failed "build osmo-trx_1.1.1.30.92814.dsc" at Sun Oct  6 
03:49:19 UTC 2019.
[  430s] 
[  430s] ### VM INTERACTION START ###
[  433s] [  415.238189] sysrq: SysRq : Power Off
[  433s] [  415.245241] reboot: Power down
[  433s] ### VM INTERACTION END ###
[  433s] 
[  433s] lamb09 failed "build osmo-trx_1.1.1.30.92814.dsc" at Sun Oct  6 
03:49:22 UTC 2019.
[  433s] 

-- 
Configure notifications at https://build.opensuse.org/my/notifications
openSUSE Build Service (https://build.opensuse.org/)


Build failure of network:osmocom:latest/osmo-trx in Debian_Testing/x86_64

2019-10-05 Thread OBS Notification
Visit 
https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Testing/x86_64

Package network:osmocom:latest/osmo-trx failed to build in Debian_Testing/x86_64

Check out the package for editing:
  osc checkout network:osmocom:latest osmo-trx

Last lines of build log:
[  466s] ar: `u' modifier ignored since `D' is the default (see `U')
[  467s] libtool: link: ranlib .libs/libtransceiver_common.a
[  467s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln 
-s "../libtransceiver_common.la" "libtransceiver_common.la" )
[  467s] /bin/bash ../libtool  --tag=CXX   --mode=link g++ -lpthread 
-I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 
-fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat 
-Werror=format-security  -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd 
osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la 
../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la 
../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl 
-losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd 
[  467s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g 
-O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong 
-Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o 
osmo-trx-uhd osmo_trx_uhd-osmo-trx.o  ./device/uhd/.libs/libdevice.a 
./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a 
../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f 
/usr/lib/x86_64-linux-gnu/libosmoctrl.so 
/usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc 
/usr/lib/x86_64-linux-gnu/libosmovty.so 
/usr/lib/x86_64-linux-gnu/libosmocore.so -luhd
[  467s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined 
reference to symbol '_ZN5boost6system16generic_categoryEv'
[  467s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: 
error adding symbols: DSO missing from command line
[  467s] collect2: error: ld returned 1 exit status
[  467s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1
[  467s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M'
[  467s] make[3]: *** [Makefile:820: all-recursive] Error 1
[  467s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M'
[  467s] make[2]: *** [Makefile:513: all-recursive] Error 1
[  467s] make[2]: Leaving directory '/usr/src/packages/BUILD'
[  467s] make[1]: *** [Makefile:444: all] Error 2
[  467s] make[1]: Leaving directory '/usr/src/packages/BUILD'
[  467s] dh_auto_build: make -j1 returned exit code 2
[  467s] make: *** [debian/rules:6: build] Error 255
[  467s] dpkg-buildpackage: error: debian/rules build subprocess returned exit 
status 2
[  467s] 
[  467s] build34 failed "build osmo-trx_1.1.1.dsc" at Sun Oct  6 03:47:35 UTC 
2019.
[  467s] 
[  467s] ### VM INTERACTION START ###
[  470s] [  450.770053] sysrq: SysRq : Power Off
[  470s] [  450.841517] reboot: Power down
[  471s] ### VM INTERACTION END ###
[  471s] 
[  471s] build34 failed "build osmo-trx_1.1.1.dsc" at Sun Oct  6 03:47:39 UTC 
2019.
[  471s] 

-- 
Configure notifications at https://build.opensuse.org/my/notifications
openSUSE Build Service (https://build.opensuse.org/)


Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64

2019-10-05 Thread OBS Notification
Visit 
https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64

Package network:osmocom:nightly/osmo-trx failed to build in 
Debian_Testing/x86_64

Check out the package for editing:
  osc checkout network:osmocom:nightly osmo-trx

Last lines of build log:
[  721s] ar: `u' modifier ignored since `D' is the default (see `U')
[  721s] libtool: link: ranlib .libs/libtransceiver_common.a
[  721s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln 
-s "../libtransceiver_common.la" "libtransceiver_common.la" )
[  722s] /bin/bash ../libtool  --tag=CXX   --mode=link g++ -lpthread 
-I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 
-fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat 
-Werror=format-security  -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd 
osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la 
../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la 
../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl 
-losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd 
[  722s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g 
-O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong 
-Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o 
osmo-trx-uhd osmo_trx_uhd-osmo-trx.o  ./device/uhd/.libs/libdevice.a 
./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a 
../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f 
/usr/lib/x86_64-linux-gnu/libosmoctrl.so 
/usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc 
/usr/lib/x86_64-linux-gnu/libosmovty.so 
/usr/lib/x86_64-linux-gnu/libosmocore.so -luhd
[  722s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined 
reference to symbol '_ZN5boost6system16generic_categoryEv'
[  722s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: 
error adding symbols: DSO missing from command line
[  722s] collect2: error: ld returned 1 exit status
[  722s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1
[  722s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M'
[  722s] make[3]: *** [Makefile:820: all-recursive] Error 1
[  722s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M'
[  722s] make[2]: *** [Makefile:513: all-recursive] Error 1
[  722s] make[2]: Leaving directory '/usr/src/packages/BUILD'
[  722s] make[1]: *** [Makefile:444: all] Error 2
[  722s] make[1]: Leaving directory '/usr/src/packages/BUILD'
[  722s] dh_auto_build: make -j1 returned exit code 2
[  722s] make: *** [debian/rules:6: build] Error 255
[  722s] dpkg-buildpackage: error: debian/rules build subprocess returned exit 
status 2
[  722s] 
[  722s] lamb26 failed "build osmo-trx_1.1.1.30.92814.dsc" at Sun Oct  6 
01:51:44 UTC 2019.
[  722s] 
[  722s] ### VM INTERACTION START ###
[  725s] [  676.912557] sysrq: SysRq : Power Off
[  725s] [  676.918046] reboot: Power down
[  725s] ### VM INTERACTION END ###
[  725s] 
[  725s] lamb26 failed "build osmo-trx_1.1.1.30.92814.dsc" at Sun Oct  6 
01:51:48 UTC 2019.
[  725s] 

-- 
Configure notifications at https://build.opensuse.org/my/notifications
openSUSE Build Service (https://build.opensuse.org/)


Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: fix ToA handling in as_ta_ptcch()

2019-10-05 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15679 )

Change subject: PCU_Tests_RAW.ttcn: fix ToA handling in as_ta_ptcch()
..


Patch Set 1: Code-Review+1


--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15679
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I74252dfb929fcb32d07e8728d692674931fae727
Gerrit-Change-Number: 15679
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Sat, 05 Oct 2019 20:59:03 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in ...osmo-ttcn3-hacks[master]: PCUIF_RAW_Components.ttcn: ClckGen_CT: fix PTCCH event handling

2019-10-05 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15678 )

Change subject: PCUIF_RAW_Components.ttcn: ClckGen_CT: fix PTCCH event handling
..


Patch Set 1: Code-Review+1


--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15678
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Ifc66d5d1c5f9eaa7bed6882105298c45257ebef0
Gerrit-Change-Number: 15678
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Sat, 05 Oct 2019 20:54:34 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in ...osmo-bts[master]: bts-trx: Drop unused func check_transceiver_availability()

2019-10-05 Thread pespin
pespin has submitted this change and it was merged. ( 
https://gerrit.osmocom.org/c/osmo-bts/+/15631 )

Change subject: bts-trx: Drop unused func check_transceiver_availability()
..

bts-trx: Drop unused func check_transceiver_availability()

After getting rid of transceiver_available, this function is not used
anymore by any code, since its per-trx counterpart
l1if_provision_transceiver_trx() is the one used by other
code.

Change-Id: If5a988eb14658a78dd46234dccc052dc12fb872a
---
M src/osmo-bts-trx/l1_if.c
M src/osmo-bts-trx/l1_if.h
2 files changed, 0 insertions(+), 13 deletions(-)

Approvals:
  laforge: Looks good to me, approved
  fixeria: Looks good to me, but someone else must approve
  Jenkins Builder: Verified



diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c
index 221d88b..1079128 100644
--- a/src/osmo-bts-trx/l1_if.c
+++ b/src/osmo-bts-trx/l1_if.c
@@ -114,18 +114,6 @@
}
 }

-int check_transceiver_availability(struct gsm_bts *bts, int avail)
-{
-   struct gsm_bts_trx *trx;
-
-   llist_for_each_entry(trx, >trx_list, list) {
-   struct phy_instance *pinst = trx_phy_instance(trx);
-   struct trx_l1h *l1h = pinst->u.osmotrx.hdl;
-   check_transceiver_availability_trx(l1h, avail);
-   }
-   return 0;
-}
-
 int bts_model_lchan_deactivate(struct gsm_lchan *lchan)
 {
struct phy_instance *pinst = trx_phy_instance(lchan->ts->trx);
diff --git a/src/osmo-bts-trx/l1_if.h b/src/osmo-bts-trx/l1_if.h
index a8d40e1..4ff1f97 100644
--- a/src/osmo-bts-trx/l1_if.h
+++ b/src/osmo-bts-trx/l1_if.h
@@ -112,7 +112,6 @@
 };

 struct trx_l1h *trx_l1h_alloc(void *tall_ctx, struct phy_instance *pinst);
-int check_transceiver_availability(struct gsm_bts *bts, int avail);
 int l1if_provision_transceiver_trx(struct trx_l1h *l1h);
 int l1if_provision_transceiver(struct gsm_bts *bts);
 int l1if_mph_time_ind(struct gsm_bts *bts, uint32_t fn);

--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15631
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: If5a988eb14658a78dd46234dccc052dc12fb872a
Gerrit-Change-Number: 15631
Gerrit-PatchSet: 2
Gerrit-Owner: pespin 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria 
Gerrit-Reviewer: laforge 
Gerrit-Reviewer: pespin 
Gerrit-MessageType: merged


Change in ...osmo-bts[master]: bts-trx: Get rid of messy transceiver_available state handler

2019-10-05 Thread pespin
pespin has submitted this change and it was merged. ( 
https://gerrit.osmocom.org/c/osmo-bts/+/15615 )

Change subject: bts-trx: Get rid of messy transceiver_available state handler
..

bts-trx: Get rid of messy transceiver_available state handler

This variable meaning has been changing its exact meaning over time
until finally not being really clear which kind of state it holds.
Initially it seemed to be used to identfy whether CLOCK IND were being
received. However, over time both osmo-bts and osmo-trx have evolved and
were fixed so that clock indications are only sent by osmo-trx after
POWERON command is sent. As a result, this state can be checked simply by
looking at the "powered" phy_link variable, which is only set to true
once the TRX has confirmed the POWERON command, and hence it is sending
CLOCK IND.
On the other hand, at some point in time "available" started to be set to 1
in bts_model_phy_link_open(), which means available is nowadays almost
always 1 from startup until the end (only dropped during bts_shutdown(),
when we are already exiting the process anyway).
As a result, !available condition in scheduler_trx.c:trx_fn_timer_cb can
almost never happen, because available is set to true already. Only
possibility would be if an old process of osmo-trx (not set up by this
BTS process) is still sending CLOCK INDs, but in that case we for sure
don't want to configure the BTS based on that, but ignore them until
this BTS process has again configured the TRX. So that whole check can
be dropped. We are better checking for "powered" state, which is far
more accurate, and we better do that in trx_if.c before calling
trx_fn_timer_cb().

Other uses of "transceiver_available" being used can be changed to use
plink->state!= PHY_LINK_SHUTDOWN, since available was already being set
to 1 at the same time the plink->state was being set to
PHY_LINK_CONNECTING.

As a result of this state handling re-arrangement, OS#4215 is fixed
since trx_if_powered() is used instead of previous state condition to
check whether data frames should be sent.

Related: OS#4215
Change-Id: I35f4697bd33dbe8a4c76c9500b82c16589c701d4
---
M src/osmo-bts-trx/l1_if.c
M src/osmo-bts-trx/scheduler_trx.c
M src/osmo-bts-trx/trx_if.c
M src/osmo-bts-trx/trx_if.h
M src/osmo-bts-trx/trx_vty.c
5 files changed, 21 insertions(+), 40 deletions(-)

Approvals:
  laforge: Looks good to me, but someone else must approve
  fixeria: Looks good to me, but someone else must approve
  pespin: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c
index f564dc5..221d88b 100644
--- a/src/osmo-bts-trx/l1_if.c
+++ b/src/osmo-bts-trx/l1_if.c
@@ -204,8 +204,18 @@
struct phy_instance *pinst = l1h->phy_inst;
struct phy_link *plink = pinst->phy_link;

-   if (!transceiver_available)
+   /* During setup, pinst may still not be associated to a TRX nr */
+   if (!pinst->trx) {
+   LOGPPHI(pinst, DL1C, LOGL_INFO,
+   "Delaying provision, TRX not yet assigned to phy 
instance\n");
return -EIO;
+   }
+
+   if (phy_link_state_get(plink) == PHY_LINK_SHUTDOWN) {
+   LOGPPHI(pinst, DL1C, LOGL_INFO,
+   "Delaying provision, TRX not yet available\n");
+   return -EIO;
+   }

if (l1h->config.enabled
 && l1h->config.tsc_valid
@@ -390,6 +400,7 @@

llist_for_each_entry(trx, >trx_list, list) {
struct phy_instance *pinst = trx_phy_instance(trx);
+   struct phy_link *plink = pinst->phy_link;
struct trx_l1h *l1h = pinst->u.osmotrx.hdl;
if (l1h->config.bsic != bsic || !l1h->config.bsic_valid) {
l1h->config.bsic = bsic;
@@ -397,7 +408,7 @@
l1h->config.bsic_sent = 0;
l1if_provision_transceiver_trx(l1h);
}
-   check_transceiver_availability_trx(l1h, transceiver_available);
+   check_transceiver_availability_trx(l1h, 
phy_link_state_get(plink) != PHY_LINK_SHUTDOWN);
}

return 0;
diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c
index b3b656a..af639e2 100644
--- a/src/osmo-bts-trx/scheduler_trx.c
+++ b/src/osmo-bts-trx/scheduler_trx.c
@@ -1721,21 +1721,6 @@

clock_gettime(CLOCK_MONOTONIC, _now);

-   /* clock becomes valid */
-   if (!transceiver_available) {
-   LOGP(DL1C, LOGL_NOTICE, "initial GSM clock received: fn=%u\n", 
fn);
-
-   transceiver_available = 1;
-
-   /* start provisioning transceiver */
-   l1if_provision_transceiver(bts);
-
-   /* tell BSC */
-   check_transceiver_availability(bts, 1);
-
-   return trx_setup_clock(bts, tcs, _now, , fn);
-   }
-
/* calculate 

Change in ...osmo-bts[master]: bts-trx: Don't reset transceiver_available in scheduler_trx.c

2019-10-05 Thread pespin
pespin has submitted this change and it was merged. ( 
https://gerrit.osmocom.org/c/osmo-bts/+/15630 )

Change subject: bts-trx: Don't reset transceiver_available in scheduler_trx.c
..

bts-trx: Don't reset transceiver_available in scheduler_trx.c

It can be dropped since bts_shutdown() ends up calling immediatelly
bts_model_trx_close() which in turn calls bts_model_trx_close() which
sets enabled = false and calls l1if_provision_transceiver_trx() to
power off the TRX.

Related: OS#4215
Change-Id: If8b3d2379d7ae102e1c338f4558ac1352de761cc
---
M src/osmo-bts-trx/scheduler_trx.c
1 file changed, 0 insertions(+), 3 deletions(-)

Approvals:
  laforge: Looks good to me, but someone else must approve
  fixeria: Looks good to me, but someone else must approve
  pespin: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c
index ac34a11..b3b656a 100644
--- a/src/osmo-bts-trx/scheduler_trx.c
+++ b/src/osmo-bts-trx/scheduler_trx.c
@@ -1678,10 +1678,7 @@

 no_clock:
osmo_timerfd_disable(>fn_timer_ofd);
-   transceiver_available = 0;
-
bts_shutdown(bts, "No clock from osmo-trx");
-
return -1;
 }


--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15630
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: If8b3d2379d7ae102e1c338f4558ac1352de761cc
Gerrit-Change-Number: 15630
Gerrit-PatchSet: 2
Gerrit-Owner: pespin 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria 
Gerrit-Reviewer: laforge 
Gerrit-Reviewer: pespin 
Gerrit-MessageType: merged


Change in ...osmo-bts[master]: bts-trx: Rework code handling poweron state

2019-10-05 Thread pespin
pespin has submitted this change and it was merged. ( 
https://gerrit.osmocom.org/c/osmo-bts/+/15629 )

Change subject: bts-trx: Rework code handling poweron state
..

bts-trx: Rework code handling poweron state

Use of variables in each code is confusing and mixing configuration with
POWERON/POWEROFF state (which is at least per phy inst and not per TRX,
since those commands are only expected on the 1st phy inst).

* field "poweron" becomes "enabled", and is used as an indicator for
actions to take during TRX provisioning (hether to power it on and
configure it or to power it off).
* poweron/poweroff state becomes "powered", and it is shared by all trx
in same phy_link, and is updated only after confirmation by TRX.
* poweron_set becomes poweronoff_set (because it's used by both POWERON
and POWEROFF), and becomes shared by all trx in same phy_link, since
those CMDs are usually sent by first phy instance of the link (the first
trx).

Related: OS#4215
Change-Id: Icd0b482f1454236432e1952220bbec9d178b8607
---
M include/osmo-bts/phy_link.h
M src/osmo-bts-trx/l1_if.c
M src/osmo-bts-trx/l1_if.h
M src/osmo-bts-trx/trx_if.c
M src/osmo-bts-trx/trx_if.h
M src/osmo-bts-trx/trx_vty.c
6 files changed, 78 insertions(+), 51 deletions(-)

Approvals:
  laforge: Looks good to me, but someone else must approve
  fixeria: Looks good to me, but someone else must approve
  pespin: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/include/osmo-bts/phy_link.h b/include/osmo-bts/phy_link.h
index a06cf3f..316a1ba 100644
--- a/include/osmo-bts/phy_link.h
+++ b/include/osmo-bts/phy_link.h
@@ -51,6 +51,8 @@
uint32_t rts_advance;
bool use_legacy_setbsic;
uint8_t  trxd_hdr_ver_max; /* Maximum TRXD header 
version to negotiate */
+   bool powered; /* last POWERON (true) or POWEROFF 
(false) confirmed */
+   bool poweronoff_sent; /* is there a POWERON/POWEROFF in 
transit? (one or the other based on ->powered) */
} osmotrx;
struct {
char *mcast_dev;/* Network device for 
multicast */
diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c
index 9de0abc..f564dc5 100644
--- a/src/osmo-bts-trx/l1_if.c
+++ b/src/osmo-bts-trx/l1_if.c
@@ -179,6 +179,21 @@
cb_ts_connected(ts, rc);
 }

+static void l1if_poweronoff_cb(struct trx_l1h *l1h, bool poweronoff, int rc)
+{
+   struct phy_instance *pinst = l1h->phy_inst;
+   struct phy_link *plink = pinst->phy_link;
+
+   plink->u.osmotrx.powered = poweronoff;
+   plink->u.osmotrx.poweronoff_sent = false;
+
+   if (poweronoff) {
+   if (rc == 0 && pinst->phy_link->state != PHY_LINK_CONNECTED)
+   phy_link_state_set(pinst->phy_link, PHY_LINK_CONNECTED);
+   else if (rc != 0 && pinst->phy_link->state != PHY_LINK_SHUTDOWN)
+   phy_link_state_set(pinst->phy_link, PHY_LINK_SHUTDOWN);
+   }
+}

 /*
  * transceiver provisioning
@@ -192,7 +207,7 @@
if (!transceiver_available)
return -EIO;

-   if (l1h->config.poweron
+   if (l1h->config.enabled
 && l1h->config.tsc_valid
 && l1h->config.bsic_valid
 && l1h->config.arfcn_valid) {
@@ -225,9 +240,9 @@
l1h->config.setformat_sent = 1;
}

-   if (!l1h->config.poweron_sent) {
-   trx_if_cmd_poweron(l1h);
-   l1h->config.poweron_sent = 1;
+   if (pinst->num == 0 && !plink->u.osmotrx.powered && 
!plink->u.osmotrx.poweronoff_sent) {
+   trx_if_cmd_poweron(l1h, l1if_poweronoff_cb);
+   plink->u.osmotrx.poweronoff_sent = true;
}

/* after power on */
@@ -259,9 +274,11 @@
return 0;
}

-   if (!l1h->config.poweron && !l1h->config.poweron_sent) {
-   trx_if_cmd_poweroff(l1h);
-   l1h->config.poweron_sent = 1;
+   if (!l1h->config.enabled) {
+   if (pinst->num == 0 && plink->u.osmotrx.powered && 
!plink->u.osmotrx.poweronoff_sent) {
+   trx_if_cmd_poweroff(l1h, l1if_poweronoff_cb);
+   plink->u.osmotrx.poweronoff_sent = true;
+   }
l1h->config.rxgain_sent = 0;
l1h->config.power_sent = 0;
l1h->config.maxdly_sent = 0;
@@ -287,7 +304,6 @@
l1h->config.arfcn_sent = 0;
l1h->config.tsc_sent = 0;
l1h->config.bsic_sent = 0;
-   l1h->config.poweron_sent = 0;
l1h->config.rxgain_sent = 0;
l1h->config.power_sent = 0;
l1h->config.maxdly_sent = 0;
@@ -310,9 +326,8 @@
struct trx_l1h *l1h = pinst->u.osmotrx.hdl;

   

Change in ...osmo-bts[master]: struct gsm_bts: Add model_priv pointer handing bts_model specific data

2019-10-05 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-bts/+/15613 )

Change subject: struct gsm_bts: Add model_priv pointer handing bts_model 
specific data
..


Patch Set 4: Code-Review+2


--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15613
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: Ib17a752cdbaa7d5eb8c5dfa0b197f80a4f38b38e
Gerrit-Change-Number: 15613
Gerrit-PatchSet: 4
Gerrit-Owner: pespin 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria 
Gerrit-Reviewer: laforge 
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Sat, 05 Oct 2019 20:50:08 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in ...osmo-bts[master]: bts-trx: trx_set_bts(): Avoid double loop by checking current trx

2019-10-05 Thread pespin
pespin has submitted this change and it was merged. ( 
https://gerrit.osmocom.org/c/osmo-bts/+/15628 )

Change subject: bts-trx: trx_set_bts(): Avoid double loop by checking current 
trx
..

bts-trx: trx_set_bts(): Avoid double loop by checking current trx

check_transceiver_availability() is a loop over every trx, same to what
trx_set_bts() does, so let's call the per-trx version directly.

Change-Id: I8843c1438c6af700631aba7b7e72aae0bdb7ec3a
---
M src/osmo-bts-trx/l1_if.c
1 file changed, 1 insertion(+), 2 deletions(-)

Approvals:
  laforge: Looks good to me, approved
  fixeria: Looks good to me, but someone else must approve
  Jenkins Builder: Verified



diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c
index cd2a03c..9de0abc 100644
--- a/src/osmo-bts-trx/l1_if.c
+++ b/src/osmo-bts-trx/l1_if.c
@@ -383,9 +383,8 @@
l1h->config.bsic_sent = 0;
l1if_provision_transceiver_trx(l1h);
}
+   check_transceiver_availability_trx(l1h, transceiver_available);
}
-   check_transceiver_availability(bts, transceiver_available);
-

return 0;
 }

--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15628
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I8843c1438c6af700631aba7b7e72aae0bdb7ec3a
Gerrit-Change-Number: 15628
Gerrit-PatchSet: 2
Gerrit-Owner: pespin 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria 
Gerrit-Reviewer: laforge 
Gerrit-Reviewer: pespin 
Gerrit-MessageType: merged


Change in ...osmo-bts[master]: struct gsm_bts: Add model_priv pointer handing bts_model specific data

2019-10-05 Thread pespin
pespin has submitted this change and it was merged. ( 
https://gerrit.osmocom.org/c/osmo-bts/+/15613 )

Change subject: struct gsm_bts: Add model_priv pointer handing bts_model 
specific data
..

struct gsm_bts: Add model_priv pointer handing bts_model specific data

Currently there's bts-virtual specific fields in gsm_bts which is not used
by other models and are always allocated.
An alternative would be having a union with different structs inside,
one per model, but since we already have the bts_model abstraction, in this
case it makes more sense to use that abstraction instead of filling code
with preprocessor ifdefs to guard against non-defined types, etc.

Existing model specific data is moved there.

This new infra will be user further in forthcoming commits.

Related: OS#4215
Change-Id: Ib17a752cdbaa7d5eb8c5dfa0b197f80a4f38b38e
---
M include/osmo-bts/gsm_data_shared.h
M src/osmo-bts-oc2g/l1_if.h
M src/osmo-bts-oc2g/main.c
M src/osmo-bts-virtual/l1_if.h
M src/osmo-bts-virtual/main.c
M src/osmo-bts-virtual/scheduler_virtbts.c
6 files changed, 33 insertions(+), 24 deletions(-)

Approvals:
  laforge: Looks good to me, but someone else must approve
  fixeria: Looks good to me, but someone else must approve
  pespin: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/include/osmo-bts/gsm_data_shared.h 
b/include/osmo-bts/gsm_data_shared.h
index cf7b715..5d8bc76 100644
--- a/include/osmo-bts/gsm_data_shared.h
+++ b/include/osmo-bts/gsm_data_shared.h
@@ -775,19 +775,7 @@
char *sock_path;
} pcu;

-   struct {
-   uint32_t last_fn;
-   struct timeval tv_clock;
-   struct osmo_timer_list fn_timer;
-   } vbts;
-#ifdef ENABLE_OC2GBTS
-/* specific to Open Cellular 2G BTS */
-struct {
-uint8_t led_ctrl_mode;  /* 0: 
control by BTS, 1: not control by BTS */
-struct llist_head ceased_alarm_list;/* ceased alarm list*/
-unsigned int rtp_drift_thres_ms;/* RTP 
timestamp drift detection threshold */
-} oc2g;
-#endif
+   void *model_priv; /* Allocated by bts_model, contains model specific 
data pointer */
 };


diff --git a/src/osmo-bts-oc2g/l1_if.h b/src/osmo-bts-oc2g/l1_if.h
index 38699e0..e4b8feb 100644
--- a/src/osmo-bts-oc2g/l1_if.h
+++ b/src/osmo-bts-oc2g/l1_if.h
@@ -30,6 +30,13 @@
_NUM_MQ_WRITE
 };

+/* gsm_bts->model_priv, specific to Open Cellular 2G BTS */
+struct bts_oc2g_priv {
+   uint8_t led_ctrl_mode;  /* 0: control by BTS, 1: not 
control by BTS */
+   struct llist_head ceased_alarm_list;/* ceased alarm list*/
+   unsigned int rtp_drift_thres_ms;/* RTP timestamp drift 
detection threshold */
+};
+
 struct calib_send_state {
FILE *fp;
const char *path;
diff --git a/src/osmo-bts-oc2g/main.c b/src/osmo-bts-oc2g/main.c
index 5b66c6f..abecba1 100644
--- a/src/osmo-bts-oc2g/main.c
+++ b/src/osmo-bts-oc2g/main.c
@@ -87,15 +87,17 @@
static struct osmo_fd accept_fd, read_fd;
int rc;

+   struct bts_oc2g_priv *bts_oc2g = talloc(bts, struct bts_oc2g_priv);
+   bts->model_priv = bts_oc2g;
bts->variant = BTS_OSMO_OC2G;
bts->support.ciphers = CIPHER_A5(1) | CIPHER_A5(2) | CIPHER_A5(3);
/* specific default values for OC2G platform */

/* TODO(oramadan) MERGE
-   bts->oc2g.led_ctrl_mode = OC2G_BTS_LED_CTRL_MODE_DEFAULT;
+   bts_oc2g->led_ctrl_mode = OC2G_BTS_LED_CTRL_MODE_DEFAULT;
*/
/* RTP drift threshold default */
-   /* bts->oc2g.rtp_drift_thres_ms = OC2G_BTS_RTP_DRIFT_THRES_DEFAULT; */
+   /* bts_oc2g->rtp_drift_thres_ms = OC2G_BTS_RTP_DRIFT_THRES_DEFAULT; */

rc = oml_router_init(bts, OML_ROUTER_PATH, _fd, _fd);
if (rc < 0) {
diff --git a/src/osmo-bts-virtual/l1_if.h b/src/osmo-bts-virtual/l1_if.h
index 6a843b3..075856f 100644
--- a/src/osmo-bts-virtual/l1_if.h
+++ b/src/osmo-bts-virtual/l1_if.h
@@ -5,6 +5,13 @@

 #include "virtual_um.h"

+/* gsm_bts->model_priv, specific to osmo-bts-virtual */
+struct bts_virt_priv {
+   uint32_t last_fn;
+   struct timeval tv_clock;
+   struct osmo_timer_list fn_timer;
+};
+
 struct vbts_l1h {
struct gsm_bts_trx  *trx;
struct l1sched_trx  l1s;
diff --git a/src/osmo-bts-virtual/main.c b/src/osmo-bts-virtual/main.c
index aa1c608..c329f3a 100644
--- a/src/osmo-bts-virtual/main.c
+++ b/src/osmo-bts-virtual/main.c
@@ -47,6 +47,7 @@
 #include 
 #include 
 #include "virtual_um.h"
+#include "l1_if.h"

 /* dummy, since no direct dsp support */
 uint32_t trx_get_hlayer1(struct gsm_bts_trx *trx)
@@ -56,6 +57,8 @@

 int bts_model_init(struct gsm_bts *bts)
 {
+   struct bts_virt_priv *bts_virt = talloc_zero(bts, struct bts_virt_priv);
+   bts->model_priv = bts_virt;
bts->variant = 

Change in ...osmo-bts[master]: bts-trx: vty: Print phy link state in cmd 'show transceiver'

2019-10-05 Thread pespin
pespin has submitted this change and it was merged. ( 
https://gerrit.osmocom.org/c/osmo-bts/+/15627 )

Change subject: bts-trx: vty: Print phy link state in cmd 'show transceiver'
..

bts-trx: vty: Print phy link state in cmd 'show transceiver'

Change-Id: I8e49f8edad9f9c68d110dbb7faeea5143aa91022
---
M include/osmo-bts/phy_link.h
M src/common/phy_link.c
M src/osmo-bts-trx/trx_vty.c
3 files changed, 16 insertions(+), 1 deletion(-)

Approvals:
  laforge: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/include/osmo-bts/phy_link.h b/include/osmo-bts/phy_link.h
index 3bf5159..a06cf3f 100644
--- a/include/osmo-bts/phy_link.h
+++ b/include/osmo-bts/phy_link.h
@@ -157,6 +157,8 @@
 struct phy_link *phy_link_create(void *ctx, int num);
 void phy_link_destroy(struct phy_link *plink);
 void phy_link_state_set(struct phy_link *plink, enum phy_link_state state);
+enum phy_link_state phy_link_state_get(struct phy_link *plink);
+const char *phy_link_state_name(enum phy_link_state state);
 int phy_links_open(void);

 struct phy_instance *phy_instance_by_num(struct phy_link *plink, int num);
diff --git a/src/common/phy_link.c b/src/common/phy_link.c
index 588fcc9..85f9e14 100644
--- a/src/common/phy_link.c
+++ b/src/common/phy_link.c
@@ -81,6 +81,16 @@
plink->state = state;
 }

+enum phy_link_state phy_link_state_get(struct phy_link *plink)
+{
+   return plink->state;
+}
+
+const char *phy_link_state_name(enum phy_link_state state)
+{
+   return get_value_string(phy_link_state_vals, state);
+}
+
 struct phy_instance *phy_instance_by_num(struct phy_link *plink, int num)
 {
struct phy_instance *pinst;
diff --git a/src/osmo-bts-trx/trx_vty.c b/src/osmo-bts-trx/trx_vty.c
index 250d180..f554ae5 100644
--- a/src/osmo-bts-trx/trx_vty.c
+++ b/src/osmo-bts-trx/trx_vty.c
@@ -66,13 +66,16 @@

llist_for_each_entry(trx, >trx_list, list) {
struct phy_instance *pinst = trx_phy_instance(trx);
-   char *sname = osmo_sock_get_name(NULL, 
pinst->phy_link->u.osmotrx.trx_ofd_clk.fd);
+   struct phy_link *plink = pinst->phy_link;
+   char *sname = osmo_sock_get_name(NULL, 
plink->u.osmotrx.trx_ofd_clk.fd);
l1h = pinst->u.osmotrx.hdl;
vty_out(vty, "TRX %d %s%s", trx->nr, sname, VTY_NEWLINE);
talloc_free(sname);
vty_out(vty, " %s%s",
trx_if_powered(l1h) ? "poweron":"poweroff",
VTY_NEWLINE);
+   vty_out(vty, "phy link state: %s%s",
+   phy_link_state_name(phy_link_state_get(plink)), 
VTY_NEWLINE);
if (l1h->config.arfcn_valid)
vty_out(vty, " arfcn  : %d%s%s",
(l1h->config.arfcn & ~ARFCN_PCS),

--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15627
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I8e49f8edad9f9c68d110dbb7faeea5143aa91022
Gerrit-Change-Number: 15627
Gerrit-PatchSet: 2
Gerrit-Owner: pespin 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge 
Gerrit-Reviewer: pespin 
Gerrit-CC: fixeria 
Gerrit-MessageType: merged


Change in ...osmo-bts[master]: bts-trx: Allocate struct osmo_trx_clock_state as part of bts-trx priv...

2019-10-05 Thread pespin
pespin has submitted this change and it was merged. ( 
https://gerrit.osmocom.org/c/osmo-bts/+/15614 )

Change subject: bts-trx: Allocate struct osmo_trx_clock_state as part of 
bts-trx private data
..

bts-trx: Allocate struct osmo_trx_clock_state as part of bts-trx private data

Related: OS#4215
Change-Id: I9b7ffb51423ada74b8be347c57eade08f307f88f
---
M src/osmo-bts-trx/l1_if.h
M src/osmo-bts-trx/main.c
M src/osmo-bts-trx/scheduler_trx.c
3 files changed, 52 insertions(+), 44 deletions(-)

Approvals:
  laforge: Looks good to me, but someone else must approve
  fixeria: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/src/osmo-bts-trx/l1_if.h b/src/osmo-bts-trx/l1_if.h
index 87df951..29bd246 100644
--- a/src/osmo-bts-trx/l1_if.h
+++ b/src/osmo-bts-trx/l1_if.h
@@ -5,6 +5,50 @@
 #include 
 #include "trx_if.h"

+/*
+ * TRX frame clock handling
+ *
+ * In a "normal" synchronous PHY layer, we would be polled every time
+ * the PHY needs data for a given frame number.  However, the
+ * OpenBTS-inherited TRX protocol works differently:  We (L1) must
+ * autonomously send burst data based on our own clock, and every so
+ * often (currently every ~ 216 frames), we get a clock indication from
+ * the TRX.
+ *
+ * We're using a MONOTONIC timerfd interval timer for the 4.615ms frame
+ * intervals, and then compute + send the 8 bursts for that frame.
+ *
+ * Upon receiving a clock indication from the TRX, we compensate
+ * accordingly: If we were transmitting too fast, we're delaying the
+ * next interval timer accordingly.  If we were too slow, we immediately
+ * send burst data for the missing frame numbers.
+ */
+
+/*! clock state of a given TRX */
+struct osmo_trx_clock_state {
+   /*! number of FN periods without TRX clock indication */
+   uint32_t fn_without_clock_ind;
+   struct {
+   /*! last FN we processed based on FN period timer */
+   uint32_t fn;
+   /*! time at which we last processed FN */
+   struct timespec tv;
+   } last_fn_timer;
+   struct {
+   /*! last FN we received a clock indication for */
+   uint32_t fn;
+   /*! time at which we received the last clock indication */
+   struct timespec tv;
+   } last_clk_ind;
+   /*! Osmocom FD wrapper for timerfd */
+   struct osmo_fd fn_timer_ofd;
+};
+
+/* gsm_bts->model_priv, specific to osmo-bts-trx */
+struct bts_trx_priv {
+   struct osmo_trx_clock_state clk_s;
+};
+
 struct trx_config {
uint8_t trxd_hdr_ver_req; /* requested TRXD header 
version */
uint8_t trxd_hdr_ver_use; /* actual TRXD header version 
in use */
diff --git a/src/osmo-bts-trx/main.c b/src/osmo-bts-trx/main.c
index b1fa207..cf40ea3 100644
--- a/src/osmo-bts-trx/main.c
+++ b/src/osmo-bts-trx/main.c
@@ -97,6 +97,10 @@

 int bts_model_init(struct gsm_bts *bts)
 {
+   struct bts_trx_priv *bts_trx = talloc_zero(bts, struct bts_trx_priv);
+   bts_trx->clk_s.fn_timer_ofd.fd = -1;
+
+   bts->model_priv = bts_trx;
bts->variant = BTS_OSMO_TRX;
bts->support.ciphers = CIPHER_A5(1) | CIPHER_A5(2) | CIPHER_A5(3);

diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c
index 421cf16..ac34a11 100644
--- a/src/osmo-bts-trx/scheduler_trx.c
+++ b/src/osmo-bts-trx/scheduler_trx.c
@@ -1581,48 +1581,6 @@
return 0;
 }

-/*
- * TRX frame clock handling
- *
- * In a "normal" synchronous PHY layer, we would be polled every time
- * the PHY needs data for a given frame number.  However, the
- * OpenBTS-inherited TRX protocol works differently:  We (L1) must
- * autonomously send burst data based on our own clock, and every so
- * often (currently every ~ 216 frames), we get a clock indication from
- * the TRX.
- *
- * We're using a MONOTONIC timerfd interval timer for the 4.615ms frame
- * intervals, and then compute + send the 8 bursts for that frame.
- *
- * Upon receiving a clock indication from the TRX, we compensate
- * accordingly: If we were transmitting too fast, we're delaying the
- * next interval timer accordingly.  If we were too slow, we immediately
- * send burst data for the missing frame numbers.
- */
-
-/*! clock state of a given TRX */
-struct osmo_trx_clock_state {
-   /*! number of FN periods without TRX clock indication */
-   uint32_t fn_without_clock_ind;
-   struct {
-   /*! last FN we processed based on FN period timer */
-   uint32_t fn;
-   /*! time at which we last processed FN */
-   struct timespec tv;
-   } last_fn_timer;
-   struct {
-   /*! last FN we received a clock indication for */
-   uint32_t fn;
-   /*! time at which we received the last clock indication */
-   struct timespec tv;
-   } last_clk_ind;
-   /*! Osmocom FD 

Change in ...osmo-bts[master]: bts-trx: Get rid of messy transceiver_available state handler

2019-10-05 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-bts/+/15615 )

Change subject: bts-trx: Get rid of messy transceiver_available state handler
..


Patch Set 5: Code-Review+2

+1+1=+2


--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15615
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I35f4697bd33dbe8a4c76c9500b82c16589c701d4
Gerrit-Change-Number: 15615
Gerrit-PatchSet: 5
Gerrit-Owner: pespin 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria 
Gerrit-Reviewer: laforge 
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Sat, 05 Oct 2019 20:48:39 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in ...osmo-bts[master]: bts-trx: Rework code handling poweron state

2019-10-05 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-bts/+/15629 )

Change subject: bts-trx: Rework code handling poweron state
..


Patch Set 1: Code-Review+2


--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15629
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: Icd0b482f1454236432e1952220bbec9d178b8607
Gerrit-Change-Number: 15629
Gerrit-PatchSet: 1
Gerrit-Owner: pespin 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria 
Gerrit-Reviewer: laforge 
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Sat, 05 Oct 2019 20:48:28 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in ...osmo-bts[master]: bts-trx: Don't reset transceiver_available in scheduler_trx.c

2019-10-05 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-bts/+/15630 )

Change subject: bts-trx: Don't reset transceiver_available in scheduler_trx.c
..


Patch Set 1:

+1+1=+2


--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15630
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: If8b3d2379d7ae102e1c338f4558ac1352de761cc
Gerrit-Change-Number: 15630
Gerrit-PatchSet: 1
Gerrit-Owner: pespin 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria 
Gerrit-Reviewer: laforge 
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Sat, 05 Oct 2019 20:48:10 +
Gerrit-HasComments: No
Gerrit-Has-Labels: No
Gerrit-MessageType: comment


Change in ...osmo-bts[master]: bts-trx: Rework code handling poweron state

2019-10-05 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-bts/+/15629 )

Change subject: bts-trx: Rework code handling poweron state
..


Patch Set 1:

+1+1=+2


--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15629
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: Icd0b482f1454236432e1952220bbec9d178b8607
Gerrit-Change-Number: 15629
Gerrit-PatchSet: 1
Gerrit-Owner: pespin 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria 
Gerrit-Reviewer: laforge 
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Sat, 05 Oct 2019 20:47:59 +
Gerrit-HasComments: No
Gerrit-Has-Labels: No
Gerrit-MessageType: comment


Change in ...osmo-bts[master]: bts-trx: Don't reset transceiver_available in scheduler_trx.c

2019-10-05 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-bts/+/15630 )

Change subject: bts-trx: Don't reset transceiver_available in scheduler_trx.c
..


Patch Set 1: Code-Review+2


--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15630
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: If8b3d2379d7ae102e1c338f4558ac1352de761cc
Gerrit-Change-Number: 15630
Gerrit-PatchSet: 1
Gerrit-Owner: pespin 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria 
Gerrit-Reviewer: laforge 
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Sat, 05 Oct 2019 20:48:17 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in ...osmo-bts[master]: struct gsm_bts: Add model_priv pointer handing bts_model specific data

2019-10-05 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-bts/+/15613 )

Change subject: struct gsm_bts: Add model_priv pointer handing bts_model 
specific data
..


Patch Set 4:

+1+1=+2


--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15613
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: Ib17a752cdbaa7d5eb8c5dfa0b197f80a4f38b38e
Gerrit-Change-Number: 15613
Gerrit-PatchSet: 4
Gerrit-Owner: pespin 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria 
Gerrit-Reviewer: laforge 
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Sat, 05 Oct 2019 20:47:23 +
Gerrit-HasComments: No
Gerrit-Has-Labels: No
Gerrit-MessageType: comment


Change in ...osmo-bts[master]: bts-trx: Get rid of messy transceiver_available state handler

2019-10-05 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-bts/+/15615 )

Change subject: bts-trx: Get rid of messy transceiver_available state handler
..


Patch Set 5:

(1 comment)

https://gerrit.osmocom.org/#/c/15615/5/src/osmo-bts-trx/l1_if.c
File src/osmo-bts-trx/l1_if.c:

https://gerrit.osmocom.org/#/c/15615/5/src/osmo-bts-trx/l1_if.c@214
PS5, Line 214: PHY_LINK_SHUTDOWN
> In which state it needs to be? PHY_LINK_CONNECTING or PHY_LINK_CONNECTED?
!PHY_LINK_SHUTDOWN, either of CONNECTING or CONNECTED.
during CONNECTING commands are sent to configure the TRX and move it to 
CONNECTED state, and during CONNECTED state still some configs can be changed 
(after POWERON), and POWEROFF is sent.



--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15615
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I35f4697bd33dbe8a4c76c9500b82c16589c701d4
Gerrit-Change-Number: 15615
Gerrit-PatchSet: 5
Gerrit-Owner: pespin 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria 
Gerrit-Reviewer: laforge 
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Sat, 05 Oct 2019 20:46:58 +
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: fixeria 
Gerrit-MessageType: comment


Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: fix ToA handling in as_ta_ptcch()

2019-10-05 Thread fixeria
fixeria has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15679


Change subject: PCU_Tests_RAW.ttcn: fix ToA handling in as_ta_ptcch()
..

PCU_Tests_RAW.ttcn: fix ToA handling in as_ta_ptcch()

As it turns out, it was a bad idea to use a counter in altstep
as_ta_ptcch(), because its value is getting lost. Let's instead
introduce a new type PTCCH_TAI_ToA_MAP, which is basically a
list of ToA values for each PTCCH/U sub-slot (TA Index), and
pass it to the altstep.

Change-Id: I74252dfb929fcb32d07e8728d692674931fae727
---
M pcu/PCUIF_RAW_Components.ttcn
M pcu/PCU_Tests_RAW.ttcn
2 files changed, 65 insertions(+), 11 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/79/15679/1

diff --git a/pcu/PCUIF_RAW_Components.ttcn b/pcu/PCUIF_RAW_Components.ttcn
index 465e398..ab8b3b7 100644
--- a/pcu/PCUIF_RAW_Components.ttcn
+++ b/pcu/PCUIF_RAW_Components.ttcn
@@ -133,6 +133,37 @@
var integer fn := 0;
 }

+/* Derive PTCCH/U sub-slot from a given TDMA frame-number */
+function f_tdma_ptcch_fn2ss(integer fn) return integer
+{
+   var integer ss := -1;
+
+   /* See 3GPP TS 45.002, table 6 */
+   select (fn mod 416) {
+   case (12) { ss := 0; }
+   case (38) { ss := 1; }
+   case (64) { ss := 2; }
+   case (90) { ss := 3; }
+
+   case (116) { ss := 4; }
+   case (142) { ss := 5; }
+   case (168) { ss := 6; }
+   case (194) { ss := 7; }
+
+   case (220) { ss := 8; }
+   case (246) { ss := 9; }
+   case (272) { ss := 10; }
+   case (298) { ss := 11; }
+
+   case (324) { ss := 12; }
+   case (350) { ss := 13; }
+   case (376) { ss := 14; }
+   case (402) { ss := 15; }
+   }
+
+   return ss;
+}
+
 function f_ClckGen_CT_handler()
 runs on RAW_PCU_ClckGen_CT {
var integer fn104, fn52, fn13;
diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn
index b5aec76..7b38225 100644
--- a/pcu/PCU_Tests_RAW.ttcn
+++ b/pcu/PCU_Tests_RAW.ttcn
@@ -672,16 +672,33 @@
  * indications to the PCU, checking the correctness of two received PTCCH/D
  * messages (period of PTCCH/D is two multi-frames).
  */
-private altstep as_ta_ptcch(uint8_t bts_nr := 0, integer toa_factor := 0)
+
+/* List of ToA values for Access Bursts to be sent on PTCCH/U,
+ * each ToA (Timing of Arrival) value is in units of 1/4 of
+ * a symbol (i.e. 1 symbol is 4 QTA units). */
+type record length(16) of int16_t PTCCH_TAI_ToA_MAP;
+const PTCCH_TAI_ToA_MAP ptcch_toa_map_def := {
+   0, 0, 0, 0,
+   0, 0, 0, 0,
+   0, 0, 0, 0,
+   0, 0, 0, 0
+};
+
+private altstep as_ta_ptcch(uint8_t bts_nr := 0, /* TODO: TRX / TS number */
+   in PTCCH_TAI_ToA_MAP toa_map := ptcch_toa_map_def)
 runs on RAW_PCU_Test_CT {
-   var integer counter := 0;
var RAW_PCU_Event event;
+   var integer ss;

/* Send Access Bursts on PTCCH/U for every TA Index */
[] BTS.receive(tr_RAW_PCU_EV(TDMA_EV_PTCCH_UL_BURST)) -> value event {
+   ss := f_tdma_ptcch_fn2ss(event.data.tdma_fn);
+   if (ss < 0) { mtc.stop; } /* Shall not happen */
+
log("Sending an Access Burst on PTCCH/U",
+   ", sub-slot=", ss, " (TAI)",
", fn=", event.data.tdma_fn,
-   ", ToA=", counter * toa_factor);
+   ", ToA=", toa_map[ss], " (QTA)");
/* TODO: do we care about RA and burst format? */
BTS.send(ts_PCUIF_RACH_IND(bts_nr := bts_nr,
   ra := oct2int('3A'O),
@@ -689,14 +706,14 @@
   burst_type := BURST_TYPE_0,
   fn := event.data.tdma_fn,
   arfcn := 871,
-  qta := counter * toa_factor * 4,
+  qta := toa_map[ss],
   sapi := PCU_IF_SAPI_PTCCH));
-   counter := counter + 1;
repeat;
}
 }

-private function f_TC_ta_ptcch_ul_multi_tbf(template PTCCHDownlinkMsg t_ta_msg)
+private function f_TC_ta_ptcch_ul_multi_tbf(in PTCCH_TAI_ToA_MAP ptcch_toa_map,
+   template PTCCHDownlinkMsg t_ta_msg)
 runs on RAW_PCU_Test_CT {
var PTCCHDownlinkMsg ta_msg;
var PCUIF_Message pcu_msg;
@@ -710,7 +727,7 @@
alt {
/* Keep sending of Access Bursts during two multi-frames (period of 
PTCCH/D)
 * with increasing ToA (Timing of Arrival) values: 0, 7, 14, 28, 35... 
*/
-   [] as_ta_ptcch(bts_nr := 0, toa_factor := 7);
+   [] as_ta_ptcch(bts_nr := 0, toa_map := ptcch_toa_map);
/* In the end of 2nd multi-frame we should receive a PTCCH/D block */
[] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, 

Change in ...osmo-ttcn3-hacks[master]: PCUIF_RAW_Components.ttcn: ClckGen_CT: fix PTCCH event handling

2019-10-05 Thread fixeria
fixeria has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15678


Change subject: PCUIF_RAW_Components.ttcn: ClckGen_CT: fix PTCCH event handling
..

PCUIF_RAW_Components.ttcn: ClckGen_CT: fix PTCCH event handling

Both TDMA_EV_PTCCH_DL_BLOCK and TDMA_EV_PTCCH_UL_BURST events may
happen together during the same TDMA frame (fn % 104 == 90). We
shall not skip TDMA_EV_PTCCH_UL_BURST. Let's fix this.

Change-Id: Ifc66d5d1c5f9eaa7bed6882105298c45257ebef0
---
M pcu/PCUIF_RAW_Components.ttcn
1 file changed, 5 insertions(+), 4 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/78/15678/1

diff --git a/pcu/PCUIF_RAW_Components.ttcn b/pcu/PCUIF_RAW_Components.ttcn
index 7feeca2..465e398 100644
--- a/pcu/PCUIF_RAW_Components.ttcn
+++ b/pcu/PCUIF_RAW_Components.ttcn
@@ -148,11 +148,12 @@
} else if (fn13 == 3 or fn13 == 7 or fn13 == 11) {
/* 4/4 bursts of a PDTCH block on both Uplink and 
Downlink */
CLCK.send(ts_RAW_PCU_CLCK_EV(TDMA_EV_PDTCH_BLOCK_END, 
fn));
-   } else if (fn104 == 90) {
-   /* 4/4 bursts of a PTCCH (Timing Advance Control) block 
on Downlink */
-   CLCK.send(ts_RAW_PCU_CLCK_EV(TDMA_EV_PTCCH_DL_BLOCK, 
fn));
} else if (fn52 == 12 or fn52 == 38) {
-   /* One Access Burst on PTCCH/U */
+   /* 4/4 bursts of a PTCCH (Timing Advance Control) block 
on Downlink */
+   if (fn104 == 90) {
+   
CLCK.send(ts_RAW_PCU_CLCK_EV(TDMA_EV_PTCCH_DL_BLOCK, fn));
+   }
+   /* One Access Burst on PTCCH/U (goes 3 time-slots after 
PTCCH/D) */
CLCK.send(ts_RAW_PCU_CLCK_EV(TDMA_EV_PTCCH_UL_BURST, 
fn));
}


--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15678
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Ifc66d5d1c5f9eaa7bed6882105298c45257ebef0
Gerrit-Change-Number: 15678
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria 
Gerrit-MessageType: newchange


Change in ...osmo-bts[master]: bts-trx: Drop unused func check_transceiver_availability()

2019-10-05 Thread fixeria
fixeria has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-bts/+/15631 )

Change subject: bts-trx: Drop unused func check_transceiver_availability()
..


Patch Set 1: Code-Review+1


--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15631
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: If5a988eb14658a78dd46234dccc052dc12fb872a
Gerrit-Change-Number: 15631
Gerrit-PatchSet: 1
Gerrit-Owner: pespin 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria 
Gerrit-Reviewer: laforge 
Gerrit-Comment-Date: Sat, 05 Oct 2019 11:47:34 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in ...osmo-bts[master]: bts-trx: Get rid of messy transceiver_available state handler

2019-10-05 Thread fixeria
fixeria has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-bts/+/15615 )

Change subject: bts-trx: Get rid of messy transceiver_available state handler
..


Patch Set 5: Code-Review+1

(1 comment)

https://gerrit.osmocom.org/#/c/15615/5/src/osmo-bts-trx/l1_if.c
File src/osmo-bts-trx/l1_if.c:

https://gerrit.osmocom.org/#/c/15615/5/src/osmo-bts-trx/l1_if.c@214
PS5, Line 214: PHY_LINK_SHUTDOWN
In which state it needs to be? PHY_LINK_CONNECTING or PHY_LINK_CONNECTED?



--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15615
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I35f4697bd33dbe8a4c76c9500b82c16589c701d4
Gerrit-Change-Number: 15615
Gerrit-PatchSet: 5
Gerrit-Owner: pespin 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria 
Gerrit-Reviewer: laforge 
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Sat, 05 Oct 2019 11:47:05 +
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in ...osmo-bts[master]: bts-trx: Don't reset transceiver_available in scheduler_trx.c

2019-10-05 Thread fixeria
fixeria has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-bts/+/15630 )

Change subject: bts-trx: Don't reset transceiver_available in scheduler_trx.c
..


Patch Set 1: Code-Review+1


--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15630
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: If8b3d2379d7ae102e1c338f4558ac1352de761cc
Gerrit-Change-Number: 15630
Gerrit-PatchSet: 1
Gerrit-Owner: pespin 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria 
Gerrit-Reviewer: laforge 
Gerrit-Comment-Date: Sat, 05 Oct 2019 11:40:01 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in ...osmo-bts[master]: bts-trx: trx_set_bts(): Avoid double loop by checking current trx

2019-10-05 Thread fixeria
fixeria has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-bts/+/15628 )

Change subject: bts-trx: trx_set_bts(): Avoid double loop by checking current 
trx
..


Patch Set 1: Code-Review+1


--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15628
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I8843c1438c6af700631aba7b7e72aae0bdb7ec3a
Gerrit-Change-Number: 15628
Gerrit-PatchSet: 1
Gerrit-Owner: pespin 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria 
Gerrit-Reviewer: laforge 
Gerrit-Comment-Date: Sat, 05 Oct 2019 11:31:46 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in ...osmo-bts[master]: bts-trx: vty: Print phy link state in cmd 'show transceiver'

2019-10-05 Thread fixeria
fixeria has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-bts/+/15627 )

Change subject: bts-trx: vty: Print phy link state in cmd 'show transceiver'
..


Patch Set 1:

(2 comments)

https://gerrit.osmocom.org/#/c/15627/1/src/common/phy_link.c
File src/common/phy_link.c:

https://gerrit.osmocom.org/#/c/15627/1/src/common/phy_link.c@84
PS1, Line 84: phy_link_state_get
What is the point? Just a function to get field's value, that can be accessed 
directly?
I am definitely against this 'helper'.


https://gerrit.osmocom.org/#/c/15627/1/src/osmo-bts-trx/trx_vty.c
File src/osmo-bts-trx/trx_vty.c:

https://gerrit.osmocom.org/#/c/15627/1/src/osmo-bts-trx/trx_vty.c@78
PS1, Line 78: phy_link_state_get(plink)
You can access the field directly: plink->state. It's even shorter.



--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15627
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I8e49f8edad9f9c68d110dbb7faeea5143aa91022
Gerrit-Change-Number: 15627
Gerrit-PatchSet: 1
Gerrit-Owner: pespin 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge 
Gerrit-CC: fixeria 
Gerrit-Comment-Date: Sat, 05 Oct 2019 11:30:27 +
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment


Change in ...osmo-bts[master]: bts-trx: Allocate struct osmo_trx_clock_state as part of bts-trx priv...

2019-10-05 Thread fixeria
fixeria has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-bts/+/15614 )

Change subject: bts-trx: Allocate struct osmo_trx_clock_state as part of 
bts-trx private data
..


Patch Set 4: Code-Review+2


--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15614
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I9b7ffb51423ada74b8be347c57eade08f307f88f
Gerrit-Change-Number: 15614
Gerrit-PatchSet: 4
Gerrit-Owner: pespin 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria 
Gerrit-Reviewer: laforge 
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Sat, 05 Oct 2019 11:19:28 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in ...osmo-bts[master]: struct gsm_bts: Add model_priv pointer handing bts_model specific data

2019-10-05 Thread fixeria
fixeria has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-bts/+/15613 )

Change subject: struct gsm_bts: Add model_priv pointer handing bts_model 
specific data
..


Patch Set 4: Code-Review+1

(2 comments)

https://gerrit.osmocom.org/#/c/15613/4/include/osmo-bts/gsm_data_shared.h
File include/osmo-bts/gsm_data_shared.h:

https://gerrit.osmocom.org/#/c/15613/4/include/osmo-bts/gsm_data_shared.h@778
PS4, Line 778: model_priv
Ok, I just realized a meaningful advantage of your approach over having a union 
with model-specific structures: those structures may contain really specific 
data, e.g. structures or other types from their header files (SDKs). We don't 
want to pollute this header file with such stuff.


https://gerrit.osmocom.org/#/c/15613/4/src/osmo-bts-virtual/l1_if.h
File src/osmo-bts-virtual/l1_if.h:

https://gerrit.osmocom.org/#/c/15613/4/src/osmo-bts-virtual/l1_if.h@9
PS4, Line 9: bts_virt_priv
LOL, I was pretty sure osmo-bts-trx is also using this structure.



--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15613
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: Ib17a752cdbaa7d5eb8c5dfa0b197f80a4f38b38e
Gerrit-Change-Number: 15613
Gerrit-PatchSet: 4
Gerrit-Owner: pespin 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria 
Gerrit-Reviewer: laforge 
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Sat, 05 Oct 2019 11:16:35 +
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in ...osmocom-bb[master]: host/trxcon: add optional GSMTAP frame logging support

2019-10-05 Thread fixeria
fixeria has submitted this change and it was merged. ( 
https://gerrit.osmocom.org/c/osmocom-bb/+/15568 )

Change subject: host/trxcon: add optional GSMTAP frame logging support
..

host/trxcon: add optional GSMTAP frame logging support

This feature may be useful for our TTCN-3 testing infrastructure.
By default it's disabled, and can be enabled using command line
arguments of the main binary:

  ./trxcon -g 127.0.0.1 ...

Change-Id: Iab4128fee5f18d816830fdca6c5ebebaf7451902
---
M src/host/trxcon/sched_lchan_common.c
M src/host/trxcon/sched_lchan_desc.c
M src/host/trxcon/sched_lchan_rach.c
M src/host/trxcon/sched_lchan_xcch.c
M src/host/trxcon/sched_trx.h
M src/host/trxcon/trxcon.c
M src/host/trxcon/trxcon.h
7 files changed, 150 insertions(+), 9 deletions(-)

Approvals:
  Jenkins Builder: Verified
  fixeria: Looks good to me, approved



diff --git a/src/host/trxcon/sched_lchan_common.c 
b/src/host/trxcon/sched_lchan_common.c
index 615d81c..d8d9ee1 100644
--- a/src/host/trxcon/sched_lchan_common.c
+++ b/src/host/trxcon/sched_lchan_common.c
@@ -2,7 +2,7 @@
  * OsmocomBB <-> SDR connection bridge
  * TDMA scheduler: common routines for lchan handlers
  *
- * (C) 2017 by Vadim Yanitskiy 
+ * (C) 2017-2019 by Vadim Yanitskiy 
  *
  * All Rights Reserved
  *
@@ -32,15 +32,19 @@

 #include 
 #include 
+#include 
+#include 

 #include 

 #include 
+#include 

 #include "l1ctl_proto.h"
 #include "scheduler.h"
 #include "sched_trx.h"
 #include "logging.h"
+#include "trxcon.h"
 #include "trx_if.h"
 #include "l1ctl.h"

@@ -80,13 +84,32 @@
},
 };

+int sched_gsmtap_send(enum trx_lchan_type lchan_type, uint32_t fn, uint8_t tn,
+ uint16_t band_arfcn, int8_t signal_dbm, uint8_t snr,
+ const uint8_t *data, size_t data_len)
+{
+   const struct trx_lchan_desc *lchan_desc = _lchan_desc[lchan_type];
+
+   /* GSMTAP logging may not be enabled */
+   if (gsmtap == NULL)
+   return 0;
+
+   /* Omit frames with unknown channel type */
+   if (lchan_desc->gsmtap_chan_type == GSMTAP_CHANNEL_UNKNOWN)
+   return 0;
+
+   /* TODO: distinguish GSMTAP_CHANNEL_PCH and GSMTAP_CHANNEL_AGCH */
+   return gsmtap_send(gsmtap, band_arfcn, tn, lchan_desc->gsmtap_chan_type,
+  lchan_desc->ss_nr, fn, signal_dbm, snr, data, 
data_len);
+}
+
 int sched_send_dt_ind(struct trx_instance *trx, struct trx_ts *ts,
struct trx_lchan_state *lchan, uint8_t *l2, size_t l2_len,
int bit_error_count, bool dec_failed, bool traffic)
 {
const struct trx_lchan_desc *lchan_desc;
struct l1ctl_info_dl dl_hdr;
-   int dbm_avg;
+   int dbm_avg = 0;

/* Set up pointers */
lchan_desc = _lchan_desc[lchan->type];
@@ -117,6 +140,12 @@
/* Put a packet to higher layers */
l1ctl_tx_dt_ind(trx->l1l, _hdr, l2, l2_len, traffic);

+   /* Optional GSMTAP logging */
+   if (l2_len > 0 && (!traffic || lchan_desc->chan_nr == 
RSL_CHAN_OSMO_PDCH)) {
+   sched_gsmtap_send(lchan->type, lchan->rx_first_fn, ts->index,
+ trx->band_arfcn, dbm_avg, 0, l2, l2_len);
+   }
+
return 0;
 }

@@ -140,6 +169,14 @@

l1ctl_tx_dt_conf(trx->l1l, _hdr, traffic);

+   /* Optional GSMTAP logging */
+   if (!traffic || lchan_desc->chan_nr == RSL_CHAN_OSMO_PDCH) {
+   sched_gsmtap_send(lchan->type, fn, ts->index,
+ trx->band_arfcn | ARFCN_UPLINK,
+ 0, 0, lchan->prim->payload,
+ lchan->prim->payload_len);
+   }
+
return 0;
 }

diff --git a/src/host/trxcon/sched_lchan_desc.c 
b/src/host/trxcon/sched_lchan_desc.c
index 67f770c..fde4d4e 100644
--- a/src/host/trxcon/sched_lchan_desc.c
+++ b/src/host/trxcon/sched_lchan_desc.c
@@ -24,6 +24,8 @@
  */

 #include 
+#include 
+
 #include "sched_trx.h"

 /* Forward declaration of handlers */
@@ -86,6 +88,7 @@
[TRXC_BCCH] = {
.name = "BCCH", /* 3GPP TS 05.02, section 3.3.2.3 */
.desc = "Broadcast control channel",
+   .gsmtap_chan_type = GSMTAP_CHANNEL_BCCH,
.chan_nr = RSL_CHAN_BCCH,

/* Rx only, xCCH convolutional coding (3GPP TS 05.03, section 
4.4),
@@ -98,6 +101,7 @@
[TRXC_RACH] = {
.name = "RACH", /* 3GPP TS 05.02, section 3.3.3.1 */
.desc = "Random access channel",
+   .gsmtap_chan_type = GSMTAP_CHANNEL_RACH,
.chan_nr = RSL_CHAN_RACH,

/* Tx only, RACH convolutional coding (3GPP TS 05.03, section 
4.6). */
@@ -107,6 +111,7 @@
[TRXC_CCCH] = {
.name = "CCCH", /* 3GPP TS 05.02, section 3.3.3.1 */
.desc = "Common control channel",
+   .gsmtap_chan_type = GSMTAP_CHANNEL_CCCH,
.chan_nr 

Change in ...osmocom-bb[master]: host/trxcon: add optional GSMTAP frame logging support

2019-10-05 Thread fixeria
fixeria has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmocom-bb/+/15568 )

Change subject: host/trxcon: add optional GSMTAP frame logging support
..


Patch Set 2:

This change is ready for review.


--
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/15568
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: Iab4128fee5f18d816830fdca6c5ebebaf7451902
Gerrit-Change-Number: 15568
Gerrit-PatchSet: 2
Gerrit-Owner: fixeria 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria 
Gerrit-Reviewer: laforge 
Gerrit-Comment-Date: Sat, 05 Oct 2019 10:58:28 +
Gerrit-HasComments: No
Gerrit-Has-Labels: No
Gerrit-MessageType: comment