Calypso vs. SDR PHY

Mychaela Falconia mychaela.falconia at
Sat Nov 11 01:17:21 UTC 2017

Hello OsmocomBB community,

I am the manufacturer of a GSM mobile station development board based
on the Calypso+Iota+Rita chipset from TI.  The hardware product in
question has been created for the primary purpose of running the
end-use-oriented GSM+CSD+GPRS modem firmware that was previously
maintained by TI and whose maintenance has since been taken over and
continued by FreeCalypso, but being based on the Calypso chipset, my
board is also capable of running OsmocomBB.  The purpose of the
present inquiry is to find out whether this hardware product might be
of interest to the OsmocomBB community, or if those who wish to run
OsmocomBB (as opposed to TI-based FreeCalypso firmware) would be
better advised to use an SDR device instead.

As I understand it, there are two reasons for why the original
incarnation of OsmocomBB (prior to the recent addition of SDR PHY
support) used Calypso phones as its physical transceiver instead of
USRP-style SDR devices: (1) the work done by the Calypso DSP is
already done, hence there was less work for OsmocomBB developers to
do, and (2) Calypso phones used to be dirt-cheap, whereas SDR devices
cost some non-trivial money.

But the dirt-cheap Calypso phone situation is now firmly in the past,
and newly made Calypso devices like my FCDEV3B are nowhere close to
cheap.  The qty-1 retail price for one of my FCDEV3B boards is
$500 USD; if someone were to order a large batch (say, 100 boards),
I am reasonably confident that the per-unit price can be brought down
to $300 USD or maybe even lower, but getting any kind of firm numbers
beyond a guesstimate would require actual work, and that work will
only be done if I receive some expression of serious and genuine
interest.  But even if we manage to bring the price down to, say, $200
per board with a really large order quantity, it *still* won't be
anywhere near as cheap as old Calypso phones used to be, and the price
is still essentially in the same ballpark as a midrange SDR device.

Thus with the cost of an SDR device and that of a newly made Calypso
device being comparable (or as things stand presently, the Calypso
option is more expensive), is there any remaining reason to use
Calypso devices as opposed to SDR PHY for OsmocomBB?  In other words,
is there any solid technical reason (not involving cost) to prefer a
Calypso device over SDR PHY for OsmocomBB purposes, or is there not?
Which translates into: is there any reason to support running OsmocomBB
on FreeCalypso hardware and to market such hw to the OsmocomBB
community, or would it be better to tell people that if they want
OsmocomBB, they should use an SDR PHY, and leave FC hardware for
people like me who are interested in end use applications (as opposed
to hacking) using TI-based FC firmware?

One argument I have heard against the use of SDR for GSM MS role is
that SDR devices supposedly have a difficult time retuning every
4.615 ms, and thus would have a difficult time connecting in the MS
role to a GSM network that employs frequency hopping.  Is there any
truth to that argument, or has that problem already been solved?  Are
there any other areas in which a chipset like the Calypso that is
specifically designed for the GSM MS role would perform better than an
SDR device of the kind that are viable cost competitors against newly
made Calypso hardware?

Just seeking some clarification...


P.S. Before anyone says that Calypso chips themselves are no longer
made and thus don't constitute a viable option, please note that I can
still buy them on the Chinese grey market at least in tens of thousands
of pieces, maybe more, and there is no conceivable way that all current
phone hacking and phone liberation communities combined can produce
enough demand to exhaust that supply.  And if someone does order 100
thousand Calypso boards at $300 or so apiece, that would be more than
enough money to hire a pirate chip fab to clone every chip in the
Calypso chipset.

More information about the baseband-devel mailing list