Harald Welte [Sun, 20 Jun 2010 17:10:21 +0000 (19:10 +0200)]
[L1CTL] rename primitives to comply with official naming s/_REQ/_CONF/
When L23 issues a REQ, we should respond with CONF, rather than _RESP
Harald Welte [Sun, 20 Jun 2010 16:42:42 +0000 (18:42 +0200)]
[L1CTL] Introduce L1CTL_RESET_RESP
1) On boot, L23 is notified by L1CTL_RESET_IND:
2) At any time, L23 can call L1CTL_RESET_REQ and get a
L1CTL_RESET_RESP once the reset has been performed.
Also, there is no 'l1ctl_info_dl' in the RESET_IND anymore, as it
is useless.
Harald Welte [Sun, 20 Jun 2010 16:31:22 +0000 (18:31 +0200)]
[layer1] Introduce function to reset the gsmtime scheduler
Harald Welte [Sun, 20 Jun 2010 16:21:01 +0000 (18:21 +0200)]
[L1CTL] rename L1CTL_RESET to L1CTL_RESET_IND
and define a new structure that indicates the type of reset
Andreas.Eversberg [Sun, 20 Jun 2010 18:19:20 +0000 (18:19 +0000)]
Merge branch 'master' of git.osmocom.org:osmocom-bb
Andreas.Eversberg [Sun, 20 Jun 2010 18:18:45 +0000 (18:18 +0000)]
layer23: Added CLIP and CLIR feature.
Andreas.Eversberg [Sun, 20 Jun 2010 17:43:55 +0000 (17:43 +0000)]
layer23: Added support for waiting calls, hold/retrieve calls.
Andreas.Eversberg [Sun, 20 Jun 2010 17:43:15 +0000 (17:43 +0000)]
Merge branch 'master' of git.osmocom.org:osmocom-bb
Andreas.Eversberg [Sun, 20 Jun 2010 16:23:30 +0000 (16:23 +0000)]
layer23 radio ressource: Added signal loss condition in release state.
Harald Welte [Sun, 20 Jun 2010 16:12:40 +0000 (18:12 +0200)]
[layer1] Add L1CTL_RACH_RESP to confirm that a RACH request was sent
Harald Welte [Sun, 20 Jun 2010 15:26:27 +0000 (17:26 +0200)]
[layer1] FBSB: abort FB0 acquisition after 30 failing attempts
This should remove the 'endless FB0 loop' when the DSP detects a FB
where there really is none, and we drive the AFC DAC to its maximum
without ever getting the frequency offset below our threshold.
Harald Welte [Sun, 20 Jun 2010 15:05:01 +0000 (17:05 +0200)]
[layer1] FBSB: re-try FB0/FB1 request up to 3 times
So far, we have aborted our FB acquisition if we didn't detect a
Frequency Burst in the first period of 12 TDMA timeslots. However,
this turns out to be giving up a bit too quickly. We now re-try
this three times before giving up, which hopefully gives better
results.
Andreas.Eversberg [Sun, 20 Jun 2010 12:25:53 +0000 (12:25 +0000)]
layer23: Fixed name of "DB Systel GSM-R" for MNC 10 in Germany.
Andreas.Eversberg [Sun, 20 Jun 2010 11:19:06 +0000 (11:19 +0000)]
layer23: Complete rework of MCC and MNC structure.
Instead of handling numerical MCC and MNC, they are now stored and handled
hexadecimal, like they are received by the network. This makes it possible
to correctly handle 2 and 3 digits MNC. Internally 2 digit MNCs are stored
as 0xXXf, and 3 digits MNC are stored as 0xXXX, where X is the digit 0..9.
The length of MNC in the IMSI (2 or 3 digits) depend on the MNC length
trying to match. Anyway that MNC name can be printed even without knowing the
actual length. This is done by matching the IMSI against list of networks.
PLEASE REMOVE "/etc/osmocom/*.ba", because the MCC and MNC stored there is
not valid anymore.
Jan Luebbe [Thu, 17 Jun 2010 08:02:16 +0000 (10:02 +0200)]
l1ctl.c: add missing ntohs for band_arfcn
This fixes mangled ARFCN numbers in gsmtap.
Andreas.Eversberg [Wed, 16 Jun 2010 22:06:46 +0000 (22:06 +0000)]
layer23: Corrected MCC in network table. -1 is used to indicate the counter rather than network name.
Andreas.Eversberg [Wed, 16 Jun 2010 21:43:00 +0000 (21:43 +0000)]
layer23: Complete list of GSM operators and countries.
Just check out "On-waves", "GSM-R", or "OpenBSC".
Andreas.Eversberg [Wed, 16 Jun 2010 18:21:59 +0000 (18:21 +0000)]
layer23 manual network search: Fixed searching behavior.
First of all I cleaned up the VTY commands. Instead of something like
"barred-access (yes|no)", I use now "barred-access" and "no barred-access".
Your stored configuration file will not load, because config format has
changed. Just remove the lines that cannot be parsed by VTY from your
config. Then the default values are used on next startup. Modify these as
desired via VTY using the new commands.
Use "rplmn <mcc> <mnc>" or "no rplmn" to set the initial behaviour of
network search. If RPLMN is set, this network is selected. If it is not
found, it will be displayed, then it is time to do a search
"network search 1".
If you have set "no rplmn" the search is started automatically on power on.
After the search you can see available networks and show the cells using
"show cell 1" or the detailed information "show cell 1 <arfcn>".
For testing all that be sure to set the "sim" to "test" and the
"network-search" to "manual". Do "show run" to see all commands to be set.
Andreas.Eversberg [Wed, 16 Jun 2010 17:19:40 +0000 (17:19 +0000)]
This commit belongs to the last one.
Andreas.Eversberg [Wed, 16 Jun 2010 17:17:29 +0000 (17:17 +0000)]
layer23: Added VTY command to display current states.
Also rejecting ASSIGNMENT COMMAND.
Andreas.Eversberg [Wed, 16 Jun 2010 17:13:52 +0000 (17:13 +0000)]
layer23 VTY: "end" now ends configuration in all config subnodes.
Andreas.Eversberg [Tue, 15 Jun 2010 20:16:52 +0000 (20:16 +0000)]
layer23: Added some more detailed debugging parameters.
Andreas.Eversberg [Tue, 15 Jun 2010 20:15:03 +0000 (20:15 +0000)]
layer23: Fixed release problems of call control.
Now hangup command from mobile station results in a clean release of
CC and MM.
Andreas.Eversberg [Mon, 14 Jun 2010 19:45:30 +0000 (19:45 +0000)]
layer23 call control: Fixed sending of RELEASE COMPLETE.
This had caused a crash due to double free of transaction instance.
Andreas.Eversberg [Mon, 14 Jun 2010 19:38:06 +0000 (19:38 +0000)]
layer23 cell selection: Fix in cell selection after leaving dedicated mode.
Only the known BA (band allocation) is used to check for the cell to camp
on. If there is no BA or if nothing is found, the process triggers normal
cell selection.
After location update (for example), the mobile switches to the strongest
cell in the current band allocation.
Andreas.Eversberg [Sun, 13 Jun 2010 22:35:45 +0000 (22:35 +0000)]
layer23: Added more logging to transaction.c
Andreas.Eversberg [Sun, 13 Jun 2010 22:34:36 +0000 (22:34 +0000)]
layer23: Added more logging to call control.
Andreas.Eversberg [Sun, 13 Jun 2010 18:44:50 +0000 (18:44 +0000)]
lapdm: Minor fix.
Andreas.Eversberg [Sun, 13 Jun 2010 18:41:07 +0000 (18:41 +0000)]
layer23: IMSI detach works now.
Pressing CTRL+c causes the detach process to run, then the mobile exits.
This procedure only runs after attachment (location update) and if detach
is required.
The SABM with the detach message is confirmed by a DISC message. the BS11
says that this is caused by sequence error or N200+1 error. Maybe someone
can trace that.
Andreas.Eversberg [Sun, 13 Jun 2010 17:18:15 +0000 (17:18 +0000)]
layer23: Added VTY messages to call application.
VTY now shows the process of call establishment, incomming call, and release.
Andreas.Eversberg [Sun, 13 Jun 2010 14:41:55 +0000 (14:41 +0000)]
layer23: Added feature to do emergency calls without a SIM card.
While testing, you may find out that making an emergency call is rejected
with cause 5 (illegal ME), because emergency facilities in some countries
like to reject calls without knowing the subscriber.
An emergency IMSI can be defined via VTY, so it is possible to make calls
with that IMSI, even without the SIM, because authentication is not
applicable during emergency call establishment.
All the information above, I received from the freely available 3GPP TS 04.08.
See NOTE at sub clause 4.5.1.5.
Andreas.Eversberg [Sun, 13 Jun 2010 13:51:30 +0000 (13:51 +0000)]
layer23: Fixed issues about location update and it's result.
Now location update reject works. The rejected network/cell is stored in
an appropriate list. The lists can be dumped from the VTY.
A fake authentication response is generated until the SIM interface is
available. If the network rejects the test SIM, due to authentication
failure, it is removed and limited service state is entered. This currenlty
works on networks with SDCCH on the TS0 only.
Andreas.Eversberg [Sun, 13 Jun 2010 13:50:27 +0000 (13:50 +0000)]
lapdm: Fixed length check for SABM frame.
Andreas.Eversberg [Sun, 13 Jun 2010 12:09:30 +0000 (12:09 +0000)]
cell selection: Added temporary hack to sync multiple times until the sync
failure is accepted.
Andreas.Eversberg [Sun, 13 Jun 2010 12:08:35 +0000 (12:08 +0000)]
MNCCms: Added missing return value.
Andreas.Eversberg [Sun, 13 Jun 2010 12:07:31 +0000 (12:07 +0000)]
radio ressource: After loosing signal, the process must return to IDLE state and trigger cell re-selection.
Andreas.Eversberg [Sun, 13 Jun 2010 12:03:17 +0000 (12:03 +0000)]
mobility management: Fixes.
In case of registration not possible / requried, the appropriate result
message (REG_FAILED / REG_SUCCESS) must be returned to PLMN process.
Location updating message fix.
Andreas.Eversberg [Sun, 13 Jun 2010 12:01:37 +0000 (12:01 +0000)]
lapdm: Fixed double free issues. (segfaults)
Andreas.Eversberg [Sat, 12 Jun 2010 18:44:21 +0000 (18:44 +0000)]
Added more release cases between RR and MM layer.
Andreas.Eversberg [Sat, 12 Jun 2010 17:45:47 +0000 (17:45 +0000)]
Fixed ARFCN output on sysinfo dumping.
Andreas.Eversberg [Sat, 12 Jun 2010 16:16:54 +0000 (16:16 +0000)]
Radio ressources now has functions for release of radio link.
The "BA range" is used for cell re-selection.
Due to layer 1 issues, the process gets stuck very often or looses
synchronization.
After location update, I can now make a call via VTY on SDCCH:
Call control sends SETUP request after requesting an MM connection.
My phone on the network side rang!! Call control fails and requires
further debugging...
Andreas.Eversberg [Sat, 12 Jun 2010 16:14:28 +0000 (16:14 +0000)]
Fixed CM SERVICE REQUEST message.
Andreas.Eversberg [Sat, 12 Jun 2010 16:13:01 +0000 (16:13 +0000)]
Added missing proto_descr content filling in call control.
Andreas.Eversberg [Sat, 12 Jun 2010 16:11:35 +0000 (16:11 +0000)]
Added ARFCN to system information dump.
Andreas.Eversberg [Sat, 12 Jun 2010 16:07:49 +0000 (16:07 +0000)]
Updated description of buffers and queues in lapdm.c, changed queue name.
Andreas.Eversberg [Sun, 6 Jun 2010 18:19:46 +0000 (18:19 +0000)]
Fixes and improvements of RR, MM, CC processes.
Andreas.Eversberg [Sun, 6 Jun 2010 18:17:15 +0000 (18:17 +0000)]
Added call application to mnccms.c and added commands to dial/answer/hangup to VTY.
Andreas.Eversberg [Sun, 6 Jun 2010 18:16:01 +0000 (18:16 +0000)]
Added new logging category for summary of process.
Andreas.Eversberg [Sun, 6 Jun 2010 10:37:55 +0000 (10:37 +0000)]
Fixed descriptions of VTY interface commands.
Andreas.Eversberg [Sat, 5 Jun 2010 19:47:25 +0000 (19:47 +0000)]
Completed layer 2 process. (LAPDm)
Not actually complete but most of it. Location update works now!
Andreas.Eversberg [Sat, 5 Jun 2010 19:46:10 +0000 (19:46 +0000)]
Fixed of bugs while testing layer 2.
Andreas.Eversberg [Sat, 5 Jun 2010 19:43:55 +0000 (19:43 +0000)]
Added special RSL message types for mobile side:
- suspension DL
- resume DL
- re-establish DL
Harald Welte [Sat, 29 May 2010 11:06:32 +0000 (13:06 +0200)]
[mobile] Enable GSM-R / E-GSM900 and DCS1800 bands
Harald Welte [Sat, 29 May 2010 11:06:10 +0000 (13:06 +0200)]
l1ctl: Drop frames where L1 indicates they have bit errors
Harald Welte [Sat, 29 May 2010 10:57:48 +0000 (12:57 +0200)]
layer1: remove second memory copy on normal burst receive
Rather than copying everythin from DSP to the global/static rxnb data structure
only to copy it later into the L1CTL message, we can allocate the L1CTL message
in advance and directly fill it.
Harald Welte [Sat, 29 May 2010 10:47:07 +0000 (12:47 +0200)]
L1CTL: Include num_biterr/fire_crc in downlink info + proper alignment/padding
Harald Welte [Sat, 29 May 2010 10:02:02 +0000 (12:02 +0200)]
layer1: disable FB0/FB1 SNR thresholds for now
they have caused more problems than they solve (i.e. we didn't
properly find many cells anymore)
Andreas.Eversberg [Mon, 24 May 2010 23:15:15 +0000 (23:15 +0000)]
Fixes on cell selection process.
Andreas.Eversberg [Mon, 24 May 2010 14:46:11 +0000 (14:46 +0000)]
Fixes during testing of location update with.
The location update is now performed after the channel is assigned.
In dedicated mode the network receives the LOCATION UPDATING REQUEST.
The reply (IDENTITY REQUEST and LOCATION UPDATING REJECT) is received.
But subsequent message like the IDENTITY RESPONSE is not transmitted
by lapdm.c.
Andreas.Eversberg [Mon, 24 May 2010 14:45:00 +0000 (14:45 +0000)]
Fixed header offset in lapdm.c.
Andreas.Eversberg [Mon, 24 May 2010 14:43:49 +0000 (14:43 +0000)]
Fixed output format of osmocom.cfg.
root [Mon, 24 May 2010 16:15:21 +0000 (18:15 +0200)]
Moved some spreaded settings of layer23 into settings.h.
The IMEI can now be set or generated randomly.
root [Mon, 24 May 2010 03:38:24 +0000 (05:38 +0200)]
Fixes on cell selection.
I hope that it fixes the crash issues. If a sysinfo was received when no cell is
selected, it was written to a NULL-pointer.
Also after selecting a cell (dedicated mode), it was not good to "continue"
an already stopped search process, if the sync fails.
Andreas.Eversberg [Sun, 23 May 2010 20:53:32 +0000 (20:53 +0000)]
Added more commands to VTY, especially selecting test SIM and configure it.
The test card can now be configured, as if it is already registered to a
network. So it will directly select the strongest cell of last scan.
root [Mon, 24 May 2010 00:21:24 +0000 (02:21 +0200)]
Fixes of layer23 processes during tests of MNCC interface.
-> Emergency calls will now trigger channel request.
-> Normal calls will be rejected due to limited/no service.
Andreas.Eversberg [Sat, 22 May 2010 10:46:20 +0000 (10:46 +0000)]
Moved layer 1 <-> layer 2 interface from main.c to a seperate file of
liblayer23. Other applications using liblayer23 don't need to re-implement it.
Messages from layer 1 are not freed in layer2_read() anymore. They will be
freed by the upper layers. The layers may also decide to queue or to forward
the messages. In general: A message is always discarded by the message handler
and not after calling the message handler.
Andreas.Eversberg [Sat, 22 May 2010 09:27:33 +0000 (09:27 +0000)]
Fixing cell selection, so it works with the current layer 1 API.
Andreas.Eversberg [Sat, 22 May 2010 08:37:42 +0000 (08:37 +0000)]
Fixed list of maximum frequencies to scan for a range.
Andreas.Eversberg [Fri, 21 May 2010 15:54:42 +0000 (15:54 +0000)]
Network selection results can now be shown explicitly by "network show" VTY command. When selecting the network, the selection is checked, if in list.
Andreas.Eversberg [Fri, 21 May 2010 15:52:11 +0000 (15:52 +0000)]
Summary list of scanned cells now contains LAC and cell ID, rather than (uninteresting) access classes.
Harald Welte [Thu, 20 May 2010 21:48:19 +0000 (23:48 +0200)]
correct endian conversion of arfcn in tx_ph_dm_ext_req()
Harald Welte [Thu, 20 May 2010 21:26:42 +0000 (23:26 +0200)]
Make new L1CTL_FBSB_REQ work reliably
* port 'mobile' application to new l1ctl_tx_fbsb_req()
* make sure we have a proper downlinke header in front of l1ctl_fbsb_resp
* remove duplicate band_arfcn member of struct l1ctl_fbsb_resp
* reset the AFC to its default value when starting new FBSB task
* remove bogus l1s.sb.{synced.count} variables
* allocate msg and send l1ctl_fbsb_resp() only from process context, not FIQ
* properly report SNR and BSIC in fbsb_resp
* introduce arbitrary SNR thresholds for FB0->FB1 and FB1->SB switching
Harald Welte [Thu, 20 May 2010 21:08:29 +0000 (23:08 +0200)]
L1: don't hexdump every packet we receive from L1CTL to console
Harald Welte [Thu, 20 May 2010 21:07:33 +0000 (23:07 +0200)]
L1 PM: move printf to printd to disable PM task debug output
Harald Welte [Thu, 20 May 2010 21:06:53 +0000 (23:06 +0200)]
AFC: Add afc_reset() function to re-set AFCDAC to default value
Harald Welte [Wed, 19 May 2010 19:41:24 +0000 (21:41 +0200)]
layer1/l1ctl: Split L1CTL_NEW_CCCH_REQ in FBSB_REQ nad SYNC_REQ
We really want to have those two as distinct operations - and we
want proper state machines in L1 to quickly return if they've
managed to acquire a FB or SB or not. Otherwise scanning will
take ages...
This code now introduces a new l1ctl_fbsb_req that is sent via
L1CTL to ask for a bitmask of FB0/FB1/SB operations. The actual
FB0/FB1 detection now no longer runs for 500 TDMA interrupts
but completes as soon as we either know there is no FCCH,
or that our frequency error is smaller than a caller-specified
threshold.
FB0/FB1 are already working, SB is not yet, sorry.
Jan Luebbe [Sun, 16 May 2010 15:31:21 +0000 (17:31 +0200)]
osmocon: extend hexdump to show all printable characters
Steve Markgraf [Wed, 19 May 2010 16:02:44 +0000 (18:02 +0200)]
osmocon: change mtk load address for MT6223 romloader
The romloader of the MT6223 uses more of the internal SRAM
than the loader of the MT6227, thus we need to change the load
address.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
Steve Markgraf [Tue, 18 May 2010 16:04:55 +0000 (18:04 +0200)]
ssd1783: make driver work on Motorola V171
Signed-off-by: Steve Markgraf <steve@steve-m.de>
Steve Markgraf [Mon, 17 May 2010 17:51:28 +0000 (19:51 +0200)]
osmocon: Add experimental support for the MTK romloader
Currently the switch to a higher baudrate is missing, which has
to be done by a direct UART autobaud register write, plus sending
an autobaud sample.
As a result, the maximum download speed is currently 19.200 Baud.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
Steve Markgraf [Mon, 17 May 2010 16:54:59 +0000 (18:54 +0200)]
osmocon: use a global load address
Signed-off-by: Steve Markgraf <steve@steve-m.de>
Steve Markgraf [Mon, 17 May 2010 16:41:00 +0000 (18:41 +0200)]
osmocon: cosmetic cleanup
Signed-off-by: Steve Markgraf <steve@steve-m.de>
Steve Markgraf [Mon, 17 May 2010 16:26:37 +0000 (18:26 +0200)]
osmocon: use osmocore timers, minor fixes
Signed-off-by: Steve Markgraf <steve@steve-m.de>
Steve Markgraf [Mon, 17 May 2010 15:27:52 +0000 (17:27 +0200)]
gta02x: fix compile error due to wrong definition
Signed-off-by: Steve Markgraf <steve@steve-m.de>
Daniel Willmann [Sun, 16 May 2010 23:37:03 +0000 (01:37 +0200)]
Add new board gta0x (for Openmoko Freerunner devices) and build it
For now just copied over the compal_e88 init.c and adapted the RF
frontend functions. For osmocon to work with the GSM download cable
SERCOMM_UART_NR and CONS_UART_NR need to be switched.
Daniel Willmann [Sun, 16 May 2010 23:37:02 +0000 (01:37 +0200)]
osmocon.c: Fix serial_set_baudrate function
We have to call tcgetattr prior to changing the baudrate and writing the
struct again.
Harald Welte [Mon, 10 May 2010 09:08:28 +0000 (11:08 +0200)]
layer1: Disable FIQ as well as IRQ for locking between L1S and L1A
Harald Welte [Mon, 10 May 2010 08:57:38 +0000 (10:57 +0200)]
layer1: add missing header includes for local_irq_save()
Harald Welte [Sun, 9 May 2010 20:17:34 +0000 (22:17 +0200)]
layer1: Use measured VCTCXO AFC DAC slope as AFC_SLOPE
Harald Welte [Fri, 7 May 2010 14:56:09 +0000 (16:56 +0200)]
layer1: remove 'l1s_cb' and l1_signal mechanism
the l1s signal was an old mechanism between l1test and the layer1
before we introduced the L1CTL protocol. This commit removes all
leftover references to it.
It also disables the l1test app, as it would no longer work without
major modifications (using l1ctl from within the phone).
Harald Welte [Fri, 7 May 2010 14:46:47 +0000 (16:46 +0200)]
layer1: introduce concept of a 'l1 completion'
The idea is that the L1S part can schedule a completion handler which
will then execute in the asynchronous L1A part. This should keep the
FIQ priority L1S extremely short, deferring most of the work into
the L1A part that runs in regular process context.
Harald Welte [Fri, 7 May 2010 14:21:43 +0000 (16:21 +0200)]
cosmetic/whitespace change
Andreas.Eversberg [Thu, 13 May 2010 12:51:22 +0000 (12:51 +0000)]
Work on VTY interface:
- Load and save of config now works.
- Network search is displayed on VTY and the result can be selected there.
- Manual/auto mode can be selected via VTY and saved.
Andreas Eversberg [Tue, 11 May 2010 09:38:07 +0000 (11:38 +0200)]
Bugfix in IMEI type selection.
Andreas.Eversberg [Mon, 10 May 2010 22:11:48 +0000 (22:11 +0000)]
Fixed broken sysinfo.c
Andreas.Eversberg [Mon, 10 May 2010 22:06:37 +0000 (22:06 +0000)]
Minor fixes and improvements to L3 and VTY.
Steve Markgraf [Mon, 10 May 2010 12:06:32 +0000 (14:06 +0200)]
add MNC of DB Systel to network list
Signed-off-by: Steve Markgraf <steve@steve-m.de>
Andreas.Eversberg [Sun, 9 May 2010 17:31:49 +0000 (17:31 +0000)]
Added "show ba 1" to view BA lists via VTY interface.
Andreas.Eversberg [Sun, 9 May 2010 16:01:49 +0000 (16:01 +0000)]
Added vty interface (taken from OpenBSC project).
It is now possible to show informations about:
- mobile
- subscriber
- received cell informations
Later it can be used to do configurations (phone's menu)
and trigger events, like dialing a phone number.
Andreas.Eversberg [Sun, 9 May 2010 09:40:41 +0000 (09:40 +0000)]
Added SI3 rest octets to RR layer. Now a cell can be qualified:
- Low prio
- High prio
- Barred