Commit Graph

1294 Commits

Author SHA1 Message Date
Holger Hans Peter Freyther 1ed231ba2b layer1/init.c: Pass 0 as arcfn to fix the compilation. 2010-03-04 22:43:38 +01:00
Holger Hans Peter Freyther a481e498b7 l1a_l23_interface.h: struct gsm_time was not packed and had padding
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-04 22:35:13 +01:00
Harald Welte d3f6b678c3 update wireshakr gsmtap patch with the 2nd version submitted to wireshark
We now
 * properly decode the L1 header of SACCH frames
 * properly hand-off SACCH payload such as SI5/SI6
 * display the summary of the GSMTAP and SACCH_L1 dissectors in the protocol tree
2010-03-04 21:44:41 +01:00
Harald Welte 86dced0b2d ensure RF_ARFCN is part of l1ctl messages sent to host 2010-03-04 20:03:00 +01:00
Harald Welte 3b51bde8e8 update wireshark GSMTAP patch for GSMTAP protocol version 0x02 2010-03-04 15:44:17 +01:00
Harald Welte 582aec803c layer23: GSMTAP update (gsmtap for uplink, DCCH and ACCH)
* use GSMTAP for uplink frames (generated by layer23; sent to L1)
* only use GSMTAP if the user specifies the '-i dstip' arguments
* properly encode the GSMTAP channel type
* requires GSMTAP protocol version 0x02 (see next commit for wireshark patch)
2010-03-04 15:43:45 +01:00
Harald Welte 4e1287938e add GSTMAP ARCFCN flag bits 2010-03-04 15:15:37 +01:00
Harald Welte 5a1d72cfc6 layer23: rsl_dec_chan_nr is now in libosmocore 2010-03-04 15:07:10 +01:00
Harald Welte 748cfb56d8 Merge commit '8c8caaa1acaf4d863a219332f6a07cd70b6b5981' 2010-03-04 15:03:13 +01:00
Harald Welte 8c8caaa1ac update GSMTAP to version 0x02 2010-03-04 15:02:54 +01:00
Harald Welte dec5ab7c7b Merge commit '6fec514d7bcf8e6fe469d31ccc13d5cd473058a4' 2010-03-04 14:58:44 +01:00
Harald Welte 6fec514d7b fix CCCH parsing 2010-03-04 14:30:15 +01:00
Harald Welte ecf9dd0d96 add new rsl_dec_chan_nr() function 2010-03-04 14:27:48 +01:00
Harald Welte a5cdce1503 update to reflect libosmocore api change 2010-03-04 12:00:29 +01:00
Harald Welte 2507c4b142 Merge commit '61e2bfc5f44267a7a3b0b25ff3ab922fca2a199c' 2010-03-04 11:59:12 +01:00
Harald Welte 61e2bfc5f4 import gsm48 utility functions from OpenBSC
* gsm48_generate_lai() gsm48_generate_mid_from_tmsi() gsm48_generate_mid_from_imsi()
* gsm48_cc_msg_names[]
2010-03-04 10:53:03 +01:00
Harald Welte a73e2f9acb import bcd2char() and char2bcd() from OpenBSC 2010-03-04 10:50:32 +01:00
Harald Welte aebe08c71f import gsm_band_name() and gsm_band_parse() from OpenBSC 2010-03-04 10:39:17 +01:00
Harald Welte eb8bf3915c add 'transparent' argument to rsl_rll_push_l3() and rsl_rll_push_l3()
this is required to make those functions useful for OpenBSC, nut just
OsmocomBB
2010-03-04 10:32:09 +01:00
Harald Welte 098cd4b503 fix rsl_enc_chan_nr() for SDCCH4 2010-03-04 10:12:50 +01:00
Harald Welte 219c9d5a6e fix master Makefile with layer23 rename 2010-03-03 14:41:16 +01:00
Harald Welte b82aa8957c layer23: add some FIXMEs to remind us about missing code 2010-03-03 14:37:31 +01:00
Harald Welte 2ea6a02bf5 add some notes about layer23 architecture 2010-03-03 14:37:21 +01:00
Harald Welte d4e118a7a0 Rename 'layer2' program to 'layer23' program 2010-03-03 14:25:21 +01:00
Harald Welte 9c64d2869f layer2: Rename layer2.[ch] to l1ctl.[ch] as they only remote-control L1 2010-03-03 14:22:04 +01:00
Harald Welte 3a4148d7b8 layer2: move dump_bcch() into layer3.c where it belongs 2010-03-03 14:11:46 +01:00
Harald Welte e10d64a794 layer2/lapdm: various fixes
* fix U frame parsing
* pad all frames with 0x2B before sending them off to L1
* make sure msg->l2h is set correctly on tx frames
2010-03-03 14:01:36 +01:00
Harald Welte 63138703b7 layer2: more sanity checks, ensure msg->l1h is set correctly 2010-03-03 14:00:50 +01:00
Harald Welte 994daac979 layer2_main: Don't use LOGP API yet, and print error if msgb->data != msgb->l1h 2010-03-03 13:58:29 +01:00
Harald Welte 4cfa7739a0 make sure msg->l3h is set correctly 2010-03-03 13:57:54 +01:00
Harald Welte 8576565bb7 make sure LAPDM datalink starts in state IDLE not NULL 2010-03-03 13:57:13 +01:00
Harald Welte ba18970f83 Layer1: various fixes + debugging aid
* print HDLC packets received from L2
* print Tx MAC block as it is written to DSP API RAM
* ensure we don't msgb_free() a message that we've enqueued for l1s
2010-03-03 13:55:51 +01:00
Harald Welte 8eb7bdcb91 declare l1s_dsp_abort() in header file 2010-03-03 11:26:28 +01:00
Harald Welte 2b7e61083c fix Makefile dependencies to C files 2010-03-03 10:35:05 +01:00
Harald Welte 5757db4e65 sched_gsmtime uses const for 'struct tdma_sched_item *' 2010-03-03 10:28:47 +01:00
Harald Welte 177ffa3c5f add missing layer3.c file 2010-03-02 23:37:12 +01:00
Harald Welte 4fb20757c6 import some GSM 04.08 utility code from OpenBSC 2010-03-02 23:17:33 +01:00
Harald Welte 911e0ff962 layer2: rename files to remove extra osmocom_ prefix 2010-03-02 23:05:49 +01:00
Harald Welte 3b32efb40a layer2 program: Use new RSL utility routines, split code in more files 2010-03-02 23:02:16 +01:00
Harald Welte 8eedad77c7 Merge commit 'f08eabf2341de43993918246e89ce30c3651f378' 2010-03-02 22:00:21 +01:00
Harald Welte f08eabf234 add two new RSL utility functions 2010-03-02 21:59:20 +01:00
Harald Welte 2004b13327 Layer1 CTL interface improvements: Don't hardcode SDCCH4/0
When receiving a L1CTL_DM_EST_REQ, compute the MF Task according
to the chan_nr of the EST REQ - rather than hardcoding SDCCH4/0
2010-03-02 21:45:04 +01:00
Harald Welte 6944437bf4 Introduce CONFIG_TX_ENABLE and disable Tx support by default
Tx support is considered experimental and potentially dangerous.

Thus, the default build of the firmware does not have Tx support
enabled.

If you want Tx support, compile with -DCONFIG_TX_ENABLE by uncommenting
the apropriate line in Makefile.inc
2010-03-02 20:42:39 +01:00
Harald Welte d43fadf410 fix merge artefacts, make firmware build again 2010-03-02 20:25:02 +01:00
Harald Welte cb29bdf0bd Merge remote branch 'origin/uplink' into mater 2010-03-02 20:13:08 +01:00
Harald Welte ccebef5909 Merge commit 'fdd0a700930bdd04bc8827ef88dc5039ecc5b6ce' 2010-03-02 20:00:41 +01:00
Harald Welte 092d57bef9 Inter-Layer intergration work
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-02 18:47:01 +01:00
Harald Welte 11c97f5eff Major update: Start L2/L3 implementation on PC side
Using the following changes, it is now possible to receive the PCH and AGCH
messages in the PC-side layer3, as well as trigger RACH sending inside the phone
from the PC:
* merge l1_dedic_mode_data_ind, l1_dedic_mode_data_req and l1_ccch_info_ind into l1_data_ind
* add partial LAPDm implementation (layer2/src/lapdm.c)
* introduce RSLms between LAPDm and L3 (layer2/src/osmocom_rslms.c)
* use new layer1 header field of msgb
* tx_ph_rach_req() and tx_ph_data_req() to send data from PC to target
* implement DEDIC_MODE_DATA_REQ on firmware side
2010-03-01 23:54:32 +01:00
Harald Welte 43dd25c493 Include channel number and link identifier in L1 DL info
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-01 23:48:45 +01:00
Harald Welte 2f60aee6d9 extend TDMA scheduler functions to use third parameter (p3)
The idea of the third parameter is that it can be specified on a
tdma_schedule_set() level.  The multi-frame scheduler can thus use
it to pass some context information into the l1s_{cmd,resp}_*()
functions, such as the MF TASK and whether or not it is SDCCH or
SACCH.
2010-03-01 23:48:45 +01:00