This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TI chipsets for GSM/2G and associated software

Once upon a time, in a distant era long gone by, TI used to make cellular baseband chipsets for GSM/2G and UMTS/3G. These chips have been out of production for many years, but I can still buy at least tens of thousands and likely even hundreds of thousands of pieces of these old TI-made chips on the Chinese surplus market. I understand that TI cannot make any guarantees about the quality and integrity of these parts because they have been handled in an unknown manner, but I do my own extensive testing, and they work great. I also understand that TI does not provide any support for these obsolete products, but I have been doing a pretty damn good job so far at self-supporting my project using materials scavenged on the Internet.

The name of my project is FreeCalypso, www.freecalypso.org is the project website. My project has been a huge success so far: I have designed and built my own development board for TI's Calypso+Iota+Rita GSM chipset, a board which I named FCDEV3B; out of TI's own historical development boards for these chips (D-Sample, E-Sample, Leonardo) my FCDEV3B is closest to Leonardo. These boards of my own design and make, built with old TI-made chips from the Chinese surplus market, work wonders - I have my own R&S CMU200 GSM RF test instrument, I use it to test and calibrate the RF tract on my indie TI-based GSM devices, and I have verified with this test instrument that all GSM radio transmissions put out by my FCDEV3B modems are 100% spec-compliant, which is very important when working in the tightly regulated GSM frequency bands. I now have a fully functional, commercial quality GSM+GPRS modem with the special distinction that I am fully empowered to study and understand all of its inner workings! The worldwide Free Software community has been complaining for over a decade now about there not being any cellular modems whose insides are open to study and understanding - well, my project is a big break from that bleak status quo!

The biggest challenge for my project, however, has been with the software or firmware that is needed in order to make these GSM baseband chips do their useful function, i.e., GSM Layer 1 and protocol stack firmware. Back when TI actively made, sold and supported these chips (a full decade ago), TI also developed and maintained the necessary firmware. However, with TI no longer providing any support for this discontinued product line, I have not been able to obtain any official firmware delivery directly from TI, hence I had to resort to alternative means.

As I understand it, TI's software or firmware suite for the Calypso+Iota+Rita chipset was called TCS2.1.1 or TCS211 for short. In 2013 I found the remains of an out-of-business GSM device manufacturer (i.e., an out-of-business company that previously made GSM modems with TI's Calypso chipset), and I convinced them to sell me their old product design: their board schematics and PCB layout files, as well as the TCS211 firmware delivery they got from TI. Thus I now have what may be the world's last surviving copy of TI's TCS211 firmware for the Calypso+Iota+Rita GSM chipset.

However, this TCS211 delivery I got from that out-of-business company (Sotovik) was only about half C source, with the other half being linkable binary objects. Back in the days when TI provided support, if there was a problem in the firmware components for which no source code was provided, the customer would ask TI for help, TI would maintain that code and make new releases with bugfixes - but now that TI support is no more, I need to be 100% self-supporting (or to put it another way, I rather than TI am now the custodian and sole provider of support for this software), thus I needed 100% C source code, no binary object blobs. Thus I set out to deblob what I believe to be the world's last surviving copy of TCS211, a job which I successfully completed by around 2017.

I have used my advanced reverse engineering skills and tools to disassemble the binary object blobs and to reconstruct the missing parts of the source, and for one major component of the firmware suite (the G23M protocol stack, which is mostly chipset-independent) I was able to replace the TCS211 binary objects version with a different version that came in full C source form - I took that other version from the TCS3.2_N5.24_M18_V1.11_M23BTH_PSL1_src.zip firmware for LoCosto (another TI GSM chip) which was published freely on the Internet by Peek Inc. (a LoCosto-based device manufacturer) in 2012 as that company went under.

I do wonder, however, whether or not there is anyone else in the world (either at TI or some outside engineer who previously worked with these TI products) who fondly remembers the days I am talking about and who might be open to extending me some friendship, or maybe even helping me find more surviving bits of material. In addition to my own FCDEV3B boards, I also have an original TI-made D-Sample board, and I would love to get this board working, but I am missing two key pieces for that board: (1) I have no schematics for this D-Sample, and without schematics I am not able to figure out how to exercise the battery charging circuit on this board and how the LCD interface works, and (2) I am missing the tpudrv10.c module, without which I am not able to bring up the GSM radio on the D-Sample, i.e., the main function.

In the case of the TPU driver, the half-source, half-binary delivery of TCS211 I got came with L1 in binary object form; through years of painstaking work I have now reconstructed almost all of the missing L1 source, but because this specific half-source, half-binary delivery was made for a customer that used Rita RF, it only has the tpudrv12 driver for Rita RF, no tpudrv10 for Clara RF. And even the Rita RF driver came as tpudrv12.obj instead of tpudrv12.c; I have disassembled that object and produced my own tpudrv12.c reconstructed source that compiles into a functional equivalent to the delivered object blob, but if someone out there has a surviving copy of the original tpudrv12.c source module, I would be absolutely delighted.

So, is there anyone anywhere in the world (at TI or elsewhere) who has another surviving copy of TI's TCS211 firmware for the Calypso baseband, a copy that includes tpudrv10.c and tpudrv12.c modules?

  • I wrote in my original post that I am looking for tpudrv10.c and tpudrv12.c
    modules from TI's GSM chipset software suite; these modules should be found in
    every pre-LoCosto version of the GSM Layer1 component including Calypso,
    Calypso+ and Perseus2 (OMAP730). I am looking for tpudrv10.c so I can play
    with TI's original D-Sample board from 2002, and I am looking for tpudrv12.c
    so I can get a better understanding of various magic numbers in that module:
    right now I have my own reconstructed tpudrv12.c source which I produced
    from disassembly of tpudrv12.obj, but all derivations of various timing
    numbers (how each number comes about) are naturally lost this way.

    In addition to these tpudrv10.c and tpudrv12.c modules, I am also looking
    for the following 10 files which used to be part of TI's GPF (Generic Protocol
    stack Framework) software component:

    os_com.c
    os_drv.c
    os_evt.c
    os_isr.c
    os_mem.c
    os_mis.c
    os_pro.c
    os_sem.c
    os_tim.c
    osx.c

    The os_???.c modules constitute the so-called "OS adaptation layer" between
    GPF and Nucleus (the RTOS from Mentor Graphics used by TI's baseband chipset
    firmware suites), and osx.c is a very thin layer between GPF and Layer1.

    During the course of their involvement in the GSM baseband chipset business,
    TI used two different version of Nucleus, first an early version from
    Accelerated Technology (the original company that made it), and then some
    1.15 version from Mentor Graphics, the people who bought Nucleus from ATI.
    I got yet another version of Nucleus myself (1.14.1, works perfectly well
    as a replacement for TI's versions) and I would like to switch from TI's
    old version to this 1.14.1 for licensing reasons - because I got this
    Nucleus source on my own, not from any leaked TI source, I should be able
    to work out my own licensing arrangements directly with Mentor Graphics,
    without involving TI. But before I can make this Nucleus version switch,
    I need to be able to recompile the GPF-to-Nucleus OS adaptation layer
    myself from source, and I currently lack those os_???.c sources.

    So, is there anyone at TI (or a former TI customer who previously worked
    with this stuff and got the source) who would be willing to dig in the
    ancient source archives and dig up these 12 little source files for me:
    os_???.c, osx.c, tpudrv10.c and tpudrv12.c? The OS files should be present
    in every product that uses GPF and Nucleus (every TI cellular chipset to
    my knowledge used these), os_???.c should be found under gpf/frame/nuc,
    osx.c should be found under gpf/frame/cust_os, and the TPU drivers
    should be found under chipsetsw/layer1/tpu_drivers/source0.

    I also realize that archivists are people too and should be paid for
    their labor of digging through ancient archives (plus possible occupational
    hazards like decades-old dust inhalation), so I would be perfectly willing
    to pay for this archival digging-up labor - please name your asking price.
  • Wow! Very ingenuitive. Unfortunately, TI will not be able to assist. As you mentioned, those devices are not supplied/supported any longer and most of the engineers familiar with those products are no longer available. You can interface with your local sales team and they may be able to provide some amount of assistance. Good luck...sorry I can't be more help.

    --RJH
  • Just a clarification: I am NOT seeking any support in the engineering sense,
    instead I am seeking to retrieve certain static, frozen archival materials.
    I know the names of the specific files I am looking for: os_com.c, os_drv.c,
    os_evt.c, os_isr.c, os_mem.c, os_mis.c, os_pro.c, os_sem.c, os_tim.c, osx.c,
    tpudrv10.c and tpudrv12.c. Is there any archivist (yes, I need the help of an
    ARCHIVIST, does not need to be an engineer) anywhere in the world (at TI or
    elsewhere) who can dig up these 12 files for our community?

    As far as TI's disinterest in helping us goes, would you have any idea or
    guesstimate as to how many millions of dollars our comminity would need to wave
    in front of top TI corporate executives to get their attention and to convince
    them to effectively sell us those 12 files? Again, we just want the raw bits
    which you guys stashed away in some deep vault when you shut that business down,
    absolutely no human support of any kind is sought. As I understand it, about a
    decade ago you were looking to sell that Wireless Terminal Chipset Business
    Unit, but failed to find an interested buyer, so it went to the dustbin instead.
    Any idea what the asking price was, and what a reasonable price would be today
    after 10 years of depreciation?

    The 12 files which I am looking for are probably sitting on some dusty tape in
    some deep vault as part of TI's deep archives related to shutdown business
    units. What would it take money-wise to convince you to dig those bits up
    for us? I've already listed the names of the specific files we need, thus
    absolutely no engineering knowledge is needed, just purely clerical work of an
    archivist.
  • Yes, you are probably right. The files are likely archived somewhere, but there is no current group to support and nor a good location to forward your inquiry on the forum. If you are able to interface with your local TI sales team, they can assist better in tracking down some information and in assessing the business opportunity. If you do not know your local sales support team, you may contact online at: ticsc.service-now.com/.../.

    --RJH