osmocom-bb.git
14 years agoFixes on cell selection process.
Andreas.Eversberg [Mon, 24 May 2010 23:15:15 +0000 (23:15 +0000)]
Fixes on cell selection process.

14 years agoFixes during testing of location update with.
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.

14 years agoFixed header offset in lapdm.c.
Andreas.Eversberg [Mon, 24 May 2010 14:45:00 +0000 (14:45 +0000)]
Fixed header offset in lapdm.c.

14 years agoFixed output format of osmocom.cfg.
Andreas.Eversberg [Mon, 24 May 2010 14:43:49 +0000 (14:43 +0000)]
Fixed output format of osmocom.cfg.

14 years agoMoved some spreaded settings of layer23 into settings.h.
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.

14 years agoFixes on cell selection.
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.

14 years agoAdded more commands to VTY, especially selecting test SIM and configure it.
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.

14 years agoFixes of layer23 processes during tests of MNCC interface.
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.

14 years agoMoved layer 1 <-> layer 2 interface from main.c to a seperate file of
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.

14 years agoFixing cell selection, so it works with the current layer 1 API.
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.

14 years agoFixed list of maximum frequencies to scan for a range.
Andreas.Eversberg [Sat, 22 May 2010 08:37:42 +0000 (08:37 +0000)]
Fixed list of maximum frequencies to scan for a range.

14 years agoNetwork selection results can now be shown explicitly by "network show" VTY command...
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.

14 years agoSummary list of scanned cells now contains LAC and cell ID, rather than (uninterestin...
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.

14 years agocorrect endian conversion of arfcn in tx_ph_dm_ext_req()
Harald Welte [Thu, 20 May 2010 21:48:19 +0000 (23:48 +0200)]
correct endian conversion of arfcn in tx_ph_dm_ext_req()

14 years agoMake new L1CTL_FBSB_REQ work reliably
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

14 years agoL1: don't hexdump every packet we receive from L1CTL to console
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

14 years agoL1 PM: move printf to printd to disable PM task debug output
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

14 years agoAFC: Add afc_reset() function to re-set AFCDAC to default value
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

14 years agolayer1/l1ctl: Split L1CTL_NEW_CCCH_REQ in FBSB_REQ nad SYNC_REQ
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.

14 years agoosmocon: extend hexdump to show all printable characters
Jan Luebbe [Sun, 16 May 2010 15:31:21 +0000 (17:31 +0200)]
osmocon: extend hexdump to show all printable characters

14 years agoosmocon: change mtk load address for MT6223 romloader
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>
14 years agossd1783: make driver work on Motorola V171
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>
14 years agoosmocon: Add experimental support for the MTK romloader
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>
14 years agoosmocon: use a global load address
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>
14 years agoosmocon: cosmetic cleanup
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>
14 years agoosmocon: use osmocore timers, minor fixes
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>
14 years agogta02x: fix compile error due to wrong definition
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>
14 years agoAdd new board gta0x (for Openmoko Freerunner devices) and build it
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.

14 years agoosmocon.c: Fix serial_set_baudrate function
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.

14 years agolayer1: Disable FIQ as well as IRQ for locking between L1S and L1A
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

14 years agolayer1: add missing header includes for local_irq_save()
Harald Welte [Mon, 10 May 2010 08:57:38 +0000 (10:57 +0200)]
layer1: add missing header includes for local_irq_save()

14 years agolayer1: Use measured VCTCXO AFC DAC slope as AFC_SLOPE
Harald Welte [Sun, 9 May 2010 20:17:34 +0000 (22:17 +0200)]
layer1: Use measured VCTCXO AFC DAC slope as AFC_SLOPE

14 years agolayer1: remove 'l1s_cb' and l1_signal mechanism
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).

14 years agolayer1: introduce concept of a 'l1 completion'
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.

14 years agocosmetic/whitespace change
Harald Welte [Fri, 7 May 2010 14:21:43 +0000 (16:21 +0200)]
cosmetic/whitespace change

14 years agoWork on VTY interface:
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.

14 years agoBugfix in IMEI type selection.
Andreas Eversberg [Tue, 11 May 2010 09:38:07 +0000 (11:38 +0200)]
Bugfix in IMEI type selection.

14 years agoFixed broken sysinfo.c
Andreas.Eversberg [Mon, 10 May 2010 22:11:48 +0000 (22:11 +0000)]
Fixed broken sysinfo.c

14 years agoMinor fixes and improvements to L3 and VTY.
Andreas.Eversberg [Mon, 10 May 2010 22:06:37 +0000 (22:06 +0000)]
Minor fixes and improvements to L3 and VTY.

14 years agoadd MNC of DB Systel to network list
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>
14 years agoAdded "show ba 1" to view BA lists via VTY interface.
Andreas.Eversberg [Sun, 9 May 2010 17:31:49 +0000 (17:31 +0000)]
Added "show ba 1" to view BA lists via VTY interface.

14 years agoAdded vty interface (taken from OpenBSC project).
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.

14 years agoAdded SI3 rest octets to RR layer. Now a cell can be qualified:
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

14 years agoAdded some "get"-functions to bitvec of libosmocore.
Andreas.Eversberg [Sun, 9 May 2010 09:36:54 +0000 (09:36 +0000)]
Added some "get"-functions to bitvec of libosmocore.

- Getting Low or High value from current postion
- Getting unsigned interger from current postion

14 years agoAdded BCCH timeout timer for detecting loss of radio link (layer23).
Andreas.Eversberg [Sat, 8 May 2010 14:31:27 +0000 (14:31 +0000)]
Added BCCH timeout timer for detecting loss of radio link (layer23).

14 years agoMinor condition fix in radio resource.
Andreas.Eversberg [Fri, 7 May 2010 23:07:30 +0000 (23:07 +0000)]
Minor condition fix in radio resource.

14 years agoFixes for layer 3 processes:
Andreas.Eversberg [Fri, 7 May 2010 21:41:54 +0000 (21:41 +0000)]
Fixes for layer 3 processes:

- CCCH connection state variable
- The complete BAND is now searched prio selecting PLMN

14 years ago- Fixes on MM, RR, cell selection, plmn search processes.
Andreas.Eversberg [Thu, 6 May 2010 08:48:24 +0000 (08:48 +0000)]
- Fixes on MM, RR, cell selection, plmn search processes.
-> Cell selection now requires only one frequency to be scanned, if BA list
   of that PLMN is known.

14 years agoWork on layer 3 processes:
Andreas.Eversberg [Wed, 5 May 2010 08:40:10 +0000 (08:40 +0000)]
Work on layer 3 processes:

- Fixes on PLMN search and cell selection process.
- Fixes on radio ressource.
- ^C will cause IMSI detach when pressed the first time.
  Pressing ^C again will cause termination of process at any time.

14 years agoWork on layer 3 processes:
Andreas.Eversberg [Tue, 4 May 2010 09:48:51 +0000 (09:48 +0000)]
Work on layer 3 processes:

- Fixed reference to system informations. (did crash when re-selecting).
- Fix in cell selection state machine. (any re-selection).
- MCC, MNC, LAC change of cell now triggers re-selection.
- Fixed some paging issues. Empty pagings are not displayed anymore. Also paging is now possible when 'camping on any cell'.

14 years agoMore fixes on layer3.
Andreas.Eversberg [Sun, 2 May 2010 17:40:52 +0000 (17:40 +0000)]
More fixes on layer3.

The current code will scan frequencies, select a cell and camps on it.
No SIM is inserted. Paging requests and Immediate assginments can be seen.

When inserting a SIM card (uncomment it in app_mobile.c), location update
is triggered after selecting a cell. The RACH request is sent, an
Immediate assignment is received, the dedicated mode is requested.
Nothing happens then, because no confirm / abort of layer 2 is received.

14 years agoMany fixes in layer 3:
Andreas.Eversberg [Sun, 2 May 2010 17:13:47 +0000 (17:13 +0000)]
Many fixes in layer 3:

- Sysinfo storage
- Cell/Network selection process
- Channel request / Paging

14 years agoFixed many issues in MM IDLE mode process.
Andreas.Eversberg [Sat, 1 May 2010 18:21:03 +0000 (18:21 +0000)]
Fixed many issues in MM IDLE mode process.

14 years agoFixes, especially frequency list parsing.
Andreas.Eversberg [Fri, 30 Apr 2010 18:51:41 +0000 (18:51 +0000)]
Fixes, especially frequency list parsing.

14 years agodon't enable TX by default!!!
Harald Welte [Thu, 29 Apr 2010 20:06:54 +0000 (22:06 +0200)]
don't enable TX by default!!!

14 years agoMerge branch 'master' of gitosis@git.osmocom.org:osmocom-bb
Andreas Eversberg [Thu, 29 Apr 2010 18:47:28 +0000 (20:47 +0200)]
Merge branch 'master' of gitosis@git.osmocom.org:osmocom-bb

14 years agoFixes and improvements of layer23.
Andreas Eversberg [Thu, 29 Apr 2010 18:46:11 +0000 (20:46 +0200)]
Fixes and improvements of layer23.

14 years agoMerge remote branch 'origin/sylvain/pending'
Harald Welte [Wed, 28 Apr 2010 09:43:50 +0000 (11:43 +0200)]
Merge remote branch 'origin/sylvain/pending'

14 years agoMerge commit '100224df0b711c7bf6c1150ce18cf595350cf0bd'
Harald Welte [Wed, 28 Apr 2010 09:43:37 +0000 (11:43 +0200)]
Merge commit '100224df0b711c7bf6c1150ce18cf595350cf0bd'

14 years agolayer1/mframe_sched: Make task update safer
Sylvain Munaut [Tue, 27 Apr 2010 20:25:54 +0000 (22:25 +0200)]
layer1/mframe_sched: Make task update safer

We try to prevent switching task at a bad time. The algorithm
just tries to find the first fn at which it's safe to activate
a previously disabled task.

tasks     -> Running tasks
tasks_tgt -> What we aim to run

Since tasks_tgt is still only read, it's safe for the l1a to
modify it without locking.

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
14 years agofw/layer1: Encapsulate mframe scheduler function better
Sylvain Munaut [Mon, 26 Apr 2010 19:33:26 +0000 (21:33 +0200)]
fw/layer1: Encapsulate mframe scheduler function better

There was some code meddling with mf_tasks directly. This is
fine if it's just setting/clearing a bit but since we're
gonna need some 'cleverness' into when to activate what to prevent
conflict, it's better to abstract that logic.

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
14 years agofw/layer1: Change the tdma_schedule_set return value to # frames spanned
Sylvain Munaut [Mon, 26 Apr 2010 18:45:59 +0000 (20:45 +0200)]
fw/layer1: Change the tdma_schedule_set return value to # frames spanned

Previously, it returned the number of item + number of frames spanned
by the set. But that value isn't that useful and wasn't used by anyone.

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
14 years agoRemove some gsm time keeping utils now in libosmocore
Sylvain Munaut [Tue, 27 Apr 2010 20:21:24 +0000 (22:21 +0200)]
Remove some gsm time keeping utils now in libosmocore

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
14 years agoUpdate libosmocore to 100224df0b711c7bf6c1150ce18cf595350cf0bd
Sylvain Munaut [Wed, 28 Apr 2010 08:15:05 +0000 (10:15 +0200)]
Update libosmocore to 100224df0b711c7bf6c1150ce18cf595350cf0bd

Merge commit '100224df0b711c7bf6c1150ce18cf595350cf0bd' into master

14 years agofw/layer1: Fix a printf warning uint32_t is 'long unsigned'
Sylvain Munaut [Mon, 26 Apr 2010 19:26:29 +0000 (21:26 +0200)]
fw/layer1: Fix a printf warning  uint32_t is 'long unsigned'

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
14 years agotarget/layer1: Fix typo in l23 message reception debug
Sylvain Munaut [Sun, 25 Apr 2010 21:20:31 +0000 (23:20 +0200)]
target/layer1: Fix typo in l23 message reception debug

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
14 years agotarget_dsp/calypso: Add some pointers to get started in IDA
Sylvain Munaut [Thu, 11 Mar 2010 21:25:50 +0000 (22:25 +0100)]
target_dsp/calypso: Add some pointers to get started in IDA

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
14 years agotarget_dsp/calypso: Add a script to convert dump output into usable COFF
Sylvain Munaut [Thu, 11 Mar 2010 20:06:47 +0000 (21:06 +0100)]
target_dsp/calypso: Add a script to convert dump output into usable COFF

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
14 years agoUpdate .gitignore
Sylvain Munaut [Wed, 28 Apr 2010 08:10:47 +0000 (10:10 +0200)]
Update .gitignore

m4/*.m4 -> autoreconf adds stuff there
tests   -> Build product

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
14 years agogsm 08.08: Fix some u_int8_t -> uint8_t
Sylvain Munaut [Wed, 28 Apr 2010 08:05:29 +0000 (10:05 +0200)]
gsm 08.08: Fix some u_int8_t -> uint8_t

This breaks the ARM build in osmocom-bb. Besides uint??_t seems to
be the preferred type in osmocore. (coming from stdint.h vs sys/types.h)

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
14 years agogsm_utils: Just add some constant and timekeeping utils
Sylvain Munaut [Tue, 27 Apr 2010 19:48:40 +0000 (21:48 +0200)]
gsm_utils: Just add some constant and timekeeping utils

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
14 years agoAdded some debugging. / Minor condition fix.
Andreas Eversberg [Mon, 26 Apr 2010 09:21:18 +0000 (11:21 +0200)]
Added some debugging. / Minor condition fix.

14 years agoAdded new application "mobile" to layer23.
Andreas Eversberg [Sun, 25 Apr 2010 16:28:24 +0000 (18:28 +0200)]
Added new application "mobile" to layer23.

This is the current status of the layer 3 protocols. Everything compiles,
radio ressource layer is partly complete. Everything is untested, so don't
expect that it runs and does something usefull. The next step for me is
running and debugging it.

Here is the list of files that are added / modified:

new file:   ../include/osmocom/gsm322.h
new file:   ../include/osmocom/gsm48_cc.h
new file:   ../include/osmocom/gsm48_mm.h
new file:   ../include/osmocom/gsm48_rr.h
modified:   ../include/osmocom/l23_app.h
modified:   ../include/osmocom/logging.h
new file:   ../include/osmocom/mncc.h
modified:   ../include/osmocom/osmocom_data.h
new file:   ../include/osmocom/subscriber.h
new file:   ../include/osmocom/support.h
new file:   ../include/osmocom/sysinfo.h
new file:   ../include/osmocom/transaction.h
modified:   Makefile.am
new file:   app_mobile.c
new file:   gsm322.c
new file:   gsm48_cc.c
new file:   gsm48_mm.c
new file:   gsm48_rr.c
modified:   main.c
new file:   mnccms.c
new file:   subscriber.c
new file:   support.c
new file:   sysinfo.c
new file:   transaction.c

14 years agoRemoved the code from gsm48-andreas.
Andreas Eversberg [Sun, 25 Apr 2010 16:15:53 +0000 (18:15 +0200)]
Removed the code from gsm48-andreas.

14 years agoChanges to layer23:
Andreas Eversberg [Sun, 25 Apr 2010 16:10:59 +0000 (18:10 +0200)]
Changes to layer23:

Added name to osmocom_ms structure.

l2_ctx is now named l23_ctx, because it is also used there.

A work-handler is usefull for applications that need to check queues.

14 years agoAdded new IE definitions to gsm_04_08.h of libosmocore.
Andreas Eversberg [Sun, 25 Apr 2010 16:01:32 +0000 (18:01 +0200)]
Added new IE definitions to gsm_04_08.h of libosmocore.

Also added RR and MM TLV tables to gsm48.c

14 years agoAdded single octet TV (type + value) to libosmocore.
Andreas Eversberg [Sun, 25 Apr 2010 15:53:16 +0000 (17:53 +0200)]
Added single octet TV (type + value) to libosmocore.

In case of a single octet, the upper nibble is the type, the lower nibble
carries the value.

14 years agol1ctl_tx_ccch_req() now uses arfcn as parameter.
Andreas Eversberg [Sun, 25 Apr 2010 15:31:35 +0000 (17:31 +0200)]
l1ctl_tx_ccch_req() now uses arfcn as parameter.

The arfcn variable is renamed to test_arfcn.

I think that arfcn and other frequency parameters should be stored at
the process which sets it and using it when calling l1ctl_tx_ccch_req().

14 years agoWrapper for file access.
Andreas Eversberg [Sun, 25 Apr 2010 15:11:47 +0000 (17:11 +0200)]
Wrapper for file access.

If file access is used to store network informations and user settings in the
/etc/ directory. Later it can be used to store them in the EEPROM of the
target.

14 years agoMerge remote branch 'origin/prom/pending'
Harald Welte [Sat, 24 Apr 2010 11:27:00 +0000 (13:27 +0200)]
Merge remote branch 'origin/prom/pending'

14 years agosercomm: implemented a trivial echo dlci.
Ingo Albrecht [Tue, 13 Apr 2010 02:45:17 +0000 (04:45 +0200)]
sercomm: implemented a trivial echo dlci.

14 years agoosmocom: Fix serial init (CSIZE field)
Sylvain Munaut [Wed, 21 Apr 2010 17:27:21 +0000 (19:27 +0200)]
osmocom: Fix serial init (CSIZE field)

Since we clear the whole CSIZE, we need to set CS8 _after_ the clearing
or it'll just get erased ...

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
14 years agogsm0808: Port asiggnment_complete msg creation to libosmocore.
Holger Hans Peter Freyther [Sat, 17 Apr 2010 04:21:49 +0000 (06:21 +0200)]
gsm0808: Port asiggnment_complete msg creation to libosmocore.

14 years agogsm0808: Port cipher_complete to be part of libosmocore.
Holger Hans Peter Freyther [Sat, 17 Apr 2010 04:16:35 +0000 (06:16 +0200)]
gsm0808: Port cipher_complete to be part of libosmocore.

14 years agogsm0808: Add the TLV definition for some of the 0808 IEs
Holger Hans Peter Freyther [Sat, 17 Apr 2010 03:14:36 +0000 (05:14 +0200)]
gsm0808: Add the TLV definition for some of the 0808 IEs

14 years agoAdd GSM0808 utilities to Osmocore.
Holger Hans Peter Freyther [Thu, 15 Apr 2010 08:10:39 +0000 (10:10 +0200)]
Add GSM0808 utilities to Osmocore.

The code is coming from the on-waves/bsc-master branch.

14 years agogsm_08_08.h: Remove OpenBSC include file from the header.
Holger Hans Peter Freyther [Thu, 15 Apr 2010 08:01:39 +0000 (10:01 +0200)]
gsm_08_08.h: Remove OpenBSC include file from the header.

14 years agoAdd GSM08.08 protocol header.
Holger Hans Peter Freyther [Thu, 15 Apr 2010 01:14:51 +0000 (03:14 +0200)]
Add GSM08.08 protocol header.

This header is copied from bssap.h of the on-waves/bsc-master
branch and only contains the protocol specific information.

14 years agosercomm: implemented a trivial echo dlci.
Ingo Albrecht [Tue, 13 Apr 2010 02:45:17 +0000 (04:45 +0200)]
sercomm: implemented a trivial echo dlci.

14 years agoUART initialisation, serial port errors
Christian Vogel [Mon, 12 Apr 2010 10:29:00 +0000 (12:29 +0200)]
UART initialisation, serial port errors

Additional initialisations for the UART to make the data corruption
from the PC to the Phone go away.

I've seen a lot of systematic character swaps on the serial port,
especially in the vincinity of 0-bytes. As the XON/XOFF registers
are the only thing in the UART that look like they would consider
the actual data sent, I've added this initialisation to uart.c
This makes the problem go away completely on my C123.

To check for it I've added CRCs to the HDLC protocol and checked
for bad frames, and also compared them in a (patched) osmocon
that just sends random garbate in a special DLCI. The bad
frames I observed always looked like this (number in
parenthesis define number of omitted bytes, for brevity):

<------ good bytes ---------->  <-recvd|sent->  <----- identical again
------>

d0 e0 00 00..(107)..f7 ce 17 c4 < 0c 00|00 0c > db 70 ba cb..(67)..d8 6d 3a 1f
31 e1 00 00..(47)..38 ca 2f e5 < 0c 00|00 0c > f8 a3 77 5f..(127)..5b 72 ff 4a

<-- good -> <--- bad -----> <---- good again ------------->
dc e1 00 00 < 0c 00|00 0c > 87 cb 24 83..(178)..2f 69 b3 51

ae e2 00 00..(167)..bd 18 6f a1 < 0c 00|00 0c > 2f 53 d2 b2..(7)..da c7 1b 63
dc e3 00 00..(131)..8e 2c b0 a8 < 0c 00|00 0c > 40 62 56 5f..(43)..f0 3a 47 f7

Formerly I was observing about 10 packets for every 2000 sent (with 192
bytes of payload each). Now, with the added initialisation, I see
(as the time of writing this email) 12000 packets with 192 bytes each
sent, with 0 bytes missing, corrupted, flipped).

14 years agoselect.c: Make the ugly hacker uglier...
Holger Hans Peter Freyther [Sun, 11 Apr 2010 15:33:19 +0000 (17:33 +0200)]
select.c: Make the ugly hacker uglier...

Right now I'm seeing crashes when removing a link and deleting
it and I need this hack to make it not crash. We will have to
understand if llist_for_each_entry_safe has a bug or if we are
doing something bad with the list (anchors not properly initialized).

14 years agofix disabling of the calypso bootrom on targets with nIBOOT tied to low:
Steve Markgraf [Sat, 10 Apr 2010 00:09:33 +0000 (02:09 +0200)]
fix disabling of the calypso bootrom on targets with nIBOOT tied to low:
* bit 8 always needs to be 1 when overriding the setting of the nIBOOT pin, so now we set both bits (9 and 8) to 1, and clear bit 9 if we want to enable the romloader
* to be sure, this was tested on a target with nIBOOT high (C155) and a Alcatel VLE5 pulled to low, and works fine

Signed-off-by: Steve Markgraf <steve@steve-m.de>
14 years agolayer1: move FB and SB detection into prim_fbsb.c
Harald Welte [Fri, 9 Apr 2010 19:32:56 +0000 (21:32 +0200)]
layer1: move FB and SB detection into prim_fbsb.c

14 years agolayer1: move normal burst receive code to prim_rx_nb.c
Harald Welte [Fri, 9 Apr 2010 19:25:13 +0000 (21:25 +0200)]
layer1: move normal burst receive code to prim_rx_nb.c

14 years agolayer1: move transmit normal burst routines to prim_tx_nb.c
Harald Welte [Fri, 9 Apr 2010 18:02:16 +0000 (20:02 +0200)]
layer1: move transmit normal burst routines to prim_tx_nb.c

14 years agolayer1: reorganize code, introduce prim_{pm,rach}.c
Harald Welte [Fri, 9 Apr 2010 17:56:12 +0000 (19:56 +0200)]
layer1: reorganize code, introduce prim_{pm,rach}.c

The new plan for layer1 is to structure the source code not based on
whether it is part of l1s/l1a or other parts, but based on 'primitives'.

All code that relates to transmitting a RACH burst should be in one
file, same for all code related to power management.  Those files are
called layer1/prim_*.c

14 years agolayer1: fix off-by-one error when transmitting bursts in the uplink
Harald Welte [Fri, 9 Apr 2010 08:51:38 +0000 (10:51 +0200)]
layer1: fix off-by-one error when transmitting bursts in the uplink

Prior to this fix, only 3 out of 4 bursts of every mac block were
received by the BTS at all.

Thanks to Dieter Spaar for spending so much time to debug this issue!

14 years agolayer23: fix building against user-defined LIBOSMOCORE
Harald Welte [Fri, 9 Apr 2010 06:09:46 +0000 (08:09 +0200)]
layer23: fix building against user-defined LIBOSMOCORE

14 years agoMerge commit '163d0ea85b99a2c581b1f861bf9445a9a14bfc6f'
Harald Welte [Fri, 9 Apr 2010 05:58:44 +0000 (07:58 +0200)]
Merge commit '163d0ea85b99a2c581b1f861bf9445a9a14bfc6f'

14 years agoremove references to u_int*_t and use uint*_t instead
Harald Welte [Fri, 9 Apr 2010 05:57:40 +0000 (07:57 +0200)]
remove references to u_int*_t and use uint*_t instead