OsmocomBB Firmware » History » Version 7
jolly, 02/19/2016 10:48 PM
Add "menu" and "EMI" applications.
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 | 1 | prom | == l1test == |
32 | 1 | prom | |
33 | 1 | prom | Layer 1 development application. |
34 | 1 | prom | |
35 | 1 | prom | This application does what layer1 does, but automatically tunes to the strongest ARFCN it can find. |
36 | 1 | prom | |
37 | 1 | prom | It can be used for stand-alone-testing of the phones radio. |
38 | 1 | prom | |
39 | 1 | prom | == loader == |
40 | 1 | prom | |
41 | 1 | prom | Our [wiki:Bootloader], available in various build configurations. |
42 | 1 | prom | |
43 | 1 | prom | == compal_dsp_dump == |
44 | 1 | prom | |
45 | 1 | prom | Application for dumping the contents of the DSP in the Calypso chip. |
46 | 1 | prom | |
47 | 1 | prom | == compal_dumper == |
48 | 1 | prom | |
49 | 1 | prom | The old compal device dumper. Use [wiki:Bootloader] instead once it is available. |
50 | 1 | prom | |
51 | 1 | prom | == hello_world == |
52 | 1 | prom | |
53 | 1 | prom | The initial obligatory "Hello, world!" application. |
54 | 1 | prom | |
55 | 1 | prom | Currently, this does more than say hello. Intended as a template for new applications. |
56 | 2 | nion | |
57 | 7 | jolly | == menu == |
58 | 7 | jolly | |
59 | 7 | jolly | Boot menu application to select and load apps that are stored in flash memory. See [wiki:flashing_new]. |
60 | 7 | jolly | |
61 | 2 | nion | == rssi == |
62 | 2 | nion | |
63 | 2 | nion | The [blog:rssi-firmware] can be used to monitor the received signal indication (RSSI) of ARFCNs or the entire spectrum. |
64 | 7 | jolly | |
65 | 7 | jolly | == EMI == |
66 | 7 | jolly | |
67 | 7 | jolly | The EMI (electro magnetic interference) simulator application can be used to generate RF interference caused by GSM networks an mobile station. See [wiki:emi-firmware]. |
68 | 2 | nion | |
69 | 2 | nion | |
70 | 2 | nion | |
71 | 2 | nion | = Firmware management software = |
72 | 2 | nion | Location (source and binary): src/host/osmocon |
73 | 2 | nion | |
74 | 2 | nion | == osmocon == |
75 | 2 | nion | [wiki:osmocon] is a console tool for interfacing our baseband firmware on the phone with applications on the host PC. |
76 | 4 | nion | |
77 | 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. |
78 | 2 | nion | |
79 | 1 | prom | == osmoload == |
80 | 4 | nion | [wiki:osmoload] is used to write, dump and examine flash memory of supported phones. |
81 | 4 | nion | |
82 | 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). |
83 | 1 | prom | |
84 | 3 | nion | == calypso_pll == |
85 | 3 | nion | The [wiki:calypso_pll] tool can be used to calculate Calypso DPLL multiplier+divider. |
86 | 1 | prom | |
87 | 3 | nion | == rita_pll == |
88 | 3 | nion | The [wiki:rita_pll] tool can be used to calculate the Rita PLL multiplier/divider. |
89 | 1 | prom | |
90 | 3 | nion | |
91 | 3 | nion | = GSM Layer 2/3 applications = |
92 | 2 | nion | Location (source and binary): src/host/layer23/* |
93 | 2 | nion | |
94 | 3 | nion | Layer 3 applications implement various functionality based on GSM Layer 3 in combination with Layer 2 (LAPDm). |
95 | 2 | nion | |
96 | 2 | nion | == mobile == |
97 | 1 | prom | [wiki:mobile] is the most sophisticated OsmocomBB application so far. |
98 | 4 | nion | |
99 | 2 | nion | It implements most of the behavior of a regular GSM telephone, but is extended in many ways with features interesting to researchers. |
100 | 2 | nion | |
101 | 2 | nion | == cell_log == |
102 | 1 | prom | The cell_log application scans through valid available carrier frequencies, attempts to sync to them and dumps information gathered from the BCCH. |
103 | 4 | nion | |
104 | 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. |
105 | 2 | nion | |
106 | 2 | nion | == ccch_scan == |
107 | 2 | nion | The ccch_scan application can sync to a carrier ARFCN and logs power measurement and CCCH information (paging requests and Immediate Assignments). |
108 | 2 | nion | |
109 | 2 | nion | == bcch_scan == |
110 | 2 | nion | bcch_scan is basically a predecessor of cell_log and logs information as observed on the BCCH (System Information). |
111 | 2 | nion | |
112 | 2 | nion | == cbch_sniff == |
113 | 2 | nion | cbch_sniff dumps cell broadcast channel information such as, e.g., GPS location of the cell. |