OsmocomBB Firmware » History » Version 8
jolly, 02/19/2016 10:49 PM
Add "menu" and "EMI" applications.
1 | 1 | ||
---|---|---|---|
2 | 8 | jolly | {{>toc}} |
3 | 1 | ||
4 | 8 | jolly | |
5 | h1. Background |
||
6 | |||
7 | The [[OsmocomBB]] source code comes with several applications for various purposes. |
||
8 | 2 | nion | Those applications can be devided into two separate classes, applications: |
9 | 8 | jolly | * running on the baseband chip of the phone |
10 | * running on a PC, communicating with the baseband firmware over serial |
||
11 | 2 | nion | |
12 | 3 | nion | Applications running on the PC can further be partitioned into: |
13 | 8 | jolly | * Firmware management software (loading, flashing, ...) |
14 | * GSM Layer 2/3 applications |
||
15 | 1 | ||
16 | The following will provide you a rough overview of the most commonly used software pieces. |
||
17 | |||
18 | |||
19 | |||
20 | |||
21 | 8 | jolly | h1. Baseband firmware |
22 | |||
23 | |||
24 | 1 | Binary location: src/target/firmware/board/*/*.bin |
|
25 | Source locations: src/target/firmware/, particularly apps and layer1 |
||
26 | |||
27 | |||
28 | 8 | jolly | h2. layer1 |
29 | |||
30 | [[layer1bin]] is a simple GSM layer 1 proxy, communicating over the [[L1A_L23_Interface]]. |
||
31 | |||
32 | 5 | nion | This allows you to run a full-blown GSM implementation on your host machine, communicating through the phones radio interface. |
33 | |||
34 | 1 | ||
35 | 8 | jolly | h2. loader |
36 | 1 | ||
37 | 8 | jolly | [[loaderbin]] is our flash loader, dumper and second stage bootloader |
38 | |||
39 | |||
40 | h2. l1test |
||
41 | |||
42 | |||
43 | 1 | Layer 1 development application. |
|
44 | |||
45 | This application does what layer1 does, but automatically tunes to the strongest ARFCN it can find. |
||
46 | |||
47 | It can be used for stand-alone-testing of the phones radio. |
||
48 | |||
49 | |||
50 | 8 | jolly | h2. loader |
51 | 1 | ||
52 | |||
53 | 8 | jolly | Our [[Bootloader]], available in various build configurations. |
54 | |||
55 | |||
56 | h2. compal_dsp_dump |
||
57 | |||
58 | |||
59 | 1 | Application for dumping the contents of the DSP in the Calypso chip. |
|
60 | |||
61 | |||
62 | 8 | jolly | h2. compal_dumper |
63 | 7 | jolly | |
64 | 1 | ||
65 | 8 | jolly | The old compal device dumper. Use [[Bootloader]] instead once it is available. |
66 | |||
67 | |||
68 | h2. hello_world |
||
69 | |||
70 | |||
71 | 1 | The initial obligatory "Hello, world!" application. |
|
72 | |||
73 | 7 | jolly | Currently, this does more than say hello. Intended as a template for new applications. |
74 | 1 | ||
75 | |||
76 | 8 | jolly | h2. menu |
77 | 1 | ||
78 | |||
79 | 8 | jolly | Boot menu application to select and load apps that are stored in flash memory. See [[flashing_new]]. |
80 | |||
81 | |||
82 | h2. rssi |
||
83 | |||
84 | |||
85 | 1 | The [blog:rssi-firmware] can be used to monitor the received signal indication (RSSI) of ARFCNs or the entire spectrum. |
|
86 | |||
87 | |||
88 | 8 | jolly | h2. EMI |
89 | 1 | ||
90 | |||
91 | 8 | jolly | The EMI (electro magnetic interference) simulator application can be used to generate RF interference caused by GSM networks an mobile station. See [[emi-firmware]]. |
92 | 1 | ||
93 | 8 | jolly | |
94 | |||
95 | |||
96 | h1. Firmware management software |
||
97 | |||
98 | 1 | Location (source and binary): src/host/osmocon |
|
99 | |||
100 | 2 | nion | |
101 | 8 | jolly | h2. osmocon |
102 | |||
103 | [[osmocon]] is a console tool for interfacing our baseband firmware on the phone with applications on the host PC. |
||
104 | |||
105 | 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. |
106 | |||
107 | 1 | ||
108 | 8 | jolly | h2. osmoload |
109 | 1 | ||
110 | 8 | jolly | [[osmoload]] is used to write, dump and examine flash memory of supported phones. |
111 | 1 | ||
112 | 8 | jolly | You will need this program for example if you intent [[flashing]] an application to the phone (the software is usually loaded into RAM). |
113 | 1 | ||
114 | 2 | nion | |
115 | 8 | jolly | h2. calypso_pll |
116 | |||
117 | The [[calypso_pll]] tool can be used to calculate Calypso DPLL multiplier+divider. |
||
118 | |||
119 | |||
120 | h2. rita_pll |
||
121 | |||
122 | The [[rita_pll]] tool can be used to calculate the Rita PLL multiplier/divider. |
||
123 | |||
124 | |||
125 | |||
126 | h1. GSM Layer 2/3 applications |
||
127 | |||
128 | 3 | nion | Location (source and binary): src/host/layer23/* |
129 | 1 | ||
130 | 3 | nion | Layer 3 applications implement various functionality based on GSM Layer 3 in combination with Layer 2 (LAPDm). |
131 | |||
132 | 1 | ||
133 | 8 | jolly | h2. mobile |
134 | |||
135 | [[mobile]] is the most sophisticated [[OsmocomBB]] application so far. |
||
136 | |||
137 | 3 | nion | It implements most of the behavior of a regular GSM telephone, but is extended in many ways with features interesting to researchers. |
138 | 2 | nion | |
139 | 8 | jolly | |
140 | h2. cell_log |
||
141 | |||
142 | 2 | nion | The cell_log application scans through valid available carrier frequencies, attempts to sync to them and dumps information gathered from the BCCH. |
143 | |||
144 | It is usually used to create a list of used ARFCNs and information such as their reception levels, MNC, MCC, and System Information. |
||
145 | 1 | ||
146 | 8 | jolly | |
147 | h2. ccch_scan |
||
148 | |||
149 | 2 | nion | The ccch_scan application can sync to a carrier ARFCN and logs power measurement and CCCH information (paging requests and Immediate Assignments). |
150 | |||
151 | 8 | jolly | |
152 | h2. bcch_scan |
||
153 | |||
154 | 2 | nion | bcch_scan is basically a predecessor of cell_log and logs information as observed on the BCCH (System Information). |
155 | |||
156 | 8 | jolly | |
157 | h2. cbch_sniff |
||
158 | |||
159 | 1 | cbch_sniff dumps cell broadcast channel information such as, e.g., GPS location of the cell. |