summaryrefslogtreecommitdiffstats
path: root/src/host/layer23/include
Commit message (Collapse)AuthorAgeFilesLines
* Fix of wong Classmark 2 when doing CM Service Request.Andreas Eversberg2011-08-061-1/+2
| | | | | | Same reason as the commit below... (3b2b3b09a) Thanx again to Dieter for pointing this out.
* layer23: Add mobile support for sending / receiving voice frame through MNCCAndreas.Eversberg2011-07-285-4/+33
| | | | | | | Support GSM FR codec only so far. Written-by: Andreas Eversberg <jolly@eversberg.eu> Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* [layer23] Added special return value for invalid MCC/MNC inputAndreas Eversberg2011-07-171-0/+2
| | | | This way an MNC of 000 can be entered.
* [layer23] Fixes and improvements of system information decodingAndreas Eversberg2011-07-171-2/+3
|
* [layer23/mobile] Improvement and fixes of idle mode processAndreas Eversberg2011-07-175-20/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch introduces cell re-relection. When camping on a cell, it scanns neighbour cells. If a 'better' cell is found, the cell is selected. If the cell is in a different location area, a location upating is performed under certain conditions. The 'better' cell depends on various informations that are broadcasted on the BCCH of a neihbour cell and of course the RX level. Most operators don't set these informations, so the 'better' cell depend on a better RX level for the same location area, or a much better RX level (6 dBm) at a different location area. There were many issues at the idle mode process that has been fixed. Expecially when moving, the state machines got stuck, so no more cell search was possible, or no further calls / location updating was possible. In order to see the process of cell selection, enter the VTY interface and enable the network monitor: enable monitor network 1 (where '1' is the instance of the MS) In order to see the current state of the processes, enter: show ms
* [layer23] Adding "neighbour cell" logging category: DNBAndreas Eversberg2011-07-171-0/+1
|
* [layer23] Adding neighbour cell measurement to L1CTL interface.Andreas Eversberg2011-07-172-0/+10
|
* [layer23] Fixed handling of channel 0 in certain loopsAndreas Eversberg2011-07-171-1/+1
| | | | | | | The ARFC counts from 1 to 1023, and then to 0. The index of these loops count from 1 to 1024. The index 1024 stands for ARFCN 0. This also reverses commit eb77945e162ae1968242009372e448b7af51ea50.
* settings.h: IMSI is 15 bytes +1 \0 maximumHarald Welte2011-07-161-2/+2
| | | | | | | | If we use a larger field to store the IMSI, we can create overflows when copying the imsi to other structures that are only 16 bytes in size. Detected by Smatch: src/host/layer23/src/mobile/subscriber.c +195 gsm_subscr_testcard(39) error: strcpy() 'set->test_imsi' too large for 'subscr->imsi' (20 vs 16)
* sysinfo.h: ARFCN can be 0..1024, so we need an array of 1025 entriesHarald Welte2011-07-161-1/+1
| | | | | Detected by Smatch: src/host/layer23/src/mobile/gsm48_rr.c +1658 gsm48_new_sysinfo(23) warn: buffer overflow 's->freq' 1024 <= 1024
* lapdm: introduce a new lapdm_phsap_dequeue_prim()Harald Welte2011-06-241-0/+2
| | | | | | This function can be called by a TDMA-driven L1 which will never actually want to receive unsolicited/asynchronous PH-DATA.req primitives, but who will simply directly poll the LAPDm transmit queue by calling the abovementioned function
* introduce LAPDM entity flags for PH-EMPTY_FRAME.req and polllingHarald Welte2011-06-241-0/+7
| | | | | polling means that we never try to proactively generate a PH-DATA.req unless there was a PH-RTS.ind first.
* lapdm: Introduce LAPDM_MODE_{BTS,MS} to run on both sidesHarald Welte2011-06-241-2/+25
| | | | | | | | We also introduce some related functions like lapdm_{entity,channel}_set_mode() lapdm_{entity,channel}_reset() This is all in preparation for the Osmo-BTS Work.
* lapdm: implement RSL CHAN RQD generation from PH-RA.indHarald Welte2011-06-241-0/+1
|
* further decouple lapdm code from osmocom_ms and l1ctlHarald Welte2011-06-232-7/+54
| | | | | we introduce a new primitive layer betwen PH and DL, enabling the use of the LAPDm code in applications that are not based on L1CTL
* remove l1ctl data structure form l2_ph_chan_conf()Harald Welte2011-06-221-4/+1Star
| | | | This brings us one step closer to de-couple LAPDm from L1CTL
* remove l1ctl data structure from l2_ph_data_ind()Harald Welte2011-06-221-1/+1
|
* layer23: make LAPDm code mostly independent of 'struct osmocom_ms'Harald Welte2011-06-212-19/+23
| | | | This is one step in the direction of re-using the lapdm code in osmo-bts.
* remove osmocom_ms reference from lapdm_init()Harald Welte2011-06-211-1/+1
| | | | ... yet another step in making lapdm code independent of osmocom_ms
* remove 'osmocom_ms' from struct lapdm_enetityHarald Welte2011-06-211-1/+3
| | | | and replace it with more general l1_ctx nad l3_ctx.
* [layer23] Adding Quadband support and GSM 4x0 supportAndreas.Eversberg2011-05-295-5/+61
| | | | | | | | This makes it possible to use GSM 850 and PCS 1900 bands, as used in the US. The support relies on the phone hardware. Each band (900, DCS, 850, PCS, 480 and 450) can be enabled and disabled individually for each setting.
* src: use namespace prefix osmo_wqueue*Pablo Neira Ayuso2011-05-151-1/+1
| | | | | | | | | | Summary of changes: s/struct write_queue/struct osmo_wqueue/g s/write_queue_init/osmo_wqueue_init/g s/write_queue_clear/osmo_wqueue_clear/g s/write_queue_enqueue/osmo_wqueue_enqueue/g s/write_queue_bfd_cb/osmo_wqueue_bfd_cb/g
* src: use namespace prefix osmo_timer*Pablo Neira Ayuso2011-05-156-16/+16
| | | | | | | | | | | | | | Summary of changes: s/struct timer_list/struct osmo_timer_list/g s/bsc_add_timer/osmo_timer_add/g s/bsc_schedule_timer/osmo_timer_schedule/g s/bsc_del_timer/osmo_timer_del/g s/bsc_timer_pending/osmo_timer_pending/g s/bsc_nearest_timer/osmo_timers_nearest/g s/bsc_prepare_timers/osmo_timers_prepare/g s/bsc_update_timers/osmo_timers_update/g s/bsc_timer_check/osmo_timers_check/g
* src: use new libosmogsm and include/osmocom/[gsm|core] path to headersPablo Neira Ayuso2011-04-2610-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch changes include paths to get osmocom-bb working with the current libosmocore tree. Among all these renames, you can notice several tweaks that I added on purpose, and that require some explanation, they are: * hexdump() in osmocon.c and osmoload.c has been renamed to avoid clashing with hexdump() defined in libosmocore. * gsmmap now depends on libosmogsm. Actually I had to cleanup Makefile.am because I was experiencing weird linking problems, probably due to a bug in the autotools. With the change included in this patch, I got it compiled and linked here correctly. This patch has been tested with the phone Motorola C123 and the following images files: * firmware/board/compal_e88/hello_world.compalram.bin * firmware/board/compal_e88/layer1.compalram.bin Using the osmocon, bcch_scan and mobile tools. Signed-off-by: Pablo Neira Ayuso <pablo@gnumonks.org>
* [PATCH] Added runtime selection of gps device.Dario Lombardo2011-03-091-4/+11
|
* mobile: Store N.ba files in same directory as config fileHarald Welte2011-03-021-0/+2
| | | | This should remove the last dependency to hard-coded system-wide /etc/osmocom
* Added gpsd support.Dario Lombardo2011-02-161-0/+6
|
* Renamed gps_* functions to osmo_gps_* functions to avoid overlap with libgps ↵Dario Lombardo2011-02-161-5/+5
| | | | functions.
* layer23: Enable combining the long optionsHolger Hans Peter Freyther2010-12-271-0/+3
| | | | | Combine the long options from the base and the application. Provide the long option for the cell log application.
* layer23: Make the logfile configurable with cell_logHolger Hans Peter Freyther2010-12-271-0/+3
| | | | | | | | | | Be able to add extra (short) options from the 'applet' to the main application. Use this to print the help mentioning app specific options, pass the getopt string and handle the command line parsing for it. Change cell_log to keep the logname in the app_cell_log.c and then access it from the cell_log.c implementation.
* layer23: Not every application supports every option add enumHolger Hans Peter Freyther2010-12-271-0/+11
| | | | Allow each application to specify the options it is supporting.
* layer23: Create an l23_app_info for various information and cb'sHolger Hans Peter Freyther2010-12-271-0/+8
| | | | | | Make it possible that each l23 app can inject the copyright string, also prepare to have callbacks for the config handling and other places. This will be useful to add app specific config options.
* [layer23] Adding LAC and TMSI (both optional) to test card (rplmn)Andreas.Eversberg2010-11-202-1/+4
|
* [layer23] Cleanup of mobile applicationAndreas.Eversberg2010-11-143-1/+19
| | | | | | | | | | All functions for handling mobile instances and mobile relevant parts are moved to mobile/app_mobile.c, the mobile/main.c and mobile/mncc.c become a simple out-of-the-box mobile application. (making calls) The mobile/main.c can be replaced easily by a different application now. this application may have it's own call control implementation (layer 4). Full configurations via VTY is still possible and required in this case.
* [layer23] Added support for multiple MS instancesAndreas.Eversberg2010-11-134-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | To create another instance: 'ms <name> create' To remove an instance: 'no ms <name>' If no instance exists, 'ms 1' is created automatically on startup. Each instance can be enabled / disabled by using 'shutdown' or 'no shutdown'. Multiple instances may share the same layer2 socket (same phone hardware), but in this case only one instance can be enabled at the same time. This makes it much easier to select different settings without modifying them. A 'shutdown' initiates the IMSI detach procedure before shutdown is completed. A 'shutdown force' will immidiately shutdown. There is no need to restart the software anymore, if fundamental settings are changed. In this case, a 'shutdown' followed by a 'no shutdown' will do the job. If you already have an old osmocom.cfg, you need to "no shutdown" it. Everything else behaves as before.
* layer23: Use the new rach_req format in l1ctl and update l23 apps to use itAndreas.Eversberg2010-10-301-2/+2
| | | | | | | This removes an old hack Written-by: Andreas Eversberg <jolly@eversberg.eu> Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* layer23/mobile: Add configuration option for automatically answering callsSteve Markgraf2010-10-271-0/+1
| | | Signed-off-by: Steve Markgraf <steve@steve-m.de>
* [layer23] Adding application to scan/receive and log SYSTEM INFORMATIONSAndreas.Eversberg2010-10-241-0/+25
|
* [layer23] Moving sysinfo.c and gps.c (.h) to liblayer23Andreas.Eversberg2010-10-245-4/+4
| | | | This makes sense, since multiple applications use it.
* [layer23] Moving decoding of SYSTEM INFORMATION to sysinfo.cAndreas.Eversberg2010-10-241-0/+29
| | | | This way the decoding can be re-used by other applications.
* [layer23] Fix of GPS statesAndreas.Eversberg2010-10-241-0/+1
|
* [layer23] Completed GPS reading processAndreas.Eversberg2010-10-202-3/+10
| | | | | This includes "double" values of logitude and latitude, as well as time stamp, and if the values are valid or not (GPS fix).
* [layer23] DTMF supportAndreas.Eversberg2010-10-152-6/+18
|
* [layer23] Adding abbreviated dialing to VTYAndreas.Eversberg2010-10-141-0/+11
| | | | | It is possible to store phone numbers with abbreviations now. Dialing these abbreviation makes testing of mobile originated calls much easier too.
* [layer23] Implementation of signal loss criteria as defined in TS 05.08Andreas.Eversberg2010-10-123-0/+9
| | | | | | | | 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.
* [layer23] Rework of "support"-features, features can be disabled nowAndreas.Eversberg2010-10-033-9/+28
| | | | | | 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.
* [layer23] Minimum RX-level is now a configuratio optionAndreas.Eversberg2010-10-011-0/+1
| | | | | The default (if config not yet created/updated), is still taken from settings.c.
* [layer23] Remove obsolete function from header fileAndreas.Eversberg2010-10-011-1/+0Star
|
* l1ctl: Add initial tch_mode value in DM_EST_REQSylvain Munaut2010-09-281-2/+3
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* [layer23] Alter simulated-delay via VTY on the fly (active channel)Andreas.Eversberg2010-09-271-0/+1
|