Andreas.Eversberg [Fri, 17 Sep 2010 09:07:29 +0000 (09:07 +0000)]
[layer23] CM service is now accepted when ciphering has started
Sylvain pointed out that CM SERVICE ACCEPT message is not requred, if
ciphering has been completed. In this case, an RR_SYNC_IND is sent
to mobility management, and treated there as CM SERVICE ACCEPT.
Andreas.Eversberg [Thu, 16 Sep 2010 08:39:43 +0000 (08:39 +0000)]
[layer23] Added missing pointer reset during establishment of LAPDm connection
Dieter pointed out that the SABM message was resent incorrectly, because the
V(S) pointer was not reset to the location of the SAMB frame.
Andreas.Eversberg [Wed, 15 Sep 2010 14:21:06 +0000 (14:21 +0000)]
[layer23] Fixed A5/1 support coding
Dieter pointed out that A5/1 is indicated as supported, if the A5/1 bit in
the classmark IE is 0.
Andreas.Eversberg [Wed, 15 Sep 2010 10:25:42 +0000 (10:25 +0000)]
[layer23] Fix in LAPDm: reset send_buffer offset at resume
Without it, the offset of the last message in progess is used.
This caused undefined behaviour and crash.
This bug was found by Dieter.
Sylvain Munaut [Tue, 14 Sep 2010 18:40:32 +0000 (20:40 +0200)]
layer1: Make rfch_get_params tolerate NULL ptr for unwanted params
If the caller doesn't need some params, just don't give them !
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sun, 12 Sep 2010 13:19:59 +0000 (15:19 +0200)]
layer23: Add support for SI1 decoding and imm.ass hopping
The gsm48_decode_freq_list should ideally become something
shared between this app and mobile but it has incompatibilities
for now ... need to sort that out with Andreas to unify in the
future.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sun, 1 Aug 2010 09:56:17 +0000 (11:56 +0200)]
layer23: Move app logic in layer3.c with state struct.
It's far from perfect but at least it's not split in two file and
makes it easier to expand the logic.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sun, 1 Aug 2010 10:13:26 +0000 (12:13 +0200)]
layer23/l1ctl: Add the RX power to the DATA_IND debug print
Useful to know if bad data is due to ciphering/bad sync or to
no/marginal signal.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sun, 1 Aug 2010 10:12:07 +0000 (12:12 +0200)]
layer23/l1ctl: Remove useless printf debug
There is a proper LOGP statement, no need for a printf
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Thu, 29 Jul 2010 21:57:08 +0000 (23:57 +0200)]
fw/layer1: Use the proper RF params for the burst specific part
We sometime need the RF param of the _burst_ and some time of the
'4-burst' group.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Thu, 29 Jul 2010 21:32:00 +0000 (23:32 +0200)]
misc: update .gitignore files
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Andreas.Eversberg [Tue, 14 Sep 2010 19:13:36 +0000 (19:13 +0000)]
[layer1] Fixed memory leak issue after releasing dedicated mode
While releasing dedicated mode, pending SDCCH and SACCH messages need to be
flushed. Without it, it would also cause old pending messages to be sent
during next dedicated mode.
Andreas.Eversberg [Tue, 14 Sep 2010 08:57:29 +0000 (08:57 +0000)]
[layer23] Undo second hunk of last commit
Andreas.Eversberg [Tue, 14 Sep 2010 08:52:22 +0000 (08:52 +0000)]
[layer23] Fixed IMEISV type IE for CIPHERING COMPLETE message
Bug found by Dieter.
Andreas.Eversberg [Sun, 12 Sep 2010 13:49:41 +0000 (13:49 +0000)]
[layer1] Fixed double IRQ bug
During IRQ handling, disabling and enabling IRQ may cause the same IRQ to
fire again. This is because the condition for this IRQ may be fullfilled
again, while still handling it. Using local_firq_save() and
local_irq_resore() intead, the IRQ handling will be completed before it is
cleared, and may then fire again.
The problem was detected during process of messages from layer23 to layer1.
In the IRQ context, the TX-functions of l23_api.c are called. There,
messages are queued and events are scheduled. During access to a queue or
a scheduler from any IRQ context or from normal context, interrupts must be
locked to prevent nested calls.
If it is not desired to call l23_api.c inside IRQ context, a message queue
must be used. If a message is written to that queue, it must be locked.
Afterwards a signal must be sent to the main process. The main process
locks the queue and de-queues the message. This is how it is done by all
layer 1 drivers of mISDN.
Andreas.Eversberg [Sat, 11 Sep 2010 18:10:14 +0000 (18:10 +0000)]
[layer1] Added frequency change control to layer 1 (L1CTL_FREQ_REQ)
The given new frequency set will be used at given frame number.
If the frame number is already reached, the frequency set will be changed
directly.
The functionality has been successfully tested.
Andreas.Eversberg [Sat, 11 Sep 2010 12:10:31 +0000 (12:10 +0000)]
[layer23 / layer1] Added interface for changing crypto mode of DSP
The layer23 will now set crypto mode and key when CIPHERING MODE COMMAND is
received. After crypto mode has been set, CIPHERING MODE COMPLETE is sent.
NOTE: Layer1 implements only the interface, there is no functionality to it
yet.
Andreas.Eversberg [Sat, 11 Sep 2010 11:57:28 +0000 (11:57 +0000)]
[layer23] Fix of MCC/MNC output in sysinfo.c
Ingo Albrecht [Wed, 1 Sep 2010 19:24:34 +0000 (21:24 +0200)]
ui: Some experimental code snippets i cobbled together several months ago.
Andreas.Eversberg [Mon, 30 Aug 2010 11:43:16 +0000 (11:43 +0000)]
[layer23] SIM client accepts status code 61xx as a positive result
Andreas.Eversberg [Sun, 29 Aug 2010 21:08:08 +0000 (21:08 +0000)]
[layer23] "show cell 1 <arfcn>" gives better overview of cell allocation
Andreas.Eversberg [Sun, 29 Aug 2010 11:05:07 +0000 (11:05 +0000)]
[layer23] Fixed security issue
Authentication must not be performed using SIM client, if different IMSI is
used, to protect identity of caller.
Andreas.Eversberg [Sun, 29 Aug 2010 10:05:54 +0000 (10:05 +0000)]
[layer23] Reset scheduler after leaving dedicated mode
This is required if a pending DATA_REQ is scheduled. It becomes obsolete,
because LAPDm will keep the last unacknowledged message, if any, and resend
it in case of re-establishing on a new channel.
Andreas.Eversberg [Sun, 29 Aug 2010 08:57:23 +0000 (08:57 +0000)]
[layer23] Fix of corrupt MM event messages
Andreas.Eversberg [Sat, 28 Aug 2010 09:52:05 +0000 (09:52 +0000)]
[layer23] Disable FREQUENCY REDEFINITION and HANDOVER COMPLETE / FAILURE due to uncommitted definitions in libosmocore
See http://home.eversberg.eu/osmocore.patch
Andreas.Eversberg [Sat, 28 Aug 2010 09:46:36 +0000 (09:46 +0000)]
[layer23] Layer 3 now uses SIM client to request and update SIM data
The SIM reader can be selected via VTY, but because it is not yet
implemented in layer1, nothing happens when selecting it.
Andreas.Eversberg [Sat, 28 Aug 2010 09:36:07 +0000 (09:36 +0000)]
[layer23] Adding SIM client
The SIM client is not the SIM reader. It is used to process higher layer
requests. One request may be: "read the IMSI file" or "unlock SIM card, here
is the key". It then selects the right file of SIM card and processes the
request by exchanging APDUs with the SIM reader.
NOTE: Because the reader inside layer 1 is not yet finished, the SIM client
will not work and cannot be tested yet.
Andreas.Eversberg [Sat, 21 Aug 2010 15:10:30 +0000 (15:10 +0000)]
[layer23] Radio ressource protocol completed except for handover, meas.
Assignment command is now complete as well as frequency redifinition.
The handover process is partly complete. Further functionality depends
on layer1 capabilites. The measurement report is also incomplete.
Andreas.Eversberg [Sat, 21 Aug 2010 15:09:48 +0000 (15:09 +0000)]
[layer23] Header file for last commit
Andreas.Eversberg [Sat, 21 Aug 2010 15:06:46 +0000 (15:06 +0000)]
[layer23] L1CTL frequency change implementation in l1ctl.c
Andreas.Eversberg [Sat, 21 Aug 2010 15:02:32 +0000 (15:02 +0000)]
[l1ctl] Introducing L1CTL_FREQ_REQ to change frequency hopping sequence
This is only the header, so there is no functionality yet. The
functionality for layer1 works, but it is not yet ready for commit.
This commit is required for radio ressource protocol commited later.
Ingo Albrecht [Thu, 22 Jul 2010 05:17:36 +0000 (07:17 +0200)]
loader: convert to kernel style
Andreas.Eversberg [Sun, 15 Aug 2010 18:44:16 +0000 (18:44 +0000)]
[layer23] Fixed handling of IMSI in special cases
Andreas.Eversberg [Sat, 14 Aug 2010 17:10:26 +0000 (17:10 +0000)]
[layer23] Added (incomplete) ASSIGNMENT COMMAND handling
This commit features handling of ASSIGNMENT COMMAND. Currently only channel
descriptions "after time" are processed, which is mostly the case.
The ASSIGNMENT COMMAND is essential, because public networks assign an
SDCCH4/8 before actually assigning a TCH.
Andreas.Eversberg [Thu, 12 Aug 2010 07:13:16 +0000 (07:13 +0000)]
[layer23/lapdm] Added more headroom for data indication to prevent underrun
Andreas.Eversberg [Thu, 12 Aug 2010 07:11:04 +0000 (07:11 +0000)]
[layer23] Removed hack: Allocate SDCCH when requesting a TCH
Includes removal of compiler warnings when selecting the right channel
request type for TCH.
Andreas.Eversberg [Wed, 11 Aug 2010 16:11:28 +0000 (16:11 +0000)]
[layer23] Paging response depends on the supported channels: SDCCH, TCH/F, and TCH/H
Andreas.Eversberg [Tue, 10 Aug 2010 19:56:59 +0000 (19:56 +0000)]
Added support for NMEA GPS receiver
This early support does not use the received postion, it just dumps it.
Later it can be used to set clock of the phone. Also it can be used
to calculate the location of a BTS.
Andreas.Eversberg [Tue, 10 Aug 2010 19:31:07 +0000 (19:31 +0000)]
Added sequence number to L3 messages (see GSM 04.08 Clause 3.1.4.3)
This is required to detect duplicated messages during assignment or
handover. Each PDISC uses its own sequence number, but MM+CC+SS share the
same. The sequence number is only required in uplink direction.
Dieter: Please check, if your tester eats it now. Also try to trace if the
sequence number is set correctly.
Harald Welte [Wed, 4 Aug 2010 10:53:52 +0000 (12:53 +0200)]
[layer23] use gsm48_decode_freq_list() which has been moved into libosmocore
Harald Welte [Wed, 4 Aug 2010 09:48:20 +0000 (11:48 +0200)]
Harald Welte [Wed, 4 Aug 2010 09:46:44 +0000 (11:46 +0200)]
Import gsm48_decode_freq_list() from osmocom-bb/layer23
This will enable us to use this function from OpenBSC / ipaccess-config
Holger Hans Peter Freyther [Tue, 3 Aug 2010 22:27:08 +0000 (06:27 +0800)]
vty: Forward delcare the logging command.
Andreas.Eversberg [Sun, 1 Aug 2010 10:42:11 +0000 (10:42 +0000)]
[layer23] Correctly release a call, if not yet acknowledged by the network
Harald Welte [Fri, 30 Jul 2010 19:01:54 +0000 (21:01 +0200)]
logging: Make sure we don't use "end of color" code if colors are turned off
Harald Welte [Fri, 30 Jul 2010 09:43:30 +0000 (11:43 +0200)]
add new hexdump_nospc() function
Harald Welte [Fri, 30 Jul 2010 09:40:32 +0000 (11:40 +0200)]
move hexdump() from logging.c to utils.c
Harald Welte [Fri, 30 Jul 2010 08:37:29 +0000 (10:37 +0200)]
Import 'hexparse' function from OpenBSC
Sylvain Munaut [Thu, 29 Jul 2010 23:40:03 +0000 (01:40 +0200)]
layer23: Fix Makefile.am noinst_HEADERS for vty.h
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Steve Markgraf [Wed, 28 Jul 2010 13:06:02 +0000 (15:06 +0200)]
[layer23] request a layer1 reset on startup of layer2 applications
This omits the need for starting layer23 applications before
loading layer1 (which still works).
Signed-off-by: Steve Markgraf <steve@steve-m.de>
Harald Welte [Thu, 29 Jul 2010 09:10:09 +0000 (11:10 +0200)]
Merge remote branch 'origin/sylvain/pending'
Sylvain Munaut [Sun, 25 Jul 2010 22:26:11 +0000 (00:26 +0200)]
layer23: Unify the prefix of l1ctl TX functions
Some had tx_ph_XX, others l1ctl_tx_XXX and some l1ctl_tx_ph_XXX
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sun, 25 Jul 2010 22:34:28 +0000 (00:34 +0200)]
l1ctl_proto: Use an enum for the message type rather than #defines
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sun, 25 Jul 2010 22:32:04 +0000 (00:32 +0200)]
l1ctl_proto.h: Fixup name of the guard ifdef
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sun, 25 Jul 2010 22:12:48 +0000 (00:12 +0200)]
include: Rename l1a_l23_interface.h to l1ctl_proto.h
The interface between l1 and upper layer is called by several
name. IMHO l1ctl is shorted and sounds good so try to unify
using that.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sun, 25 Jul 2010 11:34:53 +0000 (13:34 +0200)]
layer23: Use libosmocore rsl_chan_nr_str instead of local func
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sun, 25 Jul 2010 17:18:26 +0000 (19:18 +0200)]
layer1/l23_api: Fix the L3_MSG_SIZE to include l1ctl header size
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sun, 25 Jul 2010 17:19:12 +0000 (19:19 +0200)]
shared/libosmocore: Make sure to use the 'infinite loop' abort handler
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Tue, 27 Jul 2010 18:50:57 +0000 (20:50 +0200)]
Sylvain Munaut [Tue, 27 Jul 2010 18:44:46 +0000 (20:44 +0200)]
layer23: Split [2/2] -> The header files
This split the headers and adapt the source.
We use osmocom/bb as a prefix because libosomore also
uses osmocom and generic names such as misc & common could
conflict in the future.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sat, 24 Jul 2010 22:25:50 +0000 (00:25 +0200)]
layer23: Split [1/2] -> The source code
We split into :
- common: Everything that can be shared
- mobile: The real spec compliant mobile phones
- misc: Different test stuff
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sun, 25 Jul 2010 16:09:28 +0000 (18:09 +0200)]
core/msgb: Use the new osmo_panic call to handle errors
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sun, 25 Jul 2010 16:08:54 +0000 (18:08 +0200)]
core: Add some generic panic handling
This also includes an option for a minimal 'infinite loop' type
panic that could be required for embedded target that don't have
abort() or fprintf()
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sun, 25 Jul 2010 14:16:42 +0000 (16:16 +0200)]
build: Use AS_HELP_STRING macro to format the ./configure --help better
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sun, 25 Jul 2010 10:25:17 +0000 (12:25 +0200)]
osmocore: Add utility function rsl_chan_nr_str to RSL
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sat, 24 Jul 2010 20:27:40 +0000 (22:27 +0200)]
layer23: Pre-rework of the Makefile.am
liblayer23 contained a bunch of stuff that are not shared at all ...
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sat, 24 Jul 2010 20:01:09 +0000 (22:01 +0200)]
layer23/include: Remove eXecutable permission bit from gsm322.h
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sat, 24 Jul 2010 19:25:38 +0000 (21:25 +0200)]
layer23: Switch to using gsmtap_util from libosmocom
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sat, 24 Jul 2010 19:11:08 +0000 (21:11 +0200)]
layer23: Remove useless file telnet_interface.c
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sun, 25 Jul 2010 08:16:46 +0000 (10:16 +0200)]
layer23: Alloc some headroom in incoming l1ctl packets
The upper layer will modify the headers and add somestuff in front,
so it's needed to avoid corrupting memory.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sat, 24 Jul 2010 22:26:22 +0000 (00:26 +0200)]
fw/rf: Use printd for the trf6151_set_gain debug message
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Steve Markgraf [Fri, 23 Jul 2010 16:11:25 +0000 (18:11 +0200)]
[firmware] bring back gta0x images
Signed-off-by: Steve Markgraf <steve@steve-m.de>
Holger Hans Peter Freyther [Fri, 23 Jul 2010 11:22:23 +0000 (19:22 +0800)]
msgb: Avoid warnings that the string might contain %s or such..
Holger Hans Peter Freyther [Fri, 23 Jul 2010 10:35:59 +0000 (18:35 +0800)]
gsm0808: Why should there be a lchan in the parameter...
Holger Hans Peter Freyther [Fri, 23 Jul 2010 10:20:02 +0000 (18:20 +0800)]
gsm0808: Import unaligned mem access fix from on-waves/bsc-master
Holger Hans Peter Freyther [Fri, 23 Jul 2010 08:35:00 +0000 (16:35 +0800)]
gsm_utils: Move the gsm_7bit_alphabet into the impl and make it static
Harald Welte [Thu, 22 Jul 2010 19:55:24 +0000 (21:55 +0200)]
msgb: Check for available headroom/tailroom and abort() if we violate it
Andreas.Eversberg [Thu, 22 Jul 2010 16:14:40 +0000 (16:14 +0000)]
[layer23] Fixed interpretation of the power measurement result.
Andreas.Eversberg [Thu, 22 Jul 2010 16:11:28 +0000 (16:11 +0000)]
[layer23] Re-structured the VTY commands for SIM insert/remove
Now the commands are "sim testcard <ms> [<mcc> <mnc>] " or "sim remove <ms>"
Ingo Albrecht [Thu, 22 Jul 2010 02:42:47 +0000 (04:42 +0200)]
flash: corrected coding style
Holger Hans Peter Freyther [Tue, 20 Jul 2010 21:02:33 +0000 (05:02 +0800)]
gsm_04_12.h: Add beginning of structs for SMS CB
I am trying to understand the RSL and GSM 04.12
spec to implement CBS for OpenBSC...
Holger Hans Peter Freyther [Tue, 20 Jul 2010 19:14:01 +0000 (03:14 +0800)]
gsm_7bit_decode: rtext does not hold a null byte, reduce the size
I have added the + 1 as I thought rtext will hold a terminating
null byte but it will not.
Nico Golde [Tue, 20 Jul 2010 13:43:58 +0000 (15:43 +0200)]
tests: don't hardcode length values of expected encoding gsm_7bit_encode:
make sure to return the number of actually written bytes gsm_7bit_decode:
calculate length of resulting septets from input length before decoding
The input length to gsm_7bit_decode reflects the number of encoded bytes
to be decoded. As the decoding is done on the input in septetes we need
to take this into account and recalculate the length.
Steve Markgraf [Mon, 19 Jul 2010 21:44:55 +0000 (23:44 +0200)]
[display] add driver for the Toppoly TD014, as used in the C139/C140
Signed-off-by: Steve Markgraf <steve@steve-m.de>
Steve Markgraf [Mon, 19 Jul 2010 21:28:57 +0000 (23:28 +0200)]
[apps] add chainloading application
It does nothing more than jumping to the Calypso romloader.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
Steve Markgraf [Mon, 19 Jul 2010 21:16:58 +0000 (23:16 +0200)]
[osmocon] add a chainloading mode for the compal ramloader
The idea is to load a small application to the phone, which
activates and executes the Calypso romloader. The payload
itself then is loaded with the romloader, bypassing the magic
and the resulting size limit on the C139/C140 and J100i.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
Ingo Albrecht [Mon, 19 Jul 2010 10:00:58 +0000 (12:00 +0200)]
firmware: moved cfi_flash header to flash subdirectory
Ingo Albrecht [Mon, 19 Jul 2010 08:02:43 +0000 (10:02 +0200)]
firmware: small makefile reorg
Ingo Albrecht [Mon, 19 Jul 2010 08:01:57 +0000 (10:01 +0200)]
firmware: fixed irq-less keypad support
Ingo Albrecht [Mon, 19 Jul 2010 07:09:24 +0000 (09:09 +0200)]
firmware: moved dead-brain-flags to primary makefile
Ingo Albrecht [Mon, 19 Jul 2010 06:57:54 +0000 (08:57 +0200)]
loader: meaner. now supports address ranges for all relevant flash operations. reports better.
Ingo Albrecht [Mon, 19 Jul 2010 06:57:04 +0000 (08:57 +0200)]
firmware: e88 flash linkage
Ingo Albrecht [Mon, 19 Jul 2010 06:56:25 +0000 (08:56 +0200)]
firmware: better flash protection
Ingo Albrecht [Mon, 19 Jul 2010 00:51:28 +0000 (02:51 +0200)]
firmware: some documentation about memory maps and linkage
Ingo Albrecht [Fri, 16 Jul 2010 00:12:30 +0000 (02:12 +0200)]
firmware: gave all apps a proper hello message and let them print their git revision
Ingo Albrecht [Fri, 16 Jul 2010 00:11:40 +0000 (02:11 +0200)]
firmware: fixed linker script title
Ingo Albrecht [Thu, 15 Jul 2010 23:43:48 +0000 (01:43 +0200)]
osmoload: better message
Ingo Albrecht [Thu, 15 Jul 2010 23:43:06 +0000 (01:43 +0200)]
osmocon: new debug option, allows selective dumping of rx and/or tx.
Ingo Albrecht [Thu, 15 Jul 2010 23:04:20 +0000 (01:04 +0200)]
firmware: new highram linkage
Ingo Albrecht [Thu, 15 Jul 2010 23:03:53 +0000 (01:03 +0200)]
firmware: fixed linkage of ctors and dtors for ram images