Andreas.Eversberg [Sat, 13 Nov 2010 18:23:57 +0000 (18:23 +0000)]
[layer23] msgb_free() must in l1ctl.c must called after reading its header
Harald Welte [Tue, 9 Nov 2010 18:17:48 +0000 (19:17 +0100)]
add definitions for sciphone G2
Harald Welte [Tue, 9 Nov 2010 17:19:06 +0000 (18:19 +0100)]
add some header files about MTK GSM related peripherals
Sylvain Munaut [Thu, 30 Sep 2010 21:12:06 +0000 (23:12 +0200)]
target_dsp/calypso: Makefile rework
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Wed, 29 Sep 2010 16:45:58 +0000 (18:45 +0200)]
target_dsp/calypso: Small updates bin2cfile.py script
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Wed, 29 Sep 2010 18:13:26 +0000 (20:13 +0200)]
target/fw/dsp: Implement section loading with bootloader
This works for both the default ROM bootloader and for our
custom one.
This will allow to implement easy patch loading.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Wed, 29 Sep 2010 16:43:56 +0000 (18:43 +0200)]
target/fw/dsp: Create a common function to start running code
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Fri, 22 Oct 2010 09:52:38 +0000 (11:52 +0200)]
layer23/mobile: Enable half_v1 support
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sat, 6 Nov 2010 15:00:12 +0000 (16:00 +0100)]
target/fw/l1: Fix TCH/H1 by properly loading the TCH mode during TCH_A task
Altough quite counterintuitive, the TCH_A task does some voice coding
work ... at least during TCH/H subchannel 1 ...
Go figure ...
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sat, 30 Oct 2010 19:13:41 +0000 (21:13 +0200)]
target/fw/l1: Fix TCH/H by properly scheduling the TCHD task during 'off' slots
Apparently the DSP needs to be run even during the slots without
actual bursts exchange.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Andreas.Eversberg [Sun, 7 Nov 2010 10:48:12 +0000 (10:48 +0000)]
[layer23] Call application sends CC Capability on incoming call
It is required to make DTMF work on incoming calls also.
Steve Markgraf [Sat, 6 Nov 2010 13:52:12 +0000 (14:52 +0100)]
layer23/misc: Update .gitignore for ./cell_log
Signed-off-by: Steve Markgraf <steve@steve-m.de>
Steve Markgraf [Sat, 6 Nov 2010 13:45:39 +0000 (14:45 +0100)]
layer23/mobile: Fix 'implicit declaration' warning for mncc_answer()
Signed-off-by: Steve Markgraf <steve@steve-m.de>
Andreas.Eversberg [Sat, 30 Oct 2010 15:30:59 +0000 (17:30 +0200)]
layer23: Use the new rach_req format in l1ctl and update l23 apps to use it
This removes an old hack
Written-by: Andreas Eversberg <jolly@eversberg.eu>
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Andreas.Eversberg [Sat, 30 Oct 2010 15:27:03 +0000 (17:27 +0200)]
target/fw/layer1: Change L1CTL RACH req to properly use all slots
Written-by: Andreas Eversberg <jolly@eversberg.eu>
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Andreas.Eversberg [Sat, 30 Oct 2010 12:30:00 +0000 (12:30 +0000)]
[layer23] cell_log's scanning depth now depends on movement speed
Andreas.Eversberg [Sat, 30 Oct 2010 08:53:22 +0000 (08:53 +0000)]
[layer23] Fixed T3 value in RACH confirm message
Steve Markgraf [Wed, 27 Oct 2010 18:30:13 +0000 (20:30 +0200)]
layer23/mobile: Add configuration option for automatically answering calls
Signed-off-by: Steve Markgraf <steve@steve-m.de>
Steve Markgraf [Wed, 27 Oct 2010 18:26:05 +0000 (20:26 +0200)]
layer23: typo/cosmetic fixes in cell_log.c and mnccms.c
Signed-off-by: Steve Markgraf <steve@steve-m.de>
Steve Markgraf [Mon, 25 Oct 2010 16:05:04 +0000 (18:05 +0200)]
target/fw/layer1: correctly initialize afc_retries
Otherwise, when it reached AFC_RETRY_COUNT, no new FB0 tasks
were scheduled, and you needed to restart the phone in order to
successfully sync to a cell
Signed-off-by: Steve Markgraf <steve@steve-m.de>
Sylvain Munaut [Mon, 18 Oct 2010 20:38:08 +0000 (22:38 +0200)]
target/fw/l23_api: Enable/Disable audio path appropriately
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Mon, 18 Oct 2010 20:37:32 +0000 (22:37 +0200)]
target/fw/l23_api: Properly sync tch in DM EST REQ
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sun, 19 Sep 2010 13:51:26 +0000 (15:51 +0200)]
target/fw/layer1: Add support for the various TCH multi frame tasks
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sun, 19 Sep 2010 13:49:48 +0000 (15:49 +0200)]
target/fw/layer1: Add initial version of TCH primitives
The initial bringup is mainly Dieter Spaar's work. I took the
logic and rewrote it, adapting to later scheduler changes and
adding support for several other things (tch_mode, initial HR
support, various cleanup, ...).
Initially-Written-by: Dieter Spaar <spaar@mirider.augusta.de>
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sun, 17 Oct 2010 19:21:56 +0000 (21:21 +0200)]
target/fw/calypso: Fix dsp_load_tch_param to set fn_report for TCH/H
The previous code was only valid for TCH/F ...
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Fri, 22 Oct 2010 09:54:53 +0000 (11:54 +0200)]
target/fw/layer1: Store the GSM48 constants in l1s.tch_mode instead of DSP cste
At this point in the code, we don't know if we're TCH/H or TCH/F, so
just store the speech mode and we'll figure out what to tell the DSP
in the task code itself.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sun, 17 Oct 2010 19:20:51 +0000 (21:20 +0200)]
target/fw/layer1: Fix msgb leak when prim_rx is half executed
If the task interrupted because of a reset, an allocated msgb
will be present and we need to free it instead of just loosing
the reference to it.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sun, 17 Oct 2010 19:19:37 +0000 (21:19 +0200)]
target/fw/include: Fix missing apc helper declaration
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Fri, 15 Oct 2010 19:02:02 +0000 (21:02 +0200)]
target/fw/layer1: Use common DSP API memcpy instead of repeating code
Also get rid of some early debug print that aren't needed now.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Fri, 15 Oct 2010 19:00:54 +0000 (21:00 +0200)]
target/fw/dsp: Add utility function to memcpy to/from the API
Copying to/from the DSP API shared memory must be done using
16 bits word only. Using those method, we avoid the hassle of
repeating the code when we copy buffer back and forth.
API address must be 16 bits aligned but for our purpose, it's
good enough.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Fri, 22 Oct 2010 09:51:58 +0000 (11:51 +0200)]
layer23/vty_interface: Fix typos, AMR is v3 not v1
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Andreas.Eversberg [Mon, 25 Oct 2010 20:33:39 +0000 (20:33 +0000)]
[layer23] Fix of LAPDm when handling "timer recovery state"
Sylvain found out that the state was not cleared when receiving an RR
response with F-bit == 1. The missing handling is now added and tested.
Furthermore there is a minor fix to prevent underflow when resending last
frame in "timer recovery state".
Andreas.Eversberg [Sun, 24 Oct 2010 22:31:06 +0000 (22:31 +0000)]
[layer23] Reverted commit
ece1463...
The timer recovery state is cleared already,if a supervisory frame
response is received with "F bit set to 1".
Andreas.Eversberg [Sun, 24 Oct 2010 14:12:58 +0000 (14:12 +0000)]
Introducing "gsmmap" to convert SYSTEM INFORMATION log into a KML map
Andreas.Eversberg [Sun, 24 Oct 2010 13:39:37 +0000 (13:39 +0000)]
[layer23] Adding application to scan/receive and log SYSTEM INFORMATIONS
Andreas.Eversberg [Sun, 24 Oct 2010 13:30:17 +0000 (13:30 +0000)]
[layer23] Moving sysinfo.c and gps.c (.h) to liblayer23
This makes sense, since multiple applications use it.
Andreas.Eversberg [Sun, 24 Oct 2010 12:55:31 +0000 (12:55 +0000)]
[layer23] Fixed conditions for complete set of SYSTEM INFORMATION
Andreas.Eversberg [Sun, 24 Oct 2010 12:34:53 +0000 (12:34 +0000)]
[layer23] Old SYSTEM INFORMATION 5 and 6 must be removed when entering DM
Andreas.Eversberg [Sun, 24 Oct 2010 12:30:37 +0000 (12:30 +0000)]
[layer23] Moving decoding of SYSTEM INFORMATION to sysinfo.c
This way the decoding can be re-used by other applications.
Andreas.Eversberg [Sun, 24 Oct 2010 12:23:05 +0000 (12:23 +0000)]
[layer23] Added debugging for GPS at logging.c
Andreas.Eversberg [Sun, 24 Oct 2010 12:20:08 +0000 (12:20 +0000)]
[layer23] Fix of GPS states
Sylvain Munaut [Sat, 23 Oct 2010 18:47:26 +0000 (20:47 +0200)]
layer23/lapdm: Properly handle S frame with F=1 when in timer recovery
This is the signal to exit recovery mode !
See GSM 04.06 Section 5.5.7
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sun, 24 Oct 2010 10:05:12 +0000 (12:05 +0200)]
Andreas.Eversberg [Sun, 24 Oct 2010 11:20:51 +0000 (11:20 +0000)]
Removed solved issues from gsm48-andreas/issues.txt
The remaining issues have only todo with openBSC and should be fixed,
the issues.txt will be obsolete then.
Andreas.Eversberg [Sun, 24 Oct 2010 09:59:33 +0000 (11:59 +0200)]
bitvec: Fix decoding of H / L values
it returns if a given bit in the vector is "high" or "low".
the bitval that represents "high" depends on the bit position.
bitval2mask returns that. so we must check if the bit in the vector
equals the returned bitval.
Andreas.Eversberg [Wed, 20 Oct 2010 18:16:12 +0000 (18:16 +0000)]
[layer23] Don't request a channel, if SYSINFO 3 is not available
SI3 is required in order to request a channel the correct way. If not
yet received, the process crashes due to an arithmetic exception.
Andreas.Eversberg [Wed, 20 Oct 2010 18:12:44 +0000 (18:12 +0000)]
[layer23] Fix of channel request cause "OTHER or SDCCH"
Andreas.Eversberg [Wed, 20 Oct 2010 18:09:31 +0000 (18:09 +0000)]
[layer23] Completed GPS reading process
This includes "double" values of logitude and latitude, as well as time
stamp, and if the values are valid or not (GPS fix).
Holger Hans Peter Freyther [Mon, 18 Oct 2010 16:22:31 +0000 (18:22 +0200)]
msgb: Add non-inlined helper functions to ease with language bindings
It is easier from languages that dlopen libosmocore to have a function
to access this data than to poke at the bytes of the struct directly. Add
copyright for this method and the reset method I did earlier this year.
Holger Hans Peter Freyther [Mon, 18 Oct 2010 14:56:43 +0000 (16:56 +0200)]
gsm0480: Add method create own number response
Andreas.Eversberg [Sat, 16 Oct 2010 08:18:31 +0000 (08:18 +0000)]
[layer23] Fixed header handling of some radio ressource SAP msgs
Andreas.Eversberg [Fri, 15 Oct 2010 19:15:59 +0000 (19:15 +0000)]
[layer23] Support of receiving STATUS at call control
Andreas.Eversberg [Fri, 15 Oct 2010 18:54:57 +0000 (18:54 +0000)]
[layer23] DTMF support
Andreas.Eversberg [Fri, 15 Oct 2010 18:50:25 +0000 (18:50 +0000)]
[layer23] If the mobile sticks to a cell, RXLEV_MIN is ignored
Sylvain Munaut [Fri, 8 Oct 2010 13:09:16 +0000 (15:09 +0200)]
codec: Add bit ordering tables from specs for HR,FR,EFR & AMR
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Fri, 8 Oct 2010 13:09:41 +0000 (15:09 +0200)]
Update .gitignore
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Andreas.Eversberg [Thu, 14 Oct 2010 07:37:52 +0000 (07:37 +0000)]
[layer23] Adding abbreviated dialing to VTY
It is possible to store phone numbers with abbreviations now. Dialing these
abbreviation makes testing of mobile originated calls much easier too.
Andreas.Eversberg [Wed, 13 Oct 2010 18:33:16 +0000 (18:33 +0000)]
[layer23] If SIM is invalid, display that on the VTY
Andreas.Eversberg [Wed, 13 Oct 2010 18:30:59 +0000 (18:30 +0000)]
[layer23] Fix of signal loss handling
The cell must be kept "selected" in case of loosing radio link. It is
required to perform reselection of that cell or of the given neighbor
cells.
Andreas.Eversberg [Wed, 13 Oct 2010 18:28:57 +0000 (18:28 +0000)]
[layer23] Minor fix of debugging message in call control
Andreas.Eversberg [Wed, 13 Oct 2010 18:27:15 +0000 (18:27 +0000)]
[layer23] Fixed cell monitoring output (RR idle mode)
Andreas.Eversberg [Wed, 13 Oct 2010 18:26:04 +0000 (18:26 +0000)]
[layer23] Minor change in paging debugging
Andreas.Eversberg [Wed, 13 Oct 2010 18:23:20 +0000 (18:23 +0000)]
[layer23] Give ARFCN together with "show states <MS_NAME>"
Andreas.Eversberg [Tue, 12 Oct 2010 17:41:49 +0000 (17:41 +0000)]
[layer23] Fixed CAUSE information element
Coding standard must be 0x3 = GSM. Otherwise it may generate a protocol error
at the network.
Andreas.Eversberg [Tue, 12 Oct 2010 11:26:51 +0000 (11:26 +0000)]
[layer23] Fixed ASSIGNMENT / HANDOVER failure handling
Andreas.Eversberg [Tue, 12 Oct 2010 11:19:06 +0000 (11:19 +0000)]
[layer23] Reconnect of layer 2 link must be performed in idle mode also
Andreas.Eversberg [Tue, 12 Oct 2010 09:40:05 +0000 (09:40 +0000)]
[layer23] Call control is disabled when mobile is set to SDCCH only
On SDCCH only mobiles, incomming calls must be rejected by a minimal call
control implementation, even if basic calls are not supported.
Andreas.Eversberg [Tue, 12 Oct 2010 09:03:34 +0000 (09:03 +0000)]
[layer23] Fixed resume of datalink (after assignment or handover)
In order to resume correctly, the first message (ASSIGNMENT COMPLETE or
HANDOVER COMPLETE) must be sent after the link is resumed. Therefore it
must be given with the resume command. Unacknowledged messages are
transmitted afterwards, if any.
Andreas.Eversberg [Tue, 12 Oct 2010 08:53:40 +0000 (08:53 +0000)]
[layer23] FACILITY message is handled now, but not decoded
Andreas.Eversberg [Tue, 12 Oct 2010 08:48:08 +0000 (08:48 +0000)]
[layer23] Bugfix: Loosing CCCH signal must cause unselection of cell.
Andreas.Eversberg [Tue, 12 Oct 2010 08:44:18 +0000 (08:44 +0000)]
[layer23] Adding some debugging output
Andreas.Eversberg [Tue, 12 Oct 2010 08:26:48 +0000 (08:26 +0000)]
[layer23] Implementation of signal loss criteria as defined in TS 05.08
There are two criterions for lossing a signal, idle mode and dedicated mode.
A counter counts down when a frame is dropped, and counts up when a valid
frame is received on certain channel. The loss criterion is reached, if the
counter reaches 0. The values added to / removed from the counter and the
limits depend on the process.
Holger Hans Peter Freyther [Mon, 11 Oct 2010 07:28:23 +0000 (09:28 +0200)]
ussd: gsm_7bit_decode will null terminate the string
Holger Hans Peter Freyther [Mon, 11 Oct 2010 07:23:50 +0000 (09:23 +0200)]
ussd: Make sure that we at least have 8 bytes when decoding the string
The actual gsm_7bit_decode can still cause a buffer overrun
but at least we are safe until this point.
Holger Hans Peter Freyther [Mon, 11 Oct 2010 07:12:33 +0000 (09:12 +0200)]
ussd: Add size checks to the parse_ss_invoke calls
Make sure that the mandatory and optional part fits.
Holger Hans Peter Freyther [Mon, 11 Oct 2010 07:07:50 +0000 (09:07 +0200)]
ussd: Make sure the component fits.
Use a while() {} to check offset +2 <= length on the first
iteration of the loop. Once we have the component length
check that it is going to fit into the given length.
Holger Hans Peter Freyther [Mon, 11 Oct 2010 07:06:47 +0000 (09:06 +0200)]
ussd: Work with uint16_t for the length
Work with uint16_t for the length all the way.
Holger Hans Peter Freyther [Mon, 11 Oct 2010 06:49:27 +0000 (08:49 +0200)]
ussd: Verify that parsing is stil working and print the decoded text.
Holger Hans Peter Freyther [Mon, 11 Oct 2010 06:21:00 +0000 (08:21 +0200)]
ussd: Add next test that show that we access the data out of bounds
This test is showing that the internal ASN1 code is not checking
the size properly.
Holger Hans Peter Freyther [Mon, 11 Oct 2010 06:08:58 +0000 (08:08 +0200)]
ussd: Check the structure of the IE.
This is fixing the current crashes. Next we will need to
manipulate the content...
Holger Hans Peter Freyther [Mon, 11 Oct 2010 05:56:06 +0000 (07:56 +0200)]
ussd: Add a test case, switch parsing to use a gsm48_hdr and len
The current USSD code is not doing any size checks, add a test
case to find out how easily we access the data out of bounds.
Begin to use the length in some places.
Holger Hans Peter Freyther [Fri, 8 Oct 2010 17:47:15 +0000 (01:47 +0800)]
gsm0480: Move the USSD parsing code to libosmocore
- Change u_int8 to uint8
- Change DEBUGP to LOGP
- Change fprintf(stderr, to LOGP(0, LOGL_DEBUG
- We should define log areas used inside libosmocore
Holger Hans Peter Freyther [Wed, 6 Oct 2010 16:00:15 +0000 (00:00 +0800)]
msgfile: Add a file parser for a simple file format
This file format will be used to store per country code,
per network code messages. This will be used for various
things ranging from access control, to messages...
Andreas.Eversberg [Tue, 5 Oct 2010 15:42:29 +0000 (15:42 +0000)]
[layer23] Increase sync tollerance by increasing freq_err_thresh1
This is a quick workarround to make synchronizing to a cell more reliable.
Without it, just a few cells will sync. When network search is restarted, no
more sync happens. By increasing the freq_err_thresh1 to 10000, many cells
sync, even after the first network search.
Andreas.Eversberg [Sun, 3 Oct 2010 21:53:24 +0000 (21:53 +0000)]
[layer23] Fixed ACCH reception of TCH channels
Without it, the indicated TA and power never get received by layer23.
This may cause a release duing TCH on certain networks. Also it
is required to apply timing advance and transmit power during movement.
Andreas.Eversberg [Sun, 3 Oct 2010 21:52:56 +0000 (21:52 +0000)]
[layer23] Fixed emergency call setup
Andreas.Eversberg [Sun, 3 Oct 2010 10:51:31 +0000 (10:51 +0000)]
[layer23] Rework of "support"-features, features can be disabled now
Supported features of hardware (support.c) can be disabled by config.
This way the full featured mobile can be downgraded to indicate less
features to the network, like disabling speech support or crypto support.
Holger Hans Peter Freyther [Sat, 2 Oct 2010 19:22:55 +0000 (03:22 +0800)]
misc: Fix the name of the header file for the hexdump...
Holger Hans Peter Freyther [Sat, 2 Oct 2010 18:45:28 +0000 (02:45 +0800)]
gsm48_rr.c: Move the access below the parsing (found by clang
Holger Hans Peter Freyther [Sat, 2 Oct 2010 18:39:29 +0000 (02:39 +0800)]
msic: Include osmocom/util.h for the hexdump definition
Holger Hans Peter Freyther [Sat, 2 Oct 2010 18:39:06 +0000 (02:39 +0800)]
sim.c: Fix NULL pointer dereference found by clang.
Holger Hans Peter Freyther [Sat, 2 Oct 2010 18:29:58 +0000 (02:29 +0800)]
osmoload.c: Cast to uint8_t from char* to fix a compiler warning
Holger Hans Peter Freyther [Sat, 2 Oct 2010 18:20:32 +0000 (02:20 +0800)]
osmocom.c: rc is not assigned and contains garbage, return 0.
Holger Hans Peter Freyther [Sat, 2 Oct 2010 18:16:32 +0000 (02:16 +0800)]
osmocon.c: Use C99 inttypes instead of u_intX_t.
Holger Hans Peter Freyther [Sat, 2 Oct 2010 18:09:35 +0000 (02:09 +0800)]
sercomm.c: Avoid unused variable compiler warning
For the host build the local_irq_save/_restore is a NOOP
and the compiler warns about the unused flags variable. Cast
it to void to avoid compiler warning.
Andreas.Eversberg [Sat, 2 Oct 2010 16:34:04 +0000 (16:34 +0000)]
[layer23] Notify user when config change requires restart to take effect
Andreas.Eversberg [Fri, 1 Oct 2010 19:24:34 +0000 (19:24 +0000)]
[layer23] Minimum RX-level is now a configuratio option
The default (if config not yet created/updated), is still taken from
settings.c.
Andreas.Eversberg [Fri, 1 Oct 2010 19:22:31 +0000 (19:22 +0000)]
[layer23] Remove obsolete function from header file
Andreas.Eversberg [Fri, 1 Oct 2010 19:21:33 +0000 (19:21 +0000)]
[layer23] Using loglevel to disable heavy debugging on cell selection
Holger Hans Peter Freyther [Thu, 30 Sep 2010 10:30:41 +0000 (18:30 +0800)]
gsm0480: Add USSD format functions to libosmocore
These routines come from OpenBSC, the msgb_wrap_* functions
belong to Mike Haben, the rest is mine. The msgb allocation
is compatible to the GSM48 allocation in OpenBSC.