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