Project

General

Profile

OsmocomBB Firmware » History » Version 8

jolly, 02/19/2016 10:49 PM
Add "menu" and "EMI" applications.

1 1 prom
2 8 jolly
{{>toc}}
3 1 prom
4 8 jolly
5 8 jolly
h1. Background
6 8 jolly
7 8 jolly
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 8 jolly
* 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 8 jolly
* GSM Layer 2/3 applications
15 1 prom
16 1 prom
The following will provide you a rough overview of the most commonly used software pieces.
17 1 prom
18 1 prom
19 1 prom
20 1 prom
21 8 jolly
h1. Baseband firmware
22 8 jolly
23 8 jolly
24 1 prom
Binary location: src/target/firmware/board/*/*.bin
25 1 prom
Source locations: src/target/firmware/, particularly apps and layer1
26 1 prom
27 1 prom
28 8 jolly
h2. layer1
29 8 jolly
30 8 jolly
[[layer1bin]] is a simple GSM layer 1 proxy, communicating over the [[L1A_L23_Interface]].
31 8 jolly
32 5 nion
This allows you to run a full-blown GSM implementation on your host machine, communicating through the phones radio interface.
33 5 nion
34 1 prom
35 8 jolly
h2. loader
36 1 prom
37 8 jolly
[[loaderbin]] is our flash loader, dumper and second stage bootloader
38 8 jolly
39 8 jolly
40 8 jolly
h2. l1test
41 8 jolly
42 8 jolly
43 1 prom
Layer 1 development application.
44 1 prom
45 1 prom
This application does what layer1 does, but automatically tunes to the strongest ARFCN it can find.
46 1 prom
47 1 prom
It can be used for stand-alone-testing of the phones radio.
48 1 prom
49 1 prom
50 8 jolly
h2. loader
51 1 prom
52 1 prom
53 8 jolly
Our [[Bootloader]], available in various build configurations.
54 8 jolly
55 8 jolly
56 8 jolly
h2. compal_dsp_dump
57 8 jolly
58 8 jolly
59 1 prom
Application for dumping the contents of the DSP in the Calypso chip.
60 1 prom
61 1 prom
62 8 jolly
h2. compal_dumper
63 7 jolly
64 1 prom
65 8 jolly
The old compal device dumper. Use [[Bootloader]] instead once it is available.
66 8 jolly
67 8 jolly
68 8 jolly
h2. hello_world
69 8 jolly
70 8 jolly
71 1 prom
The initial obligatory "Hello, world!" application.
72 1 prom
73 7 jolly
Currently, this does more than say hello. Intended as a template for new applications.
74 1 prom
75 1 prom
76 8 jolly
h2. menu
77 1 prom
78 1 prom
79 8 jolly
Boot menu application to select and load apps that are stored in flash memory. See [[flashing_new]].
80 8 jolly
81 8 jolly
82 8 jolly
h2. rssi
83 8 jolly
84 8 jolly
85 1 prom
The [blog:rssi-firmware] can be used to monitor the received signal indication (RSSI) of ARFCNs or the entire spectrum.
86 1 prom
87 1 prom
88 8 jolly
h2. EMI
89 1 prom
90 1 prom
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 prom
93 8 jolly
94 8 jolly
95 8 jolly
96 8 jolly
h1. Firmware management software
97 8 jolly
98 1 prom
Location (source and binary): src/host/osmocon
99 1 prom
100 2 nion
101 8 jolly
h2. osmocon
102 8 jolly
103 8 jolly
[[osmocon]] is a console tool for interfacing our baseband firmware on the phone with applications on the host PC.
104 8 jolly
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 2 nion
107 1 prom
108 8 jolly
h2. osmoload
109 1 prom
110 8 jolly
[[osmoload]] is used to write, dump and examine flash memory of supported phones.
111 1 prom
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 prom
114 2 nion
115 8 jolly
h2. calypso_pll
116 8 jolly
 
117 8 jolly
The [[calypso_pll]] tool can be used to calculate Calypso DPLL multiplier+divider.
118 8 jolly
119 8 jolly
120 8 jolly
h2. rita_pll
121 8 jolly
122 8 jolly
The [[rita_pll]] tool can be used to calculate the Rita PLL multiplier/divider.
123 8 jolly
124 8 jolly
125 8 jolly
126 8 jolly
h1. GSM Layer 2/3 applications
127 8 jolly
 
128 3 nion
Location (source and binary): src/host/layer23/*
129 1 prom
130 3 nion
Layer 3 applications implement various functionality based on GSM Layer 3 in combination with Layer 2 (LAPDm).
131 3 nion
132 1 prom
133 8 jolly
h2. mobile
134 8 jolly
135 8 jolly
[[mobile]] is the most sophisticated [[OsmocomBB]] application so far.
136 8 jolly
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 8 jolly
h2. cell_log
141 8 jolly
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 2 nion
144 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.
145 1 prom
146 8 jolly
147 8 jolly
h2. ccch_scan
148 8 jolly
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 2 nion
151 8 jolly
152 8 jolly
h2. bcch_scan
153 8 jolly
154 2 nion
bcch_scan is basically a predecessor of cell_log and logs information as observed on the BCCH (System Information).
155 2 nion
156 8 jolly
157 8 jolly
h2. cbch_sniff
158 8 jolly
159 1 prom
cbch_sniff dumps cell broadcast channel information such as, e.g., GPS location of the cell.
Add picture from clipboard (Maximum size: 48.8 MB)