Open Source Mobile Communications: Issueshttps://osmocom.org/https://osmocom.org/favicon.ico?16647414092016-10-02T04:08:14ZOpen Source Mobile Communications
Redmine Qualcomm Linux Modems by Quectel & Co - Feature #1814 (New): check if qtools workhttps://osmocom.org/issues/18142016-10-02T04:08:14Zlaforge
<p>there's an open source toolset for reading/writing flash of Qualcomm chips, including the MDM9615, see <a class="external" href="https://github.com/forth32/qtools">https://github.com/forth32/qtools</a></p>
<p>would be interesting to know if that one works on the EC20 modules</p> Qualcomm Linux Modems by Quectel & Co - Bug #1813 (New): cat /dev/snd/* causes kernel oopshttps://osmocom.org/issues/18132016-09-30T16:00:03Zzecke
<p>Nice feature to dump memory around the pointers in the registers. Bad crash. :)</p>
<pre>
/ # cat /dev/snd/pcmC0D*
cat: read error: File descriptor in bad state
cat: read error: Invalid argument
cat: read error: File descriptor in bad state
cat: can't open '/dev/snd/pcmC0D11c': Invalid argument
cat: can't open '/dev/snd/pcmC0D12p': Invalid argument
cat: can't open '/dev/snd/pcmC0D13c': Invalid argument
cat: can't open '/dev/snd/pcmC0D14p': Invalid argument
cat: can't open '/dev/snd/pcmC0D15p': No such device
cat: can't open '/dev/snd/pcmC0D16c': No such device
cat: can't open '/dev/snd/pcmC0D17p': No such device
cat: can't open '/dev/snd/pcmC0D18c': No such device
cat: can't open '/dev/snd/pcmC0D19c': No such device
cat: can't open '/dev/snd/pcmC0D19p': No such device
cat: read error: File descriptor in bad state
cat: read error: Invalid argument
cat: can't open '/dev/snd/pcmC0D20c': No such device
cat: can't open '/dev/snd/pcmC0D20p': No such device
cat: can't open '/dev/snd/pcmC0D21p': No such device
cat: can't open '/dev/snd/pcmC0D22c': No such device
cat: can't open '/dev/snd/pcmC0D23p': No such device
cat: can't open '/dev/snd/pcmC0D24c': No such device
cat: can't open '/dev/snd/pcmC0D25c': No such device
cat: read error: File descriptor in bad state
cat: read error: Invalid argument
cat: read error: File descriptor in bad state
cat: read error: Invalid argument
cat: read error: File descriptor in bad state
cat: read error: Invalid argument
cat: read error: Invalid argument
cat: read error: File descriptor in bad state
cat: read error: File descriptor in bad state
cat: read error: Invalid argument
cat: read error: File descriptor in bad state
cat: read error: Invalid argument
Segmentation fault
/ #
/ #
/ # cat /dev/snd/pcmC0D
pcmC0D0c pcmC0D14p pcmC0D19p pcmC0D22c pcmC0D3c pcmC0D7c
pcmC0D0p pcmC0D15p pcmC0D1c pcmC0D23p pcmC0D3p pcmC0D7p
pcmC0D10c pcmC0D16c pcmC0D1p pcmC0D24c pcmC0D4c pcmC0D8c
pcmC0D11c pcmC0D17p pcmC0D20c pcmC0D25c pcmC0D4p pcmC0D8p
pcmC0D12p pcmC0D18c pcmC0D20p pcmC0D2c pcmC0D5p pcmC0D9c
pcmC0D13c pcmC0D19c pcmC0D21p pcmC0D2p pcmC0D6c pcmC0D9p
/ # cat /dev/snd/pcmC0D
pcmC0D0c pcmC0D14p pcmC0D19p pcmC0D22c pcmC0D3c pcmC0D7c
pcmC0D0p pcmC0D15p pcmC0D1c pcmC0D23p pcmC0D3p pcmC0D7p
pcmC0D10c pcmC0D16c pcmC0D1p pcmC0D24c pcmC0D4c pcmC0D8c
pcmC0D11c pcmC0D17p pcmC0D20c pcmC0D25c pcmC0D4p pcmC0D8p
pcmC0D12p pcmC0D18c pcmC0D20p pcmC0D2c pcmC0D5p pcmC0D9c
pcmC0D13c pcmC0D19c pcmC0D21p pcmC0D2p pcmC0D6c pcmC0D9p
/ # cat /dev/snd/pcmC0D0c
cat: read error: File descriptor in bad state
/ # dmesg -c
[ 3071.760384] asoc: can't open platform msm-host-pcm-voice
[ 3071.765328] asoc: can't open platform msm-host-pcm-voice
[ 3071.770700] asoc: can't open platform msm-host-pcm-voice
[ 3071.778024] asoc: can't open platform msm-host-pcm-voice
[ 3071.785319] MDM9615 Media2: asoc: MDM9615 Media2 no valid capture route from source to sink
[ 3071.794811] MDM9615 Media2: asoc: MDM9615 Media2 no valid playback route from source to sink
[ 3071.840774] MSM VoIP: asoc: MSM VoIP no valid capture route from source to sink
[ 3071.850114] MSM VoIP: asoc: MSM VoIP no valid playback route from source to sink
[ 3071.857469] SLIMBUS_0 Hostless: no BE found for SLIMBUS_0_TX
[ 3071.862627] SLIMBUS_0 Hostless: asoc: SLIMBUS_0 Hostless no valid capture route from source to sink
[ 3071.874286] SLIMBUS_0 Hostless: asoc: SLIMBUS_0 Hostless no valid playback route from source to sink
[ 3071.884144] afe_callback: cmd = 0x100df returned error = 0x2
[ 3071.897268] afe_callback: cmd = 0x100df returned error = 0x2
[ 3071.930046] VoLTE: asoc: VoLTE no valid capture route from source to sink
[ 3071.938806] VoLTE: asoc: VoLTE no valid playback route from source to sink
[ 3071.945459] soc-audio soc-audio.0: root widget not found
[ 3071.950495] ------------[ cut here ]------------
[ 3071.954646] kernel BUG at /home/sata2/welford.wei_sam_4222/LTE/Qualcomm/MDM9215/EC20_R02/apss/apps_proc/kernel/mm/slub.c:3008!
[ 3071.966030] Internal error: Oops - BUG: 0 [#1] PREEMPT
[ 3071.971127] Modules linked in: snd_soc_alc5616
[ 3071.975583] CPU: 0 Not tainted (3.0.21+ #1)
[ 3071.980100] PC is at kfree+0x5c/0xec
[ 3071.983640] LR is at dsp_add_new_paths+0x31c/0x35c
[ 3071.988432] pc : [<c00e6988>] lr : [<c02f3588>] psr: 40000013
[ 3071.988432] sp : c57f7d34 ip : 000057f7 fp : 00000000
[ 3071.999877] r10: c060245c r9 : 00000000 r8 : 00000000
[ 3072.005096] r7 : c57f6000 r6 : c5b58ae0 r5 : 00000000 r4 : c5893eb8
[ 3072.011597] r3 : 00000000 r2 : c57f7da8 r1 : c087dee0 r0 : 00000000
[ 3072.018098] Flags: nZcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
[ 3072.025209] Control: 10c5387d Table: 4582c059 DAC: 00000015
[ 3072.030947]
[ 3072.030947] PC: 0xc00e6908:
[ 3072.035189] 6908 e3510000 0a000002 e59f3010 e5930050 ebffffc9 e3a03000 e584306c e8bd8010
[ 3072.043369] 6928 c06b773c e3500010 e1a0300e e92d40f0 e1a02000 98bd80f0 e280c102 e59f10c8
[ 3072.051518] 6948 e28cc502 e1a0c62c e5910000 e24cc701 e24ccb02 e080128c e790028c e3100902
[ 3072.059666] 6968 1591100c e5910000 e3100080 1591000c 1a000006 e5913000 e3130903 1a000000
[ 3072.067846] 6988 e7f001f2 e1a00001 e8bd40f0 eaff7b59 e590c000 e59c6004 e59c4008 e1510004
[ 3072.075995] 69a8 1a000017 e59c5000 e5904014 e7825004 e10f4000 f10c0080 e5905000 e59cc000
[ 3072.084144] 69c8 e5957000 e157000c 1a000008 e595c004 e15c0006 1a000005 e5852000 e28cc001
[ 3072.092323] 69e8 e5905000 e585c004 e3a0c001 ea000000 e3a0c000 e121f004 e35c0000 18bd80f0
[ 3072.100472]
[ 3072.100472] LR: 0xc02f3508:
[ 3072.104715] 3508 e2888001 e5930000 e2853008 ebf93e84 e59d3024 e5850278 e586340c ea000007
[ 3072.112894] 3528 e59d302c e1a00004 e59f108c e0839109 e5993004 e5932004 ebfb56ea ea00000d
[ 3072.121043] 3548 e2899001 ea000007 e59d1014 e3a07f9f e3a08000 e1a09008 e0070197 e2873f66
[ 3072.129192] 3568 e0843003 e58d3018 e59d302c e5932000 e1590002 baffff69 e59d002c ebf7cce8
[ 3072.137371] 3588 e1a00008 e28dd034 e8bd8ff0 c06133e0 c054919e c05491a6 c04e1b90 c054aa07
[ 3072.145520] 35a8 c04287d8 c054aa20 c054aa4e c06b7754 c054aa04 c054aa01 c054aa62 c054aa88
[ 3072.153669] 35c8 e92d4ff7 e3a07f9f e0070197 e3a0301c e0030193 e1a06000 e0809007 e287bf66
[ 3072.161849] 35e8 e1a05001 e3a08000 e5994198 e080b00b e244400c e58d3004 ea000029 e5943000
[ 3072.169998]
[ 3072.169998] SP: 0xc57f7cb4:
[ 3072.174270] 7cb4 c587de08 c060252c c0602540 00000016 00000001 00000000 c03f4464 c050bf86
[ 3072.182419] 7cd4 ffffffff c57f7d1c c0037d14 00000000 c0037a64 00000000 c087dee0 c57f7da8
[ 3072.190568] 7cf4 00000000 c5893eb8 00000000 c5b58ae0 c57f6000 00000000 00000000 c060245c
[ 3072.198748] 7d14 00000000 000057f7 c57f7d34 c02f3588 c00e6988 40000013 ffffffff c5b58ae0
[ 3072.206897] 7d34 c5893eb8 00000000 c5b58ae0 c57f6000 c02f3588 00000016 c03143d4 c5b58800
[ 3072.215046] 7d54 00000000 0000000d 00000001 00000000 0000000d 00000015 00000000 c52fb400
[ 3072.223225] 7d74 c57f7da8 c52fb400 c5b58c00 c5893eb8 c5b58ae0 c57f6000 c5b58aec 00000000
[ 3072.231374] 7d94 00000001 00000000 c02f55cc c5b58c00 c57f7da8 c52fb400 c57f7dfc 00000000
[ 3072.239523]
[ 3072.239554] R1: 0xc087de60:
[ 3072.243796] de60 00000080 00000001 000c000c c6004b00 00000000 00000000 00100100 00200200
[ 3072.251945] de80 00000080 00000001 000d000d c6004600 00000000 00000000 00100100 00200200
[ 3072.260094] dea0 00000080 00000001 000d000d c6004600 00000000 00000000 00100100 00200200
[ 3072.268273] dec0 00000000 00000001 ffffffff 00000000 00000000 000000f5 00100100 00200200
[ 3072.276422] dee0 00000000 00000000 ffffffff 00000001 00000000 00000100 00100100 00200200
[ 3072.284571] df00 00000080 00000001 000c000c c6004b00 00000000 00000000 00100100 00200200
[ 3072.292751] df20 00000000 00000000 ffffff80 00000000 00000000 c57f9000 c087d538 c0879438
[ 3072.300899] df40 00000080 00000001 000c000c c6004b00 00000000 00000000 00100100 00200200
[ 3072.309079]
[ 3072.309079] R2: 0xc57f7d28:
[ 3072.313321] 7d28 40000013 ffffffff c5b58ae0 c5893eb8 00000000 c5b58ae0 c57f6000 c02f3588
[ 3072.321470] 7d48 00000016 c03143d4 c5b58800 00000000 0000000d 00000001 00000000 0000000d
[ 3072.329650] 7d68 00000015 00000000 c52fb400 c57f7da8 c52fb400 c5b58c00 c5893eb8 c5b58ae0
[ 3072.337799] 7d88 c57f6000 c5b58aec 00000000 00000001 00000000 c02f55cc c5b58c00 c57f7da8
[ 3072.345948] 7da8 c52fb400 c57f7dfc 00000000 c5b58ae0 c57f6000 c5b58aec 00000000 00000001
[ 3072.354127] 7dc8 00000000 c02e3f34 c5b58a00 c5b58c00 c57b5d00 c5b58a00 c57b5d00 c02e406c
[ 3072.362276] 7de8 00000000 c5443420 c0077e8c c5b58aec c5b58aec c00ed348 c04279ec c57b5d00
[ 3072.370425] 7e08 c56886c8 00000000 c57cbf60 00000024 c0408210 c02d5c4c c56886c8 c57b5d00
[ 3072.378604]
[ 3072.378604] R4: 0xc5893e38:
[ 3072.382847] 3e38 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 3072.390996] 3e58 c5b58700 c5889800 c6112d80 c5888420 c5883b40 00000200 c5893e70 c5893e70
[ 3072.399175] 3e78 c02e9eec 00000000 00000000 00000000 c06a4b20 00000000 00000000 ffffffff
[ 3072.407324] 3e98 ffffffff 00000000 00000000 00000000 00000000 00000000 c5f9d600 00000000
[ 3072.415473] 3eb8 c587de08 c59e1a80 c5ba7b00 c58945bc c58937cc c587de10 c6005440 c05ea120
[ 3072.423652] 3ed8 c5b2ef00 00000002 00000003 00000000 00000000 00000001 c5893ef0 c5893ef0
[ 3072.431801] 3ef8 00000000 00000000 c5893f00 c5893f00 00000000 00000000 00000000 c589460c
[ 3072.439950] 3f18 c589381c 7fffffff c5893f20 c5893f20 00000000 00000000 00000000 00000000
[ 3072.448130]
[ 3072.448130] R6: 0xc5b58a60:
[ 3072.452372] 8a60 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 3072.460552] 8a80 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 3072.468700] 8aa0 00000000 00000000 00000000 c5b58a00 00000001 00000000 c5b58b00 c59e1ae0
[ 3072.476849] 8ac0 c59e1ba0 00000001 c5b58a00 00000001 00000001 c5b58c00 c59e1f60 c5ba1060
[ 3072.485029] 8ae0 00000000 c5b58ae4 c5b58ae4 c57f7df4 c57f7df4 c5893eb8 00000000 00000000
[ 3072.493178] 8b00 c5b58a00 c5b58aa8 00000000 00000000 64627573 63697665 30232065 00000000
[ 3072.501327] 8b20 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 3072.509506] 8b40 00000000 00000000 00000000 ffffffff 00000000 00000000 00000000 00000000
[ 3072.517655]
[ 3072.517655] R7: 0xc57f5f80:
[ 3072.521898] 5f80 00000000 00000004 c556f708 00000000 c57f5d80 01adad40 00000004 c57f5fa4
[ 3072.530077] 5fa0 00000000 656d616e 00000000 00000000 00000000 00000000 00000000 00000000
[ 3072.538226] 5fc0 00000000 00000000 00000000 00000000 c040b3e0 c590d600 00000000 c63ae540
[ 3072.546375] 5fe0 c57f5fe0 c57f5fe0 c5f442ac c00fb864 c57f5ff0 c57f5ff0 c57f5ff8 c57f5ff8
[ 3072.554554] 6000 00000000 00000002 00000000 c5443420 c05ccaac 00000000 00000015 c57f6000
[ 3072.562703] 6020 c5443420 c05cc100 c5a5ae60 c5a64600 c5b3e180 c05b8a18 c57f7c3c c57f7c10
[ 3072.570852] 6040 c03fa1f0 00000000 00000000 00000000 00000000 00000000 01000000 00000000
[ 3072.579032] 6060 4008c4c0 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 3072.587181]
[ 3072.587181] R10: 0xc06023dc:
[ 3072.591514] 23dc 00000014 0000000d 00000000 00000000 c0322f30 00000000 c0557357 c0554dc6
[ 3072.599694] 23fc c0549b56 c04ed8f6 c0557372 c054dfc8 00000000 00000014 0000000f 00000000
[ 3072.607843] 241c 00000000 c0322f30 00000000 c0557383 c0554dec c0549b56 c04ed8f6 c055739e
[ 3072.615992] 243c c054dfc8 00000000 00000014 0000000e 00000000 00000000 c0322f30 00000000
[ 3072.624171] 245c c05573ee 00000000 00000000 c587de08 c5b36a00 00000000 c05fb9bc c05fb9bc
[ 3072.632320] 247c 00000001 c0602480 c0602480 00000001 c060248c c060248c 00000001 c0602498
[ 3072.640469] 249c c0602498 00000001 c06024a4 c06024a4 00000001 00000000 00000000 00000000
[ 3072.648649] 24bc 00000000 00000000 00000000 00000000 00000000 00000000 00000000 c0601f14
[ 3072.656798] Process cat (pid: 616, stack limit = 0xc57f62e8)
[ 3072.662444] Stack: (0xc57f7d34 to 0xc57f8000)
[ 3072.666808] 7d20: c5893eb8 00000000 c5b58ae0
[ 3072.674957] 7d40: c57f6000 c02f3588 00000016 c03143d4 c5b58800 00000000 0000000d 00000001
[ 3072.683106] 7d60: 00000000 0000000d 00000015 00000000 c52fb400 c57f7da8 c52fb400 c5b58c00
[ 3072.691286] 7d80: c5893eb8 c5b58ae0 c57f6000 c5b58aec 00000000 00000001 00000000 c02f55cc
[ 3072.699435] 7da0: c5b58c00 c57f7da8 c52fb400 c57f7dfc 00000000 c5b58ae0 c57f6000 c5b58aec
[ 3072.707583] 7dc0: 00000000 00000001 00000000 c02e3f34 c5b58a00 c5b58c00 c57b5d00 c5b58a00
[ 3072.715763] 7de0: c57b5d00 c02e406c 00000000 c5443420 c0077e8c c5b58aec c5b58aec c00ed348
[ 3072.723912] 7e00: c04279ec c57b5d00 c56886c8 00000000 c57cbf60 00000024 c0408210 c02d5c4c
[ 3072.732091] 7e20: c56886c8 c57b5d00 c609edc0 00000000 00000000 c00edaf0 c56886c8 00000015
[ 3072.740240] 7e40: c600d8c0 c5fe3400 c57b5d00 c56886c8 c00ed924 c00e8ccc 00000000 c57f7ef8
[ 3072.748389] 7e60: c56886c8 00000000 00020000 00000000 c5edcd80 c00f6650 c5edcd80 c00e70f4
[ 3072.756569] 7e80: c06b77a0 c56886c8 c5448000 c57f7ef8 c57f7f78 c57f6000 c5372000 c0037fa8
[ 3072.764718] 7ea0: c57f6000 00000000 becbbc9c c00f69a8 c57f7ecc c07c76a0 c07c76ac c600d8c0
[ 3072.772867] 7ec0: c5fe3400 c5889800 c6112d80 00000000 c58937c0 c57f7f78 00000001 c5372000
[ 3072.781046] 7ee0: ffffff9c c0037fa8 00000000 c00f6d20 00000041 c08a0ba8 c600d8c0 c5fe3400
[ 3072.789195] 7f00: c4258677 00000008 c5372009 00000000 c5c6b400 c56886c8 00000101 00000004
[ 3072.797344] 7f20: 00000000 00000000 c5b36bac c02d5f58 c5b58700 c57b5a80 c5494a88 c5494a80
[ 3072.805523] 7f40: 00000000 00020000 00000003 00020001 00000000 00000000 ffffff9c 00000003
[ 3072.813672] 7f60: ffffff9c c5372000 00000001 c00e9a98 c5494a80 00000006 00020000 00000000
[ 3072.821821] 7f80: 00000024 00000100 c5494a80 becbbf12 ffffffff 00000001 00000005 c0037fa8
[ 3072.830001] 7fa0: 00000000 c0037e00 becbbf12 ffffffff becbbf12 00020000 00000000 00000000
[ 3072.838150] 7fc0: becbbf12 ffffffff 00000001 00000005 00000003 000dd760 0000008f becbbc9c
[ 3072.846299] 7fe0: 000fc350 becbb930 0000e9cc 47b8e824 60000010 becbbf12 4450536c 53204649
[ 3072.854509] [<c00e6988>] (kfree+0x5c/0xec) from [<c02f3588>] (dsp_add_new_paths+0x31c/0x35c)
[ 3072.862902] [<c02f3588>] (dsp_add_new_paths+0x31c/0x35c) from [<c02f55cc>] (soc_dsp_fe_dai_open+0x30/0x1a8)
[ 3072.872638] [<c02f55cc>] (soc_dsp_fe_dai_open+0x30/0x1a8) from [<c02e3f34>] (snd_pcm_open_substream+0x50/0x98)
[ 3072.882587] [<c02e3f34>] (snd_pcm_open_substream+0x50/0x98) from [<c02e406c>] (snd_pcm_open+0xf0/0x1fc)
[ 3072.891988] [<c02e406c>] (snd_pcm_open+0xf0/0x1fc) from [<c02d5c4c>] (snd_open+0x174/0x240)
[ 3072.900320] [<c02d5c4c>] (snd_open+0x174/0x240) from [<c00edaf0>] (chrdev_open+0x1cc/0x1f0)
[ 3072.908652] [<c00edaf0>] (chrdev_open+0x1cc/0x1f0) from [<c00e8ccc>] (__dentry_open.isra.15+0x18c/0x298)
[ 3072.918113] [<c00e8ccc>] (__dentry_open.isra.15+0x18c/0x298) from [<c00f6650>] (do_last.isra.38+0x524/0x678)
[ 3072.927910] [<c00f6650>] (do_last.isra.38+0x524/0x678) from [<c00f69a8>] (path_openat+0xb4/0x364)
[ 3072.936761] [<c00f69a8>] (path_openat+0xb4/0x364) from [<c00f6d20>] (do_filp_open+0x2c/0x78)
[ 3072.945185] [<c00f6d20>] (do_filp_open+0x2c/0x78) from [<c00e9a98>] (do_sys_open+0xd8/0x170)
[ 3072.953608] [<c00e9a98>] (do_sys_open+0xd8/0x170) from [<c0037e00>] (ret_fast_syscall+0x0/0x30)
[ 3072.962276] Code: 1a000006 e5913000 e3130903 1a000000 (e7f001f2)
[ 3072.976987] ---[ end trace cb7970f1a715b45a ]---
</pre> OsmoBTS - Bug #1751 (New): incompatibility between LCR and DTXhttps://osmocom.org/issues/17512016-06-14T16:39:56Zmsuraev
<p>While testing DTX I've noticed that echo-test and music from LCR sounds "patchy" - there are gaps in the voice flow. There is no such effect when testing via osmo-sip-connector & kamailio towards external server.</p> libosmocore - Feature #1716 (New): enhance unit test coveragehttps://osmocom.org/issues/17162016-05-17T15:30:20Zlaforge
<p>We currently only have (some) unit test for the following parts:</p>
<a name="libosmocore"></a>
<h2 >libosmocore<a href="#libosmocore" class="wiki-anchor">¶</a></h2>
<pre>
./bits
./timer
./msgb
./logging
./conv
./stats
./utils
./loggingrb
./bitvec
./msgfile
./strrb
./ares
</pre>
<a name="libosmogsm"></a>
<h2 >libosmogsm:<a href="#libosmogsm" class="wiki-anchor">¶</a></h2>
<pre>
./fr
./auth
./a5
./gb
./comp128
./tlv
./gsup
./lapd
./gprs
./gsm0408
./sms
./ussd
./gsm0808
./smscb
./kasumi
</pre>
<a name="libosmosim"></a>
<h2 >libosmosim<a href="#libosmosim" class="wiki-anchor">¶</a></h2>
<pre>
./sim
</pre>
<a name="libosmovty"></a>
<h2 >libosmovty:<a href="#libosmovty" class="wiki-anchor">¶</a></h2>
<pre>
./vty
</pre>
Please review the existing unit tests and determine which API functions exported by our libraries do not currently receive any unit test coverage.
<ul>
<li>generate a list of API functions without test cases and update the ticket</li>
<li>pick those API functions that are easy to test without a very complicated fixture and lots of state</li>
<li>implement autotest cases for each of the affected functions</li>
</ul>
<p>It's also worth to think about possible ways to automatize the detection of 'exported library functions without test cases', if that's possible in some way.</p> OsmoBTS - Feature #1692 (New): clock source monitoringhttps://osmocom.org/issues/16922016-04-13T09:49:17Zmsuraev
<p>Some BTS hw have stable enough clock source on board (e. g. sysmoBTS 1002), other requires external reference like gps (e. g. sysmoBTS 2050) to function properly. This should be properly monitored by OsmoBTS.</p>
<p>Note: it takes some time to get a lock after boot. Also you can loose lock over time during operation (we get event messages on that). A timeout-based mechanism thus would make sense. Terminate osmo-bts with a meaningful LOGL_ERROR message if there hasn't been a lock for N seconds (whether at start up or at subsequent loss of clock).</p>
Add following common infrastructure:
<ul>
<li>how the bts-model code can report the reference clock status (lock/unlock/...)</li>
<li>a vty configurable timeout for the amount of seconds after which we terminate after loss of a reference clock lock</li>
<li>how the bts-model code can report the list of supported clock sources and the currently active clock to the common part (Unknown, TCXO, OCXO, GPS, External)</li>
</ul>
<p>We might even extend that to a common VTY command for selecting the reference clock source, implemented by a bts_model_set_clock_source() command called by that VTY command.</p> SDR (Software Defined Radio) - Bug #1678 (New): Use -undefined dynamic_lookup when using Python a...https://osmocom.org/issues/16782016-03-30T23:25:04Zmot
<a name="Description"></a>
<h2 >Description<a href="#Description" class="wiki-anchor">¶</a></h2>
<p>Building GrOsmoSDR on Mac OS X should use the <code>-undefined dynamic_lookup</code> as value for the Python library instead of the <code>-lpython</code> and/or <code>-framework /path/to/python/framework</code> to ensure Python gets linked dynamically without having all symbols resolved at link time.</p>
<p>More information: <a class="external" href="http://blog.tim-smith.us/2015/09/python-extension-modules-os-x/">http://blog.tim-smith.us/2015/09/python-extension-modules-os-x/</a></p>
<a name="Possible-fix"></a>
<h2 >Possible fix<a href="#Possible-fix" class="wiki-anchor">¶</a></h2>
<p>Set the PYTHON_LIBRARY variable to <code>-undefined dynamic_lookup</code> when running CMake.<br />I've attached a patch which I'm already using for the package in Homebrew. Unfortunately this patch does not work with the latest version of CMake (3.5.0) therefore I'm using it in conjunction with an older version of CMake (3.3.2).</p>
<a name="Additional-information"></a>
<h2 >Additional information<a href="#Additional-information" class="wiki-anchor">¶</a></h2>
<p>Operating system: Mac OS 10.11.4<br />GrOsmoSDR: 0.1.4<br />CMake: 3.3.2</p> OsmoSGSN - Feature #1588 (New): Inter-RAT hand-overhttps://osmocom.org/issues/15882016-02-23T15:46:30Zlaforge
<p>As OsmoSGSN is currently GPRS/EDGE only, this question hasn't arisen yet. But that is scheduled to change, and we will need to consider cell changes between GPRS/EDGE and UMTS/HSPA and vice-versa.</p> OsmoSGSN - Feature #1586 (New): Implement QoS profile supporthttps://osmocom.org/issues/15862016-02-23T15:45:17Zlaforge
This would mean that we select the following parameters based on the QoS of the subscriber data:
<ul>
<li>maximum total bandwidth</li>
<li>buffer sizes</li>
<li>LLC acknowled/unacknowledged</li>
</ul> OsmoBTS - Bug #1577 (New): mph_send_config_logchpar doesn't update encryption confighttps://osmocom.org/issues/15772016-02-23T15:39:16Zlaforge
<p>In A-bis, the BSC is permitted to change the encryption parameters of an<br />active logical channel via a "RSL MODE MODIFY" message. osmo-bts-sysmo<br />doesn't pass along this information to the L1, which is a violation of<br />the specification.</p>
<p>OpenBSC seems to only set encryption parameters during channel<br />activation or during the CIPHERING MODE COMMAND but not modify it later.<br />However, the code for sending encryption information as part of RSL MODE<br />MODIFY is implemented in libbsc/abis_rs.lc:rsl_chan_mode_modify_req()</p> OsmoBTS - Feature #1571 (New): Support RTP multiplexing instead of per-call RTP streamshttps://osmocom.org/issues/15712016-02-23T15:32:53Zlaforge
<p>The IPA Abis/IP protocol allows for multiplexing of RTP frames of multiple calls in one message. Should we implement this?</p>
<p>OsmoBSC has support for a more comprehensive Osmux protocol on the A interface. Not sure if it makes sense to put effort on Abis optimization.</p> OsmoBTS - Feature #1570 (New): Select RTP payload identifier based on requested speech modehttps://osmocom.org/issues/15702016-02-23T15:31:08Zlaforge
<p>Right now the RTP payload identifier is static, which is a deviation from the standard IPA RSL protocol behavior. It should be chosen dynamically and represent the respective voice codec.</p>
<p>This has no implication to OpenBSC. But it is a difference to how ip.access Abis/IP is implemented. So it's a limitation in compatibility to ip.access Abis/IP.</p> OsmoBTS - Feature #1561 (New): Multi-TRX support (one osmo-bts process per TRX)https://osmocom.org/issues/15612016-02-23T15:18:12Zlaforge
<p>This requires some more work, including an OML router that will route the OML messages to the respective transceiver-specific osmo-bts process. The latter processes can be on different CPUs with different IP addresses.</p>
<p>The individual transceiver-specific osmo-bts processes then need to establish each their own RSL link to the BSC.</p> OsmoPCU - Feature #1554 (New): per-MS BSSGP flow controlhttps://osmocom.org/issues/15542016-02-23T15:12:05Zlaforge
<p>Only the global BSS leak rate is being measured yet, along with best case assumptions for the per-MS default leak rate. Sending FLOWCONTROL MS is not yet supported.</p> OsmoPCU - Bug #1550 (New): Cell reselection under network controlhttps://osmocom.org/issues/15502016-02-23T15:06:21Zlaforge
<p>We currently only implement "Normal MS Control" known as NC0. This means that the MS performs autonomous cell reselection, like in GSM idle mode. Unlike GSM, this is the case even while TBF are active.</p>
<p>GPRS specifies NC1 and NC2 methods. In the latter, the cell re-selection is under network control; The MS Sends measurement reports to the network, and the network instructs the MS to switch.</p> OsmoPCU - Feature #1547 (New): downlink power control on PDTCHhttps://osmocom.org/issues/15472016-02-23T15:04:40Zlaforge
<p>Downlink power control is not implemented. GPRS optionally allows for downlink PDTCH power control in order to reduce interference with surrounding cells on same / neighboring ARFCN.</p>
<p>DL power control is complicated by the fact that we cannot only use the power to reach the MS that we want to send the MAC block to, but we also have to consider all the other MS for whom the USF is relevant.</p> UmTRX - Feature #1515 (New): Heat dissipation and mounting issuehttps://osmocom.org/issues/15152016-02-19T22:52:49Z
<p>Heat dissipation and mounting issue.</p>
<p>[Migrated from old Google Code tracker]</p> UmTRX - Feature #1516 (New): There are no port to control external equipment like PAhttps://osmocom.org/issues/15162016-02-19T22:52:49Z
<p>There is no port to control external equipment such as a PA.</p>
<p>[Migrated from old Google Code tracker]</p> UmTRX - Feature #1517 (New): U_FL (UMC) connectors are not reliable after few connectionshttps://osmocom.org/issues/15172016-02-19T22:52:49Z
<p>U_FL (UMC) connectors are not reliable after few connections.</p>
<p>[Migrated from old Google Code tracker]</p> UmTRX - Feature #1518 (New): Upper limit of the clock is too lowhttps://osmocom.org/issues/15182016-02-19T22:52:49Z
<p>Upper limit of the clock is too low.</p>
<p>[Migrated from old Google Code tracker]</p> UmTRX - Bug #1505 (New): OHM4 footprint incorrecthttps://osmocom.org/issues/15052016-02-19T22:52:48Z
<p>OHM4 footprint incorrect.</p>
<p>[Migrated from old Google Code tracker]</p> UmTRX - Feature #1511 (New): Solve Tx and Rx I/Q imbalance for wideband signalshttps://osmocom.org/issues/15112016-02-19T22:52:48Z
<p>Solve Tx and Rx I/Q imbalance for wideband signals.</p>
<p>[Migrated from old Google Code tracker]</p> Mobile (in)Security - Bug #1480 (New): A5/3 is not deployed in GSM networkshttps://osmocom.org/issues/14802016-02-19T22:51:58Zlaforge
<p>The 3GPP has specified the Kasumi-derived A5/3 cipher for use in GSM networks. This would significantly increase the confidentiality and security of the GSM network, since it avoids the known-weak and known-broken A5/1 cipher. The passive A5/1 key-cracking attacks would no longer work.</p>
<p>In order to use A5/3, both the MS and the BTS will have to implement the A5/3 cipher, and the BSC will have to configure the BTSs to actually use it.</p>
<p>Many modern phones (whether 3G or not) support A5/3 operation on GSM and indicate this capability in their CLASSMARK.</p>
<p>However, none of the networks we have seen are using A5/3 on GSM.</p>
<p>Thus, the operators and/or equipment manufacturers are actively preventing a higher level of security and confidentiality.</p> Mobile (in)Security - Bug #1481 (New): Random LAPDm MAC-block padding is not deployed yethttps://osmocom.org/issues/14812016-02-19T22:51:58Zlaforge
<p>Recent versions of TS 44.006 (Version >= 6.7.0 from October 2008) specify that the BTS shall use randomized padding (fill bits) in its Layer2 frames.</p>
<p>This will help to combat the known passive A5/1 cracking attacks that rely on a small portion of known plaintext.</p>
<p>By using randomized padding, the amount of known plaintext can be reduced.</p>
<p>However, as of 07/2010, no network has been found to use this randomized padding.</p> Mobile (in)Security - Bug #1483 (New): USSD state is not reset when switching cellshttps://osmocom.org/issues/14832016-02-19T22:51:58Z
<p>USSD support on a phone can be disabled by sending ussdNotify and not sending a releaseComplete. Other USSD commands will not be processed by the phone until the releaseComplete command is send.</p>
<p>The Phone Stack assumes that all USSD operations originate/termate from/at its HLR.</p> Mobile (in)Security - Bug #1482 (New): Sending the TMSI of the old/previous networkhttps://osmocom.org/issues/14822016-02-19T22:51:58Ztnt
<p>On LOCATION UPDATING REQUEST some handsets do not clear their TMSI and send a TMSI of a foreign network to us. This means we know IMSI, IMEI and TMSI from the previous network.</p>
<p>( from <a class="external" href="http://openbsc.osmocom.org/trac/wiki/HandsetBugs">http://openbsc.osmocom.org/trac/wiki/HandsetBugs</a> )</p> Mobile (in)Security - Bug #1477 (New): RACH flood DoShttps://osmocom.org/issues/14772016-02-19T22:51:57Zlaforge
<p>On the RACH (part of the CCCH/BCCH), the number of RACH slots per unit of time is fixed. The maximum possible number of RACH slots with a single-timeslot CCCH is 200.</p>
<p>Furthermore, the number of available dedicated (control and traffic) channels is limited in any given cell.</p>
<p>As per the GSM specification, any newly-assigned dedicated channel has to stay assigned for 2 seconds, waiting for the MS to establish the radio link layer. Only after 2 seconds, the channel can be closed and re-used for other purposes.</p>
<p>If anyone can send more RACH requests (in 2 seconds) than the cell has dedicated channels, permanent resource exhaustion of dedicated channels will happen (in other words, a DoS).</p>
<p>As the RACH request can be hand-crafted by the attacker and sent at a timing chosen by the attacker, there is no possibility for the BTS to differentiate real from malicious RACH bursts.</p>
<p>This attack has been implemented in 2009 by Dieter Spaar, and has been publicly demonstrated at the Deepsec 2009 conference in Vienna.</p>
<p>Slides are available from <a class="external" href="http://www.mirider.com/GSM-DoS-Attack_Dieter_Spaar.pdf">http://www.mirider.com/GSM-DoS-Attack_Dieter_Spaar.pdf</a></p> OsmocomBB - Bug #1462 (New): ../../src/utils.c:182:7: error: only weak aliases are supported in t...https://osmocom.org/issues/14622016-02-19T22:48:42Z
<p>Build fails on OSX Lion</p>
<p>bash-3.2# make<br />mkdir shared/libosmocore/build-target<br />cd shared/libosmocore/build-target && ../configure \<br /> --host=arm-elf --enable-embedded --disable-shared \<br /> --disable-tests ac_cv_header_sys_select_h=no \<br /> --disable-tests ac_cv_header_sys_socket_h=no \<br /> CFLAGS="-Os <del>ffunction-sections -I/Users/blombo/osmocom-bb/src/target/firmware/include -nostartfiles -nodefaultlibs" <br />configure: WARNING: if you wanted to set the --build type, don't use --host.<br /> If a cross compiler is detected then cross compile mode will be used<br />checking for a BSD-compatible install... /usr/bin/install -c<br />checking whether build environment is sane... yes<br />checking for arm-elf-strip... arm-elf-strip<br />checking for a thread-safe mkdir -p... ../install-sh -c -d<br />checking for gawk... no<br />checking for mawk... no<br />checking for nawk... no<br />checking for awk... awk<br />checking whether make sets $(MAKE)... yes<br />checking whether make sets $(MAKE)... (cached) yes<br />checking for arm-elf-gcc... arm-elf-gcc<br />checking whether the C compiler works... yes<br />checking for C compiler default output file name... a.out<br />checking for suffix of executables... <br />checking whether we are cross compiling... yes<br />checking for suffix of object files... o<br />checking whether we are using the GNU C compiler... yes<br />checking whether arm-elf-gcc accepts -g... yes<br />checking for arm-elf-gcc option to accept ISO C89... none needed<br />checking for style of include used by make... GNU<br />checking dependency style of arm-elf-gcc... gcc3<br />checking build system type... x86_64-apple-darwin11.2.0<br />checking host system type... arm-unknown-elf<br />checking how to print strings... printf<br />checking for a sed that does not truncate output... /usr/bin/sed<br />checking for grep that handles long lines and -e... /usr/bin/grep<br />checking for egrep... /usr/bin/grep -E<br />checking for fgrep... /usr/bin/grep -F<br />checking for ld used by arm-elf-gcc... /Volumes/Speicher/opt/local/arm-elf/bin/ld<br />checking if the linker (/Volumes/Speicher/opt/local/arm-elf/bin/ld) is GNU ld... yes<br />checking for BSD</del> or MS-compatible name lister (nm)... /opt/local/bin//arm-elf-nm <del>B<br />checking the name lister (/opt/local/bin//arm-elf-nm -B) interface... BSD nm<br />checking whether ln -s works... yes<br />checking the maximum length of command line arguments... 196608<br />checking whether the shell understands some XSI constructs... yes<br />checking whether the shell understands "+="... yes<br />checking how to convert x86_64-apple-darwin11.2.0 file names to arm-unknown-elf format... func_convert_file_noop<br />checking how to convert x86_64-apple-darwin11.2.0 file names to toolchain format... func_convert_file_noop<br />checking for /Volumes/Speicher/opt/local/arm-elf/bin/ld option to reload object files... -r<br />checking for arm-elf-objdump... arm-elf-objdump<br />checking how to recognize dependent libraries... unknown<br />checking for arm-elf-dlltool... no<br />checking for dlltool... no<br />checking how to associate runtime and link libraries... printf <span>s\n<br />checking for arm-elf-ar... arm-elf-ar<br />checking for archiver <code>FILE support... </code><br />checking for arm-elf-strip... (cached) arm-elf-strip<br />checking for arm-elf-ranlib... arm-elf-ranlib<br />checking command to parse /opt/local/bin//arm-elf-nm -B output from arm-elf-gcc object... ok<br />checking for sysroot... no<br />checking for arm-elf-mt... no<br />checking for mt... no<br />checking if : is a manifest tool... no<br />checking how to run the C preprocessor... arm-elf-gcc -E<br />checking for ANSI C header files... yes<br />checking for sys/types.h... yes<br />checking for sys/stat.h... yes<br />checking for stdlib.h... yes<br />checking for string.h... yes<br />checking for memory.h... yes<br />checking for strings.h... yes<br />checking for inttypes.h... yes<br />checking for stdint.h... yes<br />checking for unistd.h... yes<br />checking for dlfcn.h... no<br />checking for objdir... .libs<br />checking if arm-elf-gcc supports -fno-rtti -fno-exceptions... no<br />checking for arm-elf-gcc option to produce PIC... -fPIC -DPIC<br />checking if arm-elf-gcc PIC flag -fPIC -DPIC works... yes<br />checking if arm-elf-gcc static flag -static works... yes<br />checking if arm-elf-gcc supports -c -o file.o... yes<br />checking if arm-elf-gcc supports -c -o file.o... (cached) yes<br />checking whether the arm-elf-gcc linker (/Volumes/Speicher/opt/local/arm-elf/bin/ld) supports shared libraries... yes<br />checking dynamic linker characteristics... no<br />checking how to hardcode library paths into programs... immediate<br />checking whether stripping libraries is possible... yes<br />checking if libtool supports shared libraries... no<br />checking whether to build shared libraries... no<br />checking whether to build static libraries... yes<br />checking for ANSI C header files... (cached) yes<br />checking execinfo.h usability... no<br />checking execinfo.h presence... no<br />checking for execinfo.h... no<br />checking for sys/select.h... (cached) no<br />checking for sys/socket.h... (cached) no<br />checking syslog.h usability... no<br />checking syslog.h presence... no<br />checking for syslog.h... no<br />checking ctype.h usability... yes<br />checking ctype.h presence... yes<br />checking for ctype.h... yes<br />checking for size_t... yes<br />checking for working alloca.h... yes<br />checking for alloca... yes<br />checking for library containing dlopen... no<br />checking for doxygen... false<br />checking if arm-elf-gcc supports -fvisibility=hidden... yes<br />configure: creating ./config.status<br />config.status: creating libosmocore.pc<br />config.status: creating libosmocodec.pc<br />config.status: creating libosmovty.pc<br />config.status: creating libosmogsm.pc<br />config.status: creating include/osmocom/Makefile<br />config.status: creating include/osmocom/vty/Makefile<br />config.status: creating include/osmocom/codec/Makefile<br />config.status: creating include/osmocom/crypt/Makefile<br />config.status: creating include/osmocom/gsm/Makefile<br />config.status: creating include/osmocom/gsm/protocol/Makefile<br />config.status: creating include/osmocom/core/Makefile<br />config.status: creating include/Makefile<br />config.status: creating src/Makefile<br />config.status: creating src/vty/Makefile<br />config.status: creating src/codec/Makefile<br />config.status: creating src/gsm/Makefile<br />config.status: creating tests/Makefile<br />config.status: creating tests/timer/Makefile<br />config.status: creating tests/sms/Makefile<br />config.status: creating tests/msgfile/Makefile<br />config.status: creating tests/ussd/Makefile<br />config.status: creating tests/smscb/Makefile<br />config.status: creating tests/bits/Makefile<br />config.status: creating utils/Makefile<br />config.status: creating Doxyfile.core<br />config.status: creating Doxyfile.gsm<br />config.status: creating Doxyfile.vty<br />config.status: creating Doxyfile.codec<br />config.status: creating Makefile<br />config.status: creating config.h<br />config.status: executing depfiles commands<br />config.status: executing libtool commands<br />cd shared/libosmocore/build-target &x%x</span> make<br />make all-recursive<br />Making all in include<br />Making all in osmocom<br />Making all in codec<br />maker5: Nothing to be done for @all'.<br />Making all in crypt<br />maker5: Nothing to be done for @all'.<br />Making all in gsm<br />Making all in protocol<br />maker6: Nothing to be done for @all'.<br />maker6: Nothing to be done for @all-am'.<br />Making all in core<br /> SED ../../../../include/osmocom/core/crcXXgen.h.tpl -> crc8gen.h<br /> SED ../../../../include/osmocom/core/crcXXgen.h.tpl -> crc16gen.h<br /> SED ../../../../include/osmocom/core/crcXXgen.h.tpl -> crc32gen.h<br /> SED ../../../../include/osmocom/core/crcXXgen.h.tpl -> crc64gen.h<br />maker5: Nothing to be done for @all-am'.<br />maker4: Nothing to be done for @all-am'.<br />Making all in src<br />Making all in .<br /> CC timer.lo<br /> CC select.lo<br /> CC signal.lo<br /> CC msgb.lo<br /> CC bits.lo<br /> CC bitvec.lo<br /> CC statistics.lo<br />../../src/statistics.c: In function 'osmo_counter_get_by_name':<br />../../src/statistics.c:72:3: warning: implicit declaration of function 'strcmp' [-Wimplicit-function-declaration]<br /> CC write_queue.lo<br /> CC utils.lo<br />../../src/utils.c: In function 'get_value_string':<br />../../src/utils.c:33:2: warning: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'uint32_t' [-Wformat]<br />../../src/utils.c: In function 'get_string_value':<br />../../src/utils.c:49:3: warning: implicit declaration of function 'strcasecmp' [-Wimplicit-function-declaration]<br /> CC socket.lo<br /> CC logging.lo<br />../../src/logging.c: In function 'log_parse_category_mask':<br />../../src/logging.c:168:2: warning: implicit declaration of function 'strdup' [-Wimplicit-function-declaration]<br />../../src/logging.c:168:15: warning: incompatible implicit declaration of built-in function 'strdup' [enabled by default]<br />../../src/logging.c:175:2: warning: implicit declaration of function 'strtok' [-Wimplicit-function-declaration]<br />../../src/logging.c:175:17: warning: assignment makes pointer from integer without a cast [enabled by default]<br />../../src/logging.c:178:4: warning: implicit declaration of function 'strstr' [-Wimplicit-function-declaration]<br />../../src/logging.c:178:18: warning: incompatible implicit declaration of built-in function 'strstr' [enabled by default]<br />../../src/logging.c:203:27: warning: assignment makes pointer from integer without a cast [enabled by default]<br />../../src/logging.c: In function '_file_output':<br />../../src/logging.c:433:2: warning: implicit declaration of function 'fprintf' [-Wimplicit-function-declaration]<br />../../src/logging.c:433:2: warning: incompatible implicit declaration of built-in function 'fprintf' [enabled by default]<br />../../src/logging.c:434:2: warning: implicit declaration of function 'fflush' [-Wimplicit-function-declaration]<br />../../src/logging.c: In function 'log_target_create_file':<br />../../src/logging.c:506:2: warning: implicit declaration of function 'fopen' [-Wimplicit-function-declaration]<br />../../src/logging.c:506:23: warning: assignment makes pointer from integer without a cast [enabled by default]<br />../../src/logging.c: In function 'log_target_find':<br />../../src/logging.c:530:4: warning: implicit declaration of function 'strcmp' [-Wimplicit-function-declaration]<br />../../src/logging.c: In function 'log_target_destroy':<br />../../src/logging.c:552:4: warning: implicit declaration of function 'fclose' [-Wimplicit-function-declaration]<br />../../src/logging.c: In function 'log_target_file_reopen':<br />../../src/logging.c:565:23: warning: assignment makes pointer from integer without a cast [enabled by default]<br /> CC logging_syslog.lo<br /> CC rate_ctr.lo<br />../../src/rate_ctr.c: In function 'rate_ctr_get_group_by_name_idx':<br />../../src/rate_ctr.c:153:3: warning: implicit declaration of function 'strcmp' [-Wimplicit-function-declaration]<br /> CC gsmtap_util.lo<br /> CC crc16.lo<br /> CC panic.lo<br /> CC backtrace.lo<br /> CC conv.lo<br /> CC application.lo<br /> CC rbtree.lo<br /> SED ../../src/crcXXgen.c.tpl -> crc8gen.c<br /> CC crc8gen.lo<br /> SED ../../src/crcXXgen.c.tpl -> crc16gen.c<br /> CC crc16gen.lo<br /> SED ../../src/crcXXgen.c.tpl -> crc32gen.c<br /> CC crc32gen.lo<br /> SED ../../src/crcXXgen.c.tpl -> crc64gen.c<br /> CC crc64gen.lo<br /> CCLD libosmocore.la<br />Making all in vty<br />maker4: Nothing to be done for @all'.<br />Making all in codec<br /> CC gsm610.lo<br /> CC gsm620.lo<br /> CC gsm660.lo<br /> CC gsm690.lo<br /> CCLD libosmocodec.la<br />Making all in gsm<br /> CC a5.lo<br /> CC rxlev_stat.lo<br /> CC tlv_parser.lo<br /> CC comp128.lo<br /> CC gsm_utils.lo<br />../../../src/gsm/gsm_utils.c: In function 'gsm_7bit_encode':<br />../../../src/gsm/gsm_utils.c:253:13: warning: variable 'z' set but not used [-Wunused-but-set-variable]<br /> CC rsl.lo<br /> CC gsm48.lo<br />../../../src/gsm/gsm48.c: In function 'gsm48_mi_to_string':<br />../../../src/gsm/gsm48.c:348:4: warning: format '%u' expects argument of type 'unsigned int', but argument 4 has type 'uint32_t' [-Wformat]<br /> CC gsm48_ie.lo<br /> CC gsm0808.lo<br /> CC sysinfo.lo<br /> CC gprs_cipher_core.lo<br /> CC gsm0480.lo<br />../../../src/gsm/gsm0480.c: In function 'parse_process_uss_req':<br />../../../src/gsm/gsm0480.c:405:7: warning: pointer targets in passing argument 1 of 'gsm_7bit_decode' differ in signedness [-Wpointer-sign]<br />../../../include/osmocom/gsm/gsm_utils.h:59:5: note: expected 'char <strong>' but argument is of type 'uint8_t *'<br /> CC abis_nm.lo<br /> CC gsm0502.lo<br /> CC gsm0411_utils.lo<br /> CC gsm0411_smc.lo<br /> CC gsm0411_smr.lo<br /> CC lapd_core.lo<br />../../../src/gsm/lapd_core.c: In function 'lapd_acknowledge':<br />../../../src/gsm/lapd_core.c:710:38: warning: variable 't200_start' set but not used [-Wunused-but-set-variable]<br />../../../src/gsm/lapd_core.c: In function 'lapd_rx_u':<br />../../../src/gsm/lapd_core.c:835:5: warning: implicit declaration of function 'memcmp' [-Wimplicit-function-declaration]<br /> CC lapdm.lo<br /> CCLD libosmogsm.la<br />Making all in tests<br />maker4: Nothing to be done for @all-am'.<br />Making all in utils<br />maker3: Nothing to be done for @all'.<br />maker3: Nothing to be done for @all-am'.<br />mkdir shared/libosmocore/build-host<br />cd shared/libosmocore/build-host && ../configure <br />checking for a BSD-compatible install... /usr/bin/install -c<br />checking whether build environment is sane... yes<br />checking for a thread-safe mkdir -p... ../install-sh -c -d<br />checking for gawk... no<br />checking for mawk... no<br />checking for nawk... no<br />checking for awk... awk<br />checking whether make sets $(MAKE)... yes<br />checking whether make sets $(MAKE)... (cached) yes<br />checking for gcc... gcc<br />checking whether the C compiler works... yes<br />checking for C compiler default output file name... a.out<br />checking for suffix of executables... <br />checking whether we are cross compiling... no<br />checking for suffix of object files... o<br />checking whether we are using the GNU C compiler... yes<br />checking whether gcc accepts -g... yes<br />checking for gcc option to accept ISO C89... none needed<br />checking for style of include used by make... GNU<br />checking dependency style of gcc... gcc3<br />checking build system type... x86_64-apple-darwin11.2.0<br />checking host system type... x86_64-apple-darwin11.2.0<br />checking how to print strings... printf<br />checking for a sed that does not truncate output... /usr/bin/sed<br />checking for grep that handles long lines and -e... /usr/bin/grep<br />checking for egrep... /usr/bin/grep -E<br />checking for fgrep... /usr/bin/grep -F<br />checking for ld used by gcc... /usr/bin/ld<br />checking if the linker (/usr/bin/ld) is GNU ld... no<br />checking for BSD</del> or MS-compatible name lister (nm)... /usr/bin/nm<br />checking the name lister (/usr/bin/nm) interface... BSD nm<br />checking whether ln -s works... yes<br />checking the maximum length of command line arguments... 196608<br />checking whether the shell understands some XSI constructs... yes<br />checking whether the shell understands "+="... yes<br />checking how to convert x86_64-apple-darwin11.2.0 file names to x86_64-apple-darwin11.2.0 format... func_convert_file_noop<br />checking how to convert x86_64-apple-darwin11.2.0 file names to toolchain format... func_convert_file_noop<br />checking for /usr/bin/ld option to reload object files... -r<br />checking for objdump... no<br />checking how to recognize dependent libraries... pass_all<br />checking for dlltool... no<br />checking how to associate runtime and link libraries... printf <span>s\n<br />checking for ar... ar<br />checking for archiver @FILE support... no<br />checking for strip... strip<br />checking for ranlib... ranlib<br />checking command to parse /usr/bin/nm output from gcc object... ok<br />checking for sysroot... no<br />checking for mt... no<br />checking if : is a manifest tool... no<br />checking for dsymutil... dsymutil<br />checking for nmedit... nmedit<br />checking for lipo... lipo<br />checking for otool... otool<br />checking for otool64... no<br />checking for -single_module linker flag... yes<br />checking for -exported_symbols_list linker flag... yes<br />checking for -force_load linker flag... yes<br />checking how to run the C preprocessor... gcc -E<br />checking for ANSI C header files... yes<br />checking for sys/types.h... yes<br />checking for sys/stat.h... yes<br />checking for stdlib.h... yes<br />checking for string.h... yes<br />checking for memory.h... yes<br />checking for strings.h... yes<br />checking for inttypes.h... yes<br />checking for stdint.h... yes<br />checking for unistd.h... yes<br />checking for dlfcn.h... yes<br />checking for objdir... .libs<br />checking if gcc supports -fno-rtti -fno-exceptions... no<br />checking for gcc option to produce PIC... -fno-common -DPIC<br />checking if gcc PIC flag -fno-common -DPIC works... yes<br />checking if gcc static flag -static works... no<br />checking if gcc supports -c -o file.o... yes<br />checking if gcc supports -c -o file.o... (cached) yes<br />checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes<br />checking dynamic linker characteristics... darwin11.2.0 dyld<br />checking how to hardcode library paths into programs... immediate<br />checking whether stripping libraries is possible... yes<br />checking if libtool supports shared libraries... yes<br />checking whether to build shared libraries... yes<br />checking whether to build static libraries... yes<br />checking for ANSI C header files... (cached) yes<br />checking execinfo.h usability... yes<br />checking execinfo.h presence... yes<br />checking for execinfo.h... yes<br />checking sys/select.h usability... yes<br />checking sys/select.h presence... yes<br />checking for sys/select.h... yes<br />checking sys/socket.h usability... yes<br />checking sys/socket.h presence... yes<br />checking for sys/socket.h... yes<br />checking syslog.h usability... yes<br />checking syslog.h presence... yes<br />checking for syslog.h... yes<br />checking ctype.h usability... yes<br />checking ctype.h presence... yes<br />checking for ctype.h... yes<br />checking for size_t... yes<br />checking for working alloca.h... yes<br />checking for alloca... yes<br />checking for library containing dlopen... none required<br />checking for doxygen... false<br />checking if gcc supports -fvisibility=hidden... yes<br />configure: creating ./config.status<br />config.status: creating libosmocore.pc<br />config.status: creating libosmocodec.pc<br />config.status: creating libosmovty.pc<br />config.status: creating libosmogsm.pc<br />config.status: creating include/osmocom/Makefile<br />config.status: creating include/osmocom/vty/Makefile<br />config.status: creating include/osmocom/codec/Makefile<br />config.status: creating include/osmocom/crypt/Makefile<br />config.status: creating include/osmocom/gsm/Makefile<br />config.status: creating include/osmocom/gsm/protocol/Makefile<br />config.status: creating include/osmocom/core/Makefile<br />config.status: creating include/Makefile<br />config.status: creating src/Makefile<br />config.status: creating src/vty/Makefile<br />config.status: creating src/codec/Makefile<br />config.status: creating src/gsm/Makefile<br />config.status: creating tests/Makefile<br />config.status: creating tests/timer/Makefile<br />config.status: creating tests/sms/Makefile<br />config.status: creating tests/msgfile/Makefile<br />config.status: creating tests/ussd/Makefile<br />config.status: creating tests/smscb/Makefile<br />config.status: creating tests/bits/Makefile<br />config.status: creating utils/Makefile<br />config.status: creating Doxyfile.core<br />config.status: creating Doxyfile.gsm<br />config.status: creating Doxyfile.vty<br />config.status: creating Doxyfile.codec<br />config.status: creating Makefile<br />config.status: creating config.h<br />config.status: executing depfiles commands<br />config.status: executing libtool commands<br />cd shared/libosmocore/build-host &x%x</span> make<br />make all-recursive<br />Making all in include<br />Making all in osmocom<br />Making all in vty<br />maker5: Nothing to be done for @all'.<br />Making all in codec<br />maker5: Nothing to be done for @all'.<br />Making all in crypt<br />maker5: Nothing to be done for @all'.<br />Making all in gsm<br />Making all in protocol<br />maker6: Nothing to be done for @all'.<br />maker6: Nothing to be done for @all-am'.<br />Making all in core<br /> SED ../../../../include/osmocom/core/crcXXgen.h.tpl -> crc8gen.h<br /> SED ../../../../include/osmocom/core/crcXXgen.h.tpl -> crc16gen.h<br /> SED ../../../../include/osmocom/core/crcXXgen.h.tpl -> crc32gen.h<br /> SED ../../../../include/osmocom/core/crcXXgen.h.tpl -> crc64gen.h<br />maker5: Nothing to be done for @all-am'.<br />maker4: Nothing to be done for @all-am'.<br />Making all in src<br />Making all in .<br /> CC timer.lo<br /> CC select.lo<br /> CC signal.lo<br /> CC msgb.lo<br /> CC bits.lo<br /> CC bitvec.lo<br /> CC statistics.lo<br /> CC write_queue.lo<br /> CC utils.lo<br />../../src/utils.c:182:7: error: only weak aliases are supported in this configuration<br />maker4: <b></strong> [utils.lo] Error 1<br />maker3: <strong></b> [all-recursive] Error 1<br />maker2: <b></strong> [all-recursive] Error 1<br />maker1: <strong></b> [all] Error 2<br />make: *</strong>* [shared/libosmocore/build-host/src/.libs/libosmocore.la] Error 2</p> OsmoNITB - Bug #70 (New): nitb crashes in the rtp_proxy when a phone on a MT-call sends a 'CONNEC...https://osmocom.org/issues/702016-02-19T22:47:33Z
<p>Using the <a class="wiki-page new" href="https://osmocom.org/projects/osmonitb/wiki/FakeBTS">FakeBTS</a> it is possible to crash nitb on a MT-call. It appears to that if the MS sends a CALL CONFIRMED and then a CONNECT the rtp_socket is not fully setup and when one attempts to bridge them we have a crash.</p> OsmoNITB - Bug #72 (New): struct gsm_call can leak..https://osmocom.org/issues/722016-02-19T22:47:33Z
<p>During BTS testing I saw that gsm_call appears to be leaked.</p>
<p>Setup:<br />sysmoBTS... configure the bind IP wrongly so the CRCX will be NACKED..</p>
<p>Place a call to an unattached subscriber. Hangup immediately after placing the call, sometimes wait for the network error indication. This was tested with a E71.</p>
<pre>
gsm_call contains 560 bytes in 29 blocks (ref 0) 0x865d318
struct gsm_call contains 20 bytes in 1 blocks (ref 0) 0x87c7040
struct gsm_call contains 20 bytes in 1 blocks (ref 0) 0x8711a90
struct gsm_call contains 20 bytes in 1 blocks (ref 0) 0x87c7428
struct gsm_call contains 20 bytes in 1 blocks (ref 0) 0x8781168
struct gsm_call contains 20 bytes in 1 blocks (ref 0) 0x8716218
struct gsm_call contains 20 bytes in 1 blocks (ref 0) 0x8711ea8
struct gsm_call contains 20 bytes in 1 blocks (ref 0) 0x87c9d28
struct gsm_call contains 20 bytes in 1 blocks (ref 0) 0x87aed50
struct gsm_call contains 20 bytes in 1 blocks (ref 0) 0x87819e0
struct gsm_call contains 20 bytes in 1 blocks (ref 0) 0x8711c28
struct gsm_call contains 20 bytes in 1 blocks (ref 0) 0x8711f28
struct gsm_call contains 20 bytes in 1 blocks (ref 0) 0x8713a20
struct gsm_call contains 20 bytes in 1 blocks (ref 0) 0x87139d8
struct gsm_call contains 20 bytes in 1 blocks (ref 0) 0x8713990
struct gsm_call contains 20 bytes in 1 blocks (ref 0) 0x8713948
struct gsm_call contains 20 bytes in 1 blocks (ref 0) 0x8716e88
struct gsm_call contains 20 bytes in 1 blocks (ref 0) 0x8716e40
struct gsm_call contains 20 bytes in 1 blocks (ref 0) 0x8716df8
struct gsm_call contains 20 bytes in 1 blocks (ref 0) 0x8787668
struct gsm_call contains 20 bytes in 1 blocks (ref 0) 0x872b1d8
struct gsm_call contains 20 bytes in 1 blocks (ref 0) 0x8781da0
struct gsm_call contains 20 bytes in 1 blocks (ref 0) 0x8716090
struct gsm_call contains 20 bytes in 1 blocks (ref 0) 0x8713b90
struct gsm_call contains 20 bytes in 1 blocks (ref 0) 0x872bf70
struct gsm_call contains 20 bytes in 1 blocks (ref 0) 0x8713a98
struct gsm_call contains 20 bytes in 1 blocks (ref 0) 0x8716048
struct gsm_call contains 20 bytes in 1 blocks (ref 0) 0x87289c8
struct gsm_call contains 20 bytes in 1 blocks (ref 0) 0x8711fe8
</pre> OsmoBTS - Feature #61 (New): osmo-bts: split TRAU/RTP frame handling into separate processhttps://osmocom.org/issues/612016-02-19T22:47:32Zlaforge
<p>it would be great to only deal with signalling inside the osmo-bts process, pushing all RTP/TCH handling into a separate process similar to a media gateway.</p>
<p>The main process then just sends control commands to the RTP/TCH process, particularly once the BSC instructs us to change/bind/connect the RTP socket related settings.</p>
<p>Our sysmobts L1 can already put the TCH related messages into a separate queue, keeping control with the main queue.</p>