Re: FreeCalypso progress update

2018-02-09 Thread Mychaela Falconia
Hi DS!

> This is excellent news! The calibration report looks really good too.

Further update: I got an email from R&S saying that the unit has been
shipped, and tracking indicates that I should be getting it on Monday.

> Apparently your unit has a WCDMA option installed?

Yes, it does, and it is not a particularly rare option: most CMU200
units on ebay are configured similarly to mine, including GSM, UMTS
(WCDMA), a B11 or B12 OCXO and an AuxTx generator (either B95 or B96).
Some also have additional hw and sw for CDMA2000, although mine
doesn't have it.  I am not really interested in the Verizon/Sprint-
style Amerocentric, SIM-less, non-international CDMA2000 standard, but
UMTS is a different story - given that UMTS belongs to the same larger
family as GSM and given that TI did have a dual-mode GSM+UMTS protocol
stack which I would love to liberate some day, I certainly like having
UMTS/WCDMA RF testing capability.

> Although it's not
> really needed for Calypso or even LoCosto, perhaps it might come in
> handy if you'd like to venture into 3G

I would *love* to be able to venture out into 3G/UMTS land and build
dual-mode phones and modems with the user having absolute total
control over the network search preference order (prefer 2G over 3G or
vice-versa), but the biggest current obstacle in that direction is the
lack of a protocol stack implementation for UMTS.

Most people in the "I want a libre phone" scene keep lamenting about
low-level hardware specifications for chips being withheld, but they
keep missing the much bigger problem.  Even if Qualcomm or MTK or
whoever were to release the full register etc docs for one of their
chips, that full documentation would still be mostly useless without
the source code for their complete turnkey product implementation.
Cellular protocol stacks of end user product quality (as opposed to
toy quality like OsmocomBB) are among the most complex software works
in the world, and I consider it absolutely infeasible to even think of
trying to implement one from scratch, even if there is an underlying
hw platform with absolutely perfect and complete documentation.  A job
like this would require 1000 person-years minimum.

Instead I firmly believe that the only practically feasible way to
gain a libre mobile solution for 3G/UMTS that would be no worse than
what we currently have for GSM/2G with FreeCalypso would be to obtain
and liberate the source code for some *already existing* commercial
implementation of the necessary protocol stack, similarly to how our
current 2G solution came about.

But there is an even further complication.  Suppose we were to find
some firmware source from, say, MTK that supports 3G.  If the vendor
is someone other than TI, that firmware's internal architecture would
be completely different from TI's, all surrounding software tooling
would need to be completely different, meaning that absolutely all of
the work we have done in FreeCalypso would need to be thrown out, and
we would have to restart from scratch working our way around the other
vendor's software architecture and paradigm.

Thus based on the reasoning above, what I really want is a 3G/UMTS
protocol stack in full source form not just from anyone, but
specifically from TI.  As far as I know, TI's 3G implementation never
saw much widespread use (unlike their 2G stuff which used to be super-
popular), as TI killed that baby and threw everything in the trash
just as they were getting their 3G code into good shape.  Given how
little life that code saw outside of TI (if any at all), I'm guessing
that the only way to get a hold of it would be to find someone at TI
who remembers that they once were in that business and convince them
to sell it.

It needs to be kept in mind that back in 2008-2009 TI were actively
looking for someone to buy their unwanted Wireless Terminal Chipset
Business Unit - for someone to buy that entire division wholesale,
that is - but when they *failed* to find an interested buyer (both MTK
and Qualcomm already had their own stuff, and no one else saw any
point in trying to compete with them based on TI's lagging stuff),
they threw everything in trash.  Given that they currently make ZERO
money from the "IP" which they threw in the trash, I don't see why a
rational manager would refuse to sell it, but finding someone who
would think rationally would probably be the most difficult part...

Hasta la Victoria, Siempre,
Mychaela aka The Mother
___
Community mailing list
Community@freecalypso.org
https://www.freecalypso.org/mailman/listinfo/community


Re: FreeCalypso progress update

2018-02-09 Thread Das Signal
Hi Mychaela,

This is excellent news! The calibration report looks really good too.
Apparently your unit has a WCDMA option installed? Although it's not
really needed for Calypso or even LoCosto, perhaps it might come in
handy if you'd like to venture into 3G (after all, the GSM network will
be turned off eventually).

--DS
___
Community mailing list
Community@freecalypso.org
https://www.freecalypso.org/mailman/listinfo/community


Re: FreeCalypso progress update

2018-02-09 Thread Mychaela Falconia
Hi DS!

> Many thanks for the update, Mychaela. Do you think R&S might be
> convinced to lower their quote by letting them know you are just
> a single individual in charge of a FOSS project, not a very large
> corporation with billions of $?

Good news: the issues with our CMU200 have been resolved without
having to involve any expensive repairs.  The technical person at R&S
(as opposed to the non-technical customer service front end people who
originally gave me that outrageous price quote) told me there were two
issues:

1) The tech fellow said that there were two ribbon cables loose inside
the unit.  I am quite sure that I did not pull any ribbon cables loose
when I was replacing that Rx/Tx board, so either they came loose in
shipping, or someone was tinkering inside this unit with insufficient
clue prior to me.  Once the fine folks in Maryland reconnected those
cables, the EEPROM reads which originally failed started working.

2) I don't know what kind of tables are stored in which EEPROM, but
the helpful gentleman from R&S said:

> After further review, it appears the RXTX module that was replaced had
> incorrect tables loaded (probably from its previous location). We were
> able to complete corrections and load them to the EEPROM's. After this
> was done, the unit worked fine.

Of course it is a given that whatever tables were loaded in the EEPROM
on that transplanted Rx/Tx board had to be incorrect for the new
put-together CMU200 configuration and needed to be corrected through
calibration - but I am guessing that because of the transplant, they
were incorrect in some more serious way that R&S's "regular"
calibration procedure was not prepared for.

In any case, the outcome is that the incorrect EEPROM tables have been
corrected, the unit has been fully calibrated, and they already sent
me the calibration certificate with detailed tables and charts of the
unit's exact performance after the calibration, which look beautiful:

https://www.freecalypso.org/members/falcon/calibration/CD_5000-309076293.pdf

They haven't told me if they already shipped the calibrated CMU200
back to me or if they are still in the process of packing it or doing
the paperwork or whatever, but it shouldn't be much longer before it
is back in my motherly FreeCalypso lab.  They haven't charged my card
yet, but I expect the charge to be what I originally agreed to for the
calibration - $1405.00 USD, which is perfectly reasonable for the
perfect calibration and semi-repair job they did, not the other $6415
repair quote which was NOT reasonable.

Hasta la Victoria, Siempre,
Mychaela aka The Mother
___
Community mailing list
Community@freecalypso.org
https://www.freecalypso.org/mailman/listinfo/community


Re: FreeCalypso progress update

2018-02-06 Thread Das Signal
Many thanks for the update, Mychaela. Do you think R&S might be
convinced to lower their quote by letting them know you are just
a single individual in charge of a FOSS project, not a very large
corporation with billions of $?

About SMS btw, it reminded me of a bug (or rather lack of feature) on
my old Nokia phone (circa 2001): it does not handle single messages
composed of multiple SMS correctly, showing them separately instead.
This is typically something where the ability to fix the code, which
FreeCalypso provides, really helps.

--DS
___
Community mailing list
Community@freecalypso.org
https://www.freecalypso.org/mailman/listinfo/community


FreeCalypso progress update

2018-02-05 Thread Mychaela Falconia
Hello FC community,

I've been asked for a status update, so here it is...

My primary FreeCalypso activity right now is exchanging emails back
and forth with Rohde&Schwarz people at their service center in
Maryland - I sent my CMU200 to them to have it externally calibrated,
as I had no way of knowing where its measured and generated signal
power levels stood relative to the real truth.  The good news on that
front is that they already sent me an incoming test report showing the
state of the unit as it came to them, and among other things that
report shows the power level offsets which I was after, i.e., exactly
how the power level measurements reported by this CMU200 and the
signal levels it generates differ from the true value.  Thus even if I
take the option of having them send the unit back to me without doing
anything to it, I can use the numbers from their report to adjust the
power levels in our software (fc-cmu200d).

There is also a complication, however, in that the non-technical front
end customer service people told me that the unit needs repairs before
it can be calibrated, accompanied by an exorbitant price quote for
said repairs.  Thankfully they also offered the option of sending the
unit back to me without doing anything to it for half of the original
calibration price quote (which I would be OK with as the price for the
report giving the very important power level offset data which we
didn't have before and had no other way of obtaining), and I may very
well end up going with that option - but first I am trying to extract
as much technical info out of them as I can regarding what they think
is wrong with this CMU200 beyond it being out of calibration after the
internal module swap which I did to repair it earlier.  The process of
extracting this additional technical info out of them is moving
slowly, and it will probably be another few days before we reach a
decision as to whether they are going to send the instrument back to
me as-is or if we are going to agree to some reasonably-priced repair
or calibration services.

On the FCDEV3B front, we now know that we can fix the sleep mode
problem by populating the smaller flash+RAM chip that was used by
Openmoko; the next step in the investigation is to figure out if we
can make the sleep mode problem go away *without* giving up our larger
RAM and flash capacity copied from the Pirelli DP-L10.  Between the
back-and-forth with R&S Maryland and other life business (outside of
FreeCalypso) which I need to attend to, it will probably be another
couple of weeks before I'll be ready to schedule the next hardware
rework experiment session with Technotronix, but the actual experiment
plan is already set: we are going to try upping the bypass capacitors
on the V-FLASH and V-SRAM power nets.  (Note that these are the
internal power nets from Iota regulators to the memory IC, *not* the
input power to the board or the SIM power net which someone on this
list kept harping about some months back.)

In between all of the above, I am using my idle cycles in between
interrupts to progress slowly toward the end user phone goal, i.e.,
working on various software pieces that are needed toward that goal,
but which are currently missing or broken.  There is little in the way
of sequential ordering: there is a large set of software pieces which
need to be implemented or fixed, all of them are needed before we can
have any kind of usable phone, but they can be worked on in any order
for the most part.  Thus I pick the piece to be worked on based on
feelings.

Right now I am tackling SMS storage and the tools needed for working
with this storage.  The code we got from TI has non-broken support
only for storing messages on the SIM, both received and sent ones, in
both AT command modem and self-contained handset configurations.
There is also a provision for storing messages in the Calypso device's
own flash file system ("on the phone" or in the modem, depending on
one's point of view), but it is broken; TI's UI code never attempts to
enter this mode, and commanding it with AT+CPMS would put the SMS
subsystem into a non-working state.

The current broken implementation of in-modem or "on the phone" SMS
storage ("ME" storage in AT+CPMS terms) is based on the old and highly
inefficient PCM API from Condat, and for this reason I am not
particularly interested in trying to fix it in its present form -
instead I would like to reimplement it in my own different way.  Aside
from changing the way in which the storage is implemented in terms of
FFS facilities (flash usage and access efficiency issues), I would
like to add a local timestamp to each stored message.  When SMS
storage is implemented according to the public and vendor-neutral GSM
standards, i.e., when the messages are stored on the SIM, received
messages only have a network timestamp set by the SMS Service Centre
(the network component that does the store and forward), whereas sent
messages have no timestamps at all.

Re: FreeCalypso progress update

2017-08-04 Thread Das Signal
Hi Josh,

Thanks for participating in the discussion :)

With regards to FPGAs, my understanding is that it would require
porting all of TI's DSP code from C64x to VHDL, plus some massive
work on the RF frontend to deal with digital IQ instead of
analog IQ. There would also be problems with power consumption
I believe (making it less for mobile applications). So it's
feasible but probably very hard.

--DS

On Wed, Aug 02, 2017 at 11:01:02PM +0100, Josh Branning wrote:
> Hi,
> 
> As a lurker. You probably already know this but just a word of advice,
> 
> In regards to the FPGA board, you will probably be after the ICE40,
> as AFAIK, it is the only one with an open source toolchain (that is,
> if it meets your requirements).
> 
> Josh
> 
> 
> P.S.
> 
> I would be also be interested to know the feasibility of a
> semi-complete open hardware/software cellular modem/sdr could be
> built out out of this (or this sort of) FPGA. I know there is open
> source verilog code for an generic FM receiver out there, and am
> aware that all-digital phase locked loops and pulse width modulation
> can work in silicon (with a few issues). I also realize that some
> companies are already selling similar (lime micro) albeit with a
> closed toolchain and HDL code ... so perhaps. ¯\_(ツ)_/¯

> ___
> Community mailing list
> Community@freecalypso.org
> https://www.freecalypso.org/mailman/listinfo/community

___
Community mailing list
Community@freecalypso.org
https://www.freecalypso.org/mailman/listinfo/community


Re: FreeCalypso progress update

2017-08-02 Thread Josh Branning

Hi,

As a lurker. You probably already know this but just a word of advice,

In regards to the FPGA board, you will probably be after the ICE40, as 
AFAIK, it is the only one with an open source toolchain (that is, if it 
meets your requirements).


Josh


P.S.

I would be also be interested to know the feasibility of a semi-complete 
open hardware/software cellular modem/sdr could be built out out of this 
(or this sort of) FPGA. I know there is open source verilog code for an 
generic FM receiver out there, and am aware that all-digital phase 
locked loops and pulse width modulation can work in silicon (with a few 
issues). I also realize that some companies are already selling similar 
(lime micro) albeit with a closed toolchain and HDL code ... so perhaps. 
¯\_(ツ)_/¯
___
Community mailing list
Community@freecalypso.org
https://www.freecalypso.org/mailman/listinfo/community


Re: FreeCalypso progress update

2017-08-02 Thread Mychaela Falconia
Hello FC community,

Time for yet another status update:

* In terms of priority, my current highest one is getting the next
batch of 12 FCDEV3B boards assembled.  As I already mentioned, I have
decided to *not* wait for the resolution of the sleep mode hw bug,
i.e., not block the assembly of the next batch of boards until this
issue is resolved, thus unless some miracle happens, these next boards
will most likely also suffer from the sleep mode bug, and sleep will
need to be disabled for reliable operation - I will ship those boards
out with a firmware image that has sleep disabled by default.

Running with sleep modes disabled should be perfectly acceptable for
all of the major uses for which the FCDEV3B is intended, where it is
powered from a supply that ultimately takes the power from AC mains,
as opposed to truly mobile operation on a battery: given the form
factor and interface requirements of these boards (the need for control
from a computer), it is difficult for me to imagine how someone could
use one of these boards in a truly mobile application where battery
life and thus sleep modes would matter.  It should be possible to run
the FCDEV3B on a battery, connected to a laptop that also runs on its
battery, to test mobile functionality like cell reselection, location
updates and handover, but such tests are expected to last hours, not
days, thus once again the higher battery draw in idle mode due to not
working sleep modes should not be a real issue.

* Investigating the sleep mode hw bug and doing everything we can to
try to fix it is still on the agenda, but it is something I plan on
working on after we make the next batch of boards, not before.  Based
on this reasoning, my plan to buy my own oscilloscope for my home lab
is still on, but in terms of allocation of my personal funds it will
once again be after the assembly of the next batch of 12 boards.  I
plan on covering the assembly cost of this next batch (probably
somewhere around $1200 USD, assuming that Technotronix charge me the
same per-board price as on the previous batch) with my own funds: I
still owe boards to a couple of people who have contributed to the
initial crowdfunding campaign, so I am not going to ask anyone for any
more money until I fulfill those obligations, which I plan on doing
from this next batch.

* The only issues that remain to be resolved before I give the go-ahead
to Technotronix to assemble the next batch of boards are the on-board
loudspeaker and microphone circuits.  The next step on this front is
that I need to have the J312 two-post header desoldered from one of my
current test boards and to have the wires from the speaker soldered in
its place.  I may need to make a trip to Technotronix for this rework,
or I might be able to convince the lab technician at my day job to
help me.  Once the loudspeaker is connected reliably, I will do one
more round of loudness tests and will most likely end up needing to up
a pair of 0402 resistors from 10 kOhm to 18 kOhm to increase the gain
of the amplifier.  The needed 18 kOhm resistors are on order from
Digi-Key.

* The microphone circuit has not been tested at all yet, as I am
focusing on the loudspeaker first.  If the loudspeaker works but the
microphone does not, I may go ahead with the next batch of boards
anyway and tell people who need voice input functionality to use the
external digital voice interface (MCSI) for it.

* Speaking of MCSI, *after* I assemble the next batch of boards and
buy my own oscilloscope, I am going to use that scope to determine
empirically whether our Calypso DSP puts MCSI into master or slave
mode when commanded into what TI called the "Bluetooth headset" mode.
Once we know whether it is master or slave (the critical piece of
knowledge needed before anything else can be done), I plan on getting
one of the readily available and inexpensive FPGA boards, connecting
it to the MCSI signals on our FCDEV3B, and building a demo project on
that FPGA board that proves a working digital audio interface to our
FreeCalypso modem.

* Once I get my own o'scope and get back to the investigation of the
sleep mode hw bug, a very important avenue of investigation will be
comparing the scope-observed behaviour at various test points on our
FCDEV3B against an Openmoko-made GTA02, which is essentially the same
hw, but does NOT exhibit the bug.  Toward that end, I performed a very
important experiment last night: on the bare GTA02 I have which I have
powered from a bench supply via alligator clips on the battery
connector, I have reflashed the firmware to our own FC Magnetite which
can take AT commands over RVTMUX (over the external headset jack),
inserted a SIM into the socket on that bare GTA02 MB (the exact same
SIM with which AT+CFUN=1 causes a self-reboot on FCDEV3B boards with
small sleep enabled), and confirmed that the same AT+CFUN=1 command
succeeds on this bare GTA02 MB with all sleep modes enabled.  This
confirmation is important because it disproves t

FreeCalypso progress update

2017-07-27 Thread Mychaela Falconia
Hello FC community,

It's time for an update on the various things I am working on.  In no
particular order:

* I plan on getting my own oscilloscope for my home lab some time in
the next few weeks.  I don't have a close enough relationship with any
of the hardware people at my day job to use one of their scopes for my
personal project, thus in order to do any o'scope probing on our
FreeCalypso boards, I need to buy my own scope and set it up at home.
My preliminary accounting tells me that I have enough money to buy a
scope on ebay (I will have more accurate accounting when I come home
this weekend), but the expected delay of a few weeks is because of
physical space issues in the room at my home that serves as my
FreeCalypso hardware lab, and those space issues stem from the CMU200
problem.

I had to take my CMU200 apart in order to check the power levels at
the internal Tx path interface from the Rx/Tx board to the RF FE, and
right now it sits in my room in a dismantled state, taking up far more
space than it would if it were put back together.  I didn't want to
reassemble and then re-disassemble it a bunch of times, so I left it
in the dismantled state while waiting for a replacement Rx/Tx board.
That replacement module is on its way to me from a seller in Sweden,
but appears to be stuck at postal customs in New York. :-(

Once I get my own scope and learn how to use it, I plan on using it
for at least two purposes in our project: (1) probing to see if I can
spot a transient voltage drop on one of the power rails in connection
with the sleep mode self-reboot bug discussed on this list a few days
ago, and (2) investigating what should be a digital audio interface on
the MCSI pins in the so-called "Bluetooth headset" mode.

Having our FreeCalypso modem present a digital voice channel as an
alternative to the classic analog one is an important feature for some
of our prospective commercial users, and it is also an important
feature for us to use in convincing people like the Neo900 project to
offer a variant with our FreeCalypso modem instead of their usual
proprietary one: those proprietary modems do have digital voice
channel interfaces, and it is those digital interfaces, not analog,
that are used by projects like Neo900.  It appears that we can get a
digital voice interface out of the Calypso in the so-called "Bluetooth
headset" mode, and I feel that we should seize this opportunity.

The problem though is that this digital voice channel is something
that almost no one cared for back in the days when Calypso was current,
the capability appears to have been added as an afterthought in order
to support building Bluetooth-enabled dumbphones with the Calypso, and
the details aren't documented anywhere.  Therefore, we need to reverse-
engineer those details, and this reverse eng process will need to start
with putting an oscilloscope probe on the MCSI_CLK line to see if the
DSP code we are running (combination of the DSP ROM plus the downloaded
patch code we took from TCS211) puts the MCSI into clock master or
clock slave mode.

* I am waiting for some loudspeaker and microphone parts to arrive
from Digi-Key.  If they arrive on Friday like FedEx Ground tracking
says they should, then I hope to be able to test the loudspeaker
driver circuit on our FCDEV3B this Sunday and the microphone input
circuit the following week.

If the loudspeaker driver and microphone input circuits on our FCDEV3B
work, then I will feel comfortable with *finally* releasing the
assembly of the next batch of 12 boards.  Specifically, I plan on
*not* blocking this next batch assembly pending the resolution of the
sleep mode bug or pending the completion of the MCSI investigation.
Root-causing and solving the sleep mode bug may take a very long time
and lots of expensive trial and error, and it is not acceptable for
our entire project to remain blocked dead in the meantime.  Therefore,
we'll have to live with a software workaround in the form of disabling
sleep modes, much like Openmoko did with their bug #1024 for the two
years or so before they finally fixed it.  And for those who would
like to use our FCDEV3B modems stationary on a lab bench powered from
a supply which itself feeds on AC mains power, it won't make any
difference whether the modem has working sleep modes or not.

It similarly makes no sense to keep further board assembly on hold
while we figure out how the digital voice interface over MCSI works.
The mystery to be solved here is how our TCS211 DSP code configures
things inside the Calypso chip; at the board level we do nothing more
than bring the MCSI signals out to header pins, thus I do not expect
any problems at the board level when it comes to MCSI.

* As discussed on this list many times before, our current FCDEV3B was
originally designed to be a development board, not a module to be
integrated into other people's projects as a component - while it is
certainly possible to use it in the latter fashion, it is abso