Hello FC community, I just put out yet another fw update for FCDEV3B and Openmoko modems:
ftp://ftp.freecalypso.org/pub/GSM/FreeCalypso/fcdev3b/fcdev3b-nosleep-fw-20190128.tar.bz2 ftp://ftp.freecalypso.org/pub/GSM/FreeCalypso/fcdev3b/fcdev3b-prod-fw-20190128.tar.bz2 ftp://ftp.freecalypso.org/pub/GSM/GTA02/gsm-fw/moko-new-fw-20190128.tar.bz2 The 3 tarballs above are for FCDEV3B V1, FCDEV3B V2 and OM GTA01/02, respectively. There are two changes since the previous 2019-01-12/13 builds: 1) For politico-psychological reasons it is important to have as much of our firmware as possible compiling from source, keeping the prebuilt objects (blobs) portion as small as possible. Back in November I made a change in the Magnetite source tree to recompile all of GPF except OSL and OSX from source instead of using historical prebuilt libs, but as I was investigating a Mot C1xx SMS issue earlier this month, I discovered that this deblobbing change from November had an unexpected fallout: there are many places in TI's GPF code where the C preprocessor's __FILE__ macro is used, and because of the way our build system is set up, this macro got expanded into longer pathname strings compared to TI's historical build. It also turned out that these longer __FILE__ strings were causing serious breakage in some error handling paths, i.e., my deblobbing change from November inadvertently introduced a functional regression. That breakage is now fixed in the 2019-01-28 release: the GPF code in question is still rebuilt from source (deblobbed), but I've added a few extra hacks to our build system (symlinks) to produce exactly the same __FILE__ strings as in the historical blob version, i.e., our recompiled version of GPF now matches the historical blob version bit for bit. 2) The firmware version ID string generated at build time (which can be queried with AT%VER, is emitted on boot on the RVTMUX debug trace interface, and can be seen in the fw binary with strings) now includes the target name (making it immediately visible if someone flashes an image built for the wrong target) and the corresponding source version ID (Hg commit number and hash), in addition to the previously included fw family name (Magnetite), build configuration (currently hybrid) and the build timestamp. Because this firmware version ID string is emitted as a trace on boot, I also had to increase the maximum length of GPF traces: I increased the partition size from 160 to 220 bytes, increasing the maximum trace string length from 102 to 162 characters. The resulting RAM usage increase is only 12000 bytes, and allowing longer GPF traces will certainly help with protocol stack debugging, as we are not using str2ind. I still need to make another build for the Mot C1xx family, which will involve a few additional source changes which will affect the hybrid-vpm and hybrid-ui-vo configs used for C1xx, but not the Standard Modem hybrid config used for FCDEV3B and OM GTA01/02 modems: I need to increase the trace partition size to 220 bytes in the GSM-only config, bringing it to matching our current GSM+GPRS config, and I need to remove the bogon in the MFW (UI) code from TCS3 that fills the FFS with debug traces. But the FCDEV3B and Openmoko targets should be good now with the present 2019-01-28 release, only C1xx remain to be updated. Hasta la Victoria, Siempre, Mychaela aka The Mother _______________________________________________ Community mailing list Community@freecalypso.org https://www.freecalypso.org/mailman/listinfo/community