Skip to content
Failed

Changes

Summary

  1. trxcon: use 3GPP TS 45.002 definitions from libosmogsm (details)
  2. trxcon: do not crash on receipt of 8-PSK modulated bursts (details)
  3. mobile: allow configuring local GSMTAP address (details)
  4. vty: fix local-host docs (details)
  5. trxcon: move l1ctl_proto.h to 'include/osmocom/bb/' (details)
  6. gprsdecode: Makefile.am: drop -Wno-missing-braces and -O3 (details)
  7. layer23: refactor the application API concept (details)
  8. layer23: fix parsing of command line options (details)
  9. trxcon: do not send DATA.cnf for L1SCHED_DT_TRAFFIC (details)
  10. virt_phy: rearrange and clean up header files (details)
  11. virt_phy: clean up and improve Makefile.am (details)
  12. virt_phy: cosmetic: make the linter happy about code indent (details)
  13. virt_phy: cosmetic: make the linter happy about identifier names (details)
  14. virt_phy: avoid confusion between RSSI (dBm) and RxLev (0..63) (details)
  15. modem: get rid of app_data.{ccch_mode,si}, use ms->cellsel (details)
  16. modem: get rid of app_data.chan_req, use ms->rrlayer (details)
  17. layer23: Call osmo_fd_unregister() before closing and changing bfd->fd (details)
  18. modem: move GRR specific code into its own file (details)
  19. modem: clean up #includes (using include-what-you-use) (details)
  20. layer23: modem: Depend on libosmo-gprs-gmm (details)
  21. modem: add test VTY command to send CHANNEL REQUEST (details)
  22. modem: add test VTY command for sending raw LLC PDUs (details)
  23. layer23/{mobile,modem}: fix segfault on VTY connection (details)
  24. layer23/{mobile,modem}: prefix VTY prompt with project's name (details)
  25. modem: fix modem_gmm_prim_up_cb(): add missing break (details)
  26. {trxcon,virt_phy}: shared GPRS L1 (MAC) implementation (details)
  27. layer23: implement Rx/Tx API for GPRS related messages (details)
  28. modem: route L1CTL prims to/from libosmo-gprs-rlcmac (details)
  29. l1ctl_proto: fix unpacked struct in l1ctl_gprs_dl_block_ind (details)
  30. l1gprs: fix NULL pointer dereference in l1gprs_unregister_tbf() (details)
  31. layer23: modem: Test GMM layer through VTY (details)
  32. layer23: add missing log_info_cat[] entry for DGMM (details)
  33. modem: set logging cat for OSMO_GPRS_RLCMAC_LOGC_TBF{UL,DL} (details)
  34. trxcon: add GSMTAP logging target if '-g' is given (details)
  35. trxcon: l1sched_prim_dequeue(): check TDMA Fn in PDCH prims (details)
  36. layer23: rlcmac: Support GMM detaching from VTY (details)
  37. layer23: modem: Forward GMMRR primitives between GMM and RLCMAC layers (details)
  38. layer23: modem: fill imsi & imei in vty 'test gmm attach' (details)
  39. layer23: Support cpu-sched vty node from libosmocore (details)
  40. modem: initial SM layer support through libosmo-gprs-sm (details)
  41. layer23: modem: llc: Fix typo LLGM -> LLGMM (details)
  42. trxcon: l1sched: fix copy-paste in LOGP_SCHEDD macro (details)
  43. trxcon/l1sched: rename l1sched[_lchan]_prim_drop() (details)
  44. trxcon/l1sched: cosmetic: rename l1sched_find_lchan() (details)
  45. trxcon/l1sched: use RSL_CHAN_NR_MASK from libosmogsm (details)
  46. trxcon/l1sched: add l1sched_find_lchan_by_chan_nr() (details)
  47. layer23: modem: sndcp: Apply API change in libosmo-gprs-sndcp (details)
  48. layer23: modem: Forward SNSM primitives SNDCP<->SM layers (details)
  49. trxcon/l1sched: rework the primitive API (details)
  50. mobile: log unhandled event name (details)
  51. layer23: Move vty_notify() to common/ (details)
  52. layer23: common/vty: Drop includes pointing to mobile app (details)
  53. layer23: Use libosmocore API to validate IMSI string (details)
  54. layer23: Move testsim node to common/ (details)
  55. layer23: modem: Fix wrong 'radio not started' vty message (details)
  56. mobile: Fail VTY command if attching test SIM card fails (details)
  57. layer23: Decouple SIM events from MMR events (details)
  58. layer23: modem: Set on tun the IP address received during PDP Ctx Act (details)
  59. virt_phy: fix memleaks in l1ctl_rx_gprs_ul_block_req() (details)
  60. virt_phy: fix bogous TDMA Fn check in l1ctl_rx_gprs_ul_block_req() (details)
  61. l1gprs: reorder #includes, add missing <stdbool.h> (details)
  62. layer23: modem: Unregister registered callbacks upon app exit (details)
  63. layer23: mobile: Mark several functions static (details)
  64. layer23: Call telnet_exit() during app exit if VTY support is enabled (details)
  65. layer23: Use GSM_RESERVED_TMSI from libosmocore everywhere (details)
  66. layer23: Use OSMO_IMSI_BUF_SIZE from libosmocore (details)
  67. layer23: Use GSM23003_IMEI(SV)_NUM_DIGITS from libosmocore (details)
  68. Initialize/release sim & subscriber ms parts in common/ (details)
  69. layer23: Move 'show {subscriber,support}' to common/' (details)
  70. layer23: vty: Move sim related commands to common/ (details)
  71. layer23: Use subscriber information and events to trigger GMMREG Attach (details)
  72. layer23: modem: Forward GMM primitives up to SM layer (details)
  73. layer23: vty: Move imei related commands to common/ (details)
  74. doc/examples/modem: Update modem.cfg with new features (details)
  75. layer23: modem: Store P-TMSI independently in subscriber (details)
  76. layer23: modem: Store P-TMSI allocated by the network (details)
  77. trxcon: ignore TRXCON_EV_TX_DATA_CNF in TRXCON_ST_PACKET_DATA (details)
  78. trxcon: reduce DGPRS logging level to LOGL_NOTICE (details)
  79. trxcon: use non-blocking stderr logging by default (details)
  80. trxcon: do not call l1sched_prim_dequeue() at ul_bid != 0 (details)
  81. layer23: modem: Resolve auth requests coming from GMM layer (details)
  82. layer23: modem: sndcp: Forward LL-XID.req SNDCP->LLC (details)
  83. layer23: modem: sm: Properly inform SM layer of ownership transfer (details)
  84. layer23: modem: sndcp: Properly inform SNDCP layer of ownership transfer (details)
  85. layer23: modem: Delay GPRS attach at startup until modem is ready (details)
  86. layer23: modem: grr: Log ignored CCCH ImmAss (details)
  87. layer23: modem: gmm: Activate PDP Context of APN after GPRS attach (details)
  88. layer23: Introduce apn_fsm (details)
  89. layer23: Store and use SAPI & NSAPI in apn->pdp (details)
  90. trxcon/l1sched: allocate primitives of fixed size (64 + 64) (details)
  91. virt_phy: fix l1ctl_rx_rach_req(): send RACH on TS0, not TS1 (details)
  92. virt_phy: l1ctl_rx_rach_req(): use the indicated chan_nr/link_id (details)
  93. virt_phy: l1ctl_rx_rach_req(): remove TDMA Fn hack (details)
  94. virt_phy: fix TDMA Fn math in l1ctl_rx_rach_req() (details)
  95. layer23: modem: Use in SN SAP the TLLI retrieved from GMM and SM (details)
  96. layer23: modem: pass pco & qos from apn (details)
  97. layer23: Define EF.LOCI Location Update Status values with an enum (details)
  98. sim: Introduce EF.LOCIGPRS file structure (details)
  99. Use OSMO_STRLCPY_ARRAY instead of strcpy (details)
  100. layer23: make verify_value_string_arrays_are_terminated.py happy (details)
  101. contrib/jenkins.sh: uncomment (details)
  102. copyright: fix typo: sysmocom s/s.m.f.c./s.f.m.c./ GmbH (details)
  103. layer23: Move all test_sim settings to its own substruct (details)
  104. layer23: Migrate sim_ustate to enum + value_string (details)
  105. layer23: rework store & pass of test_sim param to gsm_subscr_testcard() (details)
  106. layer23: subscriber: Move sap specific code inside subscriber.c (details)
  107. layer23: subscriber: Move generic code to the top out of sim backend (details)
  108. layer23: Move SAP init/close to be done during MS allocation/destruction (details)
  109. layer23: Generalize subscriber SIM insert API (details)
  110. layer23: subscriber: Split gsm_subscr_generate_kc() internally (details)
  111. layer23: subscriber: Split gsm_subscr_write_loci() internally (details)
  112. layer23: subscriber: Split gsm_subscr_sim_pin() internally per-backend (details)
  113. layer23: split subscr_write_plmn_na() internally per-backend (details)
  114. layer23: subscriber: Move generic APIs to the top section (details)
  115. common: Mark gsm_networks static (details)
  116. Migrate network identifier fields to modern osmocom structures (details)
  117. layer23: vty: Rename testsim node functions (details)
  118. layer23: Define imsi_attached field as bool (details)
  119. layer23: Define always_search_hplmn field as bool (details)
  120. layer23: Define (r)plmn_valid field as bool (details)
  121. layer23: Define barr field as bool (details)
  122. layer23: Define sim_pin_required field as bool (details)
  123. layer23: subscriber: Implement LOCIGPRS read/write for simcard backend (details)
  124. layer23: subscriber: Implement LOCIGPRS read/write for testcard backend (details)
  125. layer23: modem: pass SIM-stored PTMSI (signature) & RAI to GMM (details)
  126. subscriber: Fix condition to print PTMSI signature (details)
  127. trxcon/l1sched: remove redundant TCH/[FH] prim length checks (details)
  128. trxcon/l1sched: drop Tx prims for not supported TCH modes (details)
  129. trxcon/l1sched: cosmetic: get rid of amr_is_cmr/fn_is_cmi (details)
  130. trxcon/l1sched: use sched_tchh_dl_facch_map[] in rx_tchh_fn() (details)
  131. trxcon/l1sched: fix UL FACCH regression in tx_tchh_fn() (details)
  132. trxcon/l1sched: cosmetic: use variable names like in osmo-bts-trx (details)
  133. trxcon/l1sched: do not align Tx burst transmission (details)
  134. layer23: modem: Forward Paging Request Type 1/2 to rlcmac layer (details)
  135. trxcon/l1sched: rework burst buffer shifting for TCH/[FH] (details)
  136. layer23: modem: Forward LLC-TRANSMITTED.ind RLCMAC->GMM (details)
  137. layer23: modem: Add helper function to get FN from gsm48_req_ref (details)
  138. l1gprs: properly handle (forward) PTCCH/D blocks (details)
  139. trxcon/l1sched: do not check TDMA Fn of PTCCH/U prims (details)
  140. modem: do not send RTS.ind if we got PTCCH/D (details)
  141. fake_trx.py: remove SETSLOT based burst filtering (details)
  142. trxcon: get rid of the timer driven clock module (details)
  143. trxcon: do not advance Uplink TDMA Fn by default (details)
  144. mobile: fix -Wlogical-not-parentheses in gsm48_cc_init() (details)
  145. layer23: Update to libosmocore osmo_auth_gen_vec2 (details)
  146. layer23: fix handling of logging category mask (-d option) (details)
  147. modem: cosmetic: fix formatting in modem_gmm_prim_up_cb() (details)
  148. layer23: cosmetic: move <lapdm.h> to other libosmo* imports (details)
  149. layer23: use gsm0502_fn2ccch_block() from libosmogsm (details)
  150. modem: properly handle Dedicated mode or TBF IE (details)
  151. trxcon/l1sched: fix handling of UL FACCH on TCH/A[FH]S (details)
  152. trxcon/l1sched: remove unused vars in l1sched_lchan_amr_prim_is_valid() (details)
  153. trxcon/l1sched: rework dequeueing of Tx prims (details)
  154. trxcon/l1sched: peoperly prioritize FACCH/H over TCH (details)
  155. trxcon/l1sched: simplify and unify prim_dequeue_tchf() (details)
  156. trxcon/l1sched: do not craft artificial BFI frames on TCH (details)
  157. trxcon/l1sched: transmit dummy speech blocks with inverted CRC3 (details)
  158. layer23: modem: gmm: Forward GMMSM-Modify.ind to SM layer (details)
  159. layer23: modem: llc: Forward LL-Assign.req to SNDCP (details)
  160. layer23: modem: gmm: Update own TLLI copy though GMMRR-Assign.req hook (details)
  161. layer23: modem: implement GPRS-RR FSM (details)
  162. modem: handle OSMO_GPRS_RLCMAC_L1CTL_PDCH_{ESTABLISH,RELEASE} (details)
  163. trxcon: trx_if_cmd_poweron(): send CMD POWERON unconditionally (details)
  164. layer23: modem: Submit L1CTL-CCCH_READY.ind (details)
  165. layer23: modem: Delay using cell until fully synced to it (details)
  166. layer23: modem: Avoid direct transition (details)
  167. trxcon/l1sched: emit DATA.cnf early (on bid=0) (details)
  168. layer23: modem: Validate IP version of UL data packets from tun match (details)
  169. layer23: modem: Fix newline character typo in log line (details)
  170. layer23: modem: gmm: Log allocated TLLI on Attach Success (details)
  171. layer23: modem: gmm: Adapt log string about no TLLI found (details)
  172. Fix VTY command to set IMEISV. (details)
  173. l1ctl: Fill ph_data_param fn field (details)
  174. l1ctl: Fix fill ph_data_param fn field (details)
  175. l1ctl_proto: add 'start_fn' field to UL/DL TBF CFG.req messages (details)
  176. l1gprs: Fix slotmask update on already registered tbf (details)
  177. trxcon: properly handle PDCH slotmask in UL/DL TBF CFG.Req (details)
  178. layer23: modem: Pass fn from lapdm to L1CTL-CCCH_DATA.ind (details)
  179. l1gprs: implement TBF starting time support (details)
  180. l1gprs: Improve logging fn and tn in BLOCK.req (details)
  181. l1gprs: Log slotmask when logging TBF (details)
  182. layer23: modem: pass TBF starting time from CFG UL/DL TBF Req (details)
  183. trxcon/l1sched: implement CSD scheduling support (details)
  184. trxcon/l1sched: refactor l1sched_mframe_layout() (details)
  185. trxcon: Print fn in prim_enqueue() (details)
  186. firmware: board: add support for TR-800 target (details)
  187. l1gprs/l1ctl: Decouple RTS.ind from DL_BLOCK.ind (details)
  188. virt_phy: fix wrong pointer being checked (details)
  189. trxcon: handle_tbf_cfg_req(): properly set TSC for lchans (details)
  190. modem: grr: clarify a comment in forward_to_rlcmac() (details)
  191. modem: grr: implement RACH.req retransmission (details)
  192. l1gprs: migrate to gsm0502_fncmp() from libosmogsm (details)
  193. trxcon/l1sched: rework dequeueing of PDCH Tx prims (details)
  194. modem: fix grr_st_packet_access_action(): shift rr->cr_hist properly (details)
  195. ASCI: Add GCC/BCC (call control) to mobility management (details)
  196. ASCI: Get timing advance and TX power only when included (details)
  197. ASCI: MM connections are defined by 'ref' and 'protocol' tuple (details)
  198. ASCI: Add a flag to turn transmitter off or on (details)
  199. ASCI: Add two logging categories for group and broadcast call control (details)
  200. Transmit access bursts on DCCH of TCH channels (details)
  201. ASCI: Add UIC support to random access burst (details)
  202. ASCI: Add support flags to mobile (and VTY) for VGCS/VBS (details)
  203. Refactoring encoding of mobile identity at mobile application (details)
  204. ASCI: Increase channel request history to 5 entries (details)
  205. Fix request reference value in gsm48_match_ra() (details)
  206. Fix unset sapi in gsm48_rr_data_ind() (details)
  207. ASCI: Add channel notification event to MM events (details)
  208. ASCI: Add uplink free/busy event to MM events (details)
  209. ASCI: Add interface for group receive/transmit mode support to RR layer (details)
  210. Fix reception of MM messages at gsm48_mm_data_ind() (details)
  211. Add header length check to received CCCH messages (details)
  212. ASCI: Prepare gsm48_rr_rx_acch for voice group channel (details)
  213. ASCI: Add ASCI notification support to RR layer (details)
  214. ASCI: Add group receive mode support to RR layer (details)
  215. ASCI: Add group transmit mode support to RR layer (details)
  216. ASCI: Add group receive and transmit mode support to MM layer (details)
  217. ASCI: Add protocol type to trans_find_by_callref() function (details)
  218. ASCI: Add GCC/BCC layer to support voice group/broadcast calls (details)
  219. ASCI: Add VTY commands to control voice group/broadcast calls (details)
  220. ASCI: Show NCH position in VTY together with system information (details)
  221. Cleaning gsm48_mm_data_ind() (details)
  222. Correctly extract bits from SI2*/SI5* (details)
  223. Fix typo in sysinfo.c (details)
  224. Correctly use SUP_WRITE() macro for GSM 850 (details)
  225. Fix potential NULL pointer dereferences, discovered by Coverity Scan (details)
  226. ASCI: Add decoding of SYSTEM INFORMATION TYPE 10 $(ASCI)$ (details)
  227. ASCI: Add VTY command to display group call neighbor cells (details)
  228. Fix settings for VGCS/VBS (details)
  229. modem: grr_fsm: permit loop transition for GRR_ST_PACKET_ACCESS (details)
  230. ASCI: Fix false return value checks, discovered by Coverity Scan (details)
  231. Fix selection of correct ARFCN at arfcn_from_freq_index() (details)
  232. Fix indices of ARFCNs for measurement report (details)
  233. Correctly detect the follow-on proceed information element (details)
  234. Provide create_conn_and_push_mm_hdr() with correct SAPI (details)
  235. layer23: send UL/DL GPRS blocks over GSMTAP (details)
  236. firmware/layer1: mute UL/DL vocodec if it's not needed (details)
  237. firmware/layer1: clean up l1s_tch_cmd(): reduce nesting (details)
  238. firmware/layer1: cosmetic: labels should not be indented (details)
  239. firmware/layer1: clean up l1s_tch_resp() (details)
  240. firmware/layer1: fix l1s_tch_resp(): use the right A_DD header (details)
  241. firmware/layer1: fill-in DL info for L1CTL TRAFFIC.ind (details)
  242. firmware/layer1: emit TRAFFIC.ind even if B_BFI is set (details)
  243. firmware/layer1: handle CSD related channel modes (details)
  244. mobile: fix AUDIO_IOH_LOOPBACK mode: pull DL info header (details)
  245. mobile: mncc_recv_internal(): make struct gsm_mncc ptr const (details)
  246. mobile: mncc_call(): make *number argument const (details)
  247. mobile: separate 'call MS_NAME NUMBER' command (details)
  248. mobile: clean up call related VTY commands (details)
  249. ASCI: Join a group/bcast call in correct MM states only (details)
  250. ASCI: Ignore cell selection event during group receive mode (details)
  251. ASCI: Select correct state when returning to idle or group receive mode (details)
  252. ASCI: Change state correctly when leaving group mode (details)
  253. ASCI: Register state machines only once, when the application starts (details)
  254. mobile: mnccms: use constants from libosmogsm (gsm_04_08.h) (details)
  255. mobile: cosmetic: improve mncc_{get,set}_bearer() (details)
  256. mobile: fix mncc_get_bearer(): return -1 straightaway (details)
  257. mobile: improve handling of Bearer Capability IE for MT calls (details)
  258. mobile: vty: rework support enable/disable commands (details)
  259. ASCI: Handle rejection of voice group/broadcast call correctly (details)
  260. ASCI: Use correct mobile identiy in TALKER INDICATION message (details)
  261. ASCI: Add option to join voice group/broadcast calls without valid SIM (details)
  262. ASCI: Correctly set and store 'uplink-release-local' flag (details)
  263. layer23: rework L1CTL TRAFFIC.{ind,req} related logging (details)
  264. mobile: cosmetic: use '#pragma once' in mncc.h (details)
  265. mobile: move 'struct gsm_call' from <mncc.h> to <mncc_ms.h> (details)
  266. mobile: add support for Circuit Switched Data calls (details)
  267. mobile: rename 'audio' node to 'tch-voice' node (details)
  268. mobile: clarify TCH I/O {handler,format} naming (details)
  269. mobile: gsm_settings_init(): set TCH frame format explicitly (details)
  270. mobile: add params and VTY commands for data calls (details)
  271. mobile: cosmetic: rename gsm48_rr_tx_{voice->traffic}() (details)
  272. mobile: rename voice.[ch] to tch.[ch] (details)
  273. ASCI: Notify talker in the VTY that he cannot leave the call while (details)
  274. trxcon/l1sched: tx_tch[fh]_fn(): fix sending idle CSD frames (details)
  275. firmware/layer1: avoid 'for' loop initial declarations (details)
  276. firmware: -nostartfiles -nodefaultlibs are not flags of LD but flags of (details)
  277. LAPDm: Enable flag to prevent sending two subsequent REJ frame (details)
  278. mobile: Fix PCS ARFCN handling: PCS can only be ARFCN 512..810 (details)
  279. Correctly initialize neighbor cell measurement list from SI5* (details)
  280. Correctly assemble measurement result into MEASUREMENT REPORT (details)
  281. layer23: fix incorrect check in gsm_arfcn_refer_pcs() (details)
  282. virt_phy: fix checking stderr_target in ms_log_init() (details)
  283. virt_phy: use osmo_init_logging2() to init logging (details)
  284. layer23/mobile: use osmo_mobile_identity API (details)
  285. layer23/ccch_scan: use osmo_mobile_identity API (details)
  286. firmware: fix shebang in solve_envs.py: s/python/python3/ (details)
  287. mobile: fix segfault on empty TRAFFIC.ind (details)
  288. layer23: drop unneeded forward declaration (details)
  289. mobile: always check return value of tlv_parse() (details)
  290. mobile: gsm48_cc_data_ind(): check if struct gsm48_hdr fits (details)
  291. mobile: mncc_recvmsg(): fix 'msg_type' param type (details)
  292. mobile: gsm48_mm_data_ind(): check if struct gsm48_hdr fits (details)
  293. fixup: mobile: always check return value of tlv_parse() (details)
  294. mobile: add generic signals for CC/SS/SM transactions (details)
  295. mobile: store MNCC Bearer Capability in CC transaction (details)
  296. mobile: cosmetic: use consistent naming for gapk_io_state (details)
  297. mobile: init/deinit GAPK I/O based on CC transaction events (details)
  298. mobile: rename tch_send_voice_{msg,frame}() functions (details)
  299. mobile: split voice specific TCH handling into its own file (details)
  300. mobile: integrate V.110 TA & soft-UART from libosmocore (details)
  301. mobile: implement sending CSD data over UNIX socket (details)
  302. mobile: fix unsupported data rate (UR/IR) messages (details)
  303. firmware (libosmocore): fix gsm48_chan_mode for TCH/[FH]2.4 (details)
  304. doc/examples/mobile: add tch-{data,voice} sections (details)
  305. mobile: add a separate logging category for CSD (details)
  306. mobile: handle V.24 line status updates from V.110 TA (details)
  307. mobile: VTY: use 'enum gsm48_bcap_transp' from libosmogsm (details)
  308. mobile: VTY: make soft-UART parameters configurable (details)
  309. mobile: VTY: rework data type/rate configuration commands (details)
  310. modem: fix assigning .timer_cb twice (-Winitializer-overrides) (details)
  311. mobile: VTY: disable DATA_CALL_TR_V34_9600 (not supported) (details)
  312. mobile: properly handle different TRAFFIC.{ind,req} formats for CSD (details)
  313. mobile: fix rate adaption checking for MO/MT CSD calls (details)
  314. mobile: VTY: store/read data call params to/from config file (details)
  315. trxcon/l1gprs: print dropped prims in l1sched_reset_lchan() (details)
  316. trxcon/l1gprs: print msgb hexdump in prim_dequeue_pdtch() (details)
  317. mobile: fix -Wmaybe-uninitialized in tch_csd_rx_{to,from}_l1() (details)
  318. l1gprs: minor changes to l1gprs_handle_rts_ind() (details)
  319. apn_fsm: Set default timeout for APN activation to 65s (details)
  320. modem: Improve logging when forwarding data to GRR (details)
  321. l1gprs: implement UL BLOCK.cnf (L1CTL_GPRS_UL_BLOCK_CNF) (details)
  322. trxcon/l1sched: trigger sending UL BLOCK.cnf for PDTCH (details)
  323. layer23: cosmetic: clarify GPRS related L1CTL logging (details)
  324. layer23/modem: handle and forward L1CTL UL BLOCK.cnf (details)
  325. mobile: cosmetic: fix '(ptr *) foo' shour be '(ptr *)foo' (details)
  326. mobile: assert() values returned by get_string_value() (details)
  327. mobile: disable TCH/F14.4 (not implemented) (details)
  328. mobile: use tch_send_msg() in tch_csd_tx_to_l1() (details)
  329. mobile: init TCH state earlier (on receipt of CC ALERTING) (details)
  330. mobile: set TRAFFIC.{ind,req} mode during call establishment (details)
  331. mobile: fix GAPK I/O producing too many UL frames (details)
  332. trxcon: fix hex formatting in prim_enqeue() (details)
  333. trxcon: fix prim_compose_mr(): indicate proper tn (details)
  334. debian: initial layer23 packaging (details)
  335. Add funding link to github mirror (details)
  336. trxcon/l1sched: fix sending dummy TCH/A[FH]S blocks (details)
  337. trxcon/l1sched: fix NULL pointer dereference in tx_tch[fh]_fn() (details)
  338. trxcon/l1sched: make l1sched_lchan_emit_data_cnf() NULL-safe (details)
  339. trxcon/l1sched: refactor prim management in tx_tch[fh]_fn() (details)
  340. mobile: cosmetic: fix -Wswitch in tch_voice_state_init() (details)
  341. mobile: fix -Wmaybe-uninitialized in gsm48_rr_tx_meas_rep() (details)
  342. firmware: rename 'se_k2x0' -> 'se_k2xx' (include K205) (details)
  343. firmware: k2xx: fix comments about flash organization (details)
  344. trxcon/l1sched: fix decoding of DL FACCH/H for TCH/H4.8 and TCH/H2.4 (details)
  345. trxcon/l1sched: replace old API with sched_tchh_ul_facch_map[] (details)
  346. trxcon/l1sched: fix FACCH/H regression in rx_tchh_fn() (details)
  347. trxcon/l1sched: check-in trx_sched_tch.txt from osmo-bts.git (details)
  348. trxcon/l1sched: clarify TDMA Fn (mod 26) maps (details)
  349. debian: prepare for more subpackages (details)
  350. debian: add subpackage osmocom-bb-trxcon (details)
  351. debian: add subpackage osmocom-bb-virtphy (details)
  352. debian: add subpackage osmocom-bb-trx-toolkit (details)
  353. Bump version: 0.1.0 → 0.2.0 (details)
  354. jenkins.sh: Use --disable-doxygen configure param (details)
  355. trx_toolkit/clck_gen.py: Fix clock generator not to accumulate timing (details)
  356. trx_toolkit/clck_gen: Fix DeprecationWarning about Thread.setDaemon (details)
  357. trx_toolkit/clck_gen: Fix clock generator to emit ticks with exactly GSM (details)
  358. Revert "Revert "trx_toolkit/transceiver.py: implement the transmit burst (details)
  359. trxcon: Advance Uplink TDMA Fn by default again (details)
  360. trx_toolkit/transceiver: Do not forward nor log from under tx_queue_lock (details)
  361. trx_toolkit/transceiver: Do not scan tx_queue twice on tx path (details)
  362. trx_toolkit/transceiver: Use with tx_queue_lock instead of manual (details)
  363. trx_toolkit/*: Represent bursts as arrays instead of lists (details)
  364. trx_toolkit/*: Try to avoid copying burst data where possible (details)
  365. trx_toolkit/transceiver: Spellcheck (details)
  366. trx_toolkit: fix typos in Transceiver API doc (details)
  367. trx_toolkit: correct Tx burst advance value (details)
  368. fake_trx: Allow setting sched RR priority for clckgen thread (details)
  369. Set sched RR Priority on main thread (details)
  370. fake_trx: Remove unneeded field assignment (details)
  371. doc/examples/mobile: rename default.cfg -> mobile.cfg (details)
  372. debian: remove osmocom-bb.install (details)
  373. debian: fix empty osmocom-bb-{trxcon,virtphy} packages (details)
  374. debian: install /etc/osmocom/{mobile,modem}.cfg (details)
  375. debian: install *.cfg and *.lua examples (details)
  376. debian: add osmocom-bb-{gprsdecode,osmocon} packages (details)
  377. debian: add osmocom-bb-doc (user manual) (details)
  378. WIP (details)
Commit 616949a0bec09f566abdff62610aa85c1e32de02 by Vadim Yanitskiy
trxcon: use 3GPP TS 45.002 definitions from libosmogsm

Change-Id: Ieb3b502e1e5432e425a55c1217211b77e9ca91c9
Depends: libosmocore.git I1c38ccc2b64ba9046bb3b1221d99cc55ec493802
The file was modifiedsrc/host/trxcon/src/sched_lchan_xcch.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_rach.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchh.c
The file was modifiedsrc/host/trxcon/src/sched_trx.c
The file was modifiedsrc/host/trxcon/include/osmocom/bb/l1sched/l1sched.h
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchf.c
The file was modifiedsrc/host/trxcon/src/trx_if.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_desc.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_pdtch.c
Commit 6fe33fd6d43bf51da18ffa9ec9b2a944cd3e16de by Vadim Yanitskiy
trxcon: do not crash on receipt of 8-PSK modulated bursts

TRXDv0 PDUs may have 2 additional dummy bytes at the end.  Such
a PDU will crash trxcon if it contains an 8-PSK modulated burst:

  Assert failed phybi->burst_len <= sizeof(bi.burst)

In this case phybi->burst_len would be 444 + 2, while size of the
burst buffer in struct l1sched_burst_ind is limited to the length
of an 8-PSK modulated burst (444).

Change-Id: Icfba986ccf0c696ba019b91575b4d69db001c14f
The file was modifiedsrc/host/trxcon/src/trx_if.c
Commit 736438693e4f2b6b1a4959a6cadeafa61640821d by msuraev
mobile: allow configuring local GSMTAP address

Change-Id: Ia1555db653cf0bb20af74617f33aad31c971bfdb
The file was modifiedsrc/host/layer23/src/common/vty.c
The file was modifiedsrc/host/layer23/src/mobile/main.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/l23_app.h
Commit 22f12ba92e6f37c569dba13a4ebb214c2d2d5f58 by Max
vty: fix local-host docs

Change-Id: I69d0fa32105a3d114cdcae84ef2cc3ada578f13a
The file was modifiedsrc/host/layer23/src/common/vty.c
Commit 5adc13d69db03b594958244726ed1ab1f1f82481 by Vadim Yanitskiy
trxcon: move l1ctl_proto.h to 'include/osmocom/bb/'

The upcoming l1gprs library will be using this header too.

Change-Id: I2101b20637f837038115497873bd905f95a3d0c2
The file was removedsrc/host/trxcon/include/osmocom/bb/trxcon/l1ctl_proto.h
The file was modifiedsrc/host/trxcon/include/osmocom/bb/trxcon/Makefile.am
The file was addedsrc/host/trxcon/include/osmocom/bb/l1ctl_proto.h
The file was modifiedsrc/host/trxcon/include/osmocom/bb/Makefile.am
The file was modifiedsrc/host/trxcon/src/l1ctl.c
Commit c43d4183f514bbbe200048f07d75a5cad79bae55 by Vadim Yanitskiy
gprsdecode: Makefile.am: drop -Wno-missing-braces and -O3

Do not hard-code these CFLAGs, let the user decide on them.

Change-Id: I3a946b853029cc4cff9c2b15aa7339f84b2cb6c9
The file was modifiedsrc/host/gprsdecode/Makefile.am
Commit 9feb5057da41611033a5881409c4fef2628d98a9 by Vadim Yanitskiy
layer23: refactor the application API concept

With this set of changes we have a cleaner l23 app architecture:

* struct vty_app_info: all l23 applications must define this struct;
* struct vty_app_info: *cfg_supported() becomes a mask of L23_OPT_*;
* struct vty_app_info: explicitly set L23_OPT_* in all l23 apps;
* drop l23_app_info(), there can be only one vty_app_info per an app;

It's no more needed to obtain the vty_app_info by calling a function
and checking the returned value against NULL everywhere.  This kind
of information is rather static (not dynamically composed) and needs
not to be encapsulated into functions.

Change-Id: I89004cd5308927305f79b102f7b695709148df6d
The file was modifiedsrc/host/layer23/src/mobile/app_mobile.c
The file was modifiedsrc/host/layer23/src/misc/app_cbch_sniff.c
The file was modifiedsrc/host/layer23/src/common/main.c
The file was modifiedsrc/host/layer23/src/misc/app_ccch_scan.c
The file was modifiedsrc/host/layer23/src/misc/app_bcch_scan.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/l23_app.h
The file was modifiedsrc/host/layer23/src/misc/app_echo_test.c
The file was modifiedsrc/host/layer23/src/common/apn.c
The file was modifiedsrc/host/layer23/src/common/vty.c
The file was modifiedsrc/host/layer23/src/modem/app_modem.c
The file was modifiedsrc/host/layer23/src/mobile/main.c
The file was modifiedsrc/host/layer23/src/misc/app_cell_log.c
Commit 67943df4b7e59ef4982b586271566099c2f14d4a by Vadim Yanitskiy
layer23: fix parsing of command line options

After the recent refactoring, parsing of the command line options is
broken for some arguments.  Specifically, the value of '-a'/'--arfcn'
is ignored and hard-coded ARFCN=871 is used instead.

The problem is that l23_app_init(), which allocates an MS state and
sets the initial ARFCN, is called *before* handle_options().  So the
cfg_test_arfcn is used before it gets overwritten from the argv[].

The usual approach in osmo-* apps is to parse the command line
arguments first, and only then execute code which depends on
configurable parameters.  Let's follow this approach too.

Change-Id: I77ca11c14561fa3fcb9add60ccea5b0b847a20c4
The file was modifiedsrc/host/layer23/src/common/main.c
The file was modifiedsrc/host/layer23/src/mobile/main.c
Commit 38ef3280d2be5c1451202cc09f0c0ca5c23b4ced by Vadim Yanitskiy
trxcon: do not send DATA.cnf for L1SCHED_DT_TRAFFIC

The event TRXCON_EV_TX_DATA_CNF is not premitted in state
TRXCON_ST_PACKET_DATA, and is not of any use for l1gprs.

Change-Id: Iee5ee404f1eb77091c388a641d0a78d01a8d7e7f
Related: OS#5500
The file was modifiedsrc/host/trxcon/src/trxcon_shim.c
Commit 0b51656c06c58f53d7b27ad02de2831858cf31a7 by Vadim Yanitskiy
virt_phy: rearrange and clean up header files

* Build up the usual include directory hierarchy.
* Move l1ctl_proto.h to 'include/osmocom/bb/'.
* System headers first, then libosmo*, the local ones.

Change-Id: I25145630ec53c2b8065a42fb12a778eec010f10c
Related: OS#5500
The file was addedsrc/host/virt_phy/include/osmocom/bb/virtphy/virt_l1_model.h
The file was modifiedsrc/host/virt_phy/src/virt_prim_rach.c
The file was addedsrc/host/virt_phy/include/osmocom/bb/virtphy/Makefile.am
The file was modifiedsrc/host/virt_phy/src/virt_prim_traffic.c
The file was removedsrc/host/virt_phy/include/virtphy/virt_l1_sched.h
The file was modifiedsrc/host/virt_phy/src/shared/osmo_mcast_sock.c
The file was modifiedsrc/host/virt_phy/src/virtphy.c
The file was modifiedsrc/host/virt_phy/src/shared/virtual_um.c
The file was addedsrc/host/virt_phy/include/osmocom/bb/Makefile.am
The file was removedsrc/host/virt_phy/include/virtphy/gsmtapl1_if.h
The file was modifiedsrc/host/virt_phy/src/virt_prim_data.c
The file was removedsrc/host/virt_phy/include/virtphy/l1ctl_proto.h
The file was modifiedsrc/host/virt_phy/src/gsmtapl1_if.c
The file was modifiedsrc/host/virt_phy/src/logging.c
The file was modifiedsrc/host/virt_phy/src/l1ctl_sap.c
The file was addedsrc/host/virt_phy/include/osmocom/bb/l1ctl_proto.h
The file was addedsrc/host/virt_phy/include/osmocom/bb/virtphy/virtual_um.h
The file was modifiedsrc/host/virt_phy/src/virt_l1_sched_simple.c
The file was removedsrc/host/virt_phy/include/virtphy/common_util.h
The file was removedsrc/host/virt_phy/include/virtphy/l1ctl_sock.h
The file was modifiedsrc/host/virt_phy/src/l1ctl_sock.c
The file was modifiedsrc/host/virt_phy/src/virt_prim_fbsb.c
The file was modifiedsrc/host/virt_phy/src/virt_prim_pm.c
The file was addedsrc/host/virt_phy/include/osmocom/bb/virtphy/logging.h
The file was removedsrc/host/virt_phy/include/virtphy/virt_l1_model.h
The file was modifiedsrc/host/virt_phy/include/Makefile.am
The file was addedsrc/host/virt_phy/include/osmocom/bb/virtphy/osmo_mcast_sock.h
The file was removedsrc/host/virt_phy/include/virtphy/l1ctl_sap.h
The file was addedsrc/host/virt_phy/include/osmocom/bb/virtphy/virt_l1_sched.h
The file was modifiedsrc/host/virt_phy/configure.ac
The file was addedsrc/host/virt_phy/include/osmocom/bb/virtphy/l1ctl_sap.h
The file was removedsrc/host/virt_phy/include/virtphy/osmo_mcast_sock.h
The file was addedsrc/host/virt_phy/include/osmocom/Makefile.am
The file was removedsrc/host/virt_phy/include/virtphy/logging.h
The file was addedsrc/host/virt_phy/include/osmocom/bb/virtphy/common_util.h
The file was addedsrc/host/virt_phy/include/osmocom/bb/virtphy/gsmtapl1_if.h
The file was removedsrc/host/virt_phy/include/virtphy/virtual_um.h
The file was modifiedsrc/host/virt_phy/src/virt_l1_model.c
The file was addedsrc/host/virt_phy/include/osmocom/bb/virtphy/l1ctl_sock.h
Commit 0504bd028e50d1b04af7eacf77bd593defcdae54 by Vadim Yanitskiy
virt_phy: clean up and improve Makefile.am

* Make virtphy_{SOURCES,LDADD} git-friendly: one file per line;
* Remove '-pthread' from LDADD, it's not really needed;
* Remove debugging leftovers.

Change-Id: Iccd07614aabfc2845424d25962f48e4231a50a90
Related: OS#5500
The file was modifiedsrc/host/virt_phy/src/Makefile.am
Commit 20ee798ffdc239dc77d0478852d171825a2b9b18 by Vadim Yanitskiy
virt_phy: cosmetic: make the linter happy about code indent

Change-Id: Iba777a4aff261006ae1aec9b583fecd12295c837
Related: OS#5500
The file was modifiedsrc/host/virt_phy/src/virt_prim_data.c
The file was modifiedsrc/host/virt_phy/src/logging.c
The file was modifiedsrc/host/virt_phy/include/osmocom/bb/virtphy/l1ctl_sap.h
Commit 4b859aae59102a20a5296db2039712a48239d11c by Vadim Yanitskiy
virt_phy: cosmetic: make the linter happy about identifier names

Change-Id: I415f4b6f65c16a5dac84c75c5f97bf12109c74e5
Related: OS#5500
The file was modifiedsrc/host/virt_phy/include/osmocom/bb/virtphy/l1ctl_sap.h
Commit 94bfc1d051bc6ad8d9733ad2b8874cdefbd89220 by Vadim Yanitskiy
virt_phy: avoid confusion between RSSI (dBm) and RxLev (0..63)

Change-Id: I4f2982cd8fa1b7a47f983c9cd11bf0180f7878ec
Related: OS#5500
The file was modifiedsrc/host/virt_phy/include/osmocom/bb/virtphy/l1ctl_sap.h
The file was modifiedsrc/host/virt_phy/src/virt_prim_traffic.c
The file was modifiedsrc/host/virt_phy/src/virt_prim_data.c
The file was modifiedsrc/host/virt_phy/src/gsmtapl1_if.c
Commit 7f9c01f00f89b00fd1d52e41fdb757792ed78e81 by Vadim Yanitskiy
modem: get rid of app_data.{ccch_mode,si}, use ms->cellsel

Change-Id: Ib711a3b893c43c0875c431c90cd0a2ebfafe1926
Related: OS#5500
The file was modifiedsrc/host/layer23/src/modem/app_modem.c
Commit 6db5f8b9ce2823e0305b55feb2e3a407bfb55447 by Vadim Yanitskiy
modem: get rid of app_data.chan_req, use ms->rrlayer

Change-Id: I77d0a834a73c511f157c6f1524b9e98df3f4def4
Related: OS#5500
The file was modifiedsrc/host/layer23/src/modem/app_modem.c
Commit b8c3bef7376fab28d2f71406e4b4e9c3fcddfcf0 by Pau Espin Pedrol
layer23: Call osmo_fd_unregister() before closing and changing bfd->fd

Change-Id: I886062c1a944acf0982755a7acddf7e2233d13a8
The file was modifiedsrc/host/layer23/src/common/l1l2_interface.c
The file was modifiedsrc/host/layer23/src/common/sap_interface.c
The file was modifiedsrc/host/layer23/src/mobile/mncc_sock.c
Commit 8240ef74fc386fd95ca0b669e99ee7d0041d2b83 by Vadim Yanitskiy
modem: move GRR specific code into its own file

Change-Id: I25caa0bd01e3d090803512f5b13cad58439f44f8
Related: OS#5500
The file was addedsrc/host/layer23/src/modem/grr.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/modem/Makefile.am
The file was modifiedsrc/host/layer23/src/modem/Makefile.am
The file was addedsrc/host/layer23/include/osmocom/bb/modem/grr.h
The file was modifiedsrc/host/layer23/src/modem/app_modem.c
Commit 7ea900525cbeed2ad74d866f977f21273ba3afdf by Vadim Yanitskiy
modem: clean up #includes (using include-what-you-use)

Change-Id: I728f3eea1590f46bef6e0eb4beb9714f6c9a1614
The file was modifiedsrc/host/layer23/src/modem/vty.c
The file was modifiedsrc/host/layer23/src/modem/app_modem.c
The file was modifiedsrc/host/layer23/src/modem/rlcmac.c
The file was modifiedsrc/host/layer23/src/modem/sndcp.c
The file was modifiedsrc/host/layer23/src/modem/llc.c
Commit 1612c8f8627fbb005e478e880526262eb13724a2 by Pau Espin Pedrol
layer23: modem: Depend on libosmo-gprs-gmm

Related: OS#5501
Change-Id: I82a2b9c043eae42435ca781689fc3381e7a31bea
The file was modifiedsrc/host/layer23/src/modem/Makefile.am
The file was modifiedsrc/host/layer23/configure.ac
The file was modifiedsrc/host/layer23/src/modem/app_modem.c
The file was addedsrc/host/layer23/include/osmocom/bb/modem/gmm.h
The file was modifiedsrc/host/layer23/include/osmocom/bb/modem/Makefile.am
The file was addedsrc/host/layer23/src/modem/gmm.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/logging.h
Commit b29a26c6205d3080f21dc15e4f27c967454fb01d by Vadim Yanitskiy
modem: add test VTY command to send CHANNEL REQUEST

Do not call grr_tx_chan_req() unconditionally from grr_rx_bcch().
Add a special (hidden, expert mode) VTY command for that.

Change-Id: I049a8d7f58ae9703d06dff235973ba376702c873
Related: OS#5500
The file was modifiedsrc/host/layer23/src/modem/vty.c
The file was modifiedsrc/host/layer23/src/modem/grr.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/modem/grr.h
Commit 42ca40dd1e9746bab5fac92c1b08eeb7f7d0895a by Vadim Yanitskiy
modem: add test VTY command for sending raw LLC PDUs

Change-Id: I14f58e715d77a1b1cb40fdd3ddd09084360f2274
Related: OS#5500
The file was modifiedsrc/host/layer23/src/modem/vty.c
Commit b2dfbb88591395135a494c048cac5c93865720de by Vadim Yanitskiy
layer23/{mobile,modem}: fix segfault on VTY connection

It was a mistake to call vty_init(), passing it a pointer to the
vty_app_info structure allocated on the stack, because it gets
overwritten when the calling function _vty_init() returns.

Change-Id: I75843a964254243c70bedcf8ff97d854107ee21a
Fixes: 9feb5057 "layer23: refactor the application API concept"
The file was modifiedsrc/host/layer23/src/common/main.c
The file was modifiedsrc/host/layer23/src/modem/app_modem.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/l23_app.h
The file was modifiedsrc/host/layer23/src/mobile/app_mobile.c
The file was modifiedsrc/host/layer23/src/mobile/main.c
Commit 4949ab7471370bf2d3b63e74c6846340dc638d06 by Vadim Yanitskiy
layer23/{mobile,modem}: prefix VTY prompt with project's name

Change-Id: If7ce89362c75e2c15995dfb08cfcfdcad24e2529
The file was modifiedsrc/host/layer23/src/mobile/app_mobile.c
The file was modifiedsrc/host/layer23/src/modem/app_modem.c
Commit e15996378f102b801868f5e5edd687ba9c72c69b by Vadim Yanitskiy
modem: fix modem_gmm_prim_up_cb(): add missing break

Change-Id: Ibd16232d76d83d90f27d08b47aa38509161270b6
Fixes: CID#311019
The file was modifiedsrc/host/layer23/src/modem/gmm.c
Commit 2b462dd89db851148c154e30f570a1d2ea4c6567 by Vadim Yanitskiy
{trxcon,virt_phy}: shared GPRS L1 (MAC) implementation

Change-Id: I9567d64f9d00262e36147e8d7e541e5e246bda5f
Related: OS#5500
The file was modifiedsrc/host/virt_phy/src/l1ctl_sap.c
The file was addedsrc/host/virt_phy/include/osmocom/bb/l1gprs.h
The file was modifiedsrc/host/trxcon/src/logging.c
The file was modifiedsrc/host/trxcon/include/osmocom/bb/trxcon/trxcon_fsm.h
The file was addedsrc/host/trxcon/include/osmocom/bb/l1gprs.h
The file was modifiedsrc/host/trxcon/include/osmocom/bb/trxcon/logging.h
The file was modifiedsrc/host/trxcon/src/l1ctl.c
The file was modifiedsrc/host/virt_phy/include/osmocom/bb/virtphy/virt_l1_model.h
The file was modifiedsrc/host/virt_phy/include/osmocom/bb/virtphy/l1ctl_sap.h
The file was addedinclude/l1gprs.h
The file was modifiedsrc/host/virt_phy/include/osmocom/bb/virtphy/logging.h
The file was modifiedsrc/host/virt_phy/src/logging.c
The file was modifiedsrc/host/virt_phy/include/osmocom/bb/Makefile.am
The file was modifiedinclude/l1ctl_proto.h
The file was modifiedsrc/host/trxcon/include/osmocom/bb/Makefile.am
The file was addedsrc/host/virt_phy/src/virt_prim_pdch.c
The file was modifiedsrc/host/trxcon/include/osmocom/bb/trxcon/trxcon.h
The file was addedsrc/host/trxcon/src/l1gprs.c
The file was addedsrc/shared/l1gprs.c
The file was addedsrc/host/virt_phy/src/l1gprs.c
The file was modifiedsrc/host/trxcon/src/Makefile.am
The file was modifiedsrc/host/virt_phy/src/gsmtapl1_if.c
The file was modifiedsrc/host/trxcon/src/trxcon_fsm.c
The file was modifiedsrc/host/trxcon/src/trxcon_inst.c
The file was modifiedsrc/host/virt_phy/src/Makefile.am
The file was modifiedsrc/host/virt_phy/src/virtphy.c
Commit bb6df124d20b48d85b2e94683011d2c0525f2848 by Vadim Yanitskiy
layer23: implement Rx/Tx API for GPRS related messages

Change-Id: I87950e893ef96ff8328f43f1548111aa9f66439b
Related: OS#5500
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/l1ctl.h
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/ms.h
The file was modifiedsrc/host/layer23/src/common/l1ctl.c
Commit 3b582af2eb05071961ef1c8b77b4210c2335f4d1 by Vadim Yanitskiy
modem: route L1CTL prims to/from libosmo-gprs-rlcmac

Change-Id: I38e9a686f8edc3fe55f961d75e68602c33bbbaaf
Related: OS#5500
The file was modifiedsrc/host/layer23/src/modem/rlcmac.c
Commit 080310982df4629f569aa6bcdb7a8f32b5d7b9e1 by Vadim Yanitskiy
l1ctl_proto: fix unpacked struct in l1ctl_gprs_dl_block_ind

The __attribute__((packed)) does not apply to inner structures.
I found this problem when testing the new TTCN-3 message definitions.

Change-Id: I90e74330073a9090c2638fc3175ff0216b0da5ec
Related: OS#5500
The file was modifiedinclude/l1ctl_proto.h
Commit 590a62a961025a21be7a55539b2f9ddae83ed38c by Vadim Yanitskiy
l1gprs: fix NULL pointer dereference in l1gprs_unregister_tbf()

Change-Id: Ie3e7b5a8a205d4410de458dec2fde466493d31ce
Related: CID#311449
The file was modifiedsrc/shared/l1gprs.c
Commit e8a3ad221648623dcb6f394cee407bc7cd2a3980 by Pau Espin Pedrol
layer23: modem: Test GMM layer through VTY

Recent work on libosmo-gprs-gmm already allows triggering GPRS Attach
procedure. Let's add some code to use it so we can already test the
entire stack GMM->LLC->RLCMAC (SM layer still missing).

Depends: libosmo-gprs.git Change-Id I212053b3a3f27ef7d63503c3d5ef08453b2d2056
Related: OS#5501
Change-Id: Iba0663075468670a29aceafe5196cae3cab050eb
The file was modifiedsrc/host/layer23/src/modem/vty.c
The file was modifiedsrc/host/layer23/src/modem/llc.c
The file was modifiedsrc/host/layer23/src/modem/gmm.c
Commit 848b859f302101dde3527b8f55dd6a451b9923b1 by Vadim Yanitskiy
layer23: add missing log_info_cat[] entry for DGMM

Change-Id: Icdc09b6edce7abb3ff88f12650d3b304447d39a6
Fixes: 1612c8f86 "layer23: modem: Depend on libosmo-gprs-gmm"
Related: OS#5501
The file was modifiedsrc/host/layer23/src/common/logging.c
Commit d692e6ca9c7b5ceada0aa129a8a7c1f0aedd97b7 by Vadim Yanitskiy
modem: set logging cat for OSMO_GPRS_RLCMAC_LOGC_TBF{UL,DL}

... otherwise the library will be using default DLGLOBAL.

Change-Id: I98efa4c8137c7ec57da6ef7ea1307b4e46b4fc98
Related: OS#5500
The file was modifiedsrc/host/layer23/src/modem/rlcmac.c
Commit 2a4fb973415568b703cdda18bec073a5b8727594 by Vadim Yanitskiy
trxcon: add GSMTAP logging target if '-g' is given

Unlike the other more mature Osmocom projects, trxcon does not have its
own VTY interface and thus does not support the config file parsing,
so currently it's impossible to configure additional logging targets.

There is a command line option '-g', which enables GSMTAP Um logging.
Let's also add a GSMTAP logging target if it's given.  This is a quick
hack, but good enough for occasional debugging.

Change-Id: I2c5e630dd508dff12d0116bdc0a4cc1276cac5ed
Related: OS#5500
The file was modifiedsrc/host/trxcon/src/trxcon_main.c
Commit a80957b617eca785e7ab3791952e9e6a6cbb1716 by Vadim Yanitskiy
trxcon: l1sched_prim_dequeue(): check TDMA Fn in PDCH prims

We shall never be transmitting Uplink PDCH blocks if the current
TDMA Fn does not match the requested TDMA Fn, because Tx timing
is critical for PDCH timeslots.  Drop and log an error message.

Change-Id: I6b2d9cc93ce266524f56a1b6a97beecfc0ad042d
Related: OS#5500
The file was modifiedsrc/host/trxcon/src/sched_prim.c
The file was modifiedsrc/host/trxcon/include/osmocom/bb/l1sched/l1sched.h
The file was modifiedsrc/host/trxcon/src/trxcon_fsm.c
Commit 574177d2cefb5164e8d60a0a319e3ea65b7893b5 by Pau Espin Pedrol
layer23: rlcmac: Support GMM detaching from VTY

Related: OS#5501
Depends: libosmo-gprs.git Change-Id If6cbb1d425b3a9f713348f1dea4747e2b6be0a44
Change-Id: Idca0bff6fc3e6a16b5e8379eae3315e3af012d78
The file was modifiedsrc/host/layer23/src/modem/vty.c
Commit 3e31b3232d2a964f3a2cbd3f0f67edb36a3306e9 by Pau Espin Pedrol
layer23: modem: Forward GMMRR primitives between GMM and RLCMAC layers

Related: OS#5501
Change-Id: I7603d8bbda0cdd437eb7557267efb7bbc3552565
The file was modifiedsrc/host/layer23/src/modem/rlcmac.c
The file was modifiedsrc/host/layer23/src/modem/gmm.c
Commit 7b8cc36ad04902fd25104870e7a2d96df92cb7fc by Pau Espin Pedrol
layer23: modem: fill imsi & imei in vty 'test gmm attach'

Related: OS#5501
Change-Id: If93f7e2cbb421d0aa2702b8e130c8602fbc18a97
The file was modifiedsrc/host/layer23/src/modem/vty.c
Commit 79ea13fccc3ba7edf9156c9dc6393c28a6679637 by Pau Espin Pedrol
layer23: Support cpu-sched vty node from libosmocore

Change-Id: I1affb401bf355360fe306568c9b5c005dbd0746c
The file was modifiedsrc/host/layer23/src/common/vty.c
Commit a89939a68b132aa6a74b2f6fbb249b45d6723a1f by Pau Espin Pedrol
modem: initial SM layer support through libosmo-gprs-sm

Depends: libosmo-gprs.git Change-Id I9b4a9a6364f7799540475e7e1d10ab2310768281
Related: OS#5501
Change-Id: I9476d93954c7dc348e6f97ca89eaa651f802f9a0
The file was modifiedsrc/host/layer23/configure.ac
The file was addedsrc/host/layer23/include/osmocom/bb/modem/sm.h
The file was modifiedsrc/host/layer23/src/modem/vty.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/modem/Makefile.am
The file was addedsrc/host/layer23/src/modem/sm.c
The file was modifiedsrc/host/layer23/src/common/logging.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/logging.h
The file was modifiedsrc/host/layer23/src/modem/Makefile.am
The file was modifiedsrc/host/layer23/src/modem/app_modem.c
Commit 7035b8095cb027a5fb8b1f839b2b3cca75c8a4e5 by Pau Espin Pedrol
layer23: modem: llc: Fix typo LLGM -> LLGMM

Depends: libosmo-gprs.git Change-Id I59577d27bedd26903c9b1bfc64792f0891cea728
Change-Id: I786661894fc6772784ba6f0d2fdb45bbdca5254c
The file was modifiedsrc/host/layer23/src/modem/llc.c
Commit 0927643a323435fca012fdcbfdf9b96d9b891ed2 by Vadim Yanitskiy
trxcon: l1sched: fix copy-paste in LOGP_SCHEDD macro

Change-Id: I256578ae23e2f2d29a2751169c63d7a3df6d6f56
Related: OS#5500
The file was modifiedsrc/host/trxcon/include/osmocom/bb/l1sched/logging.h
Commit e535c0488d6a3261783693096edbe0dcdb9fc598 by Vadim Yanitskiy
trxcon/l1sched: rename l1sched[_lchan]_prim_drop()

Make it clear that this function operates on a logical channel.
Also take a chance to remove redundant comments and ws.

Change-Id: I0517bba2be5403d437d3879b2332196d872e11f2
Related: OS#5500
The file was modifiedsrc/host/trxcon/src/sched_lchan_xcch.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchh.c
The file was modifiedsrc/host/trxcon/src/sched_trx.c
The file was modifiedsrc/host/trxcon/src/sched_prim.c
The file was modifiedsrc/host/trxcon/include/osmocom/bb/l1sched/l1sched.h
The file was modifiedsrc/host/trxcon/src/sched_lchan_pdtch.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchf.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_rach.c
Commit bef3f3804402dc923a765a96242b0652525383a9 by Vadim Yanitskiy
trxcon/l1sched: cosmetic: rename l1sched_find_lchan()

An upcoming patch will add a similar function taking chan_nr/link_id
as the search criteria, so let's clarify the existing API first.

Change-Id: Ib9f733c22d7fc6bd933219906ca680f246b07f4b
Related: OS#5500
The file was modifiedsrc/host/trxcon/src/sched_trx.c
The file was modifiedsrc/host/trxcon/include/osmocom/bb/l1sched/l1sched.h
Commit 7264fbfa4aa0e1d01e88f363cbba20f13ceaa08f by Vadim Yanitskiy
trxcon/l1sched: use RSL_CHAN_NR_MASK from libosmogsm

Change-Id: Ibec43dcd4acc104ab5f1930112db6fe9aff917a1
Related: OS#5500
The file was modifiedsrc/host/trxcon/src/sched_trx.c
Commit 24c8cd876a13b400ac96f086839dc28219371885 by Vadim Yanitskiy
trxcon/l1sched: add l1sched_find_lchan_by_chan_nr()

Change-Id: I9917a932c9a4aeb4b3ef7053bd58066b3aa41edb
Related: OS#5500
The file was modifiedsrc/host/trxcon/include/osmocom/bb/l1sched/l1sched.h
The file was modifiedsrc/host/trxcon/src/sched_trx.c
Commit 4ba8db561e36112a8acb1f5154685ee079505c36 by Pau Espin Pedrol
layer23: modem: sndcp: Apply API change in libosmo-gprs-sndcp

Depends: libosmo-gprs.git Change-Id Iebce37a50917b13c23de1528469d66c310ced7f2
Related: OS#5502
Change-Id: I4f559e4a882a85742c45609dec596f0485eafed0
The file was modifiedsrc/host/layer23/src/modem/sndcp.c
Commit 1cb78f311440adeb89cbe8f2c491ea165a7dd80f by Pau Espin Pedrol
layer23: modem: Forward SNSM primitives SNDCP<->SM layers

Related: OS#5501
Depends: libosmo-gprs.git Change-Id Ic5525bfa92e2591757d999610c0d59849d022d8d
Change-Id: Iad63f41557fbd078588dd890e2f18ed9606a25f7
The file was modifiedsrc/host/layer23/src/modem/sndcp.c
The file was modifiedsrc/host/layer23/src/modem/sm.c
Commit ff9db9def78d9c2439c8ff3196746bf6df987886 by Vadim Yanitskiy
trxcon/l1sched: rework the primitive API

The goal is to simplify primitive management, and allow passing data
between different components without having to re-allocate memory and
copy it over several times.  This patch has been tested by running
ttcn3-bts-test, no regressions observed.

* Use msgb and prim API from libosmocore,
* Move l1sched_prim definitions to its own header file,
* Move Tx queue from per-timeslot to per-lchan state,
* Route prims via l1sched_prim_{to,from}_user() functions,
* Remove GSMTAP stuff from sched_lchan_desc[].

Change-Id: I73576bd0ea10a5663ba6254283812c275cc3fa46
Related: OS#5500
The file was modifiedsrc/host/trxcon/src/sched_prim.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_pdtch.c
The file was modifiedsrc/host/trxcon/src/sched_trx.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_rach.c
The file was modifiedsrc/host/trxcon/include/osmocom/bb/l1sched/l1sched.h
The file was addedsrc/host/trxcon/include/osmocom/bb/l1sched/prim.h
The file was modifiedsrc/host/trxcon/include/osmocom/bb/l1sched/Makefile.am
The file was modifiedsrc/host/trxcon/src/sched_lchan_desc.c
The file was modifiedsrc/host/trxcon/src/trxcon_shim.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchf.c
The file was modifiedsrc/host/trxcon/src/trxcon_fsm.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_xcch.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchh.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_sch.c
Commit 46f49131da7140ef40b6ab777d7513102077de4c by msuraev
mobile: log unhandled event name

Change-Id: Id8e6e8af5756e3527ca1968b24f25e4238f0aa40
The file was modifiedsrc/host/layer23/src/mobile/gsm322.c
Commit a7bf51ac0e3ac3285a1b1bb77f5a1f6244f88d2d by Pau Espin Pedrol
layer23: Move vty_notify() to common/

Change-Id: Ic0a98e66adffa9fefeee6e69a4b5c691e0e9c789
The file was modifiedsrc/host/layer23/src/mobile/gsm48_rr.c
The file was modifiedsrc/host/layer23/src/mobile/vty_interface.c
The file was modifiedsrc/host/layer23/src/common/subscriber.c
The file was modifiedsrc/host/layer23/src/mobile/gsm48_mm.c
The file was modifiedsrc/host/layer23/src/mobile/gsm480_ss.c
The file was modifiedsrc/host/layer23/src/mobile/gsm322.c
The file was modifiedsrc/host/layer23/src/mobile/mnccms.c
The file was modifiedsrc/host/layer23/src/mobile/app_mobile.c
The file was modifiedsrc/host/layer23/src/common/vty.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/vty.h
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/vty.h
The file was modifiedsrc/host/layer23/src/mobile/gsm411_sms.c
Commit a78c3927a0b241b78665e23d6df0d9c6da9f4e55 by Pau Espin Pedrol
layer23: common/vty: Drop includes pointing to mobile app

Change-Id: I025b09500547a739240fc07fa04cb38378ed71db
The file was modifiedsrc/host/layer23/src/common/vty.c
Commit 234c1f14fd0ca8ea71bf75dccc5eb4f37863380a by Pau Espin Pedrol
layer23: Use libosmocore API to validate IMSI string

Change-Id: I2d4737dabcfb83a7b675c35ad973029a36658d5b
The file was modifiedsrc/host/layer23/src/common/subscriber.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/subscriber.h
The file was modifiedsrc/host/layer23/src/mobile/vty_interface.c
Commit 7019f1bf2b558f80d3b1699cc467950dd8701b56 by Pau Espin Pedrol
layer23: Move testsim node to common/

Change-Id: Ife34403a715809b43e7a4cd5ce4dec8616fc08af
The file was modifiedsrc/host/layer23/src/mobile/vty_interface.c
The file was modifiedsrc/host/layer23/src/common/vty.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/vty.h
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/vty.h
Commit 65cde7dd0439a937c273be84e4d758eae2e60d27 by Pau Espin Pedrol
layer23: modem: Fix wrong 'radio not started' vty message

Change-Id: I8871c9d0e820beb75d7820b5a2d8d3c77dac379d
The file was modifiedsrc/host/layer23/src/common/vty.c
The file was modifiedsrc/host/layer23/src/modem/app_modem.c
Commit f99819a4f21c8d6d0b304268f30964f4e858a6f3 by Pau Espin Pedrol
mobile: Fail VTY command if attching test SIM card fails

Change-Id: Ie5a395de6c926f13ce9324b93da0e348da5438d1
The file was modifiedsrc/host/layer23/src/mobile/vty_interface.c
Commit 651426fee4e847d0d22d5b4845c3ead139a0b574 by Pau Espin Pedrol
layer23: Decouple SIM events from MMR events

let the specific app handle the events generated from the
subscriber/SIM.
All the MMR specific code can for now stay in mobile/ while SIM support
can be in common/ without violating layers (common/ calling functions in
mobile/).

Change-Id: I473887e0fd9338d76a69a9774145a04575f14b64
The file was modifiedsrc/host/layer23/src/common/subscriber.c
The file was modifiedsrc/host/layer23/src/mobile/app_mobile.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/osmocom_data.h
Commit 0683b9033f40f6f46bcb8ae1cbba8887d3012755 by Pau Espin Pedrol
layer23: modem: Set on tun the IP address received during PDP Ctx Act Accept

Change-Id: I39c27caeff0ccd08d8d8b5fcba5a1d69238d53ca
The file was modifiedsrc/host/layer23/src/common/apn.c
The file was modifiedsrc/host/layer23/src/modem/sm.c
Commit 90bf6212b3ddbbf0f44862298420469c1f737862 by Vadim Yanitskiy
virt_phy: fix memleaks in l1ctl_rx_gprs_ul_block_req()

Change-Id: If29ff1e9cc052576102094d870bf1710da562463
Related: OS#5500
The file was modifiedsrc/host/virt_phy/src/virt_prim_pdch.c
Commit 0857d47885c7b396fda2672809116cd0c90179cc by Vadim Yanitskiy
virt_phy: fix bogous TDMA Fn check in l1ctl_rx_gprs_ul_block_req()

sched_fn_ul() does not support RSL_CHAN_OSMO_PDCH, so it would always
return the current time, which in most cases is not the correct time
for scheduling a block.  Actually, we don't really need this function
because the Tx Fn is provided to us by the upper layers - just use it.

Change-Id: Ieb2c819db1ef9377680866989cbb754fac5e45bd
Related: OS#5500
The file was modifiedsrc/host/virt_phy/src/virt_prim_pdch.c
Commit d0a1ec6204aae39fadb04ed3f70d7c4fc7421471 by Vadim Yanitskiy
l1gprs: reorder #includes, add missing <stdbool.h>

Change-Id: I6fe3b5d85c79a28bc116155c75f7ccd012007f56
Related: OS#5500
The file was modifiedinclude/l1gprs.h
Commit e8fc1e922859cd300257914604c8659d8e8ae648 by Pau Espin Pedrol
layer23: modem: Unregister registered callbacks upon app exit

It's just a good practice to delete all resources allocated during startup.
The main aim here is to keep resemblance to what the mobile app is doing,
so that they can slowly be merged and some functionalities from the mobile app can be
added to the modem app, like shutting down the MS without killing the process eventually.

Change-Id: I5a641fa3dadb6ea7346b25a20215896ab32eb805
The file was modifiedsrc/host/layer23/src/modem/app_modem.c
Commit 8cc6740448b3d2aef66ec547f4516f6e082902c5 by Pau Espin Pedrol
layer23: mobile: Mark several functions static

Change-Id: Ifdeef9373b903d14fb2f4ec4caa1bf8c42b45aa1
The file was modifiedsrc/host/layer23/src/mobile/app_mobile.c
The file was modifiedsrc/host/layer23/src/mobile/main.c
Commit 3c348f5893622020d4a6d941fa9d6ebf4c2d4366 by Pau Espin Pedrol
layer23: Call telnet_exit() during app exit if VTY support is enabled

Change-Id: Ic8540c73b1b13134e11f254beb6a16f7e4452317
The file was modifiedsrc/host/layer23/src/common/main.c
The file was modifiedsrc/host/layer23/src/mobile/main.c
The file was modifiedsrc/host/layer23/src/mobile/app_mobile.c
Commit 7626d0816f60af04ad1b596646bca360fffe6ad9 by Pau Espin Pedrol
layer23: Use GSM_RESERVED_TMSI from libosmocore everywhere

Change-Id: Ib9483b8ae4067994aef523291733ae706ffabe7a
The file was modifiedsrc/host/layer23/src/common/settings.c
The file was modifiedsrc/host/layer23/src/mobile/gsm48_rr.c
The file was modifiedsrc/host/layer23/src/common/vty.c
The file was modifiedsrc/host/layer23/src/mobile/gsm48_mm.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/subscriber.h
The file was modifiedsrc/host/layer23/src/common/subscriber.c
The file was modifiedsrc/host/layer23/src/mobile/vty_interface.c
Commit 7d45f4d4eea6f73e92ce8e484ca884df943d5ed5 by Pau Espin Pedrol
layer23: Use OSMO_IMSI_BUF_SIZE from libosmocore

Note: GSM_IMSI_LENGTH was 16 octets, and OSMO_IMSI_BUF_SIZE is 17
octets. Probably a bug in old osmocom-bb code since that code predates
the one in libosmocore.

Change-Id: I295444bb3b75ed236ea4af5563d9a9c9e590cab7
The file was modifiedsrc/host/layer23/src/common/subscriber.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/settings.h
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/subscriber.h
Commit 95988ff2889bc9b83dbb7a9e49c71364c380e0b4 by Pau Espin Pedrol
layer23: Use GSM23003_IMEI(SV)_NUM_DIGITS from libosmocore

Change-Id: I12a96043947c0f5366f550944a4df5edd2fd2c9d
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/settings.h
Commit ae8725fc85882b3bc3bb46d3d11f228873de005f by Pau Espin Pedrol
Initialize/release sim & subscriber ms parts in common/

Change-Id: Ifb88f7e4dcc049a687af213be597d495731b24b9
The file was modifiedsrc/host/layer23/src/common/ms.c
Commit da13bed837fc479ebeb57e0e8320a8b473f9e876 by Pau Espin Pedrol
layer23: Move 'show {subscriber,support}' to common/'

Those modules are aready in common/, so they can be added to the shared
VTY interface to introspect MS objects.

Change-Id: Ie4d85bbb1d0af8894683589d8b936f9884f79be9
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/vty.h
The file was modifiedsrc/host/layer23/src/mobile/vty_interface.c
The file was modifiedsrc/host/layer23/src/common/vty.c
Commit c58b5f0dbccfb03444cf4ace991b20540bf7e3b7 by Pau Espin Pedrol
layer23: vty: Move sim related commands to common/

Change-Id: I9e95732255c248b000f1045c395a15217d10db78
The file was modifiedsrc/host/layer23/src/common/vty.c
The file was modifiedsrc/host/layer23/src/mobile/vty_interface.c
Commit 6be26a97bfda465ced599c705e47d2f748e3bce9 by Pau Espin Pedrol
layer23: Use subscriber information and events to trigger GMMREG Attach

Change-Id: I1c7cc120ff4098c0b845e13a6e5e5db8b7e18376
The file was modifiedsrc/host/layer23/src/modem/gmm.c
The file was modifiedsrc/host/layer23/src/modem/vty.c
The file was modifiedsrc/host/layer23/src/modem/app_modem.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/modem/sm.h
The file was modifiedsrc/host/layer23/src/modem/sm.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/modem/gmm.h
Commit a85b6a7bd532eff6ee1d35518b0d60eba343e5f3 by Pau Espin Pedrol
layer23: modem: Forward GMM primitives up to SM layer

Change-Id: I5c5416775ccce4a1cbc70c8f6ba4fc25ace12d6f
The file was modifiedsrc/host/layer23/src/modem/gmm.c
Commit 993c4b4be66c01d359ddb829cc7bc5d3511b28b5 by Pau Espin Pedrol
layer23: vty: Move imei related commands to common/

Change-Id: I3c71586c0eb437ce63beaae5adf8fac6c27e2896
The file was modifiedsrc/host/layer23/src/mobile/vty_interface.c
The file was modifiedsrc/host/layer23/src/common/vty.c
Commit 291a3f08e557a1337d6a9accf51acf0101ab47bd by Pau Espin Pedrol
doc/examples/modem: Update modem.cfg with new features

Update the example config to contain IMSI and IMEI values which are used
when attaching to the network.

Set cpu-sched to realtime since RLCMAC is time-constrained.

Change-Id: I6060c833de2eef7591b7a4f149d9e148455db970
The file was modifieddoc/examples/modem/modem.cfg
Commit 9f2561a592fd369733a7ebf9d5dbbe4574b28ead by Pau Espin Pedrol
layer23: modem: Store P-TMSI independently in subscriber

Change-Id: I6f6d230d8c3c4fce27ba87cf9f953dc9db83cb72
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/subscriber.h
The file was modifiedsrc/host/layer23/src/modem/gmm.c
The file was modifiedsrc/host/layer23/src/common/subscriber.c
The file was modifiedsrc/host/layer23/src/modem/sm.c
Commit 09b971d8b94eb907f3052ddfac3b4e71dab8b50c by Pau Espin Pedrol
layer23: modem: Store P-TMSI allocated by the network

Change-Id: Ide686230336d68153db59e76dd97b7e7c6f500d8
The file was modifiedsrc/host/layer23/src/modem/gmm.c
Commit 712e7cdf24b34bc8c3e33158b0453cb2065f8b13 by Vadim Yanitskiy
trxcon: ignore TRXCON_EV_TX_DATA_CNF in TRXCON_ST_PACKET_DATA

Change-Id: Ie3c53ffbac1f1906cc97ef66eb74e24aee2cb2c4
Related: OS#5500
The file was modifiedsrc/host/trxcon/src/trxcon_fsm.c
The file was modifiedsrc/host/trxcon/src/trxcon_shim.c
Commit 2cb97ba8dafb90e493f99c306fdd9fdc7aa41bca by Vadim Yanitskiy
trxcon: reduce DGPRS logging level to LOGL_NOTICE

This was needed during early testing of l1gprs, but not anymore.

Change-Id: Ifccf8ccae2d9acc4039db46a87fa43f95a28e6ad
Related: OS#5500
The file was modifiedsrc/host/trxcon/src/logging.c
Commit 5dccc1fbd870dbf259efacb746d6a901e439be9d by Vadim Yanitskiy
trxcon: use non-blocking stderr logging by default

The logging in trxcon is initialized by calling osmo_init_logging2(),
which creates an stderr target in *blocking* mode.  Blocking write()s
may cause random burst scheduling delays (due to the whole process
being stuck).  This is not desired and becomes even more critical
when operating in PS doman, which imposes strict timing requirements.

trxcon does not have its own VTY interface yet, so there's currently
no easy way to switch to non-blocking mode like in other osmo-apps.
Let's enable it by default in trxcon_logging_init().

Change-Id: I8cbfd9b4644f8442cbedc7e452ba79816923fc10
Related: OS#5500
The file was modifiedsrc/host/trxcon/src/logging.c
Commit b0be904bc610771fabf33cbe62ec1c27d7f220dc by Vadim Yanitskiy
trxcon: do not call l1sched_prim_dequeue() at ul_bid != 0

It may happen that the Tx queue is empty at TDMA Fn corresponding to
ul_bid == 0, and then shortly after something appears at ul_bid != 0.

The lchan Tx handlers call the encoding functions from libosmocoding
only at bid == 0, so dequeueing at ul_bid != 0 makes no sense.

Change-Id: Ic0bbe2ab6c0ccd96c1f8af8aa17ac88adf7f88ed
Related: OS#5500
The file was modifiedsrc/host/trxcon/src/sched_trx.c
Commit 19c87cf7d4a5f92682dd2dcbd1c5b4fa032b1c17 by Pau Espin Pedrol
layer23: modem: Resolve auth requests coming from GMM layer

Change-Id: I75dc3fe3e4d9e23443fb778e36ca024f1bc46641
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/ms.h
The file was modifiedsrc/host/layer23/src/modem/app_modem.c
The file was modifiedsrc/host/layer23/src/modem/gmm.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/modem/gmm.h
Commit fa4293d93a131ce37505441affe565f27590fcbc by Pau Espin Pedrol
layer23: modem: sndcp: Forward LL-XID.req SNDCP->LLC

Change-Id: Icbc033cd0659bba75bb280a3d46e76edd2e20226
The file was modifiedsrc/host/layer23/src/modem/sndcp.c
Commit 0e836fb0dd2d009b0b9c4a2b7f72cea9ca16082d by Pau Espin Pedrol
layer23: modem: sm: Properly inform SM layer of ownership transfer

Change-Id: I95ed63fe6442369ab3afb75cbd9908b87addbb3e
The file was modifiedsrc/host/layer23/src/modem/sm.c
Commit 8d996de55b42b9288f7eaaae67c87a41da84ba21 by Pau Espin Pedrol
layer23: modem: sndcp: Properly inform SNDCP layer of ownership transfer

Change-Id: Icc3351f360e41d4a95e056b4fd797c7d133e8a83
The file was modifiedsrc/host/layer23/src/modem/sndcp.c
Commit fbd2f733a73ffda6545705098b28684b16d4675e by Pau Espin Pedrol
layer23: modem: Delay GPRS attach at startup until modem is ready

Wait until SIM is ready, network system information ws obtained and
it announced the MS is able to use GPRS against it.

Change-Id: I5029d9e8a47b8544b3b803c4db6352269bac3c0e
The file was modifiedsrc/host/layer23/src/modem/grr.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/modem/modem.h
The file was modifiedsrc/host/layer23/src/modem/gmm.c
The file was modifiedsrc/host/layer23/src/modem/app_modem.c
Commit c16126317d4ec6c7d499f247d8ea836b902cedfb by Pau Espin Pedrol
layer23: modem: grr: Log ignored CCCH ImmAss

There seems to be some bug when using virtphy where sometimes the
received T2 and/or T3 in the ImmASs is not matching what we sent.
This helps in showing the problem and not failing silently.

Change-Id: Iaecd2616733d84f35a825916fe888142800b426b
The file was modifiedsrc/host/layer23/src/modem/grr.c
Commit bb5e13ca23e242dd9b70962065c8c01fbb4c3d7a by Pau Espin Pedrol
layer23: modem: gmm: Activate PDP Context of APN after GPRS attach

Change-Id: Icb667a6a3359267d2eb20e11a40eb27a8c3f7e2d
The file was modifiedsrc/host/layer23/src/modem/gmm.c
Commit bbfb569b8ec650060c97d64c5063cd35e851e4d5 by Pau Espin Pedrol
layer23: Introduce apn_fsm

This allows further control on the state of the APNs, as well as
a step further towards administering them through VTY.

Change-Id: I2cc732dfb020d31ab89025e7e22276b819dcb24a
The file was modifiedsrc/host/layer23/src/common/Makefile.am
The file was modifiedsrc/host/layer23/src/modem/sm.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/Makefile.am
The file was modifiedsrc/host/layer23/src/common/apn.c
The file was modifiedsrc/host/layer23/src/common/settings.c
The file was addedsrc/host/layer23/include/osmocom/bb/common/apn_fsm.h
The file was addedsrc/host/layer23/src/common/apn_fsm.c
The file was modifiedsrc/host/layer23/src/modem/gmm.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/settings.h
The file was modifiedsrc/host/layer23/src/modem/vty.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/apn.h
Commit 00fd8d237be3323e0f36f7d39b4530577d5f426a by Pau Espin Pedrol
layer23: Store and use SAPI & NSAPI in apn->pdp

Change-Id: If82c94ca9c84a94e63a9a5d642a27a7b4e3ff089
The file was modifiedsrc/host/layer23/src/modem/sndcp.c
The file was modifiedsrc/host/layer23/src/modem/sm.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/apn.h
The file was modifiedsrc/host/layer23/src/common/apn.c
Commit 7ce8cdd32543312f496824bf82ebbaf565a01b6f by Vadim Yanitskiy
trxcon/l1sched: allocate primitives of fixed size (64 + 64)

When running trxcon with GSMTAP Um logging enabled (-g cmd line arg),
in handle_prim_rach_cnf() we msgb_put() one or two bytes to the given
msgb.  This causes a segfault, because the L1SCHED_PRIM_T_RACH prims
have 0 tailroom bytes available.

While we could allocate L1SCHED_PRIM_T_RACH with a few extra bytes,
a more fundamental approach is to allocate all l1sched primitives with
a fixed tailroom.

Change-Id: Ica87b147e11744a69dcd7c056376dcf6b98f9ca6
Fixes: ff9db9de "trxcon/l1sched: rework the primitive API"
Related: OS#5500
The file was modifiedsrc/host/trxcon/src/sched_lchan_sch.c
The file was modifiedsrc/host/trxcon/src/trxcon_fsm.c
The file was modifiedsrc/host/trxcon/src/sched_trx.c
The file was modifiedsrc/host/trxcon/include/osmocom/bb/l1sched/prim.h
The file was modifiedsrc/host/trxcon/src/sched_prim.c
Commit 68556f356673dda2266f3111c6ab114035383a2b by Vadim Yanitskiy
virt_phy: fix l1ctl_rx_rach_req(): send RACH on TS0, not TS1

Change-Id: I096e377de9e74893e9eb1927707d5e1a44b15ad9
The file was modifiedsrc/host/virt_phy/src/virt_prim_rach.c
Commit 0684e2313e2e428ce2f0b768ea473c25d319c2a6 by Vadim Yanitskiy
virt_phy: l1ctl_rx_rach_req(): use the indicated chan_nr/link_id

Change-Id: I820f32851f1c7a39695270cc246964a3e212118f
The file was modifiedsrc/host/virt_phy/src/virt_prim_rach.c
Commit 8e78ff491babe84416dbb5744b3aa3842b3dd68b by Vadim Yanitskiy
virt_phy: l1ctl_rx_rach_req(): remove TDMA Fn hack

This looks like a debugging leftover.

Change-Id: Id794c76aea48a171f0c5f4604892a82c1a2d3ed4
The file was modifiedsrc/host/virt_phy/src/virt_prim_rach.c
Commit 80de799514f20dd9d3759932d7c839902c7b7692 by Vadim Yanitskiy
virt_phy: fix TDMA Fn math in l1ctl_rx_rach_req()

Change-Id: I7922dd2d3257257b3bf8711ec859dd99463adc39
Related: OS#5500
The file was modifiedsrc/host/virt_phy/src/virt_prim_rach.c
Commit 39b04cf6ef81a4bf8e83143b3fbaf06ce095bc81 by Pau Espin Pedrol
layer23: modem: Use in SN SAP the TLLI retrieved from GMM and SM

Depends: libosmo-gprs.git Change-Id I7b1b8ac414474652b438f15b7f07961032a0f56d
Change-Id: Icac16626a6b89489b7f1ee2ab8ffbaca04e8bacc
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/ms.h
The file was modifiedsrc/host/layer23/src/modem/sm.c
The file was modifiedsrc/host/layer23/src/common/ms.c
The file was modifiedsrc/host/layer23/src/modem/sndcp.c
The file was modifiedsrc/host/layer23/src/modem/gmm.c
Commit 0cbf3afc1585b65f81a91917e7f74314ae2d86d1 by Pau Espin Pedrol
layer23: modem: pass pco & qos from apn

Change-Id: I4088e3e96a58bd667627023f144a05137415dd32
The file was modifiedsrc/host/layer23/src/common/apn.c
The file was modifiedsrc/host/layer23/src/modem/sm.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/apn.h
Commit e5ba8e160362c67ef2b687fe55dcd6a255886852 by Pau Espin Pedrol
layer23: Define EF.LOCI Location Update Status values with an enum

Change-Id: Ia54026fa8e4fca05da71e1e6a2dbdb8d900f0dd0
The file was modifiedsrc/host/layer23/src/common/subscriber.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/sim.h
Commit 1897218be4a13dd8a671bb655c20831ce7af9962 by Pau Espin Pedrol
sim: Introduce EF.LOCIGPRS file structure

Change-Id: Idf93b4ece0a966754f8caacc665038c321b752bb
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/sim.h
Commit 1a720cd176347a3a70dec515d4b7afb2eb3e70a7 by Pau Espin Pedrol
Use OSMO_STRLCPY_ARRAY instead of strcpy

Change-Id: I6b9bfffd715c4238289b693740585ec08f8d8d16
The file was modifiedsrc/host/layer23/src/common/settings.c
The file was modifiedsrc/host/layer23/src/common/subscriber.c
Commit fd060aecf5d5082a7de7e3e5a9a8bedf0b6262fc by Vadim Yanitskiy
layer23: make verify_value_string_arrays_are_terminated.py happy

Change-Id: I664d9b8f77522126406db5e3a301f1f132748e0b
The file was modifiedsrc/host/layer23/src/common/settings.c
Commit a449a39ce1eb94e97b5d6c88e6954af39702f538 by Vadim Yanitskiy
contrib/jenkins.sh: uncomment verify_value_string_arrays_are_terminated.py

Change-Id: Iad9a6546fa7e2a654ed3217c2a875357ef5cc804
The file was modifiedcontrib/jenkins.sh
Commit 7a6e1874cbae5da1e5282e0111ff905bc6e423c3 by Vadim Yanitskiy
copyright: fix typo: sysmocom s/s.m.f.c./s.f.m.c./ GmbH

Change-Id: I408cde7f2b4642500e5362052365c92856c02bef
The file was modifiedsrc/host/layer23/src/modem/gmm.c
The file was modifiedsrc/host/layer23/src/modem/rlcmac.c
The file was modifiedsrc/host/layer23/src/modem/vty.c
The file was modifiedsrc/host/layer23/src/common/apn.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/apn.h
The file was modifiedsrc/host/layer23/src/common/apn_fsm.c
The file was modifiedsrc/host/layer23/src/modem/sm.c
The file was modifiedsrc/host/layer23/src/modem/sndcp.c
The file was modifiedsrc/host/layer23/src/modem/app_modem.c
The file was modifiedsrc/host/layer23/src/common/vty.c
The file was modifiedsrc/host/layer23/src/common/ms.c
The file was modifiedsrc/host/layer23/src/modem/llc.c
The file was modifiedsrc/host/layer23/src/modem/grr.c
Commit 4ea84d3ae546bb6243ebe3ee90b4d1e7ded0d5b3 by laforge
layer23: Move all test_sim settings to its own substruct

This way it becomes clear those fields are related only to test_sim
module, and not some general "test" feature.

Change-Id: I56830c6b905bcbce7e19adbfe5427fd826d15e8c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/settings.h
The file was modifiedsrc/host/layer23/src/mobile/app_mobile.c
The file was modifiedsrc/host/layer23/src/common/vty.c
The file was modifiedsrc/host/layer23/src/common/settings.c
The file was modifiedsrc/host/layer23/src/modem/app_modem.c
The file was modifiedsrc/host/layer23/src/common/subscriber.c
Commit f05ac96fd6213ddc0705d1cfec1624fb615ff997 by laforge
layer23: Migrate sim_ustate to enum + value_string

Change-Id: I83607caa0b76b6b30db59c53438a55726483b85d
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/subscriber.h
The file was modifiedsrc/host/layer23/src/common/subscriber.c
Commit 1ad195e28f46c0d132406973f123b9b4e9271062 by Pau Espin Pedrol
layer23: rework store & pass of test_sim param to gsm_subscr_testcard() API

This way the gsm_subscr_testcard() API looks similar to that of other
backends (sim, sap). Furthermore, the callers of the API don't need to
pass tons of params. This is important since in the future there will be
more params (eg. gprs related ones), so it makes no sense to keep
increasing the param list in there.

Change-Id: I07fc5a6ed59e65d6b96c0a2f87b1f496d39ad76d
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/subscriber.h
The file was modifiedsrc/host/layer23/src/mobile/app_mobile.c
The file was modifiedsrc/host/layer23/src/common/vty.c
The file was modifiedsrc/host/layer23/src/common/subscriber.c
The file was modifiedsrc/host/layer23/src/modem/app_modem.c
Commit fd1552c22507159a8c4928bbfdf83b8d17f74eff by Pau Espin Pedrol
layer23: subscriber: Move sap specific code inside subscriber.c

Step forward towards a generic subscriber interface.

Change-Id: I780f06203cd6971866d81060a5ecee8bc00782f4
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/subscriber.h
The file was modifiedsrc/host/layer23/src/common/subscriber.c
The file was modifiedsrc/host/layer23/src/common/vty.c
Commit 5906bee946bc235867ee613bbb5a16800931c1a4 by Pau Espin Pedrol
layer23: subscriber: Move generic code to the top out of sim backend

Change-Id: Ie96621f49122da54c68e40611c1f6553aa37ef11
The file was modifiedsrc/host/layer23/src/common/subscriber.c
Commit 8be5119702ac8cedc9691badbe71972d0aa4a155 by Pau Espin Pedrol
layer23: Move SAP init/close to be done during MS allocation/destruction

Change-Id: Ic20760228668db4cb2fc6cdea4fd0470c211ce0a
The file was modifiedsrc/host/layer23/src/mobile/app_mobile.c
The file was modifiedsrc/host/layer23/src/common/ms.c
Commit 7b53ad536c6c4fd8cbea4ae0f6f1a5716b72108b by Pau Espin Pedrol
layer23: Generalize subscriber SIM insert API

With this patch, during VTY config the SIM type is selected, and the app
calls a generic gsm_subscriber_insert() API which will take of
internally initializing and starting whatever specific-backend setup is
needed.

Change-Id: I5aa34ae297ec0114e1d2355d59fdd77b43b35464
The file was modifiedsrc/host/layer23/src/modem/app_modem.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/subscriber.h
The file was modifiedsrc/host/layer23/src/common/vty.c
The file was modifiedsrc/host/layer23/src/mobile/app_mobile.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/settings.h
The file was modifiedsrc/host/layer23/src/common/subscriber.c
Commit 48382f3797ff02e4eb04931b3e1f843bc873045f by Pau Espin Pedrol
layer23: subscriber: Split gsm_subscr_generate_kc() internally per-backend

Change-Id: I88365d23773a4bdc50a51807c775b3caff0bd425
The file was modifiedsrc/host/layer23/src/common/subscriber.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/subscriber.h
Commit 99d82d17a19d43ecaa3aff5d1acf4045196e58fa by Pau Espin Pedrol
layer23: subscriber: Split gsm_subscr_write_loci() internally per-backend

Change-Id: I5f024972016afe0e161b745236c84b00ee44ad5e
The file was modifiedsrc/host/layer23/src/common/subscriber.c
Commit 1f525ea71f7275608ddcc54f8ced41f87ff3b1c0 by Pau Espin Pedrol
layer23: subscriber: Split gsm_subscr_sim_pin() internally per-backend

Change-Id: I10968c5a43632e0e3054c2d6934cae0052c2daae
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/subscriber.h
The file was modifiedsrc/host/layer23/src/common/subscriber.c
Commit 09382eca8bf1ff1293ba6ac1d111b455d64d6e21 by Pau Espin Pedrol
layer23: split subscr_write_plmn_na() internally per-backend

Change-Id: I5e3a4996bbb5cbfbe81342eadb46aa10a2033fd9
The file was modifiedsrc/host/layer23/src/common/subscriber.c
Commit 2ee1e23d937eeba86d8288797ebe97570e32669c by Pau Espin Pedrol
layer23: subscriber: Move generic APIs to the top section

This way we end up with the generic section on top, followed by each
backend section clearly delimited. As a result, it is now much clearer
the separation between the generic code and each backend specific
implementation.

Change-Id: Ice8ada52f227ee4da90ba37ec6b3eb8070621f85
The file was modifiedsrc/host/layer23/src/common/subscriber.c
Commit 554e7cfb56ff61e83c7321b7737baf4476bf8280 by Pau Espin Pedrol
common: Mark gsm_networks static

Change-Id: I662adb99080a8689dd7c97b1380cc4ec50958215
The file was modifiedsrc/host/layer23/src/common/networks.c
Commit 3348f491792788974c6bb3ee75f3a4f1d159aef9 by Pau Espin Pedrol
Migrate network identifier fields to modern osmocom structures

This allows using well tested standarized API to print, compare, etc. usual
identifiers like PLMN, LAI, etc.
It also simplifies code by avoiding passing lots of parameters and
making it easier to identify which fields go packed together.
This is specially important since in the future more of those
identifiers will be added for GPRS.

Change-Id: I07a9289825c09ed748e53d36a746ea164c8a5d7f
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/subscriber.h
The file was modifiedsrc/host/layer23/src/common/settings.c
The file was modifiedsrc/host/layer23/src/common/sysinfo.c
The file was modifiedsrc/host/layer23/src/mobile/vty_interface.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/misc/log.h
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/networks.h
The file was modifiedsrc/host/layer23/src/mobile/gsm48_rr.c
The file was modifiedsrc/host/layer23/src/mobile/gsm48_mm.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/gsm48_mm.h
The file was modifiedsrc/host/layer23/src/common/vty.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/gsm322.h
The file was modifiedsrc/host/layer23/src/misc/log.c
The file was modifiedsrc/host/layer23/src/common/subscriber.c
The file was modifiedsrc/host/layer23/src/mobile/gsm322.c
The file was modifiedsrc/host/layer23/src/misc/cell_log.c
The file was modifiedsrc/host/layer23/src/common/networks.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/sysinfo.h
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/settings.h
The file was modifiedsrc/host/layer23/src/misc/gsmmap.c
Commit e1bef2d89c29600eeb655e00fcf496a2b2de3cb1 by Pau Espin Pedrol
layer23: vty: Rename testsim node functions

Change-Id: If84297f026e6804436a0bf16c5c992161cd71ee4
The file was modifiedsrc/host/layer23/src/common/vty.c
Commit c2402244c1aa437fe7eadb21013aace446047ac5 by Pau Espin Pedrol
layer23: Define imsi_attached field as bool

Change-Id: I47e234dcef4c5af09023318dda45d40c8c92b312
The file was modifiedsrc/host/layer23/src/mobile/gsm48_mm.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/settings.h
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/subscriber.h
The file was modifiedsrc/host/layer23/src/common/vty.c
Commit 4c8017f011d390e13247a8c6fda36754291e2638 by Pau Espin Pedrol
layer23: Define always_search_hplmn field as bool

Change-Id: I0efc16a2362fbfec64cf6ca85bb32db8beb241a3
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/subscriber.h
The file was modifiedsrc/host/layer23/src/common/subscriber.c
The file was modifiedsrc/host/layer23/src/common/vty.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/settings.h
Commit 741ef88d422e429ab8d68b3d184dfcde5ca8b6eb by Pau Espin Pedrol
layer23: Define (r)plmn_valid field as bool

Change-Id: Ia2316bae5e4f5035f31b4da3937e025537aaf224
The file was modifiedsrc/host/layer23/src/common/vty.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/settings.h
The file was modifiedsrc/host/layer23/src/mobile/gsm322.c
The file was modifiedsrc/host/layer23/src/common/subscriber.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/subscriber.h
Commit fd461b0218461b1a2bec20b75cca627fa8935dcf by Pau Espin Pedrol
layer23: Define barr field as bool

Change-Id: I02b95fa5437be1325cfa80fc40350280540fe802
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/settings.h
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/subscriber.h
The file was modifiedsrc/host/layer23/src/common/vty.c
Commit ac8460c77ba51ecb6c2636cdb65169bbb27472c3 by Pau Espin Pedrol
layer23: Define sim_pin_required field as bool

Change-Id: I7c5105da08176f4743f1f3e56ddad9ac170717c7
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/subscriber.h
The file was modifiedsrc/host/layer23/src/common/subscriber.c
Commit 9be9a2ef7ff8e31906803477dc32b13fa84ea9eb by Pau Espin Pedrol
layer23: subscriber: Implement LOCIGPRS read/write for simcard backend

Change-Id: Ida5bcfc896c75c238e2eb2d0aee742ae36fb5e16
The file was modifiedsrc/host/layer23/src/common/subscriber.c
The file was modifiedsrc/host/layer23/src/modem/sm.c
The file was modifiedsrc/host/layer23/src/modem/gmm.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/subscriber.h
Commit 8bd2e644b5d1a65544979bcd38fc3c7373dbdb2f by Pau Espin Pedrol
layer23: subscriber: Implement LOCIGPRS read/write for testcard backend

Change-Id: Ibcaaf430587a3a270398e9a9eeab6ee98514c3c8
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/sim.h
The file was modifiedsrc/host/layer23/src/common/vty.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/settings.h
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/subscriber.h
The file was modifiedsrc/host/layer23/src/common/subscriber.c
Commit 2dfa84e73dca455900e6522f61f5c610077783b7 by Pau Espin Pedrol
layer23: modem: pass SIM-stored PTMSI (signature) & RAI to GMM

Depends: libosmo-gprs.git  Change-Id Ia69b6f885d612c42ab015822031e4c7262f4714e
Change-Id: If0eef0a60b310539f2e668238314481ad5b7a5fa
The file was modifiedsrc/host/layer23/src/modem/gmm.c
The file was modifiedsrc/host/layer23/src/modem/sm.c
Commit 74a02a5cacc8a11cc2fd5a8fbc5b9f44b7dae45e by Pau Espin Pedrol
subscriber: Fix condition to print PTMSI signature

Related: Coverity CID#316085
Change-Id: Ie9259141290200544981e815f4a1486584373014
The file was modifiedsrc/host/layer23/src/common/subscriber.c
Commit ad8f7794c9b7c5c03f34e1d6a273e8b5f7c9da30 by Vadim Yanitskiy
trxcon/l1sched: remove redundant TCH/[FH] prim length checks

Both gsm0503_tch_[fh]r_encode() do check the given payload length in
order to determine the payload and/or codec type.  The same applies
to gsm0503_tch_a[fh]s_encode().  There is no real need to implement
additional length checks on top of that - drop them.

Change-Id: Ib1adf4945fb762bc2a51a1008f6bef6784fb7833
Related: OS#4396
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchf.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchh.c
Commit 66c7ec1bf35b4a2f21c91231f36bd8296a294d6e by Vadim Yanitskiy
trxcon/l1sched: drop Tx prims for not supported TCH modes

Otherwise we'll be attempting to transmit the same prim again and again.

Change-Id: I2f137a0b931e8e7d05a5d903023c50065f57bfa6
Related: OS#4396
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchf.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchh.c
Commit f81a1711f2f1f1f0b1c419a21033cbb9104fc9d4 by Vadim Yanitskiy
trxcon/l1sched: cosmetic: get rid of amr_is_cmr/fn_is_cmi

Change-Id: Ic8df73326befa387daead0a0dcbb8c9a1461021e
Related: OS#4396
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchh.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchf.c
Commit 519f2d9c5b6b6fd7a630d3d0f7089bc7715e8eb1 by Vadim Yanitskiy
trxcon/l1sched: use sched_tchh_dl_facch_map[] in rx_tchh_fn()

This is a more effecient way to check if FACCH/H is allowed.  The
mapping was added in a53e93fe9 and is already used for AMR.

Change-Id: Ib4b409956326480679a436d28224b539d00779e2
Related: a53e93fe9 "trxcon: Initial support for forwarding AMR"
Related: OS#4396
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchh.c
Commit f97238f766d87d3e1e4466559164f2362c2f454f by Vadim Yanitskiy
trxcon/l1sched: fix UL FACCH regression in tx_tchh_fn()

In ad8f7794 I introduced a regression by removing the line setting
lchan->ul_facch_blocks, breaking transmission of Uplink FACCH/H.

Change-Id: I4f2bbbd30c7d5dbb979b54455561df3c0cc12aac
Fixes: ad8f7794 "trxcon/l1sched: remove redundant TCH/[FH] prim length checks"
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchh.c
Commit 6f26f0060381bf5bf88f4b7204aa03db6d146d77 by Vadim Yanitskiy
trxcon/l1sched: cosmetic: use variable names like in osmo-bts-trx

This way it's easier to keep trxcon in sync with osmo-bts-trx.

Change-Id: I8138a45cca4e9063bf7d36ebc920b20b755138dd
Related: OS#4396
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchh.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_pdtch.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_xcch.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchf.c
Commit af81e3ae596f2abc852848b602d77476c4f37967 by Vadim Yanitskiy
trxcon/l1sched: do not align Tx burst transmission

This is no longer needed thanks to recent patch b0be904b.

Change-Id: Ia397cbe16f719729a814b7ef0b7035c7fe8ba165
Related: b0be904b "trxcon: do not call l1sched_prim_dequeue() at ul_bid != 0"
The file was modifiedsrc/host/trxcon/src/sched_lchan_pdtch.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchf.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchh.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_xcch.c
Commit d400126d0fe60783c10d99c96fcf42ddf3a8ee5f by Pau Espin Pedrol
layer23: modem: Forward Paging Request Type 1/2 to rlcmac layer

The RLCMAC layer in libosmo-gprs-rlcmac will decode the messages and if
matching the MS, forward it to GMM, who will see if it requires initiating
a packet access procedure.

Change-Id: Iee4b5ee5e1e5874b550dd8536b095bf0b5eeb8f4
The file was modifiedsrc/host/layer23/src/modem/grr.c
Commit 0ee32177a28e7191bb1ddba9c4115352b1d366d7 by Vadim Yanitskiy
trxcon/l1sched: rework burst buffer shifting for TCH/[FH]

This is how the buffer shifting is implemented in osmo-bts-trx.  Keep
trxcon's l1sched implementation as close to osmo-bts-trx as possible
in order to simplify the integration of CSD support.

Change-Id: Idb6e415f37f41b8ab92a3864962dac0a40c2fbaa
Related: OS#4396
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchh.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchf.c
Commit 81b3237c884d348fe360bb31efc0c06946b29e3a by Pau Espin Pedrol
layer23: modem: Forward LLC-TRANSMITTED.ind RLCMAC->GMM

Change-Id: Ife91ad87fed78daf86e9f28ceed981d61799758e
The file was modifiedsrc/host/layer23/src/modem/rlcmac.c
Commit dae9add949e6a288632da33ed73ac1c263201e43 by Pau Espin Pedrol
layer23: modem: Add helper function to get FN from gsm48_req_ref

Change-Id: I1265a580f55473f52e77af6c5f53c1573f8f3e70
The file was modifiedsrc/host/layer23/src/modem/grr.c
Commit 21541a748e7a55826ab58a9d810ec7b3c1732da5 by Vadim Yanitskiy
l1gprs: properly handle (forward) PTCCH/D blocks

Unconditionally forward PTCCH/D blocks towards the upper layers.
Calling l1gprs_pdch_filter_dl_block() on them makes no sense.

Change-Id: Ifcc53d442426c8bfdacd3d179e20bb45c43f4644
Fixes: BTS_Tests.TC_pcu_ptcch (DL part)
Related: OS#5500, OS#5955
The file was modifiedsrc/shared/l1gprs.c
Commit a49696bc981ffe5acda576f6a076572255c38b54 by Vadim Yanitskiy
trxcon/l1sched: do not check TDMA Fn of PTCCH/U prims

The PTCCH/U primitives are basically Access Bursts.  The TDMA Fn in
such primitives is always 0, because there's currently no way to
indicate TDMA Fn in L1CTL_RACH_REQ (only the offset).

Change-Id: I54ba9b5d9c3eba4aeabf9ed6fcf1e8d09f21cce1
Fixes: BTS_Tests.TC_pcu_ptcch (UL part)
Related: OS#5500, OS#5955
The file was modifiedsrc/host/trxcon/src/sched_prim.c
Commit b1e3742a94f5db2f396f4af1c04cf008e052e58e by Vadim Yanitskiy
modem: do not send RTS.ind if we got PTCCH/D

Change-Id: Idcdf56de7fc6279d8b942f3670ecdc6f88c3dfd1
Related: OS#5500
The file was modifiedsrc/host/layer23/src/modem/rlcmac.c
Commit f5959f78cd19d20c2fd13607a19b1b1d6b085835 by laforge
fake_trx.py: remove SETSLOT based burst filtering

For the sake of simplicity and due to some performance limitations,
fake_trx.py does not generate TRXD NOPE indications for osmo-bts-trx
on its own.  It's actually trxcon sending NOPE.req (empty Tx PDUs)
when it has nothing to send, and fake_trx.py simply converting them.

In a follow-up change [1] we remove trxcon's internal clock module,
making the Uplink burst scheduling being driven by Downlink bursts
with the respective TDMA Fn/Tn values.  Given that fake_trx.py is
currently dropping bursts received for inactive timeslots, we would
get NOPE.req only for a single timeslot, the one being currently
active.  This would break several testcases in ttcn3-bts-test.

Remove SETSLOT based burst filtering, so that trxcon would still be
able to generate NOPE.req for all, active and inactive timeslots.
Downlink bursts for inactive timeslots are discarded anyway.

Change-Id: Ia42550d5c2d8b49efbdf8ef0ce46b26afd1c464e
Related: [1] Ic8a5b6277c6b16392026e0557376257d71c9d230
Related: OS#5500
The file was modifiedsrc/target/trx_toolkit/transceiver.py
The file was modifiedsrc/target/trx_toolkit/ctrl_if_trx.py
The file was modifiedsrc/target/trx_toolkit/burst_fwd.py
Commit 45c821aee08e5f91273b0e203a1a04cff60114c8 by laforge
trxcon: get rid of the timer driven clock module

trxcon was heavily inspired by osmo-bts-trx, and among with many other
scheduling related parts also inherited the timer driven clock module.

This clock module is driving the Uplink burst scheduling, just like it
does drive the Downlink burst scheduling in osmo-bts-trx.  Just like
in osmo-bts-trx, the clock module relies on periodic CLCK indications
from the PHY, which are needed to compensate for the clock drifting.

The key difference is that trxcon is using Downlink bursts as the CLCK
indications, see 'bi.fn % 51' in trx_data_rx_cb().  This is possible
because the MS is a clock slave of the BTS: the MS PHY needs to sync
its freq. and clock first, and only after that it can Rx and Tx.

So far we've had no problems with the clock module in trxcon until we
started adding GPRS support and integrated the l1gprs.  While the CS
domain is quite flexible in terms of timings and delays, the PS domain
is a lot more sensetive to the timing issues.

Sometimes it happens that the trxcon's clock module is ticking quicker
than it should, resulting in Uplink PDCH blocks being scheduled earlier
than the respective Downlink PDCH blocks are received:

20230502021957724 l1sched_pull_burst(): PDTCH/U Tx time (fn=56103)
20230502021957744 (PDCH-7) Rx DL BLOCK.ind (fn=56103, len=23): ...
20230502021957747 l1sched_pull_burst(): PDTCH/U Tx time (fn=56108)
20230502021957765 l1sched_pull_burst(): PDTCH/U Tx time (fn=56112)
20230502021957767 (PDCH-7) Rx DL BLOCK.ind (fn=56108, len=23): ...
20230502021957768 (PDCH-7) Rx UL BLOCK.req (fn=56112, len=54): ...
20230502021957784 l1sched_pull_burst(): PDTCH/U Tx time (fn=56116)
20230502021957784 TS7-PDTCH dropping Tx primitive (current Fn=56116, prim Fn=56112)

This is impossible in reality, because Uplink is intentionally lagging
behind Downlink by 3 TDMA timeslot periods.  In a virtual setup this
causes sporadic dropping of Uplink PDCH blocks, as can be seen from
the logging snippet above, and significantly degrades the RLC/MAC
performance for GPRS.

Let's remove the internal clock module and trigger the Uplink burst
transmission each time we receive a Downlink burst.  This helps to
overcome the GPRS scheduling issues and replicates the approach of
osmo-trx-ms more closely.

Change-Id: Ic8a5b6277c6b16392026e0557376257d71c9d230
Related: OS#5500
The file was modifiedsrc/host/trxcon/include/osmocom/bb/trxcon/phyif.h
The file was modifiedsrc/host/trxcon/include/osmocom/bb/trxcon/trxcon.h
The file was modifiedsrc/host/trxcon/src/trx_if.c
The file was removedsrc/host/trxcon/src/sched_clck.c
The file was modifiedsrc/host/trxcon/src/trxcon_main.c
The file was modifiedsrc/host/trxcon/include/osmocom/bb/trxcon/trx_if.h
The file was modifiedsrc/host/trxcon/src/sched_trx.c
The file was modifiedsrc/host/trxcon/src/trxcon_inst.c
The file was modifiedsrc/host/trxcon/src/Makefile.am
The file was modifiedsrc/host/trxcon/src/trxcon_shim.c
The file was modifiedsrc/host/trxcon/include/osmocom/bb/l1sched/l1sched.h
Commit 923e9b0b90622a7977c73ddd264d7cc48439098f by laforge
trxcon: do not advance Uplink TDMA Fn by default

The idea behind advancing Uplink TDMA Fn is to give the transceiver,
which is usually a separate process, some additional time to receive
and prepare Uplink bursts for transmission.  This comes at a price
of having an additional delay between Uplink and Downlink.

Given that trxcon, as a standalone application, is primarily used in
conjunction with fake_trx.py for running ttcn3-bts-test against
osmo-bts-trx, there is no reason to advance the Uplink TDMA Fn.

Change-Id: I838b1ebc54e4c5d116f8af2155d97215a6133ba4
Related: OS#5500
The file was modifiedsrc/host/trxcon/src/trxcon_main.c
Commit 96fec1646d714ab1880bf69106c0c556fd849ba3 by Vadim Yanitskiy
mobile: fix -Wlogical-not-parentheses in gsm48_cc_init()

Found by clang:

  gsm48_cc.c:54:6: warning: logical not is only applied to the left
                   hand side of this comparison [-Wlogical-not-parentheses]
        if (!cc->mncc_upqueue.next == 0)
            ^                      ~~

Change-Id: Ic7ffd3aa25339e24a31bae1b7428f1f93e261858
The file was modifiedsrc/host/layer23/src/mobile/gsm48_cc.c
Commit df900478de4f3931539c9f2b0387f9800a785f9f by laforge
layer23: Update to libosmocore osmo_auth_gen_vec2

libosmogsm has recently deprecated the use of osmo_auth_gen_vec
and the osmo_sub_auth_data structure in favor of newer versions
of this API. Let's migrate to it

Change-Id: I1d9751c5f74a59e7310d07d54a3fdbac213324bd
Depends: libosmocore.git Ie775fedba4a3fa12314c0f7c8a369662ef6a40df
The file was modifiedsrc/host/layer23/src/common/subscriber.c
Commit 749f0a461cc78b0fbd17f3eeee36dace4ba9c8be by Vadim Yanitskiy
layer23: fix handling of logging category mask (-d option)

In change 67943df4 I broke handling of the logging category mask in
the mobile app.  Adding this option results in a segfault:

  ERROR: osmo_log_info == NULL! You must call log_init() before
         using logging in log_parse_category_mask()!
  Assert failed osmo_log_info src/libosmocore/src/core/logging.c:329

As can be seen, the problem is that we are calling
log_parse_category_mask() before initializing the logging.

As possible solution, I could rearrange the code to parse command
line options after calling osmo_init_logging2().  This would fix
the segfault, but would not fully solve the problem.

If we call log_parse_category_mask() before parsing the config file,
then logging configuration in the config file overwrites the logging
configuration specified via the command line.  But we want the
opposite: the command line setting should overwrite the config file
parameters.  This is handy because there is no need to edit the
config file if you quickly need to test something.

So let's call log_parse_category_mask() after parsing the config file.

Change-Id: I1b2b7804bf99b71f96e9197f7824cfd20431e8a1
Fixes: 67943df4 "layer23: fix parsing of command line options"
The file was modifiedsrc/host/layer23/src/common/main.c
The file was modifiedsrc/host/layer23/src/mobile/main.c
Commit 321148964906c1f83727c2ad0e5dc4de0ff20f89 by Vadim Yanitskiy
modem: cosmetic: fix formatting in modem_gmm_prim_up_cb()

Change-Id: I1498b92f2dc3d056ca69072dfb077cba65b86b6e
The file was modifiedsrc/host/layer23/src/modem/gmm.c
Commit bc04784b1412834c86a6ff8635df0c7b805bd55b by Vadim Yanitskiy
layer23: cosmetic: move <lapdm.h> to other libosmo* imports

Change-Id: Id4d8df3f230729dc2c65e1bedea705e28feaa029
The file was modifiedsrc/host/layer23/src/common/l1ctl.c
Commit 9f61426a15cfde452a15c338238c35df76d09d56 by Vadim Yanitskiy
layer23: use gsm0502_fn2ccch_block() from libosmogsm

Change-Id: I652a2ab9ddb3cb5082cce911a5cdb4cf8abcf552
Depends: libosmocore.git I8cbd31226754e95887358ed83a928e2f567f4cf3
The file was modifiedsrc/host/layer23/src/common/l1ctl.c
Commit 60215bc051c96d87c552ece42d594be7f7388c4f by Vadim Yanitskiy
modem: properly handle Dedicated mode or TBF IE

We need to distinguish between Uplink and Downlink TBF assignment in
grr_rx_imm_ass(), because matching the Request Reference IE makes
sense only for the Uplink TBF assignment.

Uplink TBFs are requested by the UEs by sending RACH, while Downlink
TBFs are assigned by the network itself.  The Request Reference IE
is only valid for Uplink assignments and shall be ignored in messages
assigning Downlink TBFs.

Change-Id: Idb9b3203147be3b42256c0bcab3ecdabcf2d2fa9
Related: OS#5500
The file was modifiedsrc/host/layer23/src/modem/grr.c
Commit d84b2ed6eda89d8e055d0073b50e3cc6e2b31a95 by Vadim Yanitskiy
trxcon/l1sched: fix handling of UL FACCH on TCH/A[FH]S

In ad8f7794 I changed both tx_tch[fh]_fn() to use a switch statement
and introduced a regression by removing special treatment of FACCH:

@@ -238,10 +237,16 @@ int tx_tchf_fn(struct l1sched_lchan_state *lchan,
-       if (msgb_l2len(lchan->prim) == GSM_MACBLOCK_LEN) {
-               /* Encode payload */
-               rc = gsm0503_tch_fr_encode(buffer, msgb_l2(lchan->prim), GSM_MACBLOCK_LEN, 1);
-       } else if (lchan->tch_mode == GSM48_CMODE_SPEECH_AMR) {
@@ -459,10 +458,15 @@ int tx_tchh_fn(struct l1sched_lchan_state *lchan,
-       if (msgb_l2len(lchan->prim) == GSM_MACBLOCK_LEN) {
-               rc = gsm0503_tch_hr_encode(buffer, msgb_l2(lchan->prim), GSM_MACBLOCK_LEN);
-               lchan->ul_facch_blocks = 6;
-       } else if (lchan->tch_mode == GSM48_CMODE_SPEECH_AMR) {

Now if the channel mode is GSM48_CMODE_SPEECH_AMR, UL FACCH/[FH] frames
will be fed to osmo_amr_rtp_dec(), which is definitely wrong.  Fix this
by doing all AMR specific checks in a separate function, which is
called only for speech frames.

Change-Id: Ie217bbb389b5abb95d241781ffe3f5c7b1c188c0
Fixes: ad8f7794 "trxcon/l1sched: remove redundant TCH/[FH] prim length checks"
Related: OS#4396
The file was modifiedsrc/host/trxcon/src/sched_lchan_common.c
The file was modifiedsrc/host/trxcon/include/osmocom/bb/l1sched/l1sched.h
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchh.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchf.c
Commit 58bd4e712a98d10e3c5104c83ea095553c8bae19 by Vadim Yanitskiy
trxcon/l1sched: remove unused vars in l1sched_lchan_amr_prim_is_valid()

Change-Id: I57e18866addc2245c017e354eab218f56583026c
Related: OS#4396
The file was modifiedsrc/host/trxcon/src/sched_lchan_common.c
Commit a22acea3a9db44d891080caaed8619114386afff by Vadim Yanitskiy
trxcon/l1sched: rework dequeueing of Tx prims

Centralized dequeueing of Tx prims in l1sched_pull_burst() is a working
approach, but doing this in each logical channel handler individually
is a lot more flexible.  This is how it's done in osmo-bts-trx, and
this allows implementing FACCH support for CSD channels.

Change-Id: I3d6c2136ff1855ab0aa9062b20b2a64fd0e5fe28
Related: OS#4396, OS#1572
The file was modifiedsrc/host/trxcon/src/sched_lchan_rach.c
The file was modifiedsrc/host/trxcon/src/sched_prim.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_desc.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchh.c
The file was modifiedsrc/host/trxcon/src/sched_trx.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_xcch.c
The file was modifiedsrc/host/trxcon/include/osmocom/bb/l1sched/l1sched.h
The file was modifiedsrc/host/trxcon/include/osmocom/bb/l1sched/prim.h
The file was modifiedsrc/host/trxcon/src/sched_lchan_pdtch.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchf.c
Commit 21aacfe7096ef27fe40c22d20a86d2303f9cba91 by Vadim Yanitskiy
trxcon/l1sched: peoperly prioritize FACCH/H over TCH

Unlike FACCH/F, which steals one TCH frame, FACCH/H steals two TCH
frames.  This is what prim_dequeue_tchh() aims to implement, but
the current implementation is not 100% correct.

The problem is that we're attempting to dequeue and drop two TCH frames
in one go, whenever we get a FACCH/H frame.  Most likely, there will be
no 2nd TCH frame in the Tx queue at that time, so it will never be
dropped and will clog the queue.

Let's replicate what osmo-bts-trx does:

* dequeue and drop the 1st TCH frame when sending 1st/6 burst of FACCH,
* dequeue and drop the 2nd TCH frame when sending 3rd/6 burst of FACCH.

Change-Id: I513d6805ddf97783c002be285fb3ca7893e42377
Related: OS#4396, OS#1572
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchh.c
Commit 44282c0fe8957ef43853ab982e9bf4a30e54efde by Vadim Yanitskiy
trxcon/l1sched: simplify and unify prim_dequeue_tchf()

Make it easier to read and more similar to prim_dequeue_tchh().

Change-Id: Ie79069e5cc8acd193a326ac9d334fe070552e320
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchf.c
Commit fd8962e89144fb0af4b99199589d9f9768804640 by Vadim Yanitskiy
trxcon/l1sched: do not craft artificial BFI frames on TCH

Whenever decoding fails or a FACCH setaling happens, simply send an
empty DATA.ind to the upper layers.  On the Uplink path, use a dummy
LAPDm func=UI frame (with random padding) whenever possible.

Crafting TCH frames with zeroes is not really needed and moreover makes
it hard to distinguish between valid speech frames and BFIs.  This also
used to be the case for osmo-bts-trx, but not anymore (see the related
patch).

Change-Id: I20391b860fbc2ce8f0f03d7ba95ef7a098c0f9db
Related: osmo-bts.git I8f9fb5b8c5b2cad4b92ac693c0040779f811981a
The file was modifiedsrc/host/trxcon/include/osmocom/bb/l1sched/prim.h
The file was modifiedsrc/host/trxcon/src/sched_lchan_common.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_xcch.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchf.c
The file was modifiedsrc/host/trxcon/include/osmocom/bb/l1sched/l1sched.h
The file was modifiedsrc/host/trxcon/src/sched_prim.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchh.c
Commit 0cfd0bbe801d86e1a3cbc08b228f9ad2521ebd08 by Vadim Yanitskiy
trxcon/l1sched: transmit dummy speech blocks with inverted CRC3

In case when an Uplink TCH/[FH]S frame needs to be transmitted, but
there is no frame available in the Tx queue, transmit an intentionally
invalid block with inverted CRC3.  This will induce a BFI condition in
the BTS side receiver.  See also the related osmo-bts-trx patch.

Change-Id: I16ff09a220da13c2c76538bc43354afc4e688794
Depends: libosmocore.git Iade3310e16b906efb6892d28f474a0d15204e861
Related: osmo-bts.git I78106802a0aa4af39859c75d29fe0e77037899fe
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchh.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchf.c
The file was modifiedsrc/host/trxcon/src/sched_prim.c
Commit 7e262322d1d376bcb1117f4b0ca213e2f8fd8855 by Pau Espin Pedrol
layer23: modem: gmm: Forward GMMSM-Modify.ind to SM layer

Depends: libosmo-gprs.git Change-Id Ic765b7a565cac4abcf34d8c6868e103971d17822
Change-Id: I3cd90ad85fb77b09c3300e87e454c4fe641edc88
The file was modifiedsrc/host/layer23/src/modem/gmm.c
Commit 3a031345e16d807e8c48ef2bb4e9fe6ee893556b by Pau Espin Pedrol
layer23: modem: llc: Forward LL-Assign.req to SNDCP

Depends: libosmo-gprs.git Change-Id I924dcf3ac9cbb15e26a5e9376f89ca098ab49e0b
Change-Id: I0b0f025a0cd356c997fc4620f2d6be4792fc1d29
The file was modifiedsrc/host/layer23/src/modem/llc.c
Commit 19450eb435e07649b1f48201526ffda17f1e0219 by Pau Espin Pedrol
layer23: modem: gmm: Update own TLLI copy though GMMRR-Assign.req hook

This is needed in order to provide updated TLLI when submitting new user
data from the tundev to the SNDCP layer.

Change-Id: I5c6a2c371ae6d65bf4fe23e665ec939da37112be
The file was modifiedsrc/host/layer23/src/modem/gmm.c
Commit 3f0f1a421497657589268e5f4a37811232b05474 by Pau Espin Pedrol
layer23: modem: implement GPRS-RR FSM

Change-Id: I8a7d85df7b07d85ac86e0b7e340f6bbacc65e1bc
The file was modifiedsrc/host/layer23/src/modem/rlcmac.c
The file was modifiedsrc/host/layer23/src/modem/grr.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/modem/grr.h
The file was modifiedsrc/host/layer23/src/modem/app_modem.c
The file was modifiedsrc/host/layer23/src/modem/vty.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/ms.h
Commit 5462ad040cd75353f8d53f68a0370bf82784a39b by Pau Espin Pedrol
modem: handle OSMO_GPRS_RLCMAC_L1CTL_PDCH_{ESTABLISH,RELEASE}

Change-Id: Ic39ce696834943dc661c85cbf3d54ccd598b60ce
Depends: libosmo-gprs.git I2568c58646ce7511367275ac96cd55e7fdd7ec18
The file was modifiedsrc/host/layer23/src/modem/rlcmac.c
The file was modifiedsrc/host/layer23/src/modem/grr.c
Commit e9bfff30ac73dd13f9114904f44ea7c8d0c5c101 by Pau Espin Pedrol
trxcon: trx_if_cmd_poweron(): send CMD POWERON unconditionally

This works-around a race condition happening when the upper layers
are sending L1CTL RESET.req immediately followed by L1CTL FBSB.req.
The problem is that the TRXC logic is considering the transceiver
powered on until a response to CMD POWEROFF is received.

Change-Id: I967ce047eb198f1eaf8446bb4c1f87a98d3de264
Related: OS#5500
The file was modifiedsrc/host/trxcon/src/trx_if.c
Commit 0a6ad6bbf882cddc7a3b6634879baad3ca085c28 by Pau Espin Pedrol
layer23: modem: Submit L1CTL-CCCH_READY.ind

Signal RLC/MAC layer that the lower layers is in packet idle mode ready
to use CCCH (such as packet-access-procedure).

Change-Id: I05050e840a3b267b3b3a278588ee113b45bfbd4c
The file was modifiedsrc/host/layer23/src/modem/grr.c
Commit 345d03a6f6eb4c2d9511774b1eda33f0a886742a by Pau Espin Pedrol
layer23: modem: Delay using cell until fully synced to it

Change-Id: If306d82879281bb540c5cdee2eaf354858c8d24b
The file was modifiedsrc/host/layer23/src/modem/grr.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/modem/modem.h
The file was modifiedsrc/host/layer23/src/modem/app_modem.c
Commit 89ef574fe2257f65ae4140b71620589e8c0726e9 by Pau Espin Pedrol
layer23: modem: Avoid direct transition ST_PACKET_TRANSFER->ST_PACKET_IDLE

Right now the existing code is switching to state IDLE and hence running
grr_st_packet_idle_onenter() which attempts stuff like starting an attach.
This is all done while the L1CTL RESET + FBSB is still in progress. We
should instead wait to receive confirmation from those.
As an easy implementation for now, simply switch to the
GRR_ST_PACKET_NOT_READY state, which will move to GRR_ST_PACKET_IDLE
once it starts receiving CCCH blocks (aka it will already have gone
through L1CTL RESET + FBSB completely).

Change-Id: Ie797b36701d10c6052500c637a08b061bb1e4bd7
The file was modifiedsrc/host/layer23/src/modem/grr.c
Commit 3f409eb94eac9ffa67a7528f29f58275f0b836b8 by Vadim Yanitskiy
trxcon/l1sched: emit DATA.cnf early (on bid=0)

trxcon's scheduler is currently emitting DATA.cnf whenever the last
burst of a DATA.req has been transmitted.  This sounds logical, but
makes the implementation quite complex.  It's even harder to implement
sending of DATA.cnf properly for CSD specific channel modes, which are
to be implemented in a follow-up patch.

The DATA.cnf prims trigger sending of L1CTL DATA.cnf/TRAFFIC.cnf,
which are interpreted as Ready-to-Send by the upper layers (layer23).
Additionally DATA.cnf prims trigger sending of GSMTAP PDUs containing
the respective Uplink frames.

This patch changes the l1sched logic, so that a DATA.cnf primitive
is emitted whenever the respective DATA.req is dequeued and encoded
using the lchan specific channel coding function.  This simplifies
the code a lot and prepares for the upcoming CSD support.

As a bonus, this patch fixes an inconsistency between TDMA FNs reported
in Uplink and Downlink GSMTAP PDUs.  Now we're indicating the first Fn
in both cases, so Uplink is consistent with Downlink.

Change-Id: Ie09a24cd950a93edd871a9fbc5b47ec96c24cceb
Related: OS#4396, OS#1572
The file was modifiedsrc/host/trxcon/src/sched_lchan_rach.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_common.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_xcch.c
The file was modifiedsrc/host/trxcon/include/osmocom/bb/l1sched/l1sched.h
The file was modifiedsrc/host/trxcon/include/osmocom/bb/l1sched/prim.h
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchh.c
The file was modifiedsrc/host/trxcon/src/sched_prim.c
The file was modifiedsrc/host/trxcon/src/sched_trx.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_pdtch.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchf.c
Commit 33dd069aa801d84e0360dcb4079230462aea8ec1 by Pau Espin Pedrol
layer23: modem: Validate IP version of UL data packets from tun match PDP context setup

Change-Id: I3fe56fcbdbb6be3366829a14a433b735f7f9d43c
The file was modifiedsrc/host/layer23/src/modem/app_modem.c
The file was modifiedsrc/host/layer23/src/modem/sm.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/apn.h
Commit c8b951e276953e6a6f5420df4b111b25c5ad5822 by Pau Espin Pedrol
layer23: modem: Fix newline character typo in log line

Change-Id: I3ff9b71ff469e339aadff643b582efb06d5efb6c
The file was modifiedsrc/host/layer23/src/modem/gmm.c
Commit e2fd48e7d783a92e862527d5d5b88e6c14dc06d2 by Pau Espin Pedrol
layer23: modem: gmm: Log allocated TLLI on Attach Success

Change-Id: I29242873ebec173c430e6d413e6c533ec1e2b97a
The file was modifiedsrc/host/layer23/src/modem/gmm.c
Commit 171ba463828af143911d38e8a4885759f9d2e389 by Pau Espin Pedrol
layer23: modem: gmm: Adapt log string about no TLLI found

During initial GMM Attach, the GMM layer generates an internal
local TLLI and uses it to do the GMM Attach. Only at the time it
receives the GMM Attach Accept with the assigned TLLI from the network
then explicitly informs other layers about the TLLI update.
Hence, the GMMREG user doesn't really know about the TLLI in use until
the GMM Attach success happens (gmmreg-attach.cnf).
During that time, the TLLI at the app is basically unassigned
(0xffffffff). Hence, during that same time a TLLI update hook in
GMMRR-Assign.req will not work since the app is unaware of the remporary
local TLLI, so no match can be done.
In that specific scenario, that's fine, since anyway it is waiting to
receive the GMMREG-Attach.cnf, which will indicate the assigned TLLI to
it.
In summary, not being able to match the TLLI in GMMRR-Assign.req is not
bad per se, so soften the log error there.

Change-Id: I31c04288789393391084000fbdbcdcedb11d0b68
The file was modifiedsrc/host/layer23/src/modem/gmm.c
Commit 845ad38328db3134f271ae696d14f7ece88315d8 by jolly
Fix VTY command to set IMEISV.

The pointer and size must given for the SV portion of the character
array only.

Fixes: CID#314049, CID#314048
Change-Id: Ieff4ca886dec71aae1b6ecf2b623d600426580da
The file was modifiedsrc/host/layer23/src/common/vty.c
Commit d524c17d907b39189c1c7b465b8f40db2d79f55b by Pau Espin Pedrol
l1ctl: Fill ph_data_param fn field

Related: OS#3626
Change-Id: I3317296b2bda1088a2af81ba9b135714f8393afd
The file was modifiedsrc/host/layer23/src/common/l1ctl.c
Commit 8bbd0d173fad3708fac3207d56dd04c14912351e by Pau Espin Pedrol
l1ctl: Fix fill ph_data_param fn field

This commit fixes recent previous commit filling in the fn field. The
dl->frame_nr is network order, and we want to pass a host order integer
in the primitive. Use the tm.fn which already includes the proper value
calculated from dl->frame_nr.

Fixes: d524c17d907b39189c1c7b465b8f40db2d79f55b
Related: OS#3626
Change-Id: Id96015c8b419932abb8095c6cb85aceef34e366f
The file was modifiedsrc/host/layer23/src/common/l1ctl.c
Commit 8b4640ec19d95735363c635b84ca814d9c35ab76 by Pau Espin Pedrol
l1ctl_proto: add 'start_fn' field to UL/DL TBF CFG.req messages

Change-Id: Ibb6a05165fe1c81268fb0e3674adae4065e78171
Related: OS#5500
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/l1ctl.h
The file was modifiedsrc/host/layer23/src/common/l1ctl.c
The file was modifiedsrc/host/layer23/src/modem/grr.c
The file was modifiedinclude/l1ctl_proto.h
Commit 3ac817108eeb94ead29b0644c872d0a67abf2943 by Pau Espin Pedrol
l1gprs: Fix slotmask update on already registered tbf

Change-Id: I5d64488d2aa740e91e01fad17f2af3ded24b12ef
The file was modifiedsrc/shared/l1gprs.c
Commit fb384998fbddcc545eec76da41db1aa41b583aa9 by Pau Espin Pedrol
trxcon: properly handle PDCH slotmask in UL/DL TBF CFG.Req

Change-Id: I4c2ff25217fba0b6b4704f023071b86ed9afb55c
Related: OS#5500
The file was modifiedsrc/shared/l1gprs.c
The file was modifiedinclude/l1gprs.h
The file was modifiedsrc/host/trxcon/src/trxcon_fsm.c
Commit 13b1946fa7888f033fdffd2229f73eea52702a08 by Pau Espin Pedrol
layer23: modem: Pass fn from lapdm to L1CTL-CCCH_DATA.ind

Change-Id: I7a9f31ae363fe7de019ff1a906f3978ff3074036
The file was modifiedsrc/host/layer23/src/modem/grr.c
Commit 71e39bccf1e509bde86fd1f2cd0c7fc5e5675342 by Pau Espin Pedrol
l1gprs: implement TBF starting time support

Change-Id: I174e3c43d2f4c828a528710b284e62c9bb794122
Related: OS#5500
The file was modifiedsrc/shared/l1gprs.c
The file was modifiedinclude/l1gprs.h
Commit 9fcf7a45b2dd07ef1e5c956ea05ad2631b7d372d by Pau Espin Pedrol
l1gprs: Improve logging fn and tn in BLOCK.req

Change-Id: Iba29d88770e79fee0e4ac3c8f4e833907afa5b52
The file was modifiedsrc/shared/l1gprs.c
Commit a98f0bd93065fef09d7a43b7bc55a35637201c0d by Pau Espin Pedrol
l1gprs: Log slotmask when logging TBF

Change-Id: Ib96b01c591dbcc6aa9e0527e0be499ef8aee2863
The file was modifiedsrc/shared/l1gprs.c
Commit d130d9d7b1b424a43c8f90b3b6bab45fbb431176 by Pau Espin Pedrol
layer23: modem: pass TBF starting time from CFG UL/DL TBF Req

Change-Id: Iae53c6e704a5b868a265216d4cb48b1edc2d7e61
Depends: libosmo-gprs.git I27a7a896fe3839fa4f9b8cd9500c4ab7867bbaa0
Related: OS#5500
The file was modifiedsrc/host/layer23/src/modem/grr.c
Commit a93785bf437c45131aad0bac52b7c3f3db9ecee3 by Vadim Yanitskiy
trxcon/l1sched: implement CSD scheduling support

This patch adds support for TCH/[FH]2.4, TCH/[FH]4.8, TCH/F9.6 and
TCH/F14.4 (including FACCH).  Additional changes made:

* enlarge the maximum TCH burst buffer size to 24 * (2 * 58) bytes;
* enlarge per-l1cs UL/DL burst masks to hold up to 32 bits;
* enlarge per-l1cs DL meas ring buffer to 24 entries;
* enlarge L1SCHED_PRIM_TAILROOM from 256 to 512 bytes;
* enlarge L1CTL_LENGTH from 256 to 512 bytes;

Change-Id: I0d7389a9a5f7019b9316ab1c0115797ff54a0e41
Depends: libosmocore.git Ib482817b5f6a4e3c7299f6e0b3841143b60fc93d
Depends: libosmocore.git I0c7a9c180dcafe64e6aebe53518d3d11e1f29886
Depends: libosmocore.git I4685376c8deb04db670684c9ebf685ad6fc989fa
Related: OS#4396, OS#1572
The file was modifiedsrc/host/trxcon/src/l1ctl.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_common.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchh.c
The file was modifiedsrc/host/trxcon/src/sched_prim.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_desc.c
The file was modifiedsrc/host/trxcon/include/osmocom/bb/trxcon/l1ctl_server.h
The file was modifiedsrc/host/trxcon/include/osmocom/bb/l1sched/l1sched.h
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchf.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_pdtch.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_xcch.c
Commit 096a3cc6f3e982df09836b70a5adcd57a4b93ab9 by Vadim Yanitskiy
trxcon/l1sched: refactor l1sched_mframe_layout()

Change-Id: Ie1c3679879ef97d42237d6723d1619ac0ef97f6b
The file was modifiedsrc/host/trxcon/include/osmocom/bb/l1sched/l1sched.h
The file was modifiedsrc/host/trxcon/src/sched_mframe.c
Commit c20f3f3f19dca217392c1e613aa1dbe8b6d37865 by Pau Espin Pedrol
trxcon: Print fn in prim_enqueue()

Change-Id: I3725a77cbfb116697c1287edbac9068e64768a19
The file was modifiedsrc/host/trxcon/src/sched_prim.c
Commit 59e649dbf1e1e71d38ab6fc40d2feb6fe6195f54 by laforge
firmware: board: add support for TR-800 target

iWOW TR-800 is a packaged GSM modem module based on Calypso+Iota+Rita
chipset; it is fully quadband, and reverse engineering of its PCB
confirms that this module is nothing but a mass-produced version of
the core of TI's legendary Leonardo+ reference platform.  The same
module is also known as FreeCalypso Tango - a rebranded version of
the same hardware module with different firmware and a different
Responsible Party for official support.

FreeCalypso HQ is contributing OsmocomBB support for this Calypso
modem module for two reasons:

1) Harm reduction - sooner or later someone in Osmocom universe is
   going to run OBB firmware on TR-800 once they lay their hands on
   this hardware, and the resulting operation will be less harmful /
   closer to correct if we provide the basic board support patch.

2) There exists a large surplus of FreeCalypso Caramel2 development
   boards that are based around FC Tango modules.  Having this hw
   supported by both firmwares will hopefully increase the chances
   that these boards will find loving homes, as opposed to continuing
   to gather dust in a cardboard box.

Legal and ethical disclaimer: OsmocomBB firmware running on ANY
Calypso+Iota+Rita target is *known*, through confirmed observations
with a measuring instrument (R&S CMU200), to put out radio transmissions
that are *severely out of spec*, and this defect does NOT go away
with the present patch which merely adds support for a different C+I+R
board target.  The present patch has been produced as a harm reduction
measure, to reduce (but not to zero) the harm that will be caused
by parties who run OsmocomBB firmware on C+I+R hardware despite having
been advised not to.  As the party seeking to reduce rather than cause
that harm, Mother Mychaela and her related business entities explicitly
disclaim all liability for damage that will be caused by parties who
continue running OsmocomBB firmware despite having been repeatedly
advised to switch to manufacturer-approved published-source firmware
instead.

Change-Id: I84d564f052f12a25ea3bfb9c78860e9dc6262be8
The file was addedsrc/target/firmware/board/tr800/init.c
The file was modifiedsrc/target/firmware/Makefile
The file was addedsrc/target/firmware/board/tr800/keymap.h
The file was addedsrc/target/firmware/board/tr800/rffe_leo_quadband.c
The file was addedsrc/target/firmware/board/tr800/afcparams.c
Commit fa833e40956a72334174eea220e4b5a20bf7864a by Pau Espin Pedrol
l1gprs/l1ctl: Decouple RTS.ind from DL_BLOCK.ind

Before this patch, the RTS:ind was crafted up in the stack when
receiving the DL_BLOCK.ind. This created some problems since the
internal low level state has to be updated in between signalling
DL_BLOCK.ind and RTS.ind, as there's a fn-advnace of one block between
those 2 signals (hence the timeslot allocation has to be applied at the
time when the fn-advance is applied).
This is actually not fixing the whole issue, since there's several
timeslots and hence the following events will have the internal timeslot updated
during the event in the middle, hence potentially causing problems in the
remaining TS:
DL_BLOCK.ind(FN=N, TS=1),  RTS.ind(FN=N+4, TS=1), DL_BLOCK.ind(FN=N, TS=2)

In any case, this decoupling already improves the situation and is step
needed anyway towards fully fixing the problem (by, for instance,
maintaining a timeslot state duplicated both for DL and Ul directions,
since they drive based on differnet FN time (1 PDCH block).

Change-Id: I1494e0aac7555f6e01b4b435b77140afc42c098e
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/ms.h
The file was modifiedsrc/host/virt_phy/src/virt_prim_pdch.c
The file was modifiedsrc/host/trxcon/src/trxcon_fsm.c
The file was modifiedsrc/host/layer23/src/modem/grr.c
The file was modifiedinclude/l1ctl_proto.h
The file was modifiedsrc/shared/l1gprs.c
The file was modifiedinclude/l1gprs.h
The file was modifiedsrc/host/layer23/src/modem/rlcmac.c
The file was modifiedsrc/host/layer23/src/common/l1ctl.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/modem/grr.h
Commit 9a71f0a18b5563844ec2cf4cd3d63549c5ffd9a4 by Vadim Yanitskiy
virt_phy: fix wrong pointer being checked

Change-Id: I2f845b0335d2d9818aa15c30f8621acd120e82d4
Fixes: fa833e40 "l1gprs/l1ctl: Decouple RTS.ind from DL_BLOCK.ind"
Fixes: CID#323121
The file was modifiedsrc/host/virt_phy/src/virt_prim_pdch.c
Commit 05ddc05233100236d93c1268a1d851b14efc6fca by laforge
trxcon: handle_tbf_cfg_req(): properly set TSC for lchans

Before this patch all Uplink PDCH bursts were using TSC=0.

Change-Id: I58b2da0d285b9a3e444374a30276fbaab3b784ac
Related: OS#5500
The file was modifiedsrc/host/trxcon/include/osmocom/bb/trxcon/trxcon.h
The file was modifiedsrc/host/trxcon/src/trxcon_fsm.c
Commit 57b0908a7156c97aaf97092312cca8e2ce4089aa by Vadim Yanitskiy
modem: grr: clarify a comment in forward_to_rlcmac()

Change-Id: I11286777c70c776c9f6990be988401ebd5b84f0f
The file was modifiedsrc/host/layer23/src/modem/grr.c
Commit 9978b00ea0357be5a5d071562f5695c3165a3e82 by Vadim Yanitskiy
modem: grr: implement RACH.req retransmission

Sometimes sending one Access Burst is not enough, so we need to repeat
sending it a few more more times changing the 3 LSBs randomly.  This
is what we already do in the mobile app, but not in the modem app.

* Rename GRR_EV_RACH_{REQ,CNF} to GRR_EV_CHAN_ACCESS_{REQ,CNF}.
* Rename VTY command 'grr tx-chan-req' to 'grr start-chan-access'.
* Add an intermediate state GRR_ST_PACKET_ACCESS.
** The GRR_EV_CHAN_ACCESS_REQ transitions to this state.
** One RACH.req gets transmitted when entering this state.
** The GRR_EV_CHAN_ACCESS_CNF confirms transmission of a RACH.req.
** Upon the timeout (300 ms) expiry, a loop state transition happens.
** After 3 loop-transitions, transition to GRR_ST_PACKET_NOT_READY.

Change-Id: Iab6d9147f6e0aeb99239affacf318a3897fd6ffe
Related: libosmo-gprs.git If0de3ed86b1e2897d70183f3b0f4fbfd7d2bda80
Related: OS#5500, OS#6131
The file was modifiedsrc/host/layer23/src/modem/vty.c
The file was modifiedsrc/host/layer23/src/modem/grr.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/modem/grr.h
The file was modifiedsrc/host/layer23/src/modem/rlcmac.c
Commit 45a8db2a918d9fe5e94a35ecf9fe80973d9de88d by Vadim Yanitskiy
l1gprs: migrate to gsm0502_fncmp() from libosmogsm

Change-Id: I10261aa114b5dce3efee26ea84a1caa50c49a1d2
Depends: libosmocore.git I9590f2e836fc48650decf1564b6ab46306c4fe2d
Depends: libosmocore.git Ie8bb9c49c6f81b8f4a1766547d6943f9880d1186
Related: OS#5500
The file was modifiedsrc/shared/l1gprs.c
Commit a41ca4bbc42bc66557cdc7c646c539d1a4c1e30f by Vadim Yanitskiy
trxcon/l1sched: rework dequeueing of PDCH Tx prims

When an UL BLOCK.req is received late, i.e. after the first Tx burst
of the respective TDMA Fn was requested by the PHY, a domino effect
can be observed: the stale Tx primitive remains in the queue and
prevents transmission of the next primitive, even if the later was
received in time.  This breaks transmission of consecutive UL blocks.

Don't let stale primitives poison the Tx queue: drop them like before,
but keep looking for a primitive with the matching TDMA Fn.  If found
a primitive with TDMA Fn past the current one, stop the iteration.

Change-Id: I439615639b8e840b9fd4f3af6934d9f298f32216
Depends: libosmocore.git I9590f2e836fc48650decf1564b6ab46306c4fe2d
Depends: libosmocore.git Ie8bb9c49c6f81b8f4a1766547d6943f9880d1186
Related: OS#5500
The file was modifiedsrc/host/trxcon/src/sched_lchan_pdtch.c
Commit 3f36843b9070ef4ba32884be71d15b02cf10ddd4 by Vadim Yanitskiy
modem: fix grr_st_packet_access_action(): shift rr->cr_hist properly

Pass size in bytes to memcpy(), not number of elements!

Change-Id: I687435f5458e766d9d61143d6e4255f089fe1caf
Fixes: 6db5f8b9c "modem: get rid of app_data.chan_req, use ms->rrlayer"
Related: OS#5500, OS#6131
The file was modifiedsrc/host/layer23/src/modem/grr.c
Commit 975351e2508683c7c7b18958b8248cd157400fb0 by jolly
ASCI: Add GCC/BCC (call control) to mobility management

GCC is the call control for voice group calls, BCC is the call control
for voice broadcast calls.

This patch includes the new message primitives between MM layer and the
GCC/BCC layers.

Related: OS#5364
Change-Id: If6f3cea4b2ca839559596a6ee5a3d169c6d85dbe
The file was modifiedsrc/host/layer23/src/mobile/gsm48_mm.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/gsm48_mm.h
Commit 245b4b92389a7fd417cfc784d13adeb0da94be03 by jolly
ASCI: Get timing advance and TX power only when included

Instead of assuming that there are TX power and timing advance IEs
included in RSL message, check for existence.

gsm48_rr_rx_acch() may receive frames from FACCH that do not have these
IEs included in the message. These frames are UI frames on DCCH and Bter
frames. E.g. these frames are used on voice group channel to control
uplink.

Related: OS#5364
Change-Id: I87fcd44bba221ab4c5fbd2c79557db2444a10b88
The file was modifiedsrc/host/layer23/src/mobile/gsm48_rr.c
Commit b7663882c0ad86b7fb709a4e5b136e7c0230a399 by jolly
ASCI: MM connections are defined by 'ref' and 'protocol' tuple

VGCS and VBS calls may share the same (call) ref or share with other
protocols. Therefore the MM connection is defined by the reference and
the prococol discriminator.

Related: OS#5364
Change-Id: Ic280cd8c666660077bb2c2ef641f4cddd3b36eee
The file was modifiedsrc/host/layer23/src/mobile/gsm48_mm.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/gsm48_mm.h
Commit 28d9a4880cdbc18195d759e182af3a23e9cfa236 by jolly
ASCI: Add a flag to turn transmitter off or on

This flag can be used to turn transmitter off for "group receive mode"
or for handover procedure. The flag is stored in the channel description
of the mobile application. It is sent to layer 1 when switching to
dedicated channel or when changing TCH mode.

At the layer 1 the transmitter is turned off while the receiver is still
active. This is done by:

* scheduling a TX dummy task for TCH bursts
* scheduling no TX task for SACCH bursts
* not enabling the transmit window

Related: OS#5364
Change-Id: I20133523adc3b204cd2181bfe664fe66020a10e3
The file was modifiedsrc/host/layer23/src/misc/app_cbch_sniff.c
The file was modifiedsrc/target/firmware/layer1/l23_api.c
The file was modifiedsrc/target/firmware/include/layer1/sync.h
The file was modifiedsrc/host/layer23/src/modem/grr.c
The file was modifiedsrc/target/firmware/layer1/async.c
The file was modifiedinclude/l1ctl_proto.h
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/osmocom_data.h
The file was modifiedsrc/host/layer23/src/mobile/gsm48_rr.c
The file was modifiedsrc/target/firmware/include/layer1/async.h
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/l1ctl.h
The file was modifiedsrc/host/layer23/src/common/l1ctl.c
The file was modifiedsrc/host/layer23/src/mobile/gsm414.c
The file was modifiedsrc/target/firmware/layer1/prim_tch.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/gsm48_rr.h
Commit e51391166896ff16a2555ad2154d2225fe09e2e7 by jolly
ASCI: Add two logging categories for group and broadcast call control

Related: OS#5364
Change-Id: I77f634c7098137a5412ea56ddc0e794e629d1982
The file was modifiedsrc/host/layer23/src/common/logging.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/logging.h
Commit d95c8f4fa693c4e34bbbdde171fe1ba096e23825 by jolly
Transmit access bursts on DCCH of TCH channels

This is required to access a TCH during handover or to access the uplink
of a VGCS channel.

The patch is taken from the handover branch.

Change-Id: I1a972d9bac5749c67c1b139825400854f7cf1490
The file was modifiedsrc/target/firmware/layer1/prim_rach.c
Commit 23d46f003f7cbb8d2c39b6285c1e22fd692f9631 by Andreas Eversberg
ASCI: Add UIC support to random access burst

A different identity code can be used on uplink access bursts on voice
group channel. This is optional for the network, but mandatory for the
MS side. If the network does not define a UIC, the BSIC is used instead.
BSIC is used for RACH channel and handover.

Related: OS#5364
Change-Id: I4039734676949aefa5be4b5298764b8ba7e1b8ed
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/l1ctl.h
The file was modifiedsrc/host/layer23/src/modem/grr.c
The file was modifiedinclude/l1ctl_proto.h
The file was modifiedsrc/target/firmware/layer1/prim_rach.c
The file was modifiedsrc/host/layer23/src/common/l1ctl_lapdm_glue.c
The file was modifiedsrc/target/firmware/layer1/l23_api.c
The file was modifiedsrc/host/layer23/src/common/l1ctl.c
The file was modifiedsrc/target/firmware/include/layer1/prim.h
The file was modifiedsrc/target/firmware/include/layer1/sync.h
Commit 32423ccf5d1c55daef057ec445ecd65ea2a539b3 by Andreas Eversberg
ASCI: Add support flags to mobile (and VTY) for VGCS/VBS

These support flags can be enabled or disabled and are sent in the
class mark IE. Also they allow or disallow making VGCS/VBS calls.

Related: OS#5364
Change-Id: Ia23eb190e533660cce4ba4c856a83b5f3d534202
The file was modifiedsrc/host/layer23/src/mobile/vty_interface.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/settings.h
The file was modifiedsrc/host/layer23/src/common/support.c
Commit dd60a527be07ad3530828dd4e42b2628846ff689 by Andreas Eversberg
Refactoring encoding of mobile identity at mobile application

Deprecated functions gsm48_generate_mid_from_*() are replaced by
osmo_mobile_identity_encode_msgb(). Clean up code.

Change-Id: I9ff429bd50d718530fdad64a276053a35c8928f2
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/gsm48_mm.h
The file was modifiedsrc/host/layer23/src/mobile/gsm48_mm.c
The file was modifiedsrc/host/layer23/src/mobile/gsm48_rr.c
Commit bb32882adc170890dbf2e937181e6d6ee3c55b17 by Andreas Eversberg
ASCI: Increase channel request history to 5 entries

3 entries are enough for random access on CCCH. 5 are required for
uplink request on VGCS channel.

The history is used to remember when the random access bursts were send.
The RR layer can check if the IMMEDIATE ASSIGNMENT or VGCS UPLINK GRANT
message has matching frame number and random value of up to 5 random
access bursts previously sent.

Related: OS#5364
Change-Id: I62f18685bf05663f3ee6e94f6884ffb9a6b07ea4
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/gsm48_rr.h
The file was modifiedsrc/host/layer23/src/mobile/gsm48_rr.c
Commit c9f90c4d5aa236f0cf1922d32d296292d1b30506 by Andreas Eversberg
Fix request reference value in gsm48_match_ra()

Do not overwrite the given request reference pointer with the history
buffer's reference. This makes no sense.

Without this fix only the response to the first access burst could be
matched correctly.

Change-Id: Iec636d368e20030beac2861bff61b1a06e7b4821
The file was modifiedsrc/host/layer23/src/mobile/gsm48_rr.c
Commit 699a3a397862ae68054c7d1cbffcb6ce80842db5 by Andreas Eversberg
Fix unset sapi in gsm48_rr_data_ind()

The gsm48_rr_hdr is pushed into the message before sending data to
MM layer. SAPI was not set in this header.

Change-Id: I8345a562050d52d491f3b7192c979d455a63931c
The file was modifiedsrc/host/layer23/src/mobile/gsm48_rr.c
Commit c3467236a363ad51ee7d8ef0e274d05d9e759389 by Andreas Eversberg
ASCI: Add channel notification event to MM events

This is required to notify MM layer about new and ceased group and
broadcast calls.

Related: OS#5364
Change-Id: Ifee286ba4628356cc19b5dc75f1843287c5d2342
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/gsm48_mm.h
The file was modifiedsrc/host/layer23/src/mobile/gsm48_mm.c
Commit 1dc887a78dcd44d80db72e648f5f6568ce20ad8a by Andreas Eversberg
ASCI: Add uplink free/busy event to MM events

Related: OS#5364
Change-Id: I3f8d97a0359ea9560d6d6bfd8238ddc6492c56e8
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/gsm48_mm.h
Commit 2d9c447c3f63ea73f7f9d8dd93bbbf99dfd7f0b9 by Andreas Eversberg
ASCI: Add interface for group receive/transmit mode support to RR layer

This patch includes new messages and description. The are used to bring
RR layer into group receive mode and from there in group transmit mode
and back.

Related: OS#5364
Change-Id: I1abd56c63d15af1cff8bde7589a571cb5bb5506f
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/gsm48_rr.h
The file was modifiedsrc/host/layer23/src/mobile/gsm48_rr.c
Commit 615a88f69b52e786abab2001cb442329439711dc by Andreas Eversberg
Fix reception of MM messages at gsm48_mm_data_ind()

The patch "ASCI: Add GCC/BCC (call control) to mobility management"
breaks reception of MM messages. No MM connection setup is possible.

This patch fixes the issue.

Change-Id: I263739bb0220d19f14114714fe9d82505bdbd267
The file was modifiedsrc/host/layer23/src/mobile/gsm48_mm.c
Commit d575e5bf6ee69adff6c7203b178ca981266ab933 by Andreas Eversberg
Add header length check to received CCCH messages

Change-Id: I3bc6b0b997e6ea1048c3357d276adfcc1638b02b
The file was modifiedsrc/host/layer23/src/mobile/gsm48_rr.c
Commit e676cf83eefaba5eb42eeef8e28ec01ed6655c14 by Andreas Eversberg
ASCI: Prepare gsm48_rr_rx_acch for voice group channel

The gsm48_rr_rx_acch function receives FACCH/SACCH. This is not only
used for system information on SACCH, but also for short header messages
and regular UI messages on TCH.

Related: OS#5364
Change-Id: I39b27396a31137b3c4bdcb40dccdf3de60458fe2
The file was modifiedsrc/host/layer23/src/mobile/gsm48_rr.c
Commit 91d862c25187a5ef2cc9e265f52d5b7fe4a6ed6d by Andreas Eversberg
ASCI: Add ASCI notification support to RR layer

The notifications are received on NCH, as well as on FACCH.

Related: OS#5364
Change-Id: I49df02cb4d99d9aab1ea3ca13beb2ea00ae4c9f4
The file was modifiedsrc/host/layer23/src/mobile/gsm48_rr.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/gsm48_rr.h
Commit 253e5cd1ebefcdd99c08ea7ab32dd93b67379ebe by Andreas Eversberg
ASCI: Add group receive mode support to RR layer

This allows reception of VGCS and VBS calls. A special sub-state is used
to differentiate between IDLE mode and group receive mode. Later it can
be used to differentiate between dedicated and group transmit mode.

Related: OS#5364
Change-Id: Ia7d806b354fb3be5729bff8ac9aa1c7ad7a8b539
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/gsm48_rr.h
The file was modifiedsrc/host/layer23/src/mobile/gsm48_rr.c
Commit 17115c70b157de020ab2b4fd16ffb93745e8ef4b by Andreas Eversberg
ASCI: Add group transmit mode support to RR layer

This allows the upper layer to estabish and release connection on the
uplink of a voice group call.

Related: OS#5364
Change-Id: I9b62eef5d877e5d9dcf349717efd2cce28862c58
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/settings.h
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/gsm48_rr.h
The file was modifiedsrc/host/layer23/src/mobile/gsm48_rr.c
Commit 1678f53f99edd3ec601a69484ce9f42536ff9d2d by Andreas Eversberg
ASCI: Add group receive and transmit mode support to MM layer

Related: OS#5364
Change-Id: I05957182a57423ad947ab200b52f65fde859e110
The file was modifiedsrc/host/layer23/src/mobile/gsm48_mm.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/gsm48_mm.h
Commit 32399095be88bc05c6c4873876cc005a0b38f0ae by Andreas Eversberg
ASCI: Add protocol type to trans_find_by_callref() function

This is required, because different protocols may share the same
callref, but use different protocols. E.g. a voice group call can share
the same callref with a voice broadcast call, but these calls are
different transactions.

Related: OS#5364
Change-Id: Ifea3a81aae3b4ae897851f867b13fa987c8cbe11
The file was modifiedsrc/host/layer23/src/mobile/gsm480_ss.c
The file was modifiedsrc/host/layer23/src/mobile/gsm48_cc.c
The file was modifiedsrc/host/layer23/src/mobile/transaction.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/transaction.h
The file was modifiedsrc/host/layer23/src/mobile/gsm411_sms.c
Commit 666ec1d7619288df7f91868a8aebdafe9220a020 by Andreas Eversberg
ASCI: Add GCC/BCC layer to support voice group/broadcast calls

Related: OS#5364
Change-Id: I22eacd018f18c18ba83dbd3dd874cf029344674d
The file was modifiedsrc/host/layer23/src/mobile/app_mobile.c
The file was modifiedsrc/host/layer23/src/mobile/Makefile.am
The file was modifiedsrc/host/layer23/src/mobile/gsm411_sms.c
The file was modifiedsrc/host/layer23/src/mobile/gsm48_cc.c
The file was modifiedsrc/host/layer23/src/mobile/gsm48_mm.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/Makefile.am
The file was addedsrc/host/layer23/include/osmocom/bb/mobile/gsm44068_gcc_bcc.h
The file was modifiedsrc/host/layer23/src/mobile/gsm480_ss.c
The file was modifiedsrc/host/layer23/src/mobile/transaction.c
The file was addedsrc/host/layer23/src/mobile/gsm44068_gcc_bcc.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/transaction.h
Commit 17f494189f793ad47166a9a960853899a3df55f0 by Andreas Eversberg
ASCI: Add VTY commands to control voice group/broadcast calls

Related: OS#5364
Change-Id: Id32253b4e10b8df48e819d8a92bbcda332dd11e6
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/vty.h
The file was modifiedsrc/host/layer23/src/mobile/vty_interface.c
Commit 06b4885b18b1ad4bcb429b8314f64ea23d2f90a5 by Andreas Eversberg
ASCI: Show NCH position in VTY together with system information

Related: OS#5364
Change-Id: I5e0a9d469eb70608502dca881808621fa153b666
The file was modifiedsrc/host/layer23/src/common/sysinfo.c
Commit 00507bdc139430be9ea0ec5d2615907e137c5b30 by Andreas Eversberg
Cleaning gsm48_mm_data_ind()

Get rid of goto and double switch/case by putting connection handling
code into a separate function.

Change-Id: I12454cab06c105ccd9e2495e3a6f0640f2884885
The file was modifiedsrc/host/layer23/src/mobile/gsm48_mm.c
Commit a67c8b32fb0438490b388ccc07ce335f43d5159f by Andreas Eversberg
Correctly extract bits from SI2*/SI5*

These bits are:
* EXT-IND
* BA-IND
* Multiband reporting

Change-Id: Ie5349464fed0a4276955235c7c87b5bcb299f20d
The file was modifiedsrc/host/layer23/src/common/sysinfo.c
Commit 3fb118bd91eb73274850c83f2ddbf18eadd9b7ec by Andreas Eversberg
Fix typo in sysinfo.c

Change-Id: I12405bef9f7910a354d9ac5153f4adc55095d747
The file was modifiedsrc/host/layer23/src/common/sysinfo.c
Commit d6b2a4d6851d5d1615190e3f810500668bd83b50 by Andreas Eversberg
Correctly use SUP_WRITE() macro for GSM 850

Change-Id: I52c99c63e38934fb26c26dba5bf2551ea311228b
The file was modifiedsrc/host/layer23/src/mobile/vty_interface.c
Commit 1cc4c0f487a1c7b412c4ad46b386847fcba0512d by Andreas Eversberg
Fix potential NULL pointer dereferences, discovered by Coverity Scan

See: CID 323362 + CID 323363
Change-Id: I47aa506014d8bddb8c8ce9b506c1c5c7b8056d30
The file was modifiedsrc/host/layer23/src/mobile/gsm48_mm.c
Commit 61ea0ac0abc42b858126eb3efe25b51a9dc58ad6 by Andreas Eversberg
ASCI: Add decoding of SYSTEM INFORMATION TYPE 10 $(ASCI)$

Related: OS#5782
Change-Id: I81c7929f6d951d8eef7d08624f0b72830370c448
The file was modifiedsrc/host/layer23/src/common/sysinfo.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/sysinfo.h
The file was modifiedsrc/host/layer23/src/mobile/gsm48_rr.c
Commit c8fed7fba78d553d0dd9f106ae0f8bf7959d319e by Andreas Eversberg
ASCI: Add VTY command to display group call neighbor cells

Related: OS#5782
Change-Id: Ie84221507bdf247c1563b829d6cf0adb53ce161f
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/sysinfo.h
The file was modifiedsrc/host/layer23/src/common/sysinfo.c
The file was modifiedsrc/host/layer23/src/mobile/vty_interface.c
Commit 0cee735aca1f0c32d10d1b31b5c32eee852097c2 by Andreas Eversberg
Fix settings for VGCS/VBS

The "support" flags must be copied to the settings, because they are
enabled by default and may be omitted in the VTY config.

Related: OS#5364
Change-Id: I81575dd3f2ade70101df32935a1c3d5469327577
The file was modifiedsrc/host/layer23/src/common/settings.c
Commit a397330e105772d6a7b6367dc3a46a55bd0a29f7 by Vadim Yanitskiy
modem: grr_fsm: permit loop transition for GRR_ST_PACKET_ACCESS

I forgot to permit the loop state transmission, so the modem app
gets stuck in GRR_ST_PACKET_ACCESS is no IMM ASS is received...

Change-Id: I059d2929f7f724cfe26935bf35c167e60157451f
Fixes: 9978b00e "modem: grr: implement RACH.req retransmission"
The file was modifiedsrc/host/layer23/src/modem/grr.c
Commit 22e79a87faaa8137e559908d4f90037603fb377a by Vadim Yanitskiy
ASCI: Fix false return value checks, discovered by Coverity Scan

See: CID 32637 - 323644

Related: OS#5364
Change-Id: If72590bb94597e434386bbcd312919a71abf0aae
The file was modifiedsrc/host/layer23/src/mobile/gsm44068_gcc_bcc.c
Commit beed281a0a85a1242be52b9fa45d8b880f2508bc by Andreas Eversberg
Fix selection of correct ARFCN at arfcn_from_freq_index()

The selection of ARFCN is described in TS 44.018 §10.5.2.20.

The frequencies found in SI5 and SI5bis are counted first, in the
following order: ARFCN 1..1023,0.

The frequencies found in SI5ter are counted afterwards, in the following
order: ARFCN 1..1023,0.

Related: OS#5782
Change-Id: I090d84a5550d89743e8f5a886f400df6483f50d7
The file was modifiedsrc/host/layer23/src/common/sysinfo.c
Commit 203014d74468fd401900e2ab1b20fc14752c3c76 by Andreas Eversberg
Fix indices of ARFCNs for measurement report

The order of ARFCNs are described in TS 44.018 §10.5.2.20.

The function arfcn_from_freq_index() is re-used to get the ARFCNs in
correct order for the report.

Change-Id: I0674467eb5a38a341cf65f95a25aa5f7232df069
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/sysinfo.h
The file was modifiedsrc/host/layer23/src/mobile/gsm48_rr.c
Commit 6708699b224a1e09cedc9caec79ee511f8bfbc45 by Andreas Eversberg
Correctly detect the follow-on proceed information element

Even if follow-on proceed is not supported, the warning message about
not beeing supported should only show when the follow-on proceed
information element is included in the location update accept messages.

Change-Id: I2b1aceb8b85bdd9faabe354501f9036f1fc6fe33
The file was modifiedsrc/host/layer23/src/mobile/gsm48_mm.c
Commit bcc047e5e12b714c1be42c98beedf428b86bab0e by Vadim Yanitskiy
Provide create_conn_and_push_mm_hdr() with correct SAPI

Change-Id: I454178f45aed49417f8cd7744155be66b9ac509f
Fixes: 00507bdc "Cleaning gsm48_mm_data_ind()"
Related: OS#6216
The file was modifiedsrc/host/layer23/src/mobile/gsm48_mm.c
Commit de630abfc83a88091072fb3c93e958041c3d99f0 by Vadim Yanitskiy
layer23: send UL/DL GPRS blocks over GSMTAP

Note that despite the VTY interface offers various channel type
filtering facilities, the actual filtering is not implemented.

This patch simply brings PS domain in consistency with CS domain:
the UL and DL GPRS blocks are now being sent over GSMTAP without
any filtering, just like GSM MAC blocks.

Change-Id: I338205bee44fe182233efc5619a3d528cd07d932
Related: OS#5500, OS#6209
The file was modifiedsrc/host/layer23/src/common/l1ctl.c
Commit 79baca14d41663b1282655620328452944a13f4d by Vadim Yanitskiy
firmware/layer1: mute UL/DL vocodec if it's not needed

The upper layers usually request either of the two configurations:

* (AUDIO_TX_MICROPHONE | AUDIO_RX_SPEAKER) - in this configuration
  the phone (PHY) is both the origin and the destination of the TCH
  frames.  DL frames are played via the built-in speaker; UL frames
  recorded using the built-in microphone.

* (AUDIO_TX_TRAFFIC_REQ | AUDIO_RX_TRAFFIC_IND) - in this case
  the upper layers (host side) become the origin and the destination
  of the TCH frames.  The built-in speaker and microphone are
  expected to be disabled.

However, when using the second configuration, one can still hear
DL TCH frames being played by the built-in speaker.  The built-in
microphone does not seem to be causing any issues, but still we
definitely don't want the vocoder to interfere with the host.

Change-Id: I390db1889f079dea8112794c3e039a9136b897df
Related: OS#4396
The file was modifiedsrc/target/firmware/include/calypso/l1_environment.h
The file was modifiedsrc/target/firmware/layer1/prim_tch.c
Commit 8a2422db1fcf5992146ca570ea69484226a141ff by Vadim Yanitskiy
firmware/layer1: clean up l1s_tch_cmd(): reduce nesting

Change-Id: If4f0bb37cb3e12e09078027461cd5040524e43b2
Related: OS#4396
The file was modifiedsrc/target/firmware/layer1/prim_tch.c
Commit c6c392aafdd2134adbea72bf6321a87eb8d69421 by Vadim Yanitskiy
firmware/layer1: cosmetic: labels should not be indented

Change-Id: Ie32501df19cc2eedd1042c9917583d7386a665bc
Related: OS#4396
The file was modifiedsrc/target/firmware/layer1/prim_tch.c
Commit f492a99d3639b067ed7d7f98a2e95f98b1c185a4 by Vadim Yanitskiy
firmware/layer1: clean up l1s_tch_resp()

* Reset both A_DD_0 and A_DD_1 headers, like in the case of FACCH.
* Reduce nesting, fix minor coding style issues.
* Add a FIXME for proper B_BFI checking.

Change-Id: Ie4faf386f54720888e73171bee26f93dfa0562d5
Related: OS#4396
The file was modifiedsrc/target/firmware/layer1/prim_tch.c
Commit 5523c0084dcf3e57422f31449551d9b9aad40107 by Vadim Yanitskiy
firmware/layer1: fix l1s_tch_resp(): use the right A_DD header

Change-Id: Idd48438e47ac3ef1172621e77688d094cdcdbf34
Related: OS#4396
The file was modifiedsrc/target/firmware/layer1/prim_tch.c
Commit 7286560a33a8614dc09cd1a3afd3bd2144167921 by Vadim Yanitskiy
firmware/layer1: fill-in DL info for L1CTL TRAFFIC.ind

Change-Id: I1c9727b183214f3d1a4f9a48489479f8435a4c5a
Related: OS#4396
The file was modifiedsrc/target/firmware/layer1/prim_tch.c
Commit a6d0a3e17002598d973c2a887b8f5d219b252943 by Vadim Yanitskiy
firmware/layer1: emit TRAFFIC.ind even if B_BFI is set

Even if the DSP marks a traffic frame as bad (B_BFI), we still want
to deliver something to the upper layers, just like we do for FACCH.

Change-Id: I559793a3506089b1c1758ee7022cceb7753afb30
Related: OS#4396
The file was modifiedsrc/target/firmware/layer1/prim_tch.c
Commit 069b627abecad7efb4de43e3bad7ceb685d65e89 by Vadim Yanitskiy
firmware/layer1: handle CSD related channel modes

Change-Id: Ib73210b273826ded56d42c41ffeb835eef96dd2b
Related: OS#4396
The file was modifiedsrc/target/firmware/layer1/async.c
The file was modifiedsrc/target/firmware/layer1/prim_tch.c
Commit ed9e949dd991dd36bb8aa1f172457f5cb1b07c77 by Vadim Yanitskiy
mobile: fix AUDIO_IOH_LOOPBACK mode: pull DL info header

The loopback mode is currently broken because the DL info header
remains present, thus becoming a bogus "part" of the speech frame.

Change-Id: I1af187b4bc5f5a99bc7f7634d90bf14ad3db0e49
Related: OS#4396
The file was modifiedsrc/host/layer23/src/mobile/voice.c
Commit 8d18e106a9058abcc2719fd3d3ecec10233c3713 by Vadim Yanitskiy
mobile: mncc_recv_internal(): make struct gsm_mncc ptr const

Change-Id: I0a5522b7df112bfaefc684c872a618c1e9118e61
The file was modifiedsrc/host/layer23/src/mobile/mnccms.c
Commit b525577a5e4ad19704cbd122822b206c21b67774 by Vadim Yanitskiy
mobile: mncc_call(): make *number argument const

Change-Id: I4558ce1313b8e9aadd73474a6514c136aa512de3
The file was modifiedsrc/host/layer23/src/mobile/mnccms.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/mncc_ms.h
The file was modifiedsrc/host/layer23/src/mobile/vty_interface.c
Commit 8f1091ee4be4d1e7bd2364143fa7373bb76a5666 by Vadim Yanitskiy
mobile: separate 'call MS_NAME NUMBER' command

This will allow us adding an optional switch for data calls.

Change-Id: I5d2332df09a81cb0747ecd9d95351ab59f99358e
Related: OS#4396
The file was modifiedsrc/host/layer23/src/mobile/vty_interface.c
Commit 026f11328073b83769ffac83f19567e44a5547cd by Vadim Yanitskiy
mobile: clean up call related VTY commands

Change-Id: I8bccdf776ad541932ad4a6d6a68426a6ab856e08
Related: OS#4396
The file was modifiedsrc/host/layer23/src/mobile/vty_interface.c
Commit 2c0f71ac43d2f7fb20e4b9ac610aab706e2f00ac by Andreas Eversberg
ASCI: Join a group/bcast call in correct MM states only

These states are:
GSM48_MM_SST_NORMAL_SERVICE
GSM48_MM_SST_ATTEMPT_UPDATE
GSM48_MM_SST_LIMITED_SERVICE
GSM48_MM_SST_LOC_UPD_NEEDED
GSM48_MM_SST_PLMN_SEARCH  (limited service)
GSM48_MM_SST_PLMN_SEARCH_NORMAL

If the service is limited, group/bcast calls can be joined, but uplink
access is not allowed.

Related: OS#5364
Change-Id: I2f8ff65f6e101972f9b1760013983d00ae6e7760
The file was modifiedsrc/host/layer23/src/mobile/gsm48_mm.c
Commit e45abc96ec016451d99b9daf7eff3ad11080fbc3 by Andreas Eversberg
ASCI: Ignore cell selection event during group receive mode

Cell selection is not supported during group receive mode. If it
happens anyway, give an error message and select correct sub-state.

This fixes I05957182a57423ad947ab200b52f65fde859e110.

Related: OS#5364 and OS#6214
Change-Id: Iea6fe623956003130000c59ec0e1b24b3177052d
The file was modifiedsrc/host/layer23/src/mobile/gsm48_mm.c
Commit 86fed8fc97a68297658463f080c9f9b1ff5c20e5 by Andreas Eversberg
ASCI: Select correct state when returning to idle or group receive mode

This fixes I05957182a57423ad947ab200b52f65fde859e110.

Related: OS#5364 and OS#6214
Change-Id: I626195161b987f1ba0065134afcf3936c9c090eb
The file was modifiedsrc/host/layer23/src/mobile/gsm48_mm.c
Commit 014646fc66032a8ef1961fdb129509174a9589a0 by Andreas Eversberg
ASCI: Change state correctly when leaving group mode

Use new_mm_state() to leave group mode. This will trigger IMSI detach
when returning to IDLE mode, if it has been delayed.

Related: OS#5364
Change-Id: I3c83c9e0fe10b35d60d125df6929fcb5ddc35f1a
The file was modifiedsrc/host/layer23/src/mobile/gsm48_mm.c
Commit 162398a0d95afd642ceb4387d59f83277485e6e1 by Andreas Eversberg
ASCI: Register state machines only once, when the application starts

Related: OS#5364
Change-Id: I46d68e31e0bfd6a64c190e439f45b24502dd1f30
The file was modifiedsrc/host/layer23/src/mobile/gsm44068_gcc_bcc.c
Commit 7a413ffb266aed91f72f462320b8efa7c86f07c7 by Vadim Yanitskiy
mobile: mnccms: use constants from libosmogsm (gsm_04_08.h)

Change-Id: I5ce59db39ad865620aaed2d778bc3710cf37bc3b
Related: OS#4396
The file was modifiedsrc/host/layer23/src/mobile/mnccms.c
Commit 9130b2d8f5a18a605399f3fd1493783cc15ab4c2 by Vadim Yanitskiy
mobile: cosmetic: improve mncc_{get,set}_bearer()

Change-Id: I5647bdf58cbf58065dbe8eebe16f330d98fd0d22
Related: OS#4396
The file was modifiedsrc/host/layer23/src/mobile/mnccms.c
Commit 292f39900c6837c093b54b2b4353a79b7ce26427 by Vadim Yanitskiy
mobile: fix mncc_get_bearer(): return -1 straightaway

Even though the function works as expected and *can* return -1,
which is first casted to unsigned and then back to signed, let's
make the code less confusing by returning -1 straightaway.

Change-Id: I3206fcfa9ab4cac85a1f0f2a4de3250b25f9058f
Related: OS#4396
The file was modifiedsrc/host/layer23/src/mobile/mnccms.c
Commit 40609ca94b2fb055ea0a405850e5e4894819d74b by Vadim Yanitskiy
mobile: improve handling of Bearer Capability IE for MT calls

This patch prepares for adding MT data call support:

* Move handling of the Bearer Capability IE into a function.
* Check transfer mode and coding standard in the received BCap.

Change-Id: I3a5cac8c35ba6b7bdc5fcb077690b32848747756
Related: OS#4396
The file was modifiedsrc/host/layer23/src/mobile/mnccms.c
Commit 1c7c71376024aa9cbfb415cf712ff2f83062acea by Vadim Yanitskiy
mobile: vty: rework support enable/disable commands

Change-Id: Ibfef31f6dd7694dad535ad07fdf47bd32571b7b2
Related: OS#4396
The file was modifiedsrc/host/layer23/src/mobile/vty_interface.c
Commit 8c190e6f927a34e5967fe0abd189604f6024f51b by Andreas Eversberg
ASCI: Handle rejection of voice group/broadcast call correctly

If joining a call gets rejected, the call must not be released, instead
it must return to U3 state (incoming call), because the call still
exists in the cell and it might possible to join it later.

If a call notification is gone, a new event is used in the state machine
to release incoming call.

Change-Id: I605387c6be409ef0e67caf7b9e2a83e1032b45f1
Related: OS#5364
The file was modifiedsrc/host/layer23/src/mobile/gsm44068_gcc_bcc.c
Commit bfebc813842650e1d5191d561ef4a18b3c9b7eb6 by Andreas Eversberg
ASCI: Use correct mobile identiy in TALKER INDICATION message

Use TMSI only if valid in the current location area. If the MS moves to
a different location area and joins a group call before location update,
TMSI is not valid. Then use IMSI instead. If no IMSI/TSMI is available,
send mobile identity without IMSI/TMSI.

Change-Id: I299604a0e12d91e9133b70757826ac9637da0e3e
Related: OS#5364
The file was modifiedsrc/host/layer23/src/mobile/gsm48_rr.c
Commit d7e611472a923f0f3d6f53c8777df7f5e8114656 by Andreas Eversberg
ASCI: Add option to join voice group/broadcast calls without valid SIM

This option must be enabled in the VTY and is disabled by default.

Calls can be joined when service is limited or normal. With that option
enabled, calls can be joined even with invalid SIM.

Talking is allowed when service is normal. With that option enabled,
talking is always allowed. It depends on the network, if it accepts the
talker.

Change-Id: I6ea851a8cb015ff685b985335968c6184beca816
Related: OS#5364
The file was modifiedsrc/host/layer23/src/mobile/gsm48_mm.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/settings.h
The file was modifiedsrc/host/layer23/src/mobile/vty_interface.c
Commit 9d765a66fc49eef53d8ab601185b11b6e6d7720a by Andreas Eversberg
ASCI: Correctly set and store 'uplink-release-local' flag

Also this option is enabled by default and show in the VTY if it is
disabled.

Change-Id: I6af44f0dd7ff842de633587fb0dcbe78126d30e1
Related: OS#5364
The file was modifiedsrc/host/layer23/src/mobile/vty_interface.c
The file was modifiedsrc/host/layer23/src/common/settings.c
Commit df8801bed6b232ab4f16efa457b430f96e49c4ba by Vadim Yanitskiy
layer23: rework L1CTL TRAFFIC.{ind,req} related logging

Make these Rx/Tx messages more informative.

Change-Id: I9c73db3c3650547030b8c354016e65195daebb62
Related: OS#4396
The file was modifiedsrc/host/layer23/src/common/l1ctl.c
Commit e1bcc5af889aeb3a7144e478f14bb770bf99bc56 by Vadim Yanitskiy
mobile: cosmetic: use '#pragma once' in mncc.h

Change-Id: I2f350c5b67e57097b71b12ba42c90ce0941b8fea
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/mncc.h
Commit 011308cbcc1cb4f0b93bf6b9c04513f59c3b2d93 by Vadim Yanitskiy
mobile: move 'struct gsm_call' from <mncc.h> to <mncc_ms.h>

The only file using this structure is mnccms.c.

Change-Id: Iaa43609849ac3c755d47258d3aca4bfe7a6b3a49
Related: OS#4396
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/mncc_ms.h
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/mncc.h
Commit e73a604de0ed5af7b7ef4c61ad3a92ec7a062ee8 by Vadim Yanitskiy
mobile: add support for Circuit Switched Data calls

This patch implements the signalling part for mobile originating
and mobile terminating CSD calls.  The user plane interface is
to be implemented in follow-up patches.

Change-Id: I1995fa0a7a68d9b980852b664d472d4633777ac6
Related: OS#4396
The file was modifiedsrc/host/layer23/src/common/settings.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/settings.h
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/mncc_ms.h
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/support.h
The file was modifiedsrc/host/layer23/src/mobile/gsm48_rr.c
The file was modifiedsrc/host/layer23/src/mobile/vty_interface.c
The file was modifiedsrc/host/layer23/src/mobile/mnccms.c
The file was modifiedsrc/host/layer23/src/common/support.c
Commit 5bdebfaae347d7c2b925b9f7c79d32a8beb1b5df by Vadim Yanitskiy
mobile: rename 'audio' node to 'tch-voice' node

Change-Id: I2cab597c5de92ecb343cad7aaaa48035ca5f8365
Related: OS#4396
The file was modifiedsrc/host/layer23/src/mobile/vty_interface.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/vty.h
Commit e80d30225565d4b352a1451c441d9b4a1b409c4a by Vadim Yanitskiy
mobile: clarify TCH I/O {handler,format} naming

Before we add handling of TCH I/O for data calls, let's rename the
existing voice related symbols and struct fields to have 'voice'
in their names.

Change-Id: If6c799d11e225ad00ca5da5ae63dca20568a0ce0
Related: OS#4396
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/settings.h
The file was modifiedsrc/host/layer23/src/mobile/gsm48_rr.c
The file was modifiedsrc/host/layer23/src/mobile/gapk_io.c
The file was modifiedsrc/host/layer23/src/mobile/vty_interface.c
The file was modifiedsrc/host/layer23/src/common/settings.c
The file was modifiedsrc/host/layer23/src/mobile/voice.c
Commit 1c4a77adbfd91fcf5a5ee3348aef4e81662ab7dd by Vadim Yanitskiy
mobile: gsm_settings_init(): set TCH frame format explicitly

Change-Id: I4660b07977b6701ad5dc4bf25f12cba374101f8b
Related: OS#4396
The file was modifiedsrc/host/layer23/src/common/settings.c
Commit 21708873998d4875404e071f1084971cbc3bc2e2 by Vadim Yanitskiy
mobile: add params and VTY commands for data calls

Change-Id: If52fa70cb202f0736a17fe8eb63d226186637f62
Related: OS#4396
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/settings.h
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/vty.h
The file was modifiedsrc/host/layer23/src/common/settings.c
The file was modifiedsrc/host/layer23/src/mobile/vty_interface.c
Commit b6083dcd13655f3826ceae5022b2253a352d55a0 by Vadim Yanitskiy
mobile: cosmetic: rename gsm48_rr_tx_{voice->traffic}()

Not only this function can be used to transmit a voice frame,
but also a data frame during a CSD call.

Change-Id: I920300ae477e3c3d7c413cd1a35f2bc385266960
Related: OS#4396
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/gsm48_rr.h
The file was modifiedsrc/host/layer23/src/mobile/gsm48_rr.c
The file was modifiedsrc/host/layer23/src/mobile/voice.c
Commit efe2c7b7bd12729335a795ddb255c87e4d6722f7 by Vadim Yanitskiy
mobile: rename voice.[ch] to tch.[ch]

Also take a chance to change the 'tch_' prefix for all functions.

Change-Id: I05e1ae777add73672db61565c77c68d8ab2b08f0
Related: OS#4396
The file was modifiedsrc/host/layer23/src/mobile/Makefile.am
The file was modifiedsrc/host/layer23/src/mobile/gsm48_cc.c
The file was addedsrc/host/layer23/src/mobile/tch.c
The file was addedsrc/host/layer23/include/osmocom/bb/mobile/tch.h
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/Makefile.am
The file was removedsrc/host/layer23/src/mobile/voice.c
The file was modifiedsrc/host/layer23/src/mobile/gsm44068_gcc_bcc.c
The file was modifiedsrc/host/layer23/src/mobile/app_mobile.c
The file was removedsrc/host/layer23/include/osmocom/bb/mobile/voice.h
The file was modifiedsrc/host/layer23/src/mobile/gapk_io.c
Commit 3aa20b9959abad8ce6e31f09d1344ddfd70c9208 by jolly
ASCI: Notify talker in the VTY that he cannot leave the call while talking

Related: OS#5364
Change-Id: I497efc5bddc122cd5744de531917aad415ac1654
The file was modifiedsrc/host/layer23/src/mobile/gsm44068_gcc_bcc.c
Commit c56247071cc6faf8bcbbb511795d1e39aa87a0de by laforge
trxcon/l1sched: tx_tch[fh]_fn(): fix sending idle CSD frames

In accordance with 3GPP TS 44.021, sections 8.1.6 and 10.2.3, the
transmission of idle frames to the DTE is mandated when no data is
received from the radio interface.  An idle frame has all data,
status, and E-bits to binary '1' (excluding the alignment pattern).

This requirement is currently implemented by osmo-bts for the Uplink,
and is going to be adopted for the Downlink (see the related patch).

This patch brings trxcon/l1sched in sync with osmo-bts-trx.

Change-Id: I7dea3dde46bc02814e99c3e873298cc7ed045a51
Related: osmo-bts.git I0b25cfac41b6d8dcf3bfd9d46d51a9665f1b047a
Related: OS#1572, OS#4396
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchf.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchh.c
Commit 7c60c5d6d95a059a50c85b68a5128c5cfd55f04c by Vadim Yanitskiy
firmware/layer1: avoid 'for' loop initial declarations

As was reported by roox, osmocom-bb currently fails to build on OBS:

https://build.opensuse.org/build/home:mnhauke:osmocom:nightly/openSUSE_Tumbleweed/x86_64/osmocom-bb/_log

[   24s] layer1/prim_tch.c: In function 'l1s_tch_meas_avg':
[   24s] layer1/prim_tch.c:183:2: error: 'for' loop initial declarations are only allowed in C99 mode
[   24s] layer1/prim_tch.c:183:2: note: use option -std=c99 or -std=gnu99 to compile your code

We don't specify the C standard explicitly, so let's move the variable
declaration out of the for-loop in l1s_tch_meas_avg().

Change-Id: I6c65fbead4e612c81728e9c6601d5f2107616ee6
Fixes: 7286560a3 "firmware/layer1: fill-in DL info for L1CTL TRAFFIC.ind"
The file was modifiedsrc/target/firmware/layer1/prim_tch.c
Commit 818133cd23b493da472daff2cda9a8e97d0c9637 by laforge
firmware: -nostartfiles -nodefaultlibs are not flags of LD but flags of GCC

It seems that those flags have always been gcc flags, and not ld flags.

After decades of tolerating this, binutils 2.36.x no longer tolerates
those flags but prints an error:

arm-none-eabi-ld: Error: unable to disambiguate: -nostartfiles (did you mean --nostartfiles ?)

See also https://github.com/apache/nuttx/issues/3826 and the related
https://github.com/apache/nuttx/pull/3836 how this was solved in another
project - I adopted that solution here 1:1

Change-Id: Id199e4d03d5aae07a347c98f47791f42c12008c6
The file was modifiedsrc/target/firmware/Makefile.inc
Commit 520dd66bdb98f6b7e476e1073ed51b1b5aae7972 by Andreas Eversberg
LAPDm: Enable flag to prevent sending two subsequent REJ frame

Setting the flag was not required in earlier versions of libosmogsm,
because this feature was enabled by default.

The roundtrip delay for a LAPD link must be less than T200.

Osmocom-bb runs LAPDm on the host machine via serial interface and USB
interface that may cause a roundtrip delay that exceeds T200. Also
osmo-bts may have that problem, due to latency between physical
interface and osmo-bts software.

What may happen:

An I frame gets lost.

The sending side transmits the next I frame. The receiving side detects
the send-sequence error and responds with a REJ frame.

Due to the round trip delay, the T200 expires on the sending side and
causes the I frame to be retransmitted with the P bit set, it enters
the timer recovery state. The receiving side detects the send-sequence
error and responds with a REJ frame with the F bit set.

The sending side will then receive two REJ frames. The first REJ frame
will clear the timer recovery state. The second REJ frame (with F bit
set) is received when not in timer recovery state, causing an
MDL-ERROR-INDICATION.

The layer 2 connection is broken.

Early tests with osmocom-bb in a real network showed exactly this
problem.

The solution is to suppress every second REJ frame at the receiving
side, until the sequence error condition is cleared. If the first REJ
frame gets lost, the sending side would retransmit the I frame again
after another expiry of T200. Then the receiving side would respond
with a REJ frame again.

Relates: OS#5969
Depends: libosmocore.git I93994dbbd1fc2c9edb8f3015c6b18ecd0fce0565
Change-Id: Iaa1645fb1970fe513d71bc1b03f7c5eac62f35d7
The file was modifiedsrc/host/layer23/src/mobile/app_mobile.c
Commit 046ee64e3dd7bf285d0e965996bde47acae53099 by Andreas Eversberg
mobile: Fix PCS ARFCN handling: PCS can only be ARFCN 512..810

While it is correct to use the band indicator from SI1 rest octets,
it may only be applied for ARFCN values in the range 512..810.

The function gsm_refer_pcs() is used to determine, if the cell (which
'talks' about ARFCNs) refers to them PCS or DCS channels. It returns
true, if it refers to PCS, but this only means that ARFCNs in the range
512..810 are PCS channels, not all ARFCNs.

The new function gsm_arfcn_refer_pcs() is used to add the PCS flag to an
ARFCN, if the given cell refers to PCS and the given ARFCN is in the PCS
range 512..810.

Change-Id: Id99c8534bf853f4f24f99364790c1ac1df6cc007
Related: OS#6078
The file was modifiedsrc/host/layer23/src/mobile/gsm48_rr.c
The file was modifiedsrc/host/layer23/src/mobile/gsm322.c
The file was modifiedsrc/host/layer23/src/common/sysinfo.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/sysinfo.h
Commit 058a17db207c3a6b6bf5c4b6c00ed67110a5221c by Andreas Eversberg
Correctly initialize neighbor cell measurement list from SI5*

A wrong index was used, causing the first neighbor cell to be
uninitialized. This uninitialized neighbor cell was reported by
MEASUREMENT REPORT.

Related: OS#6280
Change-Id: I192c0777450cbe24abb3c7c8736c678b97725e9f
The file was modifiedsrc/host/layer23/src/mobile/gsm48_rr.c
Commit 1641e07c98a68f3c038b9ee9d490f66914629d24 by Andreas Eversberg
Correctly assemble measurement result into MEASUREMENT REPORT

After adding the strongest cell to the measurement report, the variables
'strongest' and 'strongest_i' are used to prevent that already added
cells are added again.

Please note that there are no neighbor cell measurements available,
because current layer 1 does not report BSIC of neighbor cells. This
means that there is no neighbor cell reported.

Related: OS#6280
Change-Id: Iaeeaf978da31611c47a20af41790bfa6640dcffd
The file was modifiedsrc/host/layer23/src/mobile/gsm48_rr.c
Commit 08109f5feedd79493383f304e45e8a03cf28ef29 by Vadim Yanitskiy
layer23: fix incorrect check in gsm_arfcn_refer_pcs()

Change-Id: I1f4107bdbb0f696ed3bd3cceaa94353ebe69f78f
Fixes: 046ee64e3dd7bf285d0e965996bde47acae53099
Fixes: CID#336542
The file was modifiedsrc/host/layer23/src/common/sysinfo.c
Commit 2242dbfcc6f5ed14a9ea5505f769ab49a7c5f68f by Vadim Yanitskiy
virt_phy: fix checking stderr_target in ms_log_init()

Checking the stderr makes a little sense, since it's an integer
value (usually equal to 2).  The actual intention, most likely,
was to check 'stderr_target' against NULL.

Change-Id: Id597f766142f928135f9fd2b7cf4d69de7bc72f0
Related: OS#6299
The file was modifiedsrc/host/virt_phy/src/logging.c
Commit 22b8076619d1543377456a2edd68c16ea3bcb84b by Vadim Yanitskiy
virt_phy: use osmo_init_logging2() to init logging

Change-Id: Iaaaa3b0c1aaea8d96b760938a4638eaa0dd65bc7
Related: OS#6299
The file was modifiedsrc/host/virt_phy/src/virtphy.c
The file was modifiedsrc/host/virt_phy/src/logging.c
The file was modifiedsrc/host/virt_phy/include/osmocom/bb/virtphy/logging.h
Commit 49d5ffb120f73dc071d1319b77fbc55240d398ef by Vadim Yanitskiy
layer23/mobile: use osmo_mobile_identity API

Migrate from deprecated gsm48_mi_to_string() API.

Change-Id: Ib0d7f76cd635e8d1092ffc1d07ecb29ec0435dda
Depends: libosmocore.git If4f7be606e54cfa1c59084cf169785b1cbda5cf5
The file was modifiedsrc/host/layer23/src/mobile/gsm48_rr.c
Commit 2a688ec5e97a80ee3878bbf951c0acc2b17dbf7a by Vadim Yanitskiy
layer23/ccch_scan: use osmo_mobile_identity API

* Migrate from deprecated gsm48_mi_to_string() API.
* Take a chance to unfify printing of mobile identity.
* Use osmo_load32be() for printing TMSI - this is what
  the osmo_mobile_identity API does internally.

Change-Id: Ida67adaa61689c55505a89e1a1bebde041c91139
Depends: libosmocore.git If4f7be606e54cfa1c59084cf169785b1cbda5cf5
The file was modifiedsrc/host/layer23/src/misc/app_ccch_scan.c
Commit 697e259dc463bf744253ed27475727238a664941 by Vadim Yanitskiy
firmware: fix shebang in solve_envs.py: s/python/python3/

This patch fixes [currently missing] Jenkins build verification.
Currently it's just skipping the firmware due to errors:

make -C target/firmware CROSS_COMPILE=arm-none-eabi-
make[1]: Entering directory '/build/src/target/firmware'
/usr/bin/env: 'python': No such file or directory
/usr/bin/env: 'python': No such file or directory
/usr/bin/env: 'python': No such file or directory
/usr/bin/env: 'python': No such file or directory
/usr/bin/env: 'python': No such file or directory
/usr/bin/env: 'python': No such file or directory
...

Change-Id: Ibfcc17ca2736da82d60db3b0e350b74e788031b0
The file was modifiedsrc/target/firmware/solve_envs.py
Commit ca183f79d8aef31f9cff5670a06ffbc8c50f90ea by Vadim Yanitskiy
mobile: fix segfault on empty TRAFFIC.ind

The L1 PHY may emit empty TRAFFIC.ind in case of decoding errors.
Abort execution of pq_audio_sink early, otherwise we hit an assert.

Change-Id: Ice11b72ddfd51fbfb17a4c609c664b86a8f69591
The file was modifiedsrc/host/layer23/src/mobile/gapk_io.c
Commit 83e36c0caf3082b194f5c3995ab299675c4893c1 by Vadim Yanitskiy
layer23: drop unneeded forward declaration

Change-Id: I75bd08c1a88ad75d93a519422dfb7922c37a27a3
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/osmocom_data.h
Commit bb0ac02ecff37cc76d91b14c73bd07ef198ef142 by Vadim Yanitskiy
mobile: always check return value of tlv_parse()

Change-Id: Id02fc0b1af6da939cb72f327c7d2ddca484ca063
The file was modifiedsrc/host/layer23/src/mobile/gsm48_mm.c
The file was modifiedsrc/host/layer23/src/mobile/gsm480_ss.c
The file was modifiedsrc/host/layer23/src/mobile/gsm48_cc.c
The file was modifiedsrc/host/layer23/src/mobile/gsm48_rr.c
Commit 273d412ad7a35edf323e9627a0512ebd0251bf63 by Vadim Yanitskiy
mobile: gsm48_cc_data_ind(): check if struct gsm48_hdr fits

Change-Id: I06c1877f603d3de0210dee7033ef163637c22054
Related: OS#4396
The file was modifiedsrc/host/layer23/src/mobile/gsm48_cc.c
Commit 8d4c4d649da07a355edeae43cf8b58d4791abd0a by Vadim Yanitskiy
mobile: mncc_recvmsg(): fix 'msg_type' param type

Change-Id: I5146637f1c45044d0df258aa3d82fa9454898c92
Related: OS#4396
The file was modifiedsrc/host/layer23/src/mobile/gsm48_cc.c
Commit 5a1d79e58750f86c1e7530cb9526aae20edf2135 by Vadim Yanitskiy
mobile: gsm48_mm_data_ind(): check if struct gsm48_hdr fits

A similar check was recently added to gsm48_cc_data_ind().

Change-Id: Ibc5153df41e2c6365a3c65b1906d440a1074514b
Related: 273d412a "mobile: gsm48_cc_data_ind(): check if struct gsm48_hdr fits"
The file was modifiedsrc/host/layer23/src/mobile/gsm48_mm.c
Commit 1f0ce9c9ab8435a102f02502f45559183978b150 by Vadim Yanitskiy
fixup: mobile: always check return value of tlv_parse()

Fix a regression: check if Location Area Information IE fits.

Change-Id: I51e2ae1be1c51a6359f8b0faad56f654251f1413
Fixes: bb0ac02e "mobile: always check return value of tlv_parse()"
Fixes: CID#341618
The file was modifiedsrc/host/layer23/src/mobile/gsm48_mm.c
Commit c3a1f4a39b180432e2120970bb6d4eccad4501af by Vadim Yanitskiy
mobile: add generic signals for CC/SS/SM transactions

This allows driving logic in other modules based on transaction
related events, such as allocation, deallocation, or a state change.
These new signals will be used in the upcoming CSD implementation.

Change-Id: Idae5da24cb517878a26cc14b2ba6976e60f0b31b
Related: OS#4396
The file was modifiedsrc/host/layer23/src/mobile/gsm48_cc.c
The file was modifiedsrc/host/layer23/src/mobile/gsm480_ss.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/osmocom_data.h
The file was modifiedsrc/host/layer23/src/mobile/transaction.c
Commit a8c3e6eb0e930f9a9e52036018eee5ad6953c473 by Vadim Yanitskiy
mobile: store MNCC Bearer Capability in CC transaction

We will need to know the current Bearer Capability of a CC
transaction in the upcoming patches adding CSD support.

Change-Id: Ifc3ecf832a552c65444f49711ac836b6cd984715
Related: OS#4396
The file was modifiedsrc/host/layer23/src/mobile/gsm48_cc.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/transaction.h
Commit 4038d3e42f6a9e0e92e3deeb675d6586b4d132db by Vadim Yanitskiy
mobile: cosmetic: use consistent naming for gapk_io_state

Change-Id: I96a995bdf20c95a15271de68fbf434e101047313
Related: OS#4396
The file was modifiedsrc/host/layer23/src/mobile/gapk_io.c
Commit 129d0ea8024817193a0180c487e3394fbb6c7c3d by Vadim Yanitskiy
mobile: init/deinit GAPK I/O based on CC transaction events

Change-Id: I28f87f6a6de673611aa02a24e8985aee23d4498b
Related: OS#4396
The file was modifiedsrc/host/layer23/src/mobile/tch.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/tch.h
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/ms.h
The file was modifiedsrc/host/layer23/src/mobile/app_mobile.c
The file was modifiedsrc/host/layer23/src/mobile/gapk_io.c
The file was modifiedsrc/host/layer23/src/mobile/gsm48_rr.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/gapk_io.h
Commit 0829246a2219478ece6def0736279d5d828aa7d2 by Vadim Yanitskiy
mobile: rename tch_send_voice_{msg,frame}() functions

These functions can also be used for sending data frames (CSD).

Change-Id: Ib55b4405847f2efb583f3a379ff4b6929d6d6c5b
Related: OS#4396
The file was modifiedsrc/host/layer23/src/mobile/gsm48_cc.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/tch.h
The file was modifiedsrc/host/layer23/src/mobile/tch.c
The file was modifiedsrc/host/layer23/src/mobile/gapk_io.c
Commit f147776e47cdf3e0a47f10805e5374c56c5da928 by Vadim Yanitskiy
mobile: split voice specific TCH handling into its own file

Change-Id: Ib917d95fe77da3e60bc932cce56714d81095c7d4
Related: OS#4396
The file was modifiedsrc/host/layer23/src/mobile/Makefile.am
The file was modifiedsrc/host/layer23/src/mobile/tch.c
The file was addedsrc/host/layer23/src/mobile/tch_voice.c
Commit caa00658246f8d7b22735ecdedd5fee7baa6e76e by Vadim Yanitskiy
mobile: integrate V.110 TA & soft-UART from libosmocore

Change-Id: I7ac9c0e5010730fa4d8bc7a7a3c7ff85e11731c0
Depends: libosmocore.git I6d2f8e250df31c233a2741163113dc07515409ae
Depends: libosmocore.git I5716bd6fd0201ee7a7a29e72f775972cd374082f
Depends: libosmocore.git I2ca95963fd5852ddb89bdd35b86b31489127fe84
Related: OS#4396
The file was addedsrc/host/layer23/src/mobile/tch_data.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/tch.h
The file was modifiedsrc/host/layer23/configure.ac
The file was modifiedsrc/host/layer23/src/mobile/Makefile.am
The file was modifiedsrc/host/layer23/src/mobile/tch.c
Commit 437118145670eed3c8d36e9226681471c666530d by Vadim Yanitskiy
mobile: implement sending CSD data over UNIX socket

Change-Id: Id054af7b3d9d0a41715f7981deb420f6e09bf30c
Related: OS#4396
The file was addedsrc/host/layer23/src/mobile/tch_data_sock.c
The file was modifiedsrc/host/layer23/src/mobile/Makefile.am
The file was modifiedsrc/host/layer23/src/mobile/tch_data.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/tch.h
Commit 088ddb23c417aac49f92792e31674618e4421c0c by Vadim Yanitskiy
mobile: fix unsupported data rate (UR/IR) messages

Change-Id: I4f68cc999cb7bf9c5a17c8650de0411248420c1e
Related: OS#4396
The file was modifiedsrc/host/layer23/src/mobile/tch_data.c
The file was modifiedsrc/host/layer23/src/mobile/mnccms.c
Commit 149da511d413d5aa19aef2101aa4299aa7b50a64 by Vadim Yanitskiy
firmware (libosmocore): fix gsm48_chan_mode for TCH/[FH]2.4

This is basically a back-port of the fix that was merged to
libosmocore.git back in 2013.  Our ancient copy of libosmocore,
which is used for building the firmware, predates this commit.

Ideally, we should rip off this ancient copy and build the firmware
against recent master (see OS#2378).  But for now, let's just fix
our local copy.  Otherwise TCH/[FH]2.4 support is broken.

Change-Id: I99f528f3e1cd4c04ebb9d8becf1572688dd531ae
Related: libosmocore.git 31e844bfe2756e36dd50f8bed9fa8b087ee6a1d9
Related: OS#4396
The file was modifiedsrc/shared/libosmocore/include/osmocom/gsm/protocol/gsm_04_08.h
Commit 17ea9530b9731df6a7962cdd97020842657ea296 by Vadim Yanitskiy
doc/examples/mobile: add tch-{data,voice} sections

Change-Id: I9e53d4c429445ded07d77b27b6a31aa404b00e27
Related: OS#4396
The file was modifieddoc/examples/mobile/multi_ms.cfg
The file was modifieddoc/examples/mobile/default.cfg
Commit f35414b75e26286a07c36588e744ecfdda40239d by Vadim Yanitskiy
mobile: add a separate logging category for CSD

Change-Id: If9db0759aeb4324ace9ae258c852787f37897d83
Related: OS#4396
The file was modifiedsrc/host/layer23/src/common/logging.c
The file was modifiedsrc/host/layer23/src/mobile/tch_data.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/logging.h
The file was modifiedsrc/host/layer23/src/mobile/tch_data_sock.c
Commit 8ebaeca991ab96badd69ff0faca9d5449d7f6416 by Vadim Yanitskiy
mobile: handle V.24 line status updates from V.110 TA

Change-Id: I05ba2e10fefe3cae687831b5ced971aa244ad336
Related: OS#4396
The file was modifiedsrc/host/layer23/src/mobile/tch_data.c
Commit 3c54d77b12e9f9446fcfecbe9e3821ca2506dd77 by Vadim Yanitskiy
mobile: VTY: use 'enum gsm48_bcap_transp' from libosmogsm

Change-Id: Iebc0692f17a5a5d04e57d74a720db52775937bdd
Related: OS#4396
The file was modifiedsrc/host/layer23/src/mobile/mnccms.c
The file was modifiedsrc/host/layer23/src/mobile/vty_interface.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/settings.h
The file was modifiedsrc/host/layer23/src/common/settings.c
Commit aae93c2163538de6e5ebbc2c46d3bde48ae45303 by Vadim Yanitskiy
mobile: VTY: make soft-UART parameters configurable

Change-Id: I48bb58aaf1101fbc0e58db3fb1100927e506ede2
Related: OS#4396
The file was modifiedsrc/host/layer23/src/mobile/vty_interface.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/settings.h
The file was modifiedsrc/host/layer23/src/mobile/mnccms.c
The file was modifiedsrc/host/layer23/src/common/settings.c
Commit 2cb3b7adbbd2febe9438065bcea64d5f9d59beb7 by Vadim Yanitskiy
mobile: VTY: rework data type/rate configuration commands

Change-Id: I7393fce82613a57275033f5c47e16bbf708a3bfb
Related: OS#4396
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/settings.h
The file was modifiedsrc/host/layer23/src/common/settings.c
The file was modifiedsrc/host/layer23/src/mobile/mnccms.c
The file was modifiedsrc/host/layer23/src/mobile/vty_interface.c
Commit b4cb78a9d9ff5b9d52b51943d0fe19e8c936ff26 by Vadim Yanitskiy
modem: fix assigning .timer_cb twice (-Winitializer-overrides)

Change-Id: Id2d565a5035c47053c0dfa5ad9be3378471b6e14
The file was modifiedsrc/host/layer23/src/common/apn_fsm.c
Commit 17c3cbdb097188c14e01dc65d2432f39d714a405 by Vadim Yanitskiy
mobile: VTY: disable DATA_CALL_TR_V34_9600 (not supported)

We cannot initiate V.34 data calls because gsm48_encode_bearer_cap()
does not support octet 6d.  This variant should not be selectable.

Change-Id: Ibafb9a693654672fb9a6abf665c500a27c87bf22
Related: OS#4396, OS#6344
The file was modifiedsrc/host/layer23/src/mobile/vty_interface.c
The file was modifiedsrc/host/layer23/src/mobile/mnccms.c
Commit 8fa524c39703d0e4a0810eb7918d6938296737d7 by Vadim Yanitskiy
mobile: properly handle different TRAFFIC.{ind,req} formats for CSD

So far we supported the Texas Instruments format (TCH_DATA_IOF_TI),
which is used by Calypso based phones (e.g. Motorola C1xx), but not
the format that trxcon speaks/understands (TCH_DATA_IOF_OSMO).

Change-Id: Ib17e800e91ad536db53aa55661076089f0ce34b0
Related: OS#4396
The file was modifiedsrc/host/layer23/src/mobile/tch_data.c
Commit 4b496a8c1c2717ea529ea5adf7f0d6447fa19f3a by Vadim Yanitskiy
mobile: fix rate adaption checking for MO/MT CSD calls

Currently we unconditionally expect the rate adaption (octet 5) in
the Bearer Capability IE to be GSM48_BCAP_RA_V110_X30.  This is
correct for UDI (GSM48_BCAP_ITCAP_UNR_DIG_INF), but not for 3.1 kHz
audio (GSM48_BCAP_ITCAP_3k1_AUDIO) and fax (GSM48_BCAP_ITCAP_FAX_G3)
calls.  For the later two it should be GSM48_BCAP_RA_NONE.

Change-Id: I70d36b3540ed2469068e050809a17ed07b434ad7
Related: OS#4396
The file was modifiedsrc/host/layer23/src/mobile/tch_data.c
The file was modifiedsrc/host/layer23/src/mobile/mnccms.c
Commit 57ef3dea1b60fa8c2e10c2589240c433cd95ce97 by Vadim Yanitskiy
mobile: VTY: store/read data call params to/from config file

We already have VTY commands to configure data call parameters at
run-time, but so far there was no way to save and restore them.
This commit adds the respective commands to TCH_DATA_NODE.

Change-Id: I4453f2e7e048b3f3ebb1727f6d26f018c792c92d
Related: OS#4396
The file was modifiedsrc/host/layer23/src/mobile/vty_interface.c
The file was modifieddoc/examples/mobile/default.cfg
Commit 006bfe5c3ab39ae3f7765e7b90bf742e71b7c9ac by Vadim Yanitskiy
trxcon/l1gprs: print dropped prims in l1sched_reset_lchan()

Change-Id: Iaa11b5cee16dc43ef01c38be756864c2b3b57835
The file was modifiedsrc/host/trxcon/src/sched_trx.c
Commit ff0e47de6b98f926f54c148996eeaded6f22f9e8 by Vadim Yanitskiy
trxcon/l1gprs: print msgb hexdump in prim_dequeue_pdtch()

Change-Id: I1f82d53a46017c805c70b9dcccad058048549220
The file was modifiedsrc/host/trxcon/src/sched_lchan_pdtch.c
Commit e2529ea58fa6c1ebbbfc8455ebfcd43ef72820dc by Vadim Yanitskiy
mobile: fix -Wmaybe-uninitialized in tch_csd_rx_{to,from}_l1()

It's unlikely to happen as long as all TCH_DATA_IOF_* variants are
handled in the switch statements, but still gcc does complain.

Change-Id: I0a81d5c4f11feb7cf73771c23848dee9ce6ec620
The file was modifiedsrc/host/layer23/src/mobile/tch_data.c
Commit e344d6b7c29b2ea5a4e0ef244695bbe52b01ac66 by Vadim Yanitskiy
l1gprs: minor changes to l1gprs_handle_rts_ind()

* assert() the given TDMA Tn before accessing gprs->pdch[]
* do not check TDMA Fn, as there can be no RTS.ind for PTCCH/U
** unlike PTCCH/D, we send Access Bursts on PTCCH/U

Change-Id: Ie74d1c4123715d61875c4c956eb4a1ce97ed5f24
The file was modifiedsrc/shared/l1gprs.c
Commit 1df9fecf168db9efb19a98cd6154c974a39bcfc5 by Pau Espin Pedrol
apn_fsm: Set default timeout for APN activation to 65s

The current timeout is too low, taking into account that SM PDP
Activation timeout is already 30. When SM fails, it will retry sending
PDP Context Activation Req. Hence, give it enough time to at least retry
once, plus some extra buffer time (eg to go through GMM attach once).

Change-Id: I34f9b0a5ad5767155dc3e4c0ac1c4bf1521be596
The file was modifiedsrc/host/layer23/src/common/apn_fsm.c
Commit cf32f3429270516828b560b6b5566f6522466bfb by Pau Espin Pedrol
modem: Improve logging when forwarding data to GRR

Change-Id: Idf80c0fa1c8293afbe354442a72f5b1c5a84f9e1
The file was modifiedsrc/host/layer23/src/modem/llc.c
Commit a6c837cd982dcd7075ff022ae58f71520b148b75 by Vadim Yanitskiy
l1gprs: implement UL BLOCK.cnf (L1CTL_GPRS_UL_BLOCK_CNF)

Change-Id: I56e0b5631c7446390adbfc5664e56f56ebb88cc1
The file was modifiedinclude/l1gprs.h
The file was modifiedinclude/l1ctl_proto.h
The file was modifiedsrc/shared/l1gprs.c
Commit fc02727700623fbc6f30404919c22b8a1d4bab32 by Vadim Yanitskiy
trxcon/l1sched: trigger sending UL BLOCK.cnf for PDTCH

In tx_pdtch_fn(), delay sending DATA.cnf until bid=3.  Otherwise we
send it too early (at bid=0) and trick the upper layers (RLC/MAC)
to believe that the whole block (all bursts) has been transmitted.

Change-Id: If32fafeef0ea347ed3800e6b67349bf12e66047f
The file was modifiedsrc/host/trxcon/src/sched_lchan_pdtch.c
The file was modifiedsrc/host/trxcon/src/trxcon_fsm.c
The file was modifiedsrc/host/trxcon/include/osmocom/bb/trxcon/trxcon_fsm.h
The file was modifiedsrc/host/trxcon/src/trxcon_shim.c
The file was modifiedsrc/host/trxcon/include/osmocom/bb/l1sched/l1sched.h
Commit bec5f4c4f8c475de5234335f6fc701996af50da4 by Vadim Yanitskiy
layer23: cosmetic: clarify GPRS related L1CTL logging

Change-Id: Idcde85c132a52b7bc6c3f2f58c2eac0a509b7b43
The file was modifiedsrc/host/layer23/src/common/l1ctl.c
Commit aab5d12bdd966ce4ad7cd10fa8d661dff9f23453 by Vadim Yanitskiy
layer23/modem: handle and forward L1CTL UL BLOCK.cnf

Change-Id: I9255ac17529b5ac260f9a0f141f3af6b3b72a802
Depends: libosmo-gprs.git I145b9586f83ae0235b4648916bd44996e8dc57f0
The file was modifiedsrc/host/layer23/include/osmocom/bb/common/ms.h
The file was modifiedsrc/host/layer23/src/modem/rlcmac.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/modem/grr.h
The file was modifiedsrc/host/layer23/src/common/l1ctl.c
The file was modifiedsrc/host/layer23/src/modem/grr.c
Commit e67a21049adfd30c67174c5a30528b12d3daea57 by Vadim Yanitskiy
mobile: cosmetic: fix '(ptr *) foo' shour be '(ptr *)foo'

Change-Id: Id6ed92b27c61ae9dfbb702a3abdc75e5daa8235d
The file was modifiedsrc/host/layer23/src/mobile/vty_interface.c
Commit 21d63cd6c51682e07d32682eac7330ad8beff570 by Vadim Yanitskiy
mobile: assert() values returned by get_string_value()

Change-Id: I58bc31a4c3d952f71ed2c53b65bb30538172ca4e
The file was modifiedsrc/host/layer23/src/mobile/vty_interface.c
Commit 45a11442e630f764344d5086e0043949d6a0d916 by Vadim Yanitskiy
mobile: disable TCH/F14.4 (not implemented)

Change-Id: Ia8dff81d4b56c9d6599059f3a5a2964d3cd95829
Related: OS#4396, OS#6346
The file was modifieddoc/examples/mobile/default.cfg
The file was modifiedsrc/host/layer23/src/common/support.c
Commit b512a08a7cfbe6ec829da0c03f61fe3a0e2f0905 by Vadim Yanitskiy
mobile: use tch_send_msg() in tch_csd_tx_to_l1()

Do not access the RR API directly, use TCH API for sending UL data.

Change-Id: Icd5b5fad835feecd96a83fa5c83ed08037826fa6
Related: OS#4396
The file was modifiedsrc/host/layer23/src/mobile/tch_data.c
Commit 1b79142f0f1d7aa0e3bd62faf72ba7de7c7ba745 by Vadim Yanitskiy
mobile: init TCH state earlier (on receipt of CC ALERTING)

During a Mobile Originating voice call, we would normally start
receiving traffic indications with ringback tone (or even some
melody) before the call gets CONNECTed.  So in order for the user
to be able to hear that, we need to init the voice call handler
earlier (on receipt of CC ALERTING message).

We should not be transmitting voice/data frames before the call
gets CONNECTed, so add 'rx_only' flag to the TCH state.  In
tch_send_msg() drop msgb if this flag is set.

Rx only mode makes no sense for data calls, so in tch_recv_cb() we
discard received DL frames and thus do not trigger sending UL frames.

Change-Id: Idd32c823639cc1f9999d77fcefe7e260e31a85ec
Related: OS#4396
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/tch.h
The file was modifiedsrc/host/layer23/src/mobile/tch.c
Commit 20107916e504f7238068df8088e785255fc17c81 by Vadim Yanitskiy
mobile: set TRAFFIC.{ind,req} mode during call establishment

Now that we support data (CSD) calls in addition to voice calls,
we can no longer initialize the TRAFFIC.{ind,req} routing mode
in gsm48_rr_init().  We need to apply the appropriate TCH routing
mode *during call establishment* based on its type and the
configured I/O handler type.

After this patch, one can have the following configuration:

tch-voice
io-handler l1phy
tch-data
io-handler unix-sock
io-tch-format ti

so that the io-handler setting for voice would not affect data calls.
Before this patch, the L1 PHY (specifically, Calypso firmware) would
not route TRAFFIC.{ind,req} during data calls at all.

Thanks to this patch, it's also no longer required to restart the
mobile application after changing voice or data I/O handler.

Change-Id: Iab68cb47c28380a9c1efc149c6196ea54f75fdb8
Related: OS#4396
The file was modifiedsrc/host/layer23/src/mobile/vty_interface.c
The file was modifiedsrc/host/layer23/src/mobile/tch_data.c
The file was modifiedsrc/host/layer23/src/mobile/tch_voice.c
The file was modifiedsrc/host/layer23/src/mobile/gsm48_rr.c
The file was modifiedsrc/host/layer23/src/mobile/tch.c
Commit f12b17dffb782c7428a563620aa83ec047fd99c4 by Vadim Yanitskiy
mobile: fix GAPK I/O producing too many UL frames

GAPK I/O is currently generating too many UL voice frames, causing
Tx queue overflow in the L1 PHY.  Change the logic to make DL voice
frames drive the Uplink processing chain, like we do for CSD.

Change-Id: I3a7fa223cb592acd5b850819e0682c9c8f81e9d1
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/gapk_io.h
The file was modifiedsrc/host/layer23/src/mobile/tch_voice.c
The file was modifiedsrc/host/layer23/include/osmocom/bb/mobile/tch.h
The file was modifiedsrc/host/layer23/src/mobile/gapk_io.c
The file was modifiedsrc/host/layer23/src/mobile/app_mobile.c
The file was modifiedsrc/host/layer23/src/mobile/tch.c
Commit fcaaaaf39664fe4496e15bd27c1f0c6da770b21d by Vadim Yanitskiy
trxcon: fix hex formatting in prim_enqeue()

Change-Id: I78c310bd9cc5d69bbeca575ebf4a480f16971e93
The file was modifiedsrc/host/trxcon/src/sched_prim.c
Commit 0d1ab4c8d2cbe0ba72662d5b466fb6c60cb8b45f by Vadim Yanitskiy
trxcon: fix prim_compose_mr(): indicate proper tn

Change-Id: I0046f9c103bcb9207f0c2643c6a806bd56553d77
The file was modifiedsrc/host/trxcon/src/sched_prim.c
Commit 78540e447534b37e92091cb3222c13ad7f73acff by Oliver Smith
debian: initial layer23 packaging

Related: OS#6409
Change-Id: I3713201233e13fca5ea4e0b8c4df913c787965f5
The file was addeddebian/changelog
The file was addeddebian/control
The file was addeddebian/source/format
The file was addeddebian/compat
The file was addeddebian/rules
The file was addeddebian/osmocom-bb.install
The file was addeddebian/copyright
Commit 5250da87adb94479af71783bd5fe7a68d53d1221 by laforge
Add funding link to github mirror

see https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/displaying-a-sponsor-button-in-your-repository

Change-Id: I5e0beef247b80ceab6eee207b5c6ce9caa39cd84
The file was added.github/FUNDING.yml
Commit 7c00190b45205c2f1d2d8e708c1f6e9dd621ff69 by Vadim Yanitskiy
trxcon/l1sched: fix sending dummy TCH/A[FH]S blocks

... in the absence of valid Uplink TCH/A[FH]S or FACCH frames.

Change-Id: I26205e8672cb2849ea79bd6206c1eff1172bd9d9
Related: libosmocore.git I82ce2adf995a4b42d1f378c5819f88d773b9104a
Related: OS#6049
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchh.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchf.c
Commit d70e8a6de72c361870bd9202110dac933d91992f by Vadim Yanitskiy
trxcon/l1sched: fix NULL pointer dereference in tx_tch[fh]_fn()

If msg is NULL, we're inducing a BFI condition at the BTS side receiver
by sending a TCH/A[FH]S block with invalid CRC6.  In this case we need
to skip the rest of the function and jump to send_burst immediately.

Change-Id: I159b2ed455377c77d8764f9320efd15333129afb
Fixes: 7c00190b "trxcon/l1sched: fix sending dummy TCH/A[FH]S blocks"
Fixes: CID#368538
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchh.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchf.c
Commit ecaa0636426cc3c0142d18a86097f4fbddc9caa2 by Vadim Yanitskiy
trxcon/l1sched: make l1sched_lchan_emit_data_cnf() NULL-safe

Passing NULL to l1sched_lchan_emit_data_cnf() is not normal and
generally not expected, but definitely not fatal enough to abort
the process completely (due to assertion failure).

Change-Id: Ie64c176265f66a6c1515c66eb465d7e60f6768db
The file was modifiedsrc/host/trxcon/src/sched_prim.c
Commit 784993a54a3cadb81410cd8298caa4c179f33fa8 by Vadim Yanitskiy
trxcon/l1sched: refactor prim management in tx_tch[fh]_fn()

The code path below the switch statement in tx_tch[fh]_fn() is no
longer common since we added CSD specific channel coding.  This is
why we had to jump over it in several case statements.

This patch significantly reduces the number of goto statements
in these two functions and makes them easier to read/follow at
the price of code duplication, which is tolerable.

Change-Id: I5292abf6fcd308c9f7f12c7145d004103c9c7675
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchh.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchf.c
Commit c310fcfef7f10d026fbfb9569c2a2b46c6984186 by Vadim Yanitskiy
mobile: cosmetic: fix -Wswitch in tch_voice_state_init()

Not really critical, just make gcc happy:

tch_voice.c: In function ‘tch_voice_state_init’:
tch_voice.c:117:9: warning: enumeration value ‘TCH_VOICE_IOH_GAPK’ not handled in switch [-Wswitch]
  117 |         switch (state->handler) {
      |         ^~~~~~

Change-Id: I46afce396f730de26f21e0e4ec71e144aafd6beb
The file was modifiedsrc/host/layer23/src/mobile/tch_voice.c
Commit 04ea6f9cab3d9d5120c77f88b500bad526564c0a by Vadim Yanitskiy
mobile: fix -Wmaybe-uninitialized in gsm48_rr_tx_meas_rep()

This is very unlikely to happen, because we set strongest to 127,
but anyway we don't want to see those warnings:

gsm48_rr.c: In function ‘gsm48_rr_tx_meas_rep.isra’:
gsm48_rr.c:3714:74: warning: ‘strongest_i’ may be used uninitialized [-Wmaybe-uninitialized]
3714 |                                 if (rrmeas->nc_rxlev_dbm[i] == strongest && i <= strongest_i)
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
gsm48_rr.c:3696:31: note: ‘strongest_i’ was declared here
3696 |                 int i, index, strongest_i;
      |                               ^~~~~~~~~~~

Change-Id: I111438633ed48e16f7c43fc1b7a23ae6753a404d
The file was modifiedsrc/host/layer23/src/mobile/gsm48_rr.c
Commit ff8c972b21287fd317d9db7c68467866ede61956 by Vadim Yanitskiy
firmware: rename 'se_k2x0' -> 'se_k2xx' (include K205)

Sony Ericsson K205 joins the party!

The entire K2xx-series of Sony Ericsson ODM phone models is based on
TI Calypso.  The K200, K205, and K220 are identical, except that the
K205 has a different case/housing, and the K220 includes an FM receiver.

Change-Id: I05a4815c38f9cea7c2c7f2a33b836ebd0c016d0d
The file was modifiedsrc/target/firmware/Makefile
The file was addedsrc/target/firmware/board/se_k2xx/keymap.h
The file was addedsrc/target/firmware/board/se_k2xx/rffe_k2xx.c
The file was addedsrc/target/firmware/board/se_k2xx/init.c
The file was removedsrc/target/firmware/board/se_k2x0/keymap.h
The file was removedsrc/target/firmware/fb/fb_k2x0.c
The file was removedsrc/target/firmware/board/se_k2x0/init.c
The file was removedsrc/target/firmware/board/se_k2x0/rffe_k2x0.c
The file was addedsrc/target/firmware/fb/fb_k2xx.c
Commit cb0a7293e6e9e80b51a81136e88e747858cbd6bc by Vadim Yanitskiy
firmware: k2xx: fix comments about flash organization

Change-Id: I1b6a50cf7e10b5d71c6aa8d492721a7345ad892a
The file was modifiedsrc/target/firmware/board/se_k2xx/init.c
Commit 60bebe94507759c56698abffe7c09bb87c09f2b4 by Vadim Yanitskiy
trxcon/l1sched: fix decoding of DL FACCH/H for TCH/H4.8 and TCH/H2.4

The mapping sched_tchh_dl_csd_map[] is valid for DL TCH/H4.8 and
TCH/H2.4, but not for DL FACCH/H.  We need to use a separate
lookup table sched_tchh_dl_facch_map[] for DL FACCH/H.

Change-Id: I17df806185dc620999c4c2b9ed83a18cc8b2e0bf
Fixes: a93785bf4 ("trxcon/l1sched: implement CSD scheduling support")
Related: OS#4396, OS#6618
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchh.c
Commit c344a6a02e7924b5bd69994eddfb38c313f10813 by Vadim Yanitskiy
trxcon/l1sched: replace old API with sched_tchh_ul_facch_map[]

The new UL FACCH/H mapping was the only missing bit that finally
allows us to remove the old API which predates the lookup tables.

Change-Id: I63ae94bc2edd528b1f9fd2c505b39a43ba1742fd
The file was modifiedsrc/host/trxcon/include/osmocom/bb/l1sched/l1sched.h
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchh.c
Commit 8e626aba27c4bc571e2dd35a38f2bcd32cd93b47 by Vadim Yanitskiy
trxcon/l1sched: fix FACCH/H regression in rx_tchh_fn()

In c15084a5 overlooked that in order to ensure alignment to the first
FACCH/H block in rx_tchh_fn() we actually need to check if DL FACCH/H
can start (not end!) at the current TDMA Fn.  This means we cannot use
the same mapping as we do below in that function;  we need another one.

This patch fixes multiple FACCH/H regressions in ttcn3-bts-test.

Change-Id: Ia4b737cf11d4d9ce9847cabb77189e9cbcbb8840
Fixes: c15084a5 ("trxcon/l1sched: replace old API with sched_tchh_ul_facch_map[]")
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchh.c
Commit 83bc65bec8f2e88a3efcb3263bafc21dcfdd7e4a by Vadim Yanitskiy
trxcon/l1sched: check-in trx_sched_tch.txt from osmo-bts.git

This explains burst processing on full-/half-rate traffic channels.

Change-Id: I3582d6f6e489a345ba8fc6580f6bb29da630fc8e
The file was addedsrc/host/trxcon/doc/l1sched_tch.txt
Commit efd2110f828e02a696f95addac71f4cdf9a63902 by Vadim Yanitskiy
trxcon/l1sched: clarify TDMA Fn (mod 26) maps

* Clarify comments, fix 3GPP spec. references
* Remove burst tables, refer to doc/l1sched_tch.txt
* Rename mappings: include burst letter

Change-Id: Ib664ba643073e7673aa86aa860a1649225c19aa1
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchf.c
The file was modifiedsrc/host/trxcon/src/sched_lchan_tchh.c
Commit 5af5ee333ae9510b072d644daf33dfdb60e76928 by Oliver Smith
debian: prepare for more subpackages

Prepare to add these subpackages in follow-up patches:
* osmocom-bb-trx-toolkit
* osmocom-bb-trxcon
* osmocom-bb-virtphy

We need these components to run some of the ttnc3 testsuites. By having
them packaged, we can just install them from the binary repositories
along with the SUT.

trxcon and virtphy are autootols based, so rework debian/rules to
support building multiple autotools projects.

Related: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/38851/1..2//COMMIT_MSG#b9
Change-Id: I77ad988f5405e6fa9e585eeb646e513ac7d92485
The file was modifieddebian/rules
Commit acb14737e712a588452d4694ef1e3369679538e9 by Oliver Smith
debian: add subpackage osmocom-bb-trxcon

Change-Id: I548cec7427d70706b1b477c0845234efe6cf825f
The file was modifieddebian/control
The file was modifieddebian/rules
Commit 688bab508341b23746c0e0400e2bc79bd0970d21 by Oliver Smith
debian: add subpackage osmocom-bb-virtphy

I've decided to name the package osmocom-bb-virtphy so there is no
underscore in it (would look weird in addition to the minus character)
and because it matches the name of the binary "virtphy".

Change-Id: I09d98aba81ab6c76ad46aae36e7369114cef7dd7
The file was modifieddebian/rules
The file was modifieddebian/control
Commit f9782c6609ff43635e9e986e011f902a98abea0e by Oliver Smith
debian: add subpackage osmocom-bb-trx-toolkit

Change-Id: I3d8140991afaf08b6fff0e80d45dd0310c98ea30
The file was addeddebian/osmocom-bb-trx-toolkit.install
The file was modifieddebian/control
Commit d95af8c46e46207d9a496a6e12a3e502a567db68 by Oliver Smith
Bump version: 0.1.0 → 0.2.0

Prepare a release tag, so we get binary packages for
osmocom-bb-trx-toolkit, osmocom-bb-trxcon, osmocom-bb-virtphy in the
osmocom:latest repository. Then we can use these packages when running
TTCN-3 testsuites.

This is not an official release, as discussed here:
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/38851/1..2//COMMIT_MSG#b9

Change-Id: Ifbfaead7ae89d9ac747d1bb495f061c5cbe7a241
The file was modifieddebian/changelog
Commit 8a28cf2e51d1aa5a677ab1ce3645b0b4164e16b5 by Pau Espin Pedrol
jenkins.sh: Use --disable-doxygen configure param

Change-Id: I09eab54587e5d310143faaa57257fe05e4f0e7f6
The file was modifiedcontrib/jenkins.sh
Commit abc63d8d825eb56fdcd7e01bf8824915c8780e18 by Kirill Smelkov
trx_toolkit/clck_gen.py: Fix clock generator not to accumulate timing error

CLCKGen currently works as follows:

sleep(ctr_interval)
some work
sleep(ctr_interval)
some work
sleep(ctr_interval)
some work
...

The intent here is to do some work at timestamps that are multiple of ctr_interval,
however the implementation does not match the intent, because

1) sleep(ctr_interval) is not guaranteed by the OS to be ideal, so there
   will always be some jitter in actually slept time without any
   guarantee that the error will fluctuate over zero without accumulating.

2) "some work" takes some time to run and that time adds again and again
   to the current time when next sleep(ctr_interval) starts. As the
   result even if sleep implementation would be ideal, then n'th sleep
   would start not at

t₀ + n·ctr_interval

   but instead at

t₀ + n·ctr_interval + Σ1..n t(work_i)

   where trailing Σ term adds over and over as the timing error which can
   be seen as e.g. increasing trend of received GSM clock jitter in
   https://osmocom.org/issues/4658#note-10 .

The thinko in the clock generator logic is not so much visible if "some
work" takes only a bit of time or is done infrequently. That was
actually the case before fake_trx added tx queueing in 6e1c82d2
(trx_toolkit/transceiver.py: implement the transmit burst queue) because
before that commit some work was only "send IND CLOCK data every ~ 100th
tick". However after 6e1c82d2 the work was adjusted to do linear scan of
tx queue over and over at every tick which amplified error accumulation
and highlighted the problem.

With that tx queuing in fake_trx was disabled in d4ed09df (Revert
"trx_toolkit/transceiver.py: implement the transmit burst queue") with
the rationale being most likely, as https://osmocom.org/issues/4658#note-10 says,

    Unfortunately, Python is not fast enough to handle the queues in time.
    Despite the relatively low CPU usage, fake_trx.py fails to scheduler
    everything during one TDMA frame period. This causes some of our TTCN-3
    test cases to fail.

    ...

    Most likely, the problem is that Python's threading.Event is not
    accurate enough. Running with SCHED_RR does not change anything.

However with the above analysis we can see that it is the logic in
CLCKgen that needs fixing, not threading.Event . For the reference
threading.Event indeed used dumb timeout implementation on Python2:

    https://github.com/python/cpython/blob/2.7-0-g8d21aa21f2c/Lib/threading.py#L597-L615
    https://github.com/python/cpython/blob/2.7-0-g8d21aa21f2c/Lib/threading.py#L343-L369

but on Python3 it essentially uses plain Lock.acquire(timeout) which,
under the hood, uses PyThread_acquire_lock_timed - a plain wrapper over
sem_timedwait:

    https://github.com/python/cpython/blob/v3.11.9-9-g1b0e63c81b5/Lib/threading.py#L330-L331
    https://github.com/python/cpython/blob/v3.11.9-9-g1b0e63c81b5/Modules/_threadmodule.c#L75-L100
    https://github.com/python/cpython/blob/v3.11.9-9-g1b0e63c81b5/Python/thread_pthread.h#L480-L491

so at least with py3 there should be no question about threading.Event .

-> Fix timing error accumulation by reworking the clock generator loop
   to compensate observed jitter, caused by OS noise and the work
   taking time, by adjusting to-sleep δt each tick accordingly.

   This is generally good for correctness and will allow us to reinstate
   tx queueing in fake_trx.

Without the fix added test fails as

    FAIL: test_no_timing_error_accumulated (test_clck_gen.CLCKGen_Test.test_no_timing_error_accumulated)
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/home/kirr/src/osmocom/bb/src/target/trx_toolkit/test_clck_gen.py", line 60, in test_no_timing_error_accumulated
        self.assertTrue((ntick+1)*clck.ctr_interval > δT, "tick #%d: time overrun  by %dµs total" %
    AssertionError: False is not true : tick #200: time overrun  by 572478µs total

Change-Id: I928801422c9af80c368261f617b91d7ecfedbabf
Related: OS#4658, OS#6672
The file was addedsrc/target/trx_toolkit/test_clck_gen.py
The file was modifiedsrc/target/trx_toolkit/clck_gen.py
Commit 008dfba7d8511912e7a1dbc3a32d89bfee007b16 by Kirill Smelkov
trx_toolkit/clck_gen: Fix DeprecationWarning about Thread.setDaemon

This warning is currently emitted each time trx_toolkit unittests are run:

    (osmo.venv) kirr@deca:~/src/osmocom/bb/src/target/trx_toolkit$ python -m unittest discover
    /home/kirr/src/osmocom/bb/src/target/trx_toolkit/clck_gen.py:71: DeprecationWarning: setDaemon() is deprecated, set the daemon attribute instead
      self._thread.setDaemon(True)
    ...............................................
    ----------------------------------------------------------------------
    Ran 47 tests in 0.997s

    OK

-> Fix it by using Thread.daemon attribute directly as suggested by
   https://docs.python.org/3/library/threading.html#threading.Thread.setDaemon

Change-Id: I6ef70762f671b86342daa35a097532f0b620aaca
The file was modifiedsrc/target/trx_toolkit/clck_gen.py
Commit 2727bef943d4bac02eef0cb8d18b25ba4a259918 by Kirill Smelkov
trx_toolkit/clck_gen: Fix clock generator to emit ticks with exactly GSM frame period

Since fake_trx beginning in 3187c8e6 (target/fake_trx: initial release
of virtual transceiver) CLCKGen was tuned to emitting ticks with sleep
period being time of 1 GSM frame _decreased_ a bit by "Average loop back
delay". The idea for this decrease probably was to compensate the time
spent in each tick handler, so that combined sleep + tick work would
occupy time of 1 GSM frame more or less.

The idea of using hardcoded compensation turned out to be not very good,
because for the overall tick period to be exactly as defined the
compensation should be dynamic and take into account time spent in each
tick handler. For example on one machine "loopback delay" is one value,
while on another it will be another value. And if we attach more work to
tick handler, like it already happened with adding tx queue, the
compensation needs to take all that into account as well.

abc63d8d (trx_toolkit/clck_gen.py: Fix clock generator not to accumulate
timing error) explains the problem in detail and adds dynamic
compensation so that the tick period stays as defined instead of
drifting. But it missed to adjust CLCKgen to stop decreasing desired
tick period a bit by "average loop back delay".

So after that patch, because CLCKgen now follows desired period without
drifting, its period was 4.615ms - 0.09ms instead of exact 4.615ms,
which resulted in e.g. fake_trx and bts-trx clocks to become constantly
dissynchronized with the following emitted by bts-trx non-stop:

    20250122135431420 <0006> scheduler_trx.c:576 GSM clock skew: old fn=0, new fn=102
    20250122135431882 <0006> scheduler_trx.c:604 We were 3 FN slower than TRX, compensated
    20250122135432344 <0006> scheduler_trx.c:604 We were 2 FN slower than TRX, compensated
    20250122135432805 <0006> scheduler_trx.c:604 We were 2 FN slower than TRX, compensated
    20250122135433267 <0006> scheduler_trx.c:604 We were 2 FN slower than TRX, compensated
    20250122135433728 <0006> scheduler_trx.c:604 We were 2 FN slower than TRX, compensated
    20250122135434190 <0006> scheduler_trx.c:604 We were 2 FN slower than TRX, compensated
    20250122135434651 <0006> scheduler_trx.c:604 We were 2 FN slower than TRX, compensated
    20250122135435113 <0006> scheduler_trx.c:604 We were 2 FN slower than TRX, compensated
    20250122135435575 <0006> scheduler_trx.c:604 We were 2 FN slower than TRX, compensated
    20250122135436036 <0006> scheduler_trx.c:604 We were 2 FN slower than TRX, compensated
    20250122135436498 <0006> scheduler_trx.c:604 We were 2 FN slower than TRX, compensated
    20250122135436959 <0006> scheduler_trx.c:604 We were 2 FN slower than TRX, compensated
    20250122135437421 <0006> scheduler_trx.c:604 We were 2 FN slower than TRX, compensated
    ...

What happens here is that there are ~ 216 GSM frames every second, and
since fake_trx drifts by 0.09ms every frame, it results in drifting by ~
20ms every second. Which results in "2 FN slower than TRX" emitted
approximately twice per second as above log excerpt confirms.

-> Fix this by adjusting CLCKgen to emit ticks with exactly GSM frame
period by default.

Change-Id: Ie12fbe8138bac1398805fa270b869e7a333fcba0
The file was modifiedsrc/target/trx_toolkit/clck_gen.py
The file was modifiedsrc/target/trx_toolkit/test_clck_gen.py
Commit 0f4714776a9c9b64c4a7268eb8a346f304835565 by Kirill Smelkov
Revert "Revert "trx_toolkit/transceiver.py: implement the transmit burst queue""

This reverts commit d4ed09df57b3461470af501e9687ddd80eb78838,
reinstating tx queue into fake_trx.

It is ok to do so because, as explained in abc63d8d (trx_toolkit/clck_gen.py:
Fix clock generator not to accumulate timing error), the
reason for GSM clock jitter problem was timing error accumulation in
CLCKgen, not problems with py threading.Event.

Note: this restores original tx queue implementation basically as-is
with only resolve minor conflicts during the revert. The original tx
queue implementation wastes CPU cycles though because it linearly scans
the whole tx queue at every TDMA frame. If that CPU usage becomes a real
problem it should be straightforward to fix by reworking tx queue to use
priority queue instead of unordered array via heapq module from standard
library. See https://docs.python.org/3/library/heapq.html for details.

The follow-up patches will make necessarry adjastments for tx-queue to
function properly.

Related: OS#4658, OS#6672
Change-Id: I41291708effdd2c767be680fff22ffbd9a56815e
The file was modifiedsrc/target/trx_toolkit/transceiver.py
The file was modifiedsrc/target/trx_toolkit/fake_trx.py
Commit c80e193f6d95367e764684a6021ede981f44ebbd by Kirill Smelkov
trxcon: Advance Uplink TDMA Fn by default again

This essentially reverts 923e9b0b (trxcon: do not advance Uplink TDMA Fn
by default; I838b1ebc54e4c5d116f8af2155d97215a6133ba4) for the following
reason:

In trxcon TRX clock is unused, because the signal from BTS is used as
the master clock source instead (see 45c821ae/Ic8a5b6277c6b16392026e0557376257d71c9d230
"trxcon: get rid of the timer driven clock module" for details".

Before restoration of tx-queue in fake_trx this was working ok even with
fn-advance=0 on Ms side, but after I41291708effdd2c767be680fff22ffbd9a56815e
(Revert "Revert "trx_toolkit/transceiver.py: implement the transmit
burst queue"") fake_trx is sending frames having Fn when exactly same Fn
happens corresponding on fake_trx clock. This results in BTS frames
(that are sent with fn-advance=2 by default (see
I7da3d0948f38e12342fb714b29f8edc5e9d0933d in osmo-bts.git and OS#4487)
to be queued, waited to be sent, and then actually sent to Ms on
fn=msg.fn . And then even if Ms replies immediately with that same fn,
that message will be dropped by fake_trx as stalled, because fake_trx
thinks that the message is too late since that fn already happened
according to fake_trx clock.

Here is a trace of how that looks like with 1 BTS and 1 MS(*):

      7.106.927 CLOCK   fn=80 # fake_trx running
      7.111.592 CLOCK   fn=81
      7.116.289 CLOCK   fn=82
      7.120.949 CLOCK   fn=83
      7.125.523 CLOCK   fn=84
      7.130.000 CLOCK   fn=85
      7.134.575 CLOCK   fn=86

      ...

      7.209.222 CLOCK   fn=102
      7.209.897 BTS -> fn=104   tn=0 # BTS starts to emit RF
      7.210.221 BTS -> fn=104   tn=1
      7.210.556 BTS -> fn=104   tn=2
      7.210.796 BTS -> fn=104   tn=3
      7.211.019 BTS -> fn=104   tn=4
      7.211.234 BTS -> fn=104   tn=5
      7.211.479 BTS -> fn=104   tn=6
      7.211.768 BTS -> fn=104   tn=7
      7.213.086 CLOCK   fn=103
      7.214.354 BTS -> fn=105   tn=0
      7.214.566 BTS -> fn=105   tn=1
      7.214.685 BTS -> fn=105   tn=2
      7.214.792 BTS -> fn=105   tn=3
      7.214.890 BTS -> fn=105   tn=4
      7.214.985 BTS -> fn=105   tn=5
      7.215.083 BTS -> fn=105   tn=6
      7.215.184 BTS -> fn=105   tn=7
      7.217.823 CLOCK   fn=104
      7.218.869 BTS -> fn=106   tn=0
      7.219.092 BTS -> fn=106   tn=1
      7.219.224 BTS -> fn=106   tn=2
      7.219.330 BTS -> fn=106   tn=3
      7.219.431 BTS -> fn=106   tn=4
      7.219.527 BTS -> fn=106   tn=5
      7.219.621 BTS -> fn=106   tn=6
      7.219.718 BTS -> fn=106   tn=7
      7.222.535 CLOCK   fn=105

      ...

      9.995.869 CLOCK   fn=706 # MS will soon connect.
      9.997.138 BTS -> fn=709   tn=0 # Note: BTS is sending fn=709 before CLOCK fn=707
      9.997.338 BTS -> fn=709   tn=1 #       so this messages become queued before CLOCK fn=709 happens
      9.997.444 BTS -> fn=709   tn=2
      9.997.535 BTS -> fn=709   tn=3
      9.997.620 BTS -> fn=709   tn=4
      9.997.708 BTS -> fn=709   tn=5
      9.997.789 BTS -> fn=709   tn=6
      9.997.874 BTS -> fn=709   tn=7
     10.000.583 CLOCK   fn=707
     10.001.735 BTS -> fn=710   tn=0
     10.001.932 BTS -> fn=710   tn=1
     10.002.041 BTS -> fn=710   tn=2
     10.002.134 BTS -> fn=710   tn=3
     10.002.220 BTS -> fn=710   tn=4
     10.002.373 BTS -> fn=710   tn=5
     10.002.459 BTS -> fn=710   tn=6
     10.002.718 BTS -> fn=710   tn=7

    [DEBUG] ctrl_if_trx.py:115 (MS) Recv POWEROFF cmd # MS starts to connect
    [INFO] ctrl_if_trx.py:117 (MS) Stopping transceiver...
    [DEBUG] ctrl_if_trx.py:229 (MS) Ignore CMD ECHO
     10.005.203 CLOCK   fn=708
    [DEBUG] ctrl_if_trx.py:229 (MS) Ignore CMD SETSLOT
     10.006.406 BTS -> fn=711   tn=0
    [DEBUG] ctrl_if_trx.py:124 (MS) Recv RXTUNE cmd
     10.006.999 BTS -> fn=711   tn=1
     10.007.153 BTS -> fn=711   tn=2
    [DEBUG] ctrl_if_trx.py:131 (MS) Recv TXTUNE cmd
     10.007.590 BTS -> fn=711   tn=3
     10.007.728 BTS -> fn=711   tn=4
    [DEBUG] ctrl_if_trx.py:97 (MS) Recv POWERON CMD # MS connected and activated RF
    [INFO] ctrl_if_trx.py:109 (MS) Starting transceiver...
     10.008.344 BTS -> fn=711   tn=5
     10.008.471 BTS -> fn=711   tn=6
     10.008.563 BTS -> fn=711   tn=7

     10.009.868 CLOCK   fn=709 # CLOCK fn=709 happens

     10.009.987 MS  <- fn=709   tn=0 # messages of BTS queued previously with that fn=709 are forwarded to Ms
     10.010.696 MS  <- fn=709   tn=1
     10.010.904 MS  -> fn=709   tn=0 # <-- MS sends UL message with that same fn=709 _before_ CLOCK fn=710
     10.011.397 BTS -> fn=712   tn=0
     10.011.507 MS  <- fn=709   tn=2
     10.011.770 MS  <- fn=709   tn=3
     10.011.968 MS  <- fn=709   tn=4
     10.012.156 MS  <- fn=709   tn=5
     10.012.342 MS  <- fn=709   tn=6
     10.012.527 MS  <- fn=709   tn=7
     10.012.914 BTS <- fn=709   tn=0
     10.013.166 BTS -> fn=712   tn=1
     10.013.524 MS  -> fn=709   tn=1 # <-- MS sends UL message with that same fn=709 _before_ CLOCK fn=710
     10.013.832 BTS -> fn=712   tn=2
     10.013.949 MS  -> fn=709   tn=2 # <-- MS sends UL message with that same fn=709 _before_ CLOCK fn=710
     10.014.081 BTS -> fn=712   tn=3
     10.014.177 MS  -> fn=709   tn=3 # <-- MS sends UL message with that same fn=709 _before_ CLOCK fn=710
     10.014.361 BTS -> fn=712   tn=4

     10.014.475 CLOCK   fn=710 # but most of those messages of MS with fn=709 are not picked up
     10.014.713 MS  -> fn=709   tn=4 # instantly and so become dropped as stale on CLOCK fn=710
     10.014.815 MS  <- fn=710   tn=0
     10.015.032 BTS -> fn=712   tn=5
     10.015.687 MS  <- fn=710   tn=1
     10.016.189 MS  <- fn=710   tn=2
     10.016.464 MS  <- fn=710   tn=3
     10.016.648 MS  <- fn=710   tn=4
     10.016.882 MS  <- fn=710   tn=5
     10.017.110 MS  <- fn=710   tn=6
     10.017.336 MS  <- fn=710   tn=7
    [WARNING] transceiver.py:321 (MS) Stale TRXD message (fn=710): fn=709 tn=1 pwr=0
    [WARNING] transceiver.py:321 (MS) Stale TRXD message (fn=710): fn=709 tn=2 pwr=0
    [WARNING] transceiver.py:321 (MS) Stale TRXD message (fn=710): fn=709 tn=3 pwr=0
    [WARNING] transceiver.py:321 (MS) Stale TRXD message (fn=710): fn=709 tn=4 pwr=0

So without adding some fn-advance it is practically not possible for Ms
to be on time with tx-queueing on TRX even if Ms sends its uplink frames
right immediately after receiving downlink ones.

This way Ms fn-advance has to be 1 at the minimum, so that immediate UL
replies can in principle arrive before fn+1 happens on fake_trx side,
even for tn=7. And it is also better to increase fn-advance once more by
another +1, to compensate for possible jitter due to OS scheduling
latencies and similar things. This way default fn-advance=2 on Ms side
becomes symmetric to default fn-advance on BTS side and Ms<->BTS
exchange starts to work ok even with tx-queueing activated on fake_trx.

In theory it should be possible to reduce those fn-advances to 1 on both
sides, but that will likely require to switch clock granularity from Fn
to Tn increasing precision by an order of magnitude, which will likely
also result in the need to make architectural change of moving trx to
work inside BTS and MS instead of being separate service processes.
That's a big task and I'm not delving into that here.

Note: Uplink Fn advance > 0 is needed for Ms when working with regular
TRX'es as well. The reason is exactly the same as explained above. In
923e9b0b the reason for setting fn-advance=0 by default was that trxcon
is usually being used with fake_trx, and that with fake_trx it is not
needed. But after reenabling tx-queueing we have to revisit even
fake_trx case again.

(*) the trace was captured with the help of the following debugging patch:

    --- b/src/target/trx_toolkit/burst_fwd.py
    +++ a/src/target/trx_toolkit/burst_fwd.py
    @@ -22,6 +22,18 @@

     from trx_list import TRXList

    +import sys, time
    +
    +# trace logs msg to stderr with also marking it with high-resolution timestamp.
    +t0 = time.time()
    +def trace(msg):
    +    t = time.time() - t0
    +    t_ms = int(t * 1e3) / 1e3
    +    us = int((t - t_ms) * 1e6)
    +    print("%7.3f.%03d %s" % (t_ms, us, msg), file=sys.stderr)
    +
     class BurstForwarder(TRXList):
     """ Performs burst forwarding between transceivers.

    @@ -63,6 +75,7 @@ def forward_msg(self, src_trx, rx_msg):
     if trx.get_rx_freq(rx_msg.fn) != tx_freq:
     continue

    + trace("%s\t<- fn=%d\ttn=%d" % (trx, rx_msg.fn, rx_msg.tn))
     # Transform from TxMsg to RxMsg and forward
     tx_msg = rx_msg.trans(ver = trx.data_if._hdr_ver)
     trx.handle_data_msg(src_trx, rx_msg, tx_msg)

    --- b/src/target/trx_toolkit/fake_trx.py
    +++ a/src/target/trx_toolkit/fake_trx.py
    @@ -29,7 +29,7 @@
     import re

     from app_common import ApplicationBase
    -from burst_fwd import BurstForwarder
    +from burst_fwd import BurstForwarder, trace
     from transceiver import Transceiver
     from data_msg import Modulation
     from clck_gen import CLCKGen
    @@ -473,6 +473,7 @@ def run(self):

     # This method will be called by the clock thread
     def clck_handler(self, fn):
    + trace("CLOCK\tfn=%d" % fn)
     # We assume that this list is immutable at run-time
     for trx in self.trx_list.trx_list:
     trx.clck_tick(self.burst_fwd, fn)

    --- b/src/target/trx_toolkit/transceiver.py
    +++ a/src/target/trx_toolkit/transceiver.py
    @@ -25,6 +25,7 @@
     from data_if import DATAInterface
     from udp_link import UDPLink
     from trx_list import TRXList
    +from burst_fwd import trace

     from gsm_shared import HoppingParams

    @@ -198,6 +199,7 @@ def __init__(self, bind_addr, remote_addr, base_port, **kwargs):
     self._tx_queue = []

     def __str__(self):
    + return self.name
     desc = "%s:%d" % (self.remote_addr, self.base_port)
     if self.child_idx > 0:
     desc += "/%d" % self.child_idx
    @@ -289,6 +291,7 @@ def recv_data_msg(self):
     return None

     # Enque the message, it will be sent later
    + trace("%s\t-> fn=%d\ttn=%d" % (self, msg.fn, msg.tn))
     self.tx_queue_append(msg)
     return msg

Change-Id: Icf0b4568b44eb75ee0733391d94b0af86f27ee2e
The file was modifiedsrc/host/trxcon/src/trxcon_main.c
Commit fc9044895d23393f0fb81843012b83221e6183b7 by Kirill Smelkov
trx_toolkit/transceiver: Do not forward nor log from under tx_queue_lock

Even though for 1 BTS + 1 MS fake_trx works ok with tx-queuing, when I
try to run two ccch_scan's with 1 BTS fake_trx starts occupy ~ 100% of
CPU and emits lots of "Stale ..." messages:

[WARNING] transceiver.py:317 (M2@127.0.0.1:7700) Stale TRXD message (fn=2793): fn=2791 tn=7 pwr=0
[WARNING] transceiver.py:317 (M2@127.0.0.1:7700) Stale TRXD message (fn=2793): fn=2792 tn=0 pwr=0
[WARNING] transceiver.py:317 (M2@127.0.0.1:7700) Stale TRXD message (fn=2793): fn=2792 tn=1 pwr=0
[WARNING] transceiver.py:317 (M2@127.0.0.1:7700) Stale TRXD message (fn=2793): fn=2792 tn=2 pwr=0
[WARNING] transceiver.py:317 (M2@127.0.0.1:7700) Stale TRXD message (fn=2793): fn=2792 tn=3 pwr=0
...

Inspecting a bit with a profiler showed that fake_trx simply cannot keep
up with the load.

Let's try to fix this with optimizing things a bit where it is easy to
notice and easy to pick up low-hanging fruits.

This is the first patch in that optimization series. It moves blocking
calls from out of under tx_queue_lock on transmit path. The reason for
this move is not to block receive path while the transmit path is busy
more than necessary. I originally noticed tx_queue_lock.acquire being
visible in profile of the rx thread which indicates that tx/rx
contention on this lock can really happen if we do non-negligible tasks
from under this lock. Here, in particular, it was forward_msg that was
preparing and actually sending RxMsg to destination. tx_queue_lock is
needed only to protect tx_queue itself and synchronize rx and tx threads
access to it. Once necessary items are appended or popped, we can do
everything else out of this lock.

-> Move everything on the tx codepath, not actually needing access to
tx_queue out of this lock:

- only collect messages to be sent under the lock; actually forward them
  after releasing the log;
- same for logging.

Change-Id: I7d10c972c45b2b5765e7c3a28f8646508b3c8a82
The file was modifiedsrc/target/trx_toolkit/transceiver.py
Commit c186b58998dc2340a5f32a90dd100a9cd2e50e47 by Kirill Smelkov
trx_toolkit/transceiver: Do not scan tx_queue twice on tx path

Noticed while moving forwarding out of tx_queue_lock in the previous patch.

Change-Id: I225c44c4cc327b6786efce96d1278c6ec68fbc25
The file was modifiedsrc/target/trx_toolkit/transceiver.py
Commit 25b61af78e7149bb79837e9d19c5ee2808ba00a1 by Kirill Smelkov
trx_toolkit/transceiver: Use with tx_queue_lock instead of manual acquire/release

- it is a bit faster
- it is a bit more robust as the lock becomes released in case
  some exception is raised before reaching release

Noticed while moving forwarding out of tx_queue_lock in
I7d10c972c45b2b5765e7c3a28f8646508b3c8a82.

Change-Id: I74b194120bcc518d44796b57e36368bdc8de4aab
The file was modifiedsrc/target/trx_toolkit/transceiver.py
Commit abfd60b3ee7b6763661f59fce76c1e45fb9c0012 by Kirill Smelkov
trx_toolkit/*: Represent bursts as arrays instead of lists

Continuing fake_trx profiling story I noticed that on rx path a
noticeable time is spent in converting from ubits to sbits via list
comprehensions. By changing burst representation from py list, which
stores each item as full python object, to an array, which stores each
item as just byte, and by leveraging bytearray.translate, we can speed
up that conversion by ~ 10x:

before:

    In [1]: from data_msg import Msg

    In [2]: burst = [0, 1] * (142//2)

    In [3]: burst
    Out[3]:
    [0,
     1,
     0,
     1,
     0,
     ...
     0,
     1]

    In [4]: Msg.ubit2sbit(burst)
    Out[4]:
    [127,
     -127,
     127,
     -127,
     ...
     127,
     -127]

    In [5]: %timeit Msg.ubit2sbit(burst)
    3.01 µs ± 43.3 ns per loop (mean ± std. dev. of 7 runs, 100,000 loops each)

after:

    In [2]: burst = bytearray([0, 1] * (142//2))

    In [3]: burst
    Out[3]: bytearray(b'\x00\x01\x00\x01...\x00\x01')

    In [4]: Msg.ubit2sbit(burst)
    Out[4]: array('b', [127, -127, 127, -127, ... 127, -127])

    In [5]: %timeit Msg.ubit2sbit(burst)
    325 ns ± 12.1 ns per loop (mean ± std. dev. of 7 runs, 1,000,000 loops each)

Change-Id: I7314e9e79752e06fa86b9e346a9beacc5e59579e
The file was modifiedsrc/target/trx_toolkit/gsm_shared.py
The file was modifiedsrc/target/trx_toolkit/rand_burst_gen.py
The file was modifiedsrc/target/trx_toolkit/data_msg.py
The file was modifiedsrc/target/trx_toolkit/test_data_msg.py
Commit 06456f118d6fcd6d60a9e50df1d8f07b5fde2c8b by Kirill Smelkov
trx_toolkit/*: Try to avoid copying burst data where possible

Conveying burst data is the primary flow in data place of what fake_trx
does, so the less copies we do, the less we make CPU loaded.

After this change I can finally run 1 BTS + 2 Mobile + 1 ccch_scan
without hitting "Stale message ..." on fake_trx side. However fake_trx
cpu load is close to 100% and there are internal clock overruns often:

    [WARNING] clck_gen.py:97 CLCKGen: time overrun by -1385us; resetting the clock
    [WARNING] clck_gen.py:97 CLCKGen: time overrun by -2657us; resetting the clock
    [WARNING] clck_gen.py:97 CLCKGen: time overrun by -1264us; resetting the clock
    [WARNING] clck_gen.py:97 CLCKGen: time overrun by -2913us; resetting the clock
    [WARNING] clck_gen.py:97 CLCKGen: time overrun by -1836us; resetting the clock
    ...

This suggests that even though fake_trx.py + tx-queue started to work
somehow, the rewrite of fake_trx in C, as explained in OS#6672, is still
better to do.

Change-Id: I147da2f110dedc863361059c931f609c28a69e9c
The file was modifiedsrc/target/trx_toolkit/data_if.py
The file was modifiedsrc/target/trx_toolkit/data_msg.py
Commit 47af7967f9345a0fb8d80e09579f8aa468e77db1 by Kirill Smelkov
trx_toolkit/transceiver: Spellcheck

Noticed by Jenkins:

https: //gerrit.osmocom.org/c/osmocom-bb/+/39328/1/src/target/trx_toolkit/transceiver.py#134

Change-Id: Id2a59d6db53c7f90cd21a056da8b1ac4d85e0373
The file was modifiedsrc/target/trx_toolkit/transceiver.py
Commit 4a4ce97377030a6ed27c2ec51a0710b373cba262 by laforge
trx_toolkit: fix typos in Transceiver API doc

Change-Id: I59c6c75bb2a76fa082d0ad110930a2982ee6728f
The file was modifiedsrc/target/trx_toolkit/transceiver.py
Commit 445c34e7f3a99be41e9ddffc403aa661fe2c9c42 by laforge
trx_toolkit: correct Tx burst advance value

Change-Id: I559e86a15a3a8b4ec725f9d381e7d28628ea9155
The file was modifiedsrc/target/trx_toolkit/transceiver.py
Commit 867e849010864ecadf1f2e7adb5c70250b6a99fc by Pau Espin Pedrol
fake_trx: Allow setting sched RR priority for clckgen thread

With this patch python is still too slow sometimes, with frecuent
overruns in the range 50-2400 microsecs. Still, with higher prio we
should hopefully see less cases where the process is being delayed by a
much higher amount, which may trigger a "no clock" error from
osmo-bts-trx.

Change-Id: I3c7f36c17fc7b9cae1023b4a0ed37f983dc286dc
The file was modifiedsrc/target/trx_toolkit/clck_gen.py
The file was modifiedsrc/target/trx_toolkit/fake_trx.py
Commit 6f45d36e936c9209a18e02b6a8c3a04eb1ff9fd9 by Pau Espin Pedrol
Set sched RR Priority on main thread

Since we are still affected by Python GIL, it makes sense to also set
the main thread (which is actually also expected to be real time) to a
real time priority.

Use a slightly higher rr prio (prio + 1) to the clckgen thread.

Change-Id: I6aa22125e7de4f472d691b271639d5bee25762cb
The file was modifiedsrc/target/trx_toolkit/fake_trx.py
Commit 54a0052ab8de1639c306cb3afd1f0ce19b8e2c9c by Pau Espin Pedrol
fake_trx: Remove unneeded field assignment

The assignment is not really needed, since worker can already access the
field anyway.

Fixes: 6f45d36e936c9209a18e02b6a8c3a04eb1ff9fd9
Change-Id: Ib8808f8bf8f3ef084334debac47ca48a48aa0cea
The file was modifiedsrc/target/trx_toolkit/clck_gen.py
Commit 04339f502cca934ff09730ee4a8387b091379f03 by Vadim Yanitskiy
doc/examples/mobile: rename default.cfg -> mobile.cfg

Let's be consistent with the modem app and other Osmocom projects.

Change-Id: I826f31523a941a616a95a3fc1b935fc63d886cc0
Related: OS#6851
The file was removeddoc/examples/mobile/default.cfg
The file was addeddoc/examples/mobile/mobile.cfg
Commit 15f23c2e22b5d5a9ba17ce581d66479d96381995 by Vadim Yanitskiy
debian: remove osmocom-bb.install

There's no such package in `debian/control`, so this file is useless.

Change-Id: Id7dcc24dfe9697035d67339b9bbe05f468bd25ab
Related: OS#6851
The file was removeddebian/osmocom-bb.install
Commit 2a93a822f88b10e33248762c76e8b4e29ac63832 by Vadim Yanitskiy
debian: fix empty osmocom-bb-{trxcon,virtphy} packages

For each of layer23, trxcon, and virt_phy:

* Configure/build using the top-level Makefile.
* Install into its own DESTDIR (`debian/tmp/$PROJ`).
* Add the respective `*.install` file.

Change-Id: Ieee634f7f643a7599c735a5b77549cf34deb7fb9
Related: OS#6851
The file was addeddebian/osmocom-bb-trxcon.install
The file was addeddebian/osmocom-bb-layer23.install
The file was addeddebian/osmocom-bb-virtphy.install
The file was modifieddebian/rules
Commit 0e225f8628fc2b91fbc3005e5ba8bb103b3e178b by Vadim Yanitskiy
debian: install /etc/osmocom/{mobile,modem}.cfg

Change-Id: Ic405512330358e7d4cf81db6d4e83f5ffc920f64
Related: OS#6851
The file was modifieddebian/osmocom-bb-layer23.install
Commit bc21a9e918113770ed41f1a7c62f361ab572c26c by Vadim Yanitskiy
debian: install *.cfg and *.lua examples

Change-Id: I10ed0d68cd91126cefd431a1375b72dd6ae3f2d0
Related: OS#6851
The file was modifieddebian/osmocom-bb-layer23.install
Commit 19cd72bcb09e161a0f1a4e40d748b542415c8c60 by Vadim Yanitskiy
debian: add osmocom-bb-{gprsdecode,osmocon} packages

Change-Id: Ia96c418a610863b5d9d0fc10c6d78b80163dc651
Related: OS#6851
The file was modifieddebian/rules
The file was modifieddebian/control
The file was addeddebian/osmocom-bb-gprsdecode.install
The file was addeddebian/osmocom-bb-osmocon.install
Commit 37e216a8eba7fa8ed2f36bd5bb8ea8dbe14bb0ba by Vadim Yanitskiy
debian: add osmocom-bb-doc (user manual)

Change-Id: Ib04160287c98814a6f2ae104197abda563bdd5b9
Related: OS#6851
The file was addeddebian/osmocom-bb-doc.install
The file was modifieddebian/control
The file was modifieddebian/rules
Commit 1d74c506c6144767290ca17dc7c24ba9e533ec1d by Oliver Smith
WIP

Change-Id: I8f4c41f2d1fe4af79ce7435494398394d719891d
The file was modifiedsrc/shared/libosmocore/configure.ac