Layer23 » History » Version 8
Anonymous, 02/19/2016 10:49 PM
layer23 is now called ccch_scan; Goals seems to be out of date so I removed it.
1 | 1 | zecke | [[PageOutline]] |
---|---|---|---|
2 | 8 | zecke | = ccch_scan = |
3 | 1 | zecke | |
4 | 8 | zecke | The ''ccch_scan'' program (formerly layer23) is the playground we use for developing the GSM Protocol layers 2 and 3 (GSM TS 04.05, 04.06, 04.08) |
5 | 5 | laforge | |
6 | 8 | zecke | Using the ccch_scan 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 | 7 | laforge | * Send the Layer1 frames as [wiki:GSMTAP] packets to wireshark (see [wiki:WiresharkIntegration]) |
11 | 8 | zecke | * forward the Layer1 frames to the Layer2 / LAPDm implementation inside ccch_scan |
12 | * forward them from Layer2 into Layer3 code inside ccch_scan. |
||
13 | 6 | laforge | * receive outgoing frames from Layer3 |
14 | * process them through layer2 |
||
15 | 7 | laforge | * send them as uplink frames to [wiki:GSMTAP] |
16 | 6 | laforge | * send them to the Layer1 on the phone |
17 | 5 | laforge | |
18 | 8 | zecke | The ''ccch_scan'' program is used in combination with the [wiki:layer1.bin] firmware. |
19 | 1 | zecke | |
20 | === Usage === |
||
21 | 5 | laforge | {{{ |
22 | 8 | zecke | ./ccch_scan -a 871 -i 127.0.0.1 |
23 | 1 | zecke | }}} |
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 | 7 | laforge | to which the [wiki:GSMTAP] messages are to be sent. |
27 | 6 | laforge | |
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 | 8 | zecke | The output of the ccch_scan 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 | 1 | zecke | SI4 on wrong TC |
42 | 2 | zecke | Found sync burst: SNR: 16384 TDMA: (0003/14/46) bsic: 49 |
43 | 1 | zecke | Found sync burst: SNR: 16384 TDMA: (0003/24/05) bsic: 49 |
44 | Found sync burst: SNR: 16384 TDMA: (0003/08/15) bsic: 49 |
||
45 | 2 | zecke | Found sync burst: SNR: 16384 TDMA: (0003/18/25) bsic: 49 |
46 | 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 | 6 | laforge | SI13 on wrong TC |
48 | }}} |