OsmocomBB Firmware » History » Version 6
nion, 02/19/2016 10:48 PM
1 | 1 | ||
---|---|---|---|
2 | [[PageOutline]] |
||
3 | |||
4 | 2 | nion | = Background = |
5 | The OsmocomBB source code comes with several applications for various purposes. |
||
6 | Those applications can be devided into two separate classes, applications: |
||
7 | * running on the baseband chip of the phone |
||
8 | * running on a PC, communicating with the baseband firmware over serial |
||
9 | 1 | ||
10 | 2 | nion | Applications running on the PC can further be partitioned into: |
11 | * Firmware management software (loading, flashing, ...) |
||
12 | 3 | nion | * GSM Layer 2/3 applications |
13 | 1 | ||
14 | 2 | nion | The following will provide you a rough overview of the most commonly used software pieces. |
15 | 1 | ||
16 | |||
17 | |||
18 | 2 | nion | = Baseband firmware = |
19 | |||
20 | Binary location: src/target/firmware/board/*/*.bin |
||
21 | Source locations: src/target/firmware/, particularly apps and layer1 |
||
22 | |||
23 | 1 | == layer1 == |
|
24 | 5 | nion | [wiki:layer1.bin] is a simple GSM layer 1 proxy, communicating over the [wiki:L1A_L23_Interface]. |
25 | 1 | ||
26 | This allows you to run a full-blown GSM implementation on your host machine, communicating through the phones radio interface. |
||
27 | 5 | nion | |
28 | == loader == |
||
29 | [wiki:loader.bin] is our flash loader, dumper and second stage bootloader |
||
30 | |||
31 | 1 | == l1test == |
|
32 | |||
33 | Layer 1 development application. |
||
34 | |||
35 | This application does what layer1 does, but automatically tunes to the strongest ARFCN it can find. |
||
36 | |||
37 | It can be used for stand-alone-testing of the phones radio. |
||
38 | |||
39 | == loader == |
||
40 | |||
41 | Our [wiki:Bootloader], available in various build configurations. |
||
42 | |||
43 | == compal_dsp_dump == |
||
44 | |||
45 | Application for dumping the contents of the DSP in the Calypso chip. |
||
46 | |||
47 | == compal_dumper == |
||
48 | |||
49 | The old compal device dumper. Use [wiki:Bootloader] instead once it is available. |
||
50 | |||
51 | == hello_world == |
||
52 | |||
53 | The initial obligatory "Hello, world!" application. |
||
54 | |||
55 | Currently, this does more than say hello. Intended as a template for new applications. |
||
56 | 2 | nion | |
57 | == rssi == |
||
58 | |||
59 | The [blog:rssi-firmware] can be used to monitor the received signal indication (RSSI) of ARFCNs or the entire spectrum. |
||
60 | |||
61 | |||
62 | |||
63 | = Firmware management software = |
||
64 | Location (source and binary): src/host/osmocon |
||
65 | |||
66 | == osmocon == |
||
67 | [wiki:osmocon] is a console tool for interfacing our baseband firmware on the phone with applications on the host PC. |
||
68 | 4 | nion | |
69 | 2 | nion | It is responsible for downloading a baseband firmware or bootloader into the phone and relay communication between Layer 3 applications and baseband firmwares over serial. |
70 | |||
71 | 1 | == osmoload == |
|
72 | 4 | nion | [wiki:osmoload] is used to write, dump and examine flash memory of supported phones. |
73 | |||
74 | 2 | nion | You will need this program for example if you intent [wiki:flashing] an application to the phone (the software is usually loaded into RAM). |
75 | 1 | ||
76 | 3 | nion | == calypso_pll == |
77 | The [wiki:calypso_pll] tool can be used to calculate Calypso DPLL multiplier+divider. |
||
78 | 1 | ||
79 | 3 | nion | == rita_pll == |
80 | The [wiki:rita_pll] tool can be used to calculate the Rita PLL multiplier/divider. |
||
81 | 1 | ||
82 | 3 | nion | |
83 | = GSM Layer 2/3 applications = |
||
84 | 2 | nion | Location (source and binary): src/host/layer23/* |
85 | |||
86 | 3 | nion | Layer 3 applications implement various functionality based on GSM Layer 3 in combination with Layer 2 (LAPDm). |
87 | 2 | nion | |
88 | == mobile == |
||
89 | 1 | [wiki:mobile] is the most sophisticated OsmocomBB application so far. |
|
90 | 4 | nion | |
91 | 2 | nion | It implements most of the behavior of a regular GSM telephone, but is extended in many ways with features interesting to researchers. |
92 | |||
93 | == cell_log == |
||
94 | 1 | The cell_log application scans through valid available carrier frequencies, attempts to sync to them and dumps information gathered from the BCCH. |
|
95 | 4 | nion | |
96 | 2 | nion | It is usually used to create a list of used ARFCNs and information such as their reception levels, MNC, MCC, and System Information. |
97 | |||
98 | == ccch_scan == |
||
99 | The ccch_scan application can sync to a carrier ARFCN and logs power measurement and CCCH information (paging requests and Immediate Assignments). |
||
100 | |||
101 | == bcch_scan == |
||
102 | bcch_scan is basically a predecessor of cell_log and logs information as observed on the BCCH (System Information). |
||
103 | |||
104 | == cbch_sniff == |
||
105 | cbch_sniff dumps cell broadcast channel information such as, e.g., GPS location of the cell. |