Layer23 » History » Version 6
laforge, 02/19/2016 10:49 PM
major update
1 | 1 | zecke | [[PageOutline]] |
---|---|---|---|
2 | 5 | laforge | = layer23 = |
3 | 1 | zecke | |
4 | 5 | laforge | The ''layer23'' program is the playground we use for developing the GSM Protocol layers 2 and 3 (GSM TS 04.05, 04.06, 04.08) |
5 | |||
6 | Using the layer23 program, you can: |
||
7 | 1 | zecke | * Connect to /tmp/osmocom_l2 socket created by [wiki:osmocon] to exchange data from [wiki:L1A_L23_Interface]. |
8 | * Receive GSM Layer1 frames. |
||
9 | 6 | laforge | * Dump received GSM Layer1 frames and print some analysis. |
10 | * Send the Layer1 frames as GSMTAP packets to wireshark (see [wiki:WiresharkIntegration]) |
||
11 | * forward the Layer1 frames to the Layer2 / LAPDm implementation inside layer23 |
||
12 | * forward them from Layer2 into Layer3 code inside layer23. |
||
13 | * receive outgoing frames from Layer3 |
||
14 | * process them through layer2 |
||
15 | * send them as uplink frames to GSMTAP |
||
16 | * send them to the Layer1 on the phone |
||
17 | 5 | laforge | |
18 | The ''layer23'' program is used in combination with the [wiki:layer1.bin] firmware. |
||
19 | 1 | zecke | |
20 | === Usage === |
||
21 | 5 | laforge | {{{ |
22 | 1 | zecke | ./layer23 -a 871 -i 127.0.0.1 |
23 | }}} |
||
24 | |||
25 | 6 | laforge | where {{{-a 871}}} indicates the GSM ARFCN to which layer1 shall tune, and {{{-i 127.0.0.1}}} indicates the IP address |
26 | to which the GSMTAP messages are to be sent. |
||
27 | |||
28 | This will connect to the [wiki:osmocon] application and will receive GSM Layer1 frames. |
||
29 | The receiving is done in the src/main.c and the frames will be passed to src/l1ctl.c, |
||
30 | 5 | laforge | from there into src/lapdm.c and finally into src/layer3.c |
31 | 1 | zecke | |
32 | 5 | laforge | The output of the layer23 application is currently looking like this: |
33 | 2 | zecke | {{{ |
34 | Found CCCH burst(s): TDMA: (0003/08/39) tc:3 49 06 1b 3b 80 62 f2 20 01 3a c8 07 0a 15 65 04 b9 00 00 80 00 02 1b si: 0x1b |
||
35 | SI3 on wrong TC |
||
36 | Found sync burst: SNR: 16384 TDMA: (0003/15/46) bsic: 49 |
||
37 | Found sync burst: SNR: 16384 TDMA: (0003/25/05) bsic: 49 |
||
38 | Found sync burst: SNR: 16384 TDMA: (0003/09/15) bsic: 49 |
||
39 | Found sync burst: SNR: 16384 TDMA: (0003/19/25) bsic: 49 |
||
40 | Found CCCH burst(s): TDMA: (0003/07/39) tc:4 31 06 1c 62 f2 20 01 3a 65 04 b9 00 00 80 00 53 2b 2b 2b 2b 2b 2b 2b si: 0x1c |
||
41 | SI4 on wrong TC |
||
42 | Found sync burst: SNR: 16384 TDMA: (0003/14/46) bsic: 49 |
||
43 | Found sync burst: SNR: 16384 TDMA: (0003/24/05) bsic: 49 |
||
44 | Found sync burst: SNR: 16384 TDMA: (0003/08/15) bsic: 49 |
||
45 | Found sync burst: SNR: 16384 TDMA: (0003/18/25) bsic: 49 |
||
46 | 1 | zecke | Found CCCH burst(s): TDMA: (0003/06/39) tc:5 01 06 00 b0 00 58 47 eb 4a 92 53 40 62 84 eb 2b 2b 2b 2b 2b 2b 2b 2b si: 0x0 |
47 | 2 | zecke | SI13 on wrong TC |
48 | 1 | zecke | }}} |
49 | |||
50 | 2 | zecke | === Goals === |
51 | |||
52 | 6 | laforge | The goal for the layer2+ application is to turn it into a complete GSM Stack for Mobile stations. |
53 | This will include handling of GSM Layer2 (LAPDm, GSM 04.06), GSM Layer3 (GSM 04.08). |