path: root/include
AgeCommit message (Collapse)AuthorFilesLines
2011-11-13l1ctl: Add definition for BURST INDICATION messagesSylvain Munaut1-0/+15
(as a side effect data_ind is no longer the biggest message, so need to update L3_MSG_SIZE) Signed-off-by: Sylvain Munaut <>
2011-07-28l1ctl: Add definitions for the audio_mode configurationSylvain Munaut1-3/+9
Signed-off-by: Sylvain Munaut <>
2011-07-28l1ctl: Add definition for TRAFFIC_{REQ,CONF,IND}Sylvain Munaut1-0/+15
Also adapt packet creation length in L1 Signed-off-by: Sylvain Munaut <>
2011-07-17[layer23] Adding neighbour cell measurement to L1CTL interface.Andreas Eversberg1-0/+20
2011-04-26src: use new libosmogsm and include/osmocom/[gsm|core] path to headersPablo Neira Ayuso1-2/+2
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 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 <>
2010-10-30target/fw/layer1: Change L1CTL RACH req to properly use all slotsAndreas.Eversberg1-3/+2
Written-by: Andreas Eversberg <> Signed-off-by: Sylvain Munaut <>
2010-09-28l1ctl: Add initial tch_mode value in DM_EST_REQSylvain Munaut1-0/+2
Signed-off-by: Sylvain Munaut <>
2010-09-26[layer23] Added support for changing TCH mode via L1CTL messagesAndreas.Eversberg1-0/+17
2010-09-18[layer23] SIM client completionAndreas.Eversberg1-0/+2
The SIM client is now complete. Because it usefull for multiple applications, i moved it to the layer23/src/common directory. The SIM reader works together with mobile process. Fixes were made. Thanx to all for testing, finding bugs, and making it work as it is supposed to do. The current version uses special L1CTL messages to send and receive APDUs. This will change in the future, when BTSAP interface is completed. Please note that this client will not work until the layer1 SIM reader fixes and extensions are committed.
2010-09-11[layer23 / layer1] Added interface for changing crypto mode of DSPAndreas.Eversberg1-0/+6
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.
2010-08-21[l1ctl] Introducing L1CTL_FREQ_REQ to change frequency hopping sequenceAndreas.Eversberg1-10/+25
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.
2010-07-27l1ctl_proto: Use an enum for the message type rather than #definesSylvain Munaut1-19/+22
Signed-off-by: Sylvain Munaut <>
2010-07-27l1ctl_proto.h: Fixup name of the guard ifdefSylvain Munaut1-3/+3
Signed-off-by: Sylvain Munaut <>
2010-07-27include: Rename l1a_l23_interface.h to l1ctl_proto.hSylvain Munaut1-0/+0
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 <>
2010-07-13[layer 1] L1CTL_PARAM_REQ is introduced to change TX power and TA.Andreas.Eversberg1-2/+9
Currently only TA (timing advance) is supported. It ranges from -128 to 128.
2010-07-13[layer 1] Reset option for scheduled frames.Andreas.Eversberg1-0/+1
This is usefull to drop a scheduled RACH request after an IMM.ASS is received.
2010-06-28[layer23] Updated layer23 to current L1 support and forthcomming hopping.Andreas.Eversberg1-1/+3
2010-06-25[l1ctl] add dedicated mode release requestHarald Welte1-0/+1
2010-06-24l1a_l23_interface: Update DM EST REQ formatSylvain Munaut1-13/+10
We include all the parameters we're gonna need to support TS!=0, hopping, TSC, ... We also assume the upper layer have decoded the low level bit fields and gives us neat accessible variables and a sorted ARFCN array for the Mobile Allocation Signed-off-by: Sylvain Munaut <>
2010-06-22fw/layer1: Add support CCCH combined/non-combinedSylvain Munaut1-1/+24
We introduce the concept of CCCH mode. It can be either - NONE: receive BCCCH only - COMBINED: CCCH on a BCCH/CCCH+SDDCH/4 - NON_COMBINED: CCCH on a BCCH/CCCH There is also a new command to change the mode without having to do the resync. Currently, we keep the previous default behavior of requesting a combined CCCH by default Signed-off-by: Sylvain Munaut <>
2010-06-20[L1CTL] Introduce completion for transmit of L2 frameHarald Welte1-0/+1
Every time we have completed the transmit of a L2 frame (mac block), we send L1CTL_DATA_CONF up to L2.
2010-06-20[L1CTL] rename primitives to comply with official naming s/_REQ/_CONF/Harald Welte1-7/+7
When L23 issues a REQ, we should respond with CONF, rather than _RESP
2010-06-20[L1CTL] Introduce L1CTL_RESET_RESPHarald Welte1-0/+1
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.
2010-06-20[L1CTL] rename L1CTL_RESET to L1CTL_RESET_INDHarald Welte1-1/+13
and define a new structure that indicates the type of reset
2010-06-20[layer1] Add L1CTL_RACH_RESP to confirm that a RACH request was sentHarald Welte1-0/+1
2010-05-29L1CTL: Include num_biterr/fire_crc in downlink info + proper alignment/paddingHarald Welte1-6/+9
2010-05-20Make new L1CTL_FBSB_REQ work reliablyHarald Welte1-1/+1
* 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{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
2010-05-19layer1/l1ctl: Split L1CTL_NEW_CCCH_REQ in FBSB_REQ nad SYNC_REQHarald Welte1-6/+20
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.
2010-04-05l1ctl protocol: Introduce multi-part message DONE flagHarald Welte1-1/+4
In case a single request from L2 triggers multiple response messages from L1, we need a way to signal via L1CTL if the response is the final or some intermediate response.
2010-03-27Implement L23-triggered L1 power measurement scanHarald Welte1-2/+9
Now layer23 can ask L1 to scan an entire range of ARFCN's and do power measurements. This is the first step in the cell (re)selection process.
2010-03-27add L1CTL ECHO REQUEST codeHarald Welte1-0/+2
2010-03-21L1A/L23 interface (L1CTL) cleanupHarald Welte1-8/+20
* introduce a new 'l1ctl_hdr' structure common to all messages on this interface * use struct l1ctl_hdr in both the firmware and layer23 * add a new L1CTL_PM_REQ request for performing layer23-initiated power measurements (firmware does not implement them yet)
2010-03-07start to use libosmocore within the firmwareHarald Welte1-11/+4
* remove linuxlist.h copy and use osmocore * don't put 'struct gsm_time' into l1ctl packets * include rx_level and snr for each burst in l1ctl * properly build libosmocore.a for target * move gsmtime functions into libosmocore * move ctype.h to standard location
2010-03-04l1a_l23_interface.h: struct gsm_time was not packed and had paddingHolger Hans Peter Freyther1-1/+1
The following issue was found by Andreas Bogk. The l1ctl_info_dl struct is supposed to be packed but we included the struct gsm_time which was not packed and added three bytes of padding. Pack the structure to avoid that.
2010-03-02Inter-Layer intergration workHarald Welte1-33/+26
L1 and L2 now pass UI frames like BCCH and CCCH downlink up into L3, which detects an IMMediate ASSignment command and instructs the L1 to switch to SDCCH/4. From this point on, SDCCH/4 and SACCH4/C messages end up in our L2 LAPDm implementation and are forwarded to L3.
2010-03-01Include channel number and link identifier in L1 DL infoHarald Welte1-1/+7
This enables the layer2 to identify on which channel (BCCH/CCCH/SDCCH/TCH/...) the respective message was received. * Encode MFrame Task Number + SACCH info in 'p3' parameter * Generate channel number and link identifier * Decode channel number in layer2 program
2010-03-01add an actual Layer1 asynchronous (L1A) API that can be called from higher ↵Harald Welte1-0/+1
2010-03-01Import value_string utilities and some RSL stuff from OpenBSCHarald Welte1-0/+17
2010-03-01Import value_string utilities and some RSL stuff from OpenBSCHarald Welte1-0/+24
2010-02-18Initial import of OsmocomBB into git repositoryHarald Welte1-0/+134