Hi,
I've hacked something together to quickly test non-combined CCCH.
However, I've hit a problem when trying to receive anything on another
timeslot than 0.
The TX side seems to work fine as the BTS can see my location update
request and answers with a reject, but on the MS side, I never see the
reject and wireshark only shows invalid incohrent data on the RX.
The frames for SDCCH/8 show really nothing valid (looks like random
bytes), things like
09 80 7f 47 49 06 1d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
09 00 47 d5 2d 06 1e 00 00 69 7c a0 91 3d 22 ff ab fe 6c 4f 56 4f 36
...
while the frames for the associated SAACH show at least something gsm-like :
03 03 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b
but that's not quite a SI5/6 ...
To RX/TX on TS=1, I just delayed the RX/TX window by 625 bits (4 *
156.25) when I'm in dedicated channel mode by chaning the 'start' in
l1s_tx_win_ctrl / l1s_rx_win_ctrl
Is there something else that should be done ?
Cheers,
Sylvain
Hi!
Recently we've had the idea of using OsmocomBB with a simple firmware
that synchronizes to an existing GSM networks FCCH and use the resulting
13MHz clock to drive the USRP for airprobe or OpenBTS.
Ideally, we would even use the Calypso-internal PLL (for ARM or DSP) to
multiply it up to the required 52 MHz. However, neither the Openmoko
nor the Compal/Motorola phones expose any of the 3 clock output pads :(
So the only choice is to use something along the lines of the
http://focus.ti.com/docs/prod/folders/print/cdcvf25084.html
as a quad clock multiplier and attach it to the CLK13OUT signal of the
phone.
The chip is available for 9 USD in single quantities at digikey, and
possibly cheaper at other sources. Combined with a sub-20EUR phone it
might be a very cheap but still accurate frequency source for OpenBTS -
at least as long as there are any commercial gsm networks available.
Regards,
Harald
--
- Harald Welte <laforge(a)gnumonks.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Hi All!
That's true, I managed to run U-Boot on MT6235, but linux kernel is
not fully functional yet (it's fresh stuff as I managed to ran it on
Tuesday and then I was off to conference).
For MT6235 development I chose Sciphone G2, which is pretty cheap.
After some time I managed to download code to SRAM (just 64KB) using
MTK's FlashTool.
MTK FlashTool communicates over UART directly with MT6235 bootloader
and sends its own chunk of code (about 58KB) which is executed in SRAM
and communicates with FlashTool.
I found on pudn.com some pack to customize code loaded by FlashTool,
thanks to which I could download my own code to SRAM (without JTAG).
The problem was that it had to be linked with some security libraries
which occupied about 56KB and not much memory left for my own code.
Then I decided to try find JTAG pins to get all control on MT6235.
That took me sometime, but finally I succeeded.
The other bigger issue was initializing DRAM controller to be able to
download bigger code (linux kernel + uboot) to external RAM. In
sciphone there is problem that all interesting chips are under metal
shield which is pretty havily soldered. In this case I couldn't read
what kind of RAM memory is mounted without destroying the board (I
don't have such soldering machine which could unsolder so big metal
shield). Thanks to JTAG I could attach to target and then dump DRAM
controller registers from processor running MTK's software, but
setting these values after processor start and configuration of PLL
didn't work.
I decided to disassemble bootloader which could show me how DRAM
controller is initialized and how code fron NAND is loaded (to be able
to flash U-Boot and kernel to NAND so MT6235 will start my code
automatically and I will not have to use JTAG). Currently I have
knowledge how internal MT6235 bootloader is loading code from memory
during startup and I also extracted procedure of DRAM controller
initialization. Thanks to that I'm able to run U-Boot from the very
begining of processor startup.
The problem is that I have just one piece of Sciphone G2 and I don't
want to flash it yet to not break existing code in it. Thanks to
running device I'm able to attach with JTAG and check how peripherals
are configured (i.e. LCD, MMC, etc.). I have backup of flash, but I'm
not 100% sure if I will flash it back, phone will startup. That's why
I bought second piece of Sciphone G2 and should receive it today or on
Tuesday (this Monday is holiday in Poland). In this case I'll flash
U-Boot to NAND and try to make it working. Then we could load the rest
of code from U-Boot (to RAM or NAND over serial).
You can see how my setup looks on attached picture.
The good thing about it is that the same bootloader is used in MT622x,
so it should be fairly easy to do the same on phones based on that
SoCs (but unfortuantely it's just ARM7).
If it comes to code, of course I can share it on "git.osmocom.org".
Currently it's just basic port of U-Boot and not much for linux
kernel, but I'm working on this now so I'll push it when it'll be
ready.
Currently I'm working on driver for NAND memory for U-Boot, so we
could flash linux kernel. When that will be ready I'll push the code.
Then I'll switch to linux kernel and when it'll be functional I also
push the code. At this stage you will not need to have JTAG and you
could load the code over serial in U-Boot.
If it comes to GSM I didn't work with it before. I actualy worked 6
months in L2/3 team for LTE (on RRC) but it's different story.
That could be really outstanding thing if we could run first phone
ever with whole code open (from BB up to APP).
BR,
Marcin
Hi guys,
I dunno if that is the right place for my concern about building the
osmocomBB source. Here is what I already have done:
- downloading the sources for osmocomBB and GNU toolchain for ARM,
- setting the PATH for the arm-elf-* executables,
- calling make in the src directory.
Now, this appears as response of the make command in the terminal:
cd shared/libosmocore/build-host && ../configure
configure: error: cannot find install-sh, install.sh, or shtool in ".."
"../.." "../../.."
make: *** [shared/libosmocore/build-host/Makefile] Error 1.
If you need details about my system, you can look at the following
snippet from the config.log file:
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by libosmocore configure UNKNOWN, which was
generated by GNU Autoconf 2.65. Invocation command line was
$ ../configure
## --------- ##
## Platform. ##
## --------- ##
hostname = ubuntu-stefan
uname -m = x86_64
uname -r = 2.6.32-24-generic
uname -s = Linux
uname -v = #41-Ubuntu SMP Thu Aug 19 01:38:40 UTC 2010
/usr/bin/uname -p = unknown
/bin/uname -X = unknown
/bin/arch = unknown
/usr/bin/arch -k = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo = unknown
/bin/machine = unknown
/usr/bin/oslevel = unknown
/bin/universe = unknown
PATH: /usr/local/sbin
PATH: /usr/local/bin
PATH: /usr/sbin
PATH: /usr/bin
PATH: /sbin
PATH: /bin
PATH: /usr/games
PATH: /home/stefan/osmocomBB/gnuarm-4.0.2/bin
## ----------- ##
## Core tests. ##
## ----------- ##
configure:2032: error: cannot find install-sh, install.sh, or shtool in
".." "../.." "../../..".
So, I would be very glad, if someone could give me a hint to solve the
problem. Thank you in advance.
Regards,
begy
Hi all, my name is Jose Pereira, and i'm very interested in helping you with
some code! I've wrote the buzzer driver for calypso, not so sure if will
help you of anything, but was just for experimenting :)
Anyway, i send the patch in attachement. The interface can be simply
#include <calypso/buzzer.h>
buzzer_mode_pwt(1);
buzzer_volume(40);
buzzer_note(NOTE(NOTE_E,OCTAVE_5));
Please let me know what do you think of the code, and in what way i can
further help.
Best regards,
--
José Pereira
http://onaips.blogspot.com
Hi All!
At my OpenBSC / OsmocomBB talk here at the Embedded Linux Conference Europe,
one of the attendees (Marcin, see Cc) came to me after the talk and told me he
had recently done a u-boot and Linux kernel port to the MT6235 (that's the
ARM926 based chipsets found in the touchscreen MTK phones).
He said he has no understanding of GSM or the existing MTK firmware, but is
interested in working together with us to try to make the GSM part work.
I think that chipset is very intesting, as we could implement the layer1
inside the Linux kernel (and submit that mainline, yay!) and run our layer2 and
layer3 implementations as userspace processes on the Linux system, together
with the user interface.
The performance of those devices should be somewhere between the Openmoko GTA01
and GTA02, and the GSM stack is certainly not going to eat away a lot of the
CPU either.
I have asked Marcin to write mail to the OsmocomBB mailing list on where we can
find the code. He has so far downloaded the code using JTAG. Combining his
code with our ramloader might remove that JTAG dependency...
Marcin: if you want to push your u-boot / kernel to git.osmocom.org, or want a
separate trac installation for your mtk-linux work, pleaes let me know, I'd be
happy to host that.
Regards,
Harald
--
- Harald Welte <laforge(a)gnumonks.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Hi all,
I would like to propose moving the config file into something like ~/.osmocom/
and not put it in a system wide directory. The path in /etc/ is the only
part of OsmocomBB that requires root privileges, and I don't really think
that in a case of multiple users you would want to e.g. share stuff like
the IMSI / Ki anyway.
What do you think?
--
- Harald Welte <laforge(a)gnumonks.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Hello,
I'm newbie to osmocomm and GSM too....I'm studying the protocol and the
source code...but I have many doubts...the first one is the following:
1. Which are the routines handling FCCH and SCH in osmocom source code?
2. When I load layer1 firmware and load mobile app, FCCH and SCH are
automatically handled by this application?
Sorry if my questions are stupid for you, but it's a litlle bit complicate
moving in the code, above all for a newbie.
Thanks in advance.
--
View this message in context: http://baseband-devel.722152.n3.nabble.com/FCCH-and-SCH-tp2363201p2363201.h…
Sent from the baseband-devel mailing list archive at Nabble.com.
Hello,
I was walking through trac while I came across this file:
http://bb.osmocom.org/trac/browser/src/host/layer23/src/common/sim.c
I see here:
183 /* send APDU to card reader */
184 static int sim_apdu_send(struct osmocom_ms *ms, uint8_t *data,
uint16_t length)
185 {
186 LOGP(DSIM, LOGL_INFO, "sending APDU (class 0x%02x, ins 0x%02x)\n",
187 data[0], data[1]);
188 l1ctl_tx_sim_req(ms, data, length);
189 return 0;
190 }
ohoh, that's hardcoded.
If we would like to have a software SIM, a SIM in a card reader on the
PC, or a real sim in the MS, I think this would this be the correct
place to plug a modular sim implementation.
I mean something that looks like:
struct osmocom_sim_ops {
int (*sim_apdu_init)(.....);
int (*sim_apdu_fini)(.....);
void (*sim_op_reset)(.....);
void (*sim_apdu_send)(.....);
void (*sim_response_callback)(.....);
};
void ms_register_sim_driver(struct osmocom_ms *ms, struct osmocom_sim_ops *ops);
this could be a part of struct osmocom_ms.
I would be easy to have 3 implementations:
-sim in the mobile, using the current calls 'l1ctl_tx_sim_req'
'l1ctl_tx_sim_conf'
-sim in PCSC using pcsclite or winscard, and a command-line option to
select the reader (by index, by name, or first reader with a card
inside for simple setups)
-virtual sim using pure software
What do you think about this?
Regards
Sebastien
Hi laf0rge,
I was building the firmware with a GCC 4.5.2 created by Steve-m's script and
had to include limits.h for UINT_MAX. While reading the code I stumbled across
a typo... I think the patches can be picked to master as well.
holger
hi,
I'll be listing some issues I found in SIMtrace.
This is to warn future users.
I don't have time now, but I intend to work on this project in 1 or 2
weeks and correct these bugs.
1. when starting host program simtrace, the firmware will first return
ATR. This is an error if simtrace is started after the card has been
reseted. The program should use the state of the reset and vcc lines to
know the state.
2. when using a usb hub, having a lot of USB traffic, or poor USB signal
quality (I don't know exactly), bulk read timeouts can occur in host program
simtrace/at91sam7/host/main.c line 230:
rc = usb_bulk_read(udev, SIMTRACE_IN_EP, buf, sizeof(buf), 100000);
rc is -110 (REQUEST_TIMEOUT). I increased the timeout (100000) so to
have less errors (but they still occur), and I ignore this error instead
of exiting (tracing still works).
3. it seems simtrace can loose track of the I/O stream after some
traffic. see pcsc_apdu.log to see the original, and simtrace_apdu.log
for the captured traffic.
in the end, simtrace misses:
APDU: A0 C0 00 00 0F
and does a wrong following APDU parsing
The problem occurs when using a OmniKey CardMan 5321 and Alcor Micro
AU9520. Thus the reader should not be the origin.
Also, if only the command where the error occurs is sent, no bytes are
skipped. But another error occurs (see next bug)
4. when executing only the last commands, then it is wrongly interpreted
(as ATR), but no bytes are skipped
ATR (12): 3b 0a 41 00 3f 43 00 01 50 29 01 02
ATR (66): a0 a4 00 00 02 a4 7f 20 9f 17 a0 a4 00 00 02 a4 6f ad 9f 0f
a0 c0 00 00 0f c0 00 00 00 03 6f ad 04 00 04 f0 44 01 02 00 00 90 00 a0
b0 00 00 03 b0 00 00 00 90 00 3b 0a 41 00 3f 43 00 01 50 29 01 02
I already wrote a SIM traffic parser for the PC before simtrace
appeared. I used a logic analyzer to record the traffic.
I will integrate the ATR and APDU parsing/checking into the simtrace
firmware. Wrong recorded traffic will be discarded instead of affecting
the rest of the parsing.
thanks,
kevin
Hi,
how about opening the sub-project osmocomSIM ?
This could include:
- SIMtrace from Harald
- SAP server from Andreas
- SIM on javacard from Sébastien
- future software/virtual SIM which could use SAP server
- speaking about A38, Ki, SIM features, ...
kevin
Hi!
So, I decide to play with my G2 SciPhone
(My phone has configuration as follows: 512Mb (64MB) NAND + 32MB RAM)
But I could not run U-Boot...
The first step seems to be good. I run Osmocon and download "loader" to the phone.
I got "Running on mt62xx in environment mtkram HW_CODE = 0x6235" message.
After executing $ ./osmoload memload 0x500000 u-boot.bin
I can see progress and successfull download of u-boot.bin
First of all I tried to use u-boot from here
http://downloads.qi-hardware.com/people/marcin/g2_uboot.bin (http://downloads.qi-hardware.com/people/marcin/g2_uboot.bin)
Executing $ ./osmoload jump 0x500000 leads to... nothing. I can see black screen. That's all.
Also I compilled u-boot from git using toolchain kindly given by Andrew :-)
$ ./osmoload jump 0x500000 leads to gray screen after flashing white for a moment.
It looks like wrong LCD controller or driver.
So... The simple question. What I am doing wrong? :)
---
firmware/src/pcd/main_dumbreader.c | 2 +-
firmware/src/pcd/main_hid.c | 2 +-
firmware/src/pcd/main_presence.c | 2 +-
firmware/src/pcd/main_pwm.c | 2 +-
firmware/src/pcd/main_usb.c | 2 +-
firmware/src/picc/main_openpicc.c | 2 +-
firmware/src/simtrace/main_simtrace.c | 2 +-
7 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/firmware/src/pcd/main_dumbreader.c b/firmware/src/pcd/main_dumbreader.c
index 62695f0..9c8dd13 100644
--- a/firmware/src/pcd/main_dumbreader.c
+++ b/firmware/src/pcd/main_dumbreader.c
@@ -88,7 +88,7 @@ void _main_func(void)
/* first we try to get rid of pending to-be-sent stuff */
usb_out_process();
- /* next we deal with incoming reqyests from USB EP1 (OUT) */
+ /* next we deal with incoming requests from USB EP1 (OUT) */
usb_in_process();
rc632_unthrottle();
diff --git a/firmware/src/pcd/main_hid.c b/firmware/src/pcd/main_hid.c
index 9735c3d..c9d8fd1 100644
--- a/firmware/src/pcd/main_hid.c
+++ b/firmware/src/pcd/main_hid.c
@@ -50,7 +50,7 @@ void _main_func(void)
/* first we try to get rid of pending to-be-sent stuff */
usb_out_process();
- /* next we deal with incoming reqyests from USB EP1 (OUT) */
+ /* next we deal with incoming requests from USB EP1 (OUT) */
usb_in_process();
/* try unthrottling sources since we now are [more] likely to
diff --git a/firmware/src/pcd/main_presence.c b/firmware/src/pcd/main_presence.c
index f61878f..4ead264 100644
--- a/firmware/src/pcd/main_presence.c
+++ b/firmware/src/pcd/main_presence.c
@@ -157,7 +157,7 @@ void _main_func(void)
/* first we try to get rid of pending to-be-sent stuff */
usb_out_process();
- /* next we deal with incoming reqyests from USB EP1 (OUT) */
+ /* next we deal with incoming requests from USB EP1 (OUT) */
usb_in_process();
rc632_unthrottle();
}
diff --git a/firmware/src/pcd/main_pwm.c b/firmware/src/pcd/main_pwm.c
index 7db6b72..50fd363 100644
--- a/firmware/src/pcd/main_pwm.c
+++ b/firmware/src/pcd/main_pwm.c
@@ -262,7 +262,7 @@ void _main_func(void)
/* first we try to get rid of pending to-be-sent stuff */
usb_out_process();
- /* next we deal with incoming reqyests from USB EP1 (OUT) */
+ /* next we deal with incoming requests from USB EP1 (OUT) */
usb_in_process();
/* try unthrottling sources since we now are [more] likely to
diff --git a/firmware/src/pcd/main_usb.c b/firmware/src/pcd/main_usb.c
index fcd3306..7892e77 100644
--- a/firmware/src/pcd/main_usb.c
+++ b/firmware/src/pcd/main_usb.c
@@ -35,7 +35,7 @@ void _main_func(void)
/* first we try to get rid of pending to-be-sent stuff */
usb_out_process();
- /* next we deal with incoming reqyests from USB EP1 (OUT) */
+ /* next we deal with incoming requests from USB EP1 (OUT) */
usb_in_process();
/* try unthrottling sources since we now are [more] likely to
diff --git a/firmware/src/picc/main_openpicc.c b/firmware/src/picc/main_openpicc.c
index 74700f8..93ca4b6 100644
--- a/firmware/src/picc/main_openpicc.c
+++ b/firmware/src/picc/main_openpicc.c
@@ -251,7 +251,7 @@ void _main_func(void)
/* first we try to get rid of pending to-be-sent stuff */
usb_out_process();
- /* next we deal with incoming reqyests from USB EP1 (OUT) */
+ /* next we deal with incoming requests from USB EP1 (OUT) */
usb_in_process();
udp_unthrottle();
diff --git a/firmware/src/simtrace/main_simtrace.c b/firmware/src/simtrace/main_simtrace.c
index 5e4302e..740d35d 100644
--- a/firmware/src/simtrace/main_simtrace.c
+++ b/firmware/src/simtrace/main_simtrace.c
@@ -95,7 +95,7 @@ void _main_func(void)
/* first we try to get rid of pending to-be-sent stuff */
usb_out_process();
- /* next we deal with incoming reqyests from USB EP1 (OUT) */
+ /* next we deal with incoming requests from USB EP1 (OUT) */
usb_in_process();
udp_unthrottle();
--
1.7.3.5
--------------090305060903020708070409--
Hello,
Has anyone managed to read (receive) or to send an SMS to Osmocom phone? I haven't found any vty command that would allow this. Also if I send an SMS to Osmocom the phone starts a location update every 1 minute or so and on the phone that sent the message I get the non-delivery report. Could someone give me some tips on how to send/receive SMS?
Hi,
Could it be possible to enable the ticket system in trac ?
It could be used to add suggestions/bugs/todo/..., avoid overloading the
mailing list, and keep trac of them.
For example, how about changing the mobile welcome message from:
Welcome to the OpenBSC Control interface
to:
Welcome to the osmocom Control interface
it makes more sense when using osmocomBB.
thanks,
kevin
When I look in the output of the mobile app I see that IMSI paging goes almos up to 50%. It's almost like for every TMSI I get below a IMSI paging. That's why I asked from the beginning because I get a lot of IMSI there.
When I look in the output of the mobile app I see that IMSI paging goes almos up to 50%. It's almost like for every TMSI I get below a IMSI paging. That's why I asked from the beginning because I get a lot of IMSI there.
Hi!
I've been playing with some code earlier today, trying to reuse the RR
implementation of 'mobile' but without 'MM' and '03.22' code. Next step was to
play with RR+MM but without 03.22.
Both were not that easy to do, given the various different function calls
between those modules.
While trying to resolve it, I discovered that we have many sequences like
gsm322_msgb_alloc() followed by some error checking and a final
gsm322_plmn_senmsg(). Similar pattersn could be seen for gsm48_mmevent.
I've tried to simplify/unify this code a bit, as you can see from the
attached patches (also in laforge/mobile_event branch). It's not tested
yet, but I would like to get some comments on it.
Initially I thought to use libosmocore signal code, but then signals are
_emitted_, and they don't fit the picture where we have some incoming events
into e.g. 03.22 code - as all the events are already labelled GSM322
and thus by the recipient, not its originator.
So now there is one gsm322_event_input() and a gsm48_mmevent_input()
function each. Somebody who wants to reuse partial 'mobile' code can simply
provide stub functions for either one of those (or both)...
The goal of this exercise is to have a tool that can open a dedicated
channel to a user-specified cell and then send user-specified messages
while optionally taking care of loc upd / auth / ciphering in order
to make the network happy.
Regards,
Harald
--
- Harald Welte <laforge(a)gnumonks.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Hello,
I noticed that when I start the mobile application, after the phone chooses a specific channel I get different messages regarding IMSI saying that it's not for us. What are these messages? Phones that camp on this channel? If so, I tried turning off/on a phone from the same operator but I can't see my IMSI showing up.
Hello,
I have created few patches that aim to add abstraction for gpio
handling. First patch adds functions:
gpio_config - configure gpio as input/output
gpio_read - read state of gpio(s)
gpio_write - write/toggle state of gpio(s)
gpio_set_handler - enables interrupt on given gpio.
Also changes board init files to make them more sane :-)
Second patch adds interrupt demuxing and masking into keypad driver as
gpio and keypad are handled by the same peripheral.
It would make sense to split the keypad driver into calypso-specific
and generic stuff once there is support for other chipsets.
Also note that interrupt levels in datasheet are active low (p.120),
my testing shows otherwise.
Michal Demin
Hi,
sorry if I shouldn`t write correclly, i`m not that good in english.
i have a Motorola c118 and this usb/serial cable:
http://www.gsmbase.de/shop/show_product.php?products_id=620 here
my problem:
compiling was successfully.
than i run osmocon:
./osmocon -p /dev/ttyUSB0 -m c123xor
/home/test/install/osmocom-bb/src/target/firmware/board/compal_e88/layer1.ramload.bin
i pressed power on the phone.
nothing happend.
again.
nothing happend, no output, no upload/download to/from the phone...
what is my fault? can you help me?
i have tested it with: -m 123 ; -m 118xor ; -m 118 (the same thing)
my system is ubuntu 10.10 (not in a virtual box or something else).
thanks a lot,
tobsen
--
View this message in context: http://baseband-devel.722152.n3.nabble.com/doesn-t-get-output-from-osmocon-…
Sent from the baseband-devel mailing list archive at Nabble.com.
Hi guys,
I think it is desparately needed that we write more documentation about the
'mobile' program in our wiki. It just occurred to me today that no such
page exists so far, and I've created it at
http://bb.osmocom.org/trac/wiki/mobile
I believe a simple reference of commands is not even all that important (after
all, there is 'list' in the telnet interface), but somethnig like common
scenarios like
* behaving like a normal phone with cell-selection (using real sim)
* behaving like a normal phone with cell-selection (using simulated sim)
* how to lock to a certain ARFCN/cell
* how to manually trigger location area update
* how to send/receive sms
* how to make mo/mt phone call
It would be great if some of the more experienced people would find a
couple of minutes to contribute to it. Thanks a lot in advance.
Regards,
Harald
--
- Harald Welte <laforge(a)gnumonks.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
This is a Mailman mailing list bounce action notice:
List: baseband-devel
Member: arslangali(a)inbox.ru
Action: Subscription disabled.
Reason: Excessive or fatal bounces.
The triggering bounce notice is attached below.
Questions? Contact the Mailman site administrator at
mailman(a)lists.osmocom.org.
>> To make it work you have to recompile the module pl2303, with this
>> patch
>> (my kernel is 2.6.35.10-74.fc14.i686). Be careful to setup the right
>> values in the kernel root Makefile in order to fit your running
>> kernel.
>
> Not necessarily. You should also be able to check without recompiling.
>
> Just go to the drivers-directory in sysfs:
>
> cd /sys/bus/usb/drivers/<driver>
>
which <driver>?I cannot find any pl2303 driver here. (Debian and ubuntu
8.04)> and echo the data to the file new_id (as root):
>
> echo "067b 0307" > new_id
>
> This should bind the driver to the new_id.
Niko
Hi baseband developers,
a couple days ago I managed to compile osmocom's binaries and firmware
files from a NetBSD host, using a cross-compilation toolchain generated
with the standard build script on this system. This was actually quite
straightforward, but required some patches and tricks, so I figured it'd
be worth posting it here.
I will write the procedure in more details on my blog [1], in my case it
was enough to do this:
$ CPATH="/usr/include" gmake \
CROSS_TOOL_PREFIX="/home/arm/tools/bin/arm--netbsdelf-"
The patch itself is certainly more interesting to discuss here. I do not
expect it to be fully merged, but I think it may raise interesting points:
- src/shared/libosmocore/src/Makefile.am
linking with "-ldl" is hardcoded, but breaks the build on systems
where it is not required; this is a usual portability issue, already
solved about a thousand times, I'll try to come up with a cleaner
solution here.
- src/shared/libosmocore/src/gsm_utils.c
I think this one is quite elegant, allowing to build even without
support for backtraces; an additional #warning would help though/
- src/shared/libosmocore/src/msgfile.c
here I had to bluntly emulate the functionality of the getline()
call, which seems to be specific to glibc; again, it'd certainly be
nicer if I added a test for HAVE_GETLINE or something along this line.
- src/shared/libosmocore/src/talloc.c
again, talloc seems to rely on strnlen() being part of the libc, which
is already known to not be the case on MacOS X; considering it also
absent of NetBSD fixes the build for me.
- src/target/firmware/include/stdint.h
this one is definitely more ugly, since I tricked the cross-compiler
to believe /usr/include matches its specific needs I ended up with
some essential type definitions already; therefore, I am not sure if
this workaround would not be more harmful upstream than not.
Anyway, the actual patch is attached.
A few more things to NetBSD users:
- my previous patch about building without GNU make is also necessary;
- I haven't tested the resulting binaries on a NetBSD host;
- the firmware images seem to be only partly functional at the moment.
HTH,
--
khorben
On 06/08/2010 09:41 PM, Huseyin Turan wrote:
> root@name1-desktop:/home/name1/osmocom/gnuarm-4.0.2/bin# ls -l arm-elf-gcc
> -rwxrwxrwx 1 name1 name1 112344 2006-02-17 23:59 arm-elf-gcc
> root@name1-desktop:/home/name1/osmocom/gnuarm-4.0.2/bin# ./arm-elf-gcc
> bash: ./arm-elf-gcc: cannot execute binary file
> root@name1-desktop:/home/name1/osmocom/gnuarm-4.0.2/bin# uname -a
> Linux name1-desktop 2.6.28-19-generic #61-Ubuntu SMP Wed May 26 23:35:15
> UTC 2010 i686 GNU/Linux
>
please try b.) again (you miss the file part) and also please reply to
the mailinglist.
I just thought of another way of using cell_log without GPS. The resulting KML could be parsed and sent to opencellid project, this way we could get the lat-long coordinates and afterward create another kml and send it to Google.
Ex: http://www.opencellid.org/cell/get?mcc=232&mnc=01&cellid=1721&lac=4269
Or even better, use Google API and this way you could also include the Signal strenght and Timing advance for a better position.
See http://translate.google.com/translate?js=y&prev=_t&hl=en&ie=UTF-8&layout=1&…
--- On Wed, 1/26/11, Bogdan Alecu <b.alecu(a)yahoo.com> wrote:
From: Bogdan Alecu <b.alecu(a)yahoo.com>
Subject: Re: Cell_log > gsmmap
To:
Cc: baseband-devel(a)lists.osmocom.org
Date: Wednesday, January 26, 2011, 7:27 AM
I just thought of another way of using cell_log without GPS. The resulting KML could be parsed and sent to opencellid project, this way we could get the lat-long coordinates and afterward create another kml and send it to Google.
Ex: http://www.opencellid.org/cell/get?mcc=232&mnc=01&cellid=1721&lac=4269
The gnuarm.com toolchain works fine but is very old. And although it is
based on newlib, the os name in the tuple that we used to configure for
is arm-elf-linux, which is of course bogus since we are not building
Linux applications.
Finally, CC= should never be set, instead configure should detect the
right compiler using the --host tuple.
---
src/Makefile | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/Makefile b/src/Makefile
index b3594c1..e66f0ff 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1,10 +1,10 @@
# this is not really used as we don't do 'make install'. You can still specify
# it in case you _want_ to manually 'make install' the target libosmocore.
-CROSS_INST_PREFIX=/usr/local/stow/osmocom-bb/arm-elf
+CROSS_INST_PREFIX ?= /usr/local/stow/osmocom-bb/arm-2010.09
# this is the prefix of your cross-toolchain programs
-CROSS_TOOL_PREFIX=arm-elf-
+CROSS_TOOL_PREFIX ?= arm-none-eabi-
TOPDIR=$(shell pwd)
OSMOCORE_CONFIGURE_ENV= LIBOSMOCORE_LIBS=$(TOPDIR)/shared/libosmocore/build-host/src/.libs/libosmocore.a \
@@ -37,9 +37,9 @@ shared/libosmocore/build-target:
shared/libosmocore/build-target/Makefile: shared/libosmocore/configure shared/libosmocore/build-target
cd shared/libosmocore/build-target && ../configure \
- --host=arm-elf-linux --disable-vty --enable-panic-infloop \
+ --host=arm-none-eabi --disable-vty --enable-panic-infloop \
--disable-shared --disable-talloc --disable-tests \
- CC="$(CROSS_TOOL_PREFIX)gcc" CFLAGS="-Os -ffunction-sections -I$(TOPDIR)/target/firmware/include -nostartfiles -nodefaultlibs"
+ CFLAGS="-Os -ffunction-sections -I$(TOPDIR)/target/firmware/include -nostartfiles -nodefaultlibs"
shared/libosmocore/build-target/src/.libs/libosmocore.a: shared/libosmocore/build-target/Makefile
cd shared/libosmocore/build-target && make
--
1.7.2
The gnuarm.com toolchain works fine but is very old. And although
it is based on newlib, the tuple that we used to configure for was
arm-elf-linux, which is of course bogus since we aren't building
Linux applications.
This patch optimizes for the CodeSourcery G++ Lite 2010.09 ARM EABI
toolchain, and assumes that it was unpacked next to the old one.
Download here:
http://www.codesourcery.com/sgpp/lite/arm/portal/release1592
(I haven't gotten the Linux Installer to work, so I recommend the TAR.)
And since CC is detected by configure when a valid host tuple is given
and that toolchain is sane there's no need for us to hard-code the
gnuarm.com compiler name in our Makefile.
---
src/Makefile | 11 +++++++----
1 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/src/Makefile b/src/Makefile
index b3594c1..f2d935b 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1,10 +1,13 @@
# this is not really used as we don't do 'make install'. You can still specify
# it in case you _want_ to manually 'make install' the target libosmocore.
-CROSS_INST_PREFIX=/usr/local/stow/osmocom-bb/arm-elf
+CROSS_INST_PREFIX ?= /usr/local/stow/osmocom-bb/arm-2010.09
+
+# this is the host tuple of your cross-toolchain
+HOST ?= arm-none-eabi-
# this is the prefix of your cross-toolchain programs
-CROSS_TOOL_PREFIX=arm-elf-
+CROSS_TOOL_PREFIX ?= $(CROSS)-
TOPDIR=$(shell pwd)
OSMOCORE_CONFIGURE_ENV= LIBOSMOCORE_LIBS=$(TOPDIR)/shared/libosmocore/build-host/src/.libs/libosmocore.a \
@@ -37,9 +40,9 @@ shared/libosmocore/build-target:
shared/libosmocore/build-target/Makefile: shared/libosmocore/configure shared/libosmocore/build-target
cd shared/libosmocore/build-target && ../configure \
- --host=arm-elf-linux --disable-vty --enable-panic-infloop \
+ --host=$(HOST) --disable-vty --enable-panic-infloop \
--disable-shared --disable-talloc --disable-tests \
- CC="$(CROSS_TOOL_PREFIX)gcc" CFLAGS="-Os -ffunction-sections -I$(TOPDIR)/target/firmware/include -nostartfiles -nodefaultlibs"
+ CFLAGS="-Os -ffunction-sections -I$(TOPDIR)/target/firmware/include -nostartfiles -nodefaultlibs"
shared/libosmocore/build-target/src/.libs/libosmocore.a: shared/libosmocore/build-target/Makefile
cd shared/libosmocore/build-target && make
--
1.7.2
--dMyqICaxQaaUjrCL--
The gnuarm.com toolchain works fine but is very old. And although
it is based on newlib, the tuple that we used to configure for was
arm-elf-linux, which is of course bogus since we aren't building
Linux applications.
This patch optimizes for the CodeSourcery G++ Lite 2010.09 ARM EABI
toolchain, and assumes that it was unpacked next to the old one.
Download here:
http://www.codesourcery.com/sgpp/lite/arm/portal/release1592
(I haven't gotten the Linux Installer to work, so I recommend the TAR.)
And since CC is detected by configure when a valid host tuple is given
and that toolchain is sane there's no need for us to hard-code the
gnuarm.com compiler name in our Makefile.
---
src/Makefile | 11 +++++++----
1 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/src/Makefile b/src/Makefile
index b3594c1..bb34175 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1,10 +1,13 @@
# this is not really used as we don't do 'make install'. You can still specify
# it in case you _want_ to manually 'make install' the target libosmocore.
-CROSS_INST_PREFIX=/usr/local/stow/osmocom-bb/arm-elf
+CROSS_INST_PREFIX ?= /usr/local/stow/osmocom-bb/arm-2010.09
+
+# this is the host tuple of your cross-toolchain
+HOST ?= arm-none-eabi-
# this is the prefix of your cross-toolchain programs
-CROSS_TOOL_PREFIX=arm-elf-
+CROSS_TOOL_PREFIX ?= $(HOST)-
TOPDIR=$(shell pwd)
OSMOCORE_CONFIGURE_ENV= LIBOSMOCORE_LIBS=$(TOPDIR)/shared/libosmocore/build-host/src/.libs/libosmocore.a \
@@ -37,9 +40,9 @@ shared/libosmocore/build-target:
shared/libosmocore/build-target/Makefile: shared/libosmocore/configure shared/libosmocore/build-target
cd shared/libosmocore/build-target && ../configure \
- --host=arm-elf-linux --disable-vty --enable-panic-infloop \
+ --host=$(HOST) --disable-vty --enable-panic-infloop \
--disable-shared --disable-talloc --disable-tests \
- CC="$(CROSS_TOOL_PREFIX)gcc" CFLAGS="-Os -ffunction-sections -I$(TOPDIR)/target/firmware/include -nostartfiles -nodefaultlibs"
+ CFLAGS="-Os -ffunction-sections -I$(TOPDIR)/target/firmware/include -nostartfiles -nodefaultlibs"
shared/libosmocore/build-target/src/.libs/libosmocore.a: shared/libosmocore/build-target/Makefile
cd shared/libosmocore/build-target && make
--
1.7.2
--nEsDIrWrg+hrB7l1--
The gnuarm.com toolchain works fine but is very old. And although
it is based on newlib, the tuple that we used to configure for was
arm-elf-linux, which is bogus since we aren't building for Linux.
This patch optimizes for the CodeSourcery G++ Lite 2010.09 ARM EABI
toolchain instead, and for libosmocore installation it assumes that
the new toolchain was unpacked next to the old one. Download it here:
http://www.codesourcery.com/sgpp/lite/arm/portal/release1592
(The Linux Installer seems not to work reliably so I recommend the TAR.)
Since CC is detected by configure when the host tuple points to a sane
toolchain we shouldn't hard-code the gnuarm.com compiler.
The patch autodetects arm-elf-gcc installed in PATH, and uses arm-elf
as prefix if it is found. Otherwise, it defaults to arm-none-eabi.
make CROSS_HOST=arm-xyzzy can be used to override on the command line.
---
src/Makefile | 11 +++++++----
1 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/src/Makefile b/src/Makefile
index b3594c1..402f28a 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1,10 +1,13 @@
# this is not really used as we don't do 'make install'. You can still specify
# it in case you _want_ to manually 'make install' the target libosmocore.
-CROSS_INST_PREFIX=/usr/local/stow/osmocom-bb/arm-elf
+CROSS_INST_PREFIX ?= /usr/local/stow/osmocom-bb/arm-2010.09
+
+# this is the host tuple of your cross-toolchain
+CROSS_HOST ?= $(shell which arm-elf-gcc >/dev/null 2>&1 && echo arm-elf || echo arm-none-eabi)
# this is the prefix of your cross-toolchain programs
-CROSS_TOOL_PREFIX=arm-elf-
+CROSS_TOOL_PREFIX=$(CROSS_HOST)-
TOPDIR=$(shell pwd)
OSMOCORE_CONFIGURE_ENV= LIBOSMOCORE_LIBS=$(TOPDIR)/shared/libosmocore/build-host/src/.libs/libosmocore.a \
@@ -37,9 +40,9 @@ shared/libosmocore/build-target:
shared/libosmocore/build-target/Makefile: shared/libosmocore/configure shared/libosmocore/build-target
cd shared/libosmocore/build-target && ../configure \
- --host=arm-elf-linux --disable-vty --enable-panic-infloop \
+ --host=$(CROSS_HOST) --disable-vty --enable-panic-infloop \
--disable-shared --disable-talloc --disable-tests \
- CC="$(CROSS_TOOL_PREFIX)gcc" CFLAGS="-Os -ffunction-sections -I$(TOPDIR)/target/firmware/include -nostartfiles -nodefaultlibs"
+ CFLAGS="-Os -ffunction-sections -I$(TOPDIR)/target/firmware/include -nostartfiles -nodefaultlibs"
shared/libosmocore/build-target/src/.libs/libosmocore.a: shared/libosmocore/build-target/Makefile
cd shared/libosmocore/build-target && make
--
1.7.2
--ibvzjYYg+QDzMCy1--
Hello Holger,
On Tue, 25 Jan 2011 16:51:02 +0100, "Holger Hans Peter Freyther" <holger(a)freyther.de> wrote:
>
> Almost perfect. I can apply and modify myself or you could do two things. We
> tend to avoid the '//' comments, they were only added in C99 and used to be a
> GCC extension for C.
This is a good one ;-) One of the biggest problems when I tried a long
time ago to compile any of OpenBSC or OsmocomBB with a different compiler
than GCC were designated initializer which are _heavily_ used all over the
sources (I don't question their advantage, I only mention it). They are
a C99 feature (besides the library function snprintf() in the patch you
commented). So I would not care about the '//', this was the smallest
problem I had when I did my porting experiment (in fact the compilers
I am aware of silently accept it).
Just out of interest, do we really want to to avoid C99 ? I know there
is this implicit "kernel style" coding rule, does it include C99 ?
Please note that I don't want to discuss this, I use GCC from
Cygwin and can find workarounds for Linux specific issues on Windows
on my own, so I don't care that much. I am just interested in the
reasons for using C99 or not.
Best regards,
Dieter
--
Dieter Spaar, Germany spaar(a)mirider.augusta.de
Do i need a GPS Reciver ?
I tought that it will calculate the location over Triangulation ?
On Tue, Jan 25, 2011 at 10:34 AM, Holger Hans Peter Freyther <
holger(a)freyther.de> wrote:
> On 01/25/2011 08:33 AM, MArc Richter wrote:
>
> > But when i convert it into a kml file with gsmmap i can't see any GPS
> > koordinates. Why ?
>
> Do you have a GPS receiver attached to your computer?
>
>
Hey!
I've tryed out the Cell_log tool to get the Location of the GSM cells.
But when i convert it into a kml file with gsmmap i can't see any GPS
koordinates. Why ?
I use the Sylvain branch an compiled with TX support
thx
I looked more into this phone recently and found out it supported SIP over
WiFi as well.
Does anyone know about the software running the phone? How are the VOIP
codecs handled? Is there hardware support for them?
Finally, does code and/or drivers already exist for the hardware components?
I happened to be looking for something exactly like this anyway. Cool to
know that OsmocomBB can (potentially) work on it too.
Scott
Hi all,
it appears that we all know of some issues but we are not writing them down.
Would it make sense to start using the bugtracker for that? Or just a
dedicated wiki site?
Hi,
maybe I'm missing something, but when I read that the Pirelli DP-L10
would be supported I tried to get it running:
I didn't patch my usb-module, but used:
modprobe -v cp210x
echo "0489 e003" > /sys/bus/usb-serial/drivers/cp210x/new_id
from the steve-m/testing-branch I compiled the firmware and loaded it with
./host/osmocon/osmocon -p /dev/ttyUSB0 -m romload target/firmware/board/pirelli_dpl10/hello_world.highram.bin
onto the phone... that worked but I was never able to see any messages
after the upload:
Received block ack from phone
Sending checksum: 0xaa
Checksum on phone side matches, let's branch to your code
Branching to 0x00820000
Received branch ack, your code is running now!
... there it stayed forever ...
I'm pretty sure that the code runs, because I commented in init.c the
keyboard lighting code and it didn't light up after upload. I've tried
other bins but to no success.
Any hint or am it too early playing with that hardware?
Greetings Leif
Hello,
In order for this attack to work it has to be on a GSM network because on 3G there is a higher security mechanism. A way to protect against this, for the opperator, could be to implement 3G over 900Mhz so this way even if the targeted phones are on 2G they will still be protected. Am I right?
Regards,
Bogdan
Hey, I ordered the serial cable coming from dealextreme and it has not
arrived yet. I noticed today that the link was taken off the wiki due to it
not being at TTL levels. I was wondering if I bought a Nokia serial cable
(the ones that have the prolific chips in them) which runs at 3.3v out of
the box, could I just connect the tx and rx pins to the cable I had bought
and it would possibly work or would that be a bad idea and I should cut my
losses and kill the order.
--
-Tom