Sharing TSM30 source

Michael Sokolov msokolov at ivan.Harhan.ORG
Fri Nov 18 05:12:14 CET 2011


Martix <martix.cz at gmail.com> wrote:

> Ok, no need to hurry. Openmoko community waited for more than three 
> years for full open access to whole GTA02 internals, we can wait another 
> month.

The CD set destined for Cryptome, including the TSM30 CD, has been
written and will go out in the mail tomorrow (Friday): the post office
is already closed for the evening today.

> Now we have access to full documentation for TI Calypso and SMedia Glamo 

Ahh, so I assume you have found them under /pub/GSM on the
ifctfvax.Harhan.ORG FTP server. :-)

Note about the Calypso docs: while they are quite a bit more extensive
than the two famous PDFs linked to from Openmoko wiki pages (the
Leonardo board schematics really help one understand how the various
pieces of the TI chipset fit together, and Calypso is only one chip
out of that chipset), they still aren't 100% complete.  Here are the
missing parts I'm aware of:

* There exist several different versions of the Calypso DBB (digital
  baseband) chip.  I'm not sure if the docs I have are sufficient for
  navigating the differences between Calypso chip versions in various
  existing phones (see OsmocomBB).

* The analog baseband (ABB, codenamed Iota) also exists in several
  versions, all of which appear to be compatible with the Calypso DBB.
  The only one for which I've found documentation is the TWL3014, aka
  the original Iota.  (Iota's predecessor was apparently called
  Nausica, mentioned in passing in some Calypso docs.)  However, as
  one can see from the board photos in the Om wiki, the GTA02 phone
  features TWL3025 instead of TWL3014.  I don't know what the
  difference between these two chips is, and I don't know if the Iota
  codename applies only to TWL3014 or also to TWL3025.

* In addition to the DBB and the ABB, a working phone includes 3 RF
  chips:

  - an active RF chip (RF xcvr) that's part of the TI chipset;
  - an RF PA (power amplifier), also active, but sourced from outside
    of TI;
  - a passive RF chip (antenna switch and filters) that is also
    sourced from outside of TI.

I have docs for the TRF6151C RF transceiver (Rita) and the M034F
passive RF front-end used on the quad-band Leonardo+ reference board.
But I don't know what RF components are used on the GTA02 (or GTA01
for that matter).  Reasoning from the fact that these phones aren't
quad-band, I figure that at least some of the RF components ought to
be different.  However, this photo from the Om wiki:

http://wiki.openmoko.org/images/a/af/Gta02a5_pcba_cs.JPG

is not legible enough to make out what the RF components are.  (One
can see the TWL3025 ABB chip, and one can see *most* of the DBB chip
part number, but the suffix of the latter, possibly important, is
obscured by the metal shield structure.)  Yes, I realize that I can
take my GTA02 apart and look for myself, but the device is so delicate
and so expensive that I'm afraid of destroying the gem.

I hear that a number of GTA02s have been gutted to turn them into
GTA04s...  Perhaps someone can take one of those "discarded" GTA02
boards, remove all RF shields and snap some better photos?

I also have a hard time understanding why Openmoko Inc. didn't make
their phones quad-band GSM.  All components in the Calypso chipset,
including the classic Rita RF transceiver, support all 4 bands, and
the only extra thing one needs is a quad-band-capable passive RF
front-end chip.  Why couldn't they just use M034F like on the
Leonardo+ board or something equivalent?  We may never know...

> and GSM firmware is on the way. We have opportunity to study and fix it.

Another important clarification is in order here.  The GSM FW whose
source is in my possession, the one that's about to be sent to Cryptome
and which I'm equally eager to share with anyone else via either an
FTP upload or a CD-R by snail mail, is for the Vitelcom TSM30 phone,
*not* GTA02 or GTA01.  I don't have the GTA0x version, but some other
individuals right here on this mailing list do, and are *actively*
refusing to share - public shame on them!

(Note the emphasis on "*actively* refusing".  There is a world of
 difference between having a mental handicap that stands in the way of
 learning modern file sharing techniques, but actively working around
 that handicap by offering to share via other means, however old-
 fashioned or unconventional they may be (my case with the TSM30
 source), versus tacitly acknowledging possession of a ware which
 others desperately need, yet quite deliberately refusing to share on
 ideological grounds: the case of Paul Fertser and the Closedmoko
 firmware semi-source.)

Porting the TSM30 version of the code to run on GTA02, replacing the
original Closedmoko firmware, would probably be the shortest path
toward the holy grail of making the GTA02 a fully free and functional
phone, i.e., it would probably be a shorter path than transforming
OsmocomBB into an end-user-usable firmware.  However, even this
"shortest" path appears to be a very steep mountain climb:

* There is no TSM30 hacker community akin to the Openmoko one, or at
  least I haven't been able to find one.  Hence nothing like the Om
  wiki to answer the most basic hand-holding questions.

* Lack of any TSM30 wiki or FAQ and lack of a community to whom a
  newcomer like me can ask questions means no information about the
  TSM30 hardware.  Hence the HW architecture of that phone is a
  mystery to me.  I've seen it said somewhere that the TSM30 has two
  processors in it, one of which is the Calypso.  At first that sounds
  like the GTA0x phones with their Samsung or OMAP application
  processor standing between the UI and the GSM baseband processor,
  but in end-user terms the TSM30 does not appear to be a smartphone,
  more like a basic feature phone.  Hence I don't understand what the
  2nd processor is in the TSM30, what it does, how are the functions
  divided between the two, and what does the interface between them
  look like.  No idea if it's anything like the AT command interface
  used in Om phones.

* I haven't been able to find any schematics for the TSM30, or a
  service manual with schematics like ones that can be found for many
  older phones.  Hence no ability to understand the HW by studying the
  schematics.  (If anyone has found such schematics, whether as part
  of a service manual or otherwise, any leads would be greatly
  appreciated!)

* What about learning the HW by physically examining it?  Well, I
  haven't found any place where one can actually buy a TSM30 phone
  either!  Unobtainium...  (I would love to be proven wrong on this
  one as well!)

* The TSM30 fw has been developed in a Windows environment and the
  entire structure of the source and its build system is done the
  "DOS/Windows way", which appears quite hostile and impenetrable to
  someone used to the Unix/Linux/FOSS community's general ways of
  writing and structuring software.  I have yet to figure out which
  parts of that giant source tree run on the Calypso and which run on
  the unknown "other" processor.

* The atrocitous and totally undocumented naming conventions don't
  help either.  The TSM30 source tree features a top-level directory
  named "DSP", but I very highly doubt that it's the firmware for the
  DSP (digital signal processing) part of the Calypso chip (as opposed
  to the ARM7TDMI part).  Hence I'm guessing that they have overloaded
  the acronym to refer to something quite unrelated.

In other words, the current status of the exercise of porting the
TSM30 source to run on GTA02 is "not sure where to start".

Given the difficulty in understanding the TSM30 source and lack of
knowledge as to the exact correspondences and differences of the two
hardware implementations, the safest way to proceed would probably be
to start with some "skeleton" code that already runs on the GTA02 (and
is known not to brick it, even if it doesn't do much useful work), and
then gradually add "flesh" to that skeleton, taking bits of this
"flesh" from the TSM30 version.  From what I understand, OsmocomBB has
some support for GTA02 HW, even if it doesn't do what I want, which is
"normal" phone functionality.  Hence I'm thinking about using it as
the skeleton just mentioned, and then fleshing it out with bits of
functionality from the TSM30 source.

Of course the OsmocomBB project will never accept contributions that
contain code which is not legal in the nasty countries like USA or
Germany, but that's OK, we (those who want a truly free phone
regardless of legalities) can always create our own fork.  Our fork,
enriched with code from TSM30 or possibly other forcibly liberated
sources, would be perfectly legal in the free nations such as the
Principality of Sealand and the Republic of New Poseidia, but not in
the evil bourgeois copyrighting nations such as USA or Germany.

Would it help this project to have access to the Closedmoko firmware
semi-source (i.e., C source for the AT command interpreter and some
other support bits, a pile of small linkable binary object modules
with symbolic information for the rest) that Paul Fertser and possibly
one or two other people on this list are hoarding?  I believe that it
would.

On the one hand the TSM30 version is full source, whereas the GTA02
version is full of binary blobs - hence some would probably argue that
the already-liberated TSM30 version is more than sufficient and that
there is no need to campaign for the release of the semi-source GTA02
version.  However, the TSM30 is crippled by targeting the "wrong" HW
platform, one that is physically unobtainium (at least in my
experience), lacks any schematics (again in my experience), and has
totally unknown but reportedly significant differences from our good
old GTA02.

It is possible that the TSM30 semi-source which Paul Fertser is
hoarding would indeed prove mostly useless to the cause of building a
free firmware image for the GTA02 Calypso, one that is free of binary
blobs, yet has the full functionality of a "normal" cellphone.
Perhaps working with those sources which are already publicly
accessible (TSM30 and OsmocomBB) would work out better.  But I don't
know that, and have no way of knowing without seeing the Closedmoko
semi-source for myself, with my own eyeballs.  Simply taking Paul
Fertser's word for it is not enough.

What I'm basically saying is that for as long as the recognized /
trusted / respected leaders of this community are acting selfishly and
refusing to share a piece of ware with brothers in need, I feel no
incentive to contribute to this community.

A note to those several (presumably) people on this list who are
holding copies of the Closedmoko firmware semi-source: you can share
them anonymously, and no one including me will ever know who you are.
By refusing to share the materials in your possession, you are causing
immense pain and suffering to the innocent citizens of Sealand, New
Poseidia and other countries whose laws are quite unlike those of USA
or Germany.  Just because the ware might be illegal in some evil
countries like USA or Germany does *not* mean that it's illegal
everywhere in the Universe, and if you yourself are unfortunate enough
to live in a nasty country like USA or Germany with repressive laws,
you can still help your brothers and sisters in freer countries by
sharing the ware anonymously.

The reason why *I* do my software liberation activism work in a very
non-anomymous manner is because I am quite different.  I do not hold
citizenship in any country whose laws I disagree with, nor do I pledge
any allegiance to any of those countries.  I am a citizen of the
Republic of New Poseidia, ideological successor to the USSR, and no
other country.  Furthermore, I am not only a citizen of New Poseidia,
but also a servicemember of its armed forces.  If the call of duty
sends me into a hostile nation such as USA, it is only in the manner
of fighting asymmetric warfare against that hostile nation.  If I am
deployed as a soldier onto USA soil by New Poseidia, I am *not*
obligated to obey USAnian laws any more than my grandfathers
(servicemembers of the Red Army in World War II) were obligated to
obey the laws of Germany which they entered by tank or war plane back
in 1945.  Just like my grandfathers were deployed into Germany in 1945
to liberate it from the evil laws which were legally in effect at that
time, the same way I am deployed (by New Poseidia) onto USA soil to
help liberate my brothers and sisters living here from the laws which
I and New Poseidia consider to be no better than those which were
legally in effect in Germany at the beginning of 1945.  Yes, as an
active duty combatant deployed on hostile soil I have to accept the
very real possibility of dying in combat.  I am ready to die for my
country, the Republic of New Poseidia.

(A side note: I will not allow myself to be taken alive.  Because I am
 officially at war against USA, I consider all USAnian police etc to
 be enemy soldiers.  Therefore, if I am ever forced into an encounter
 with them, I will open fire.  Of course they'll shoot back and kill
 me, but I am quite confident that I can bring down at least one enemy
 soldier before I go down.  The way I see it, if I kill at least one
 maker and/or enforcer of reprehensible man-made law before I die, I
 will not have lived my life in vain.  The kinds of laws that make it
 illegal to share any and all software freely with no restrictions are
 the most reprehensible invention in the entire history of human
 civilisation, and I believe that a real man ought to be glad to give
 his life fighting against such laws.)

But that is ME.  I am *not* asking anyone else to be like me.  I do
not seriously expect anyone else on this list to renounce his or her
citizenship in whichever nation on whose soil he or she is living and
to engage in asymmetric warfare against that nation.  Therefore, for
those who are *unlike* me, the best way to help your brothers and
sisters with copies of software or documentation of questionable legal
status would be to do so anonymously.

MS



More information about the community mailing list