Sony Ericsson K200i with SAMSUNG flash
Mychaela Falconia
falcon at freecalypso.org
Fri Dec 1 08:47:32 UTC 2023
Hi Vadim and community,
> I acquired another SE K200i and picked it up from the local post
> department today. It's the third K200i in my collection, and this new
> phone is a bit different from the two that I already have.
> [...]
> * SAMSUNG K5L29xx_A flash (according to fc-loadtool), not SPANSION
> S71PL129, which we already saw.
Of the two K2x0 phones I got (one K200i and one K220i), both have
Samsung K5L2931CAM flash+RAM MCP - thus I never got one with Spansion
S71PL129NB0.
> * The IMEI reported by the phone starts with the '35617701' prefix we
> saw, but the label behind the battery has a completely different IMEI
> with a different prefix '35871701'.
A refurbished phone with mismatched plastic case and motherboard?
> The only difference between R1AA003 and R1AA008 I could find so far is
> AMR codec support: the former does not list it in the hidden "Service"
> menu. We can compare further by looking at the MS Classmark bits.
Can you please remind me exactly which MS Classmark bits indicate AMR
codec support? I thought this info wasn't present in any Classmark, I
thought you had to make a test call and look at the speech version list
in the Bearer capability IE in the CC Setup message to get this info -
please clarify. In any case, I would find rather shocking to see *any*
fw from late-Calypso era that disables AMR. Referring to my last
OsmoDevCall presentation...
> Similarly to the ones with SPANSION flash, erasing the first flash bank
> fails (the bootloader/IMEI protection?):
>
> loadtool> flash erase 0x00 0x800000
> Erasing 135 sector(s)
> erase timeout, aborting
Intrigued by the presence of this write-protection (which we haven't
encountered in any other Calypso GSM device until now), I took the
time to thoroughly study various flash datasheets. I got interesting
news: on both Spansion and Samsung flash chips that are used in these
SE K2x0 phones, the implemented sector write-protection scheme is much
more sophisticated than I remembered, and it isn't fixed in hardware
with high-voltage programming equipment - we can actually lock and
unlock sectors via software commands!
On traditional AMD flashes, the kind I worked on for the first time
right around 24 y ago, the only way to change sector lock/unlock state
was to apply 12V to some pin and feed raw program/erase pulses to the
chip - an operation which only an external device programmer can do,
not something that can be done on a chip inside a system. But the
newer Spansion and Samsung flashes that matter for us here, they still
have non-volatile bits that control sector lock/unlock state (write-
protected or not), but there is no more high-voltage circuit
requirement - everything is programmed under regular in-circuit
conditions. There are several different security schemes available:
under some security schemes it is indeed impossible to unlock sectors
(irreversible write-protection in hardware), but under other security
schemes it *is* possible to unlock write-protected sectors via sw
commands!
Please pull my latest code from freecalypso-tools Hg repository -
fc-loadtool got a new 'flash lock-state' command which I just now
implemented and haven't documented yet. Please run these commands on
your SE K2x0 phones (both Spansion and Samsung flash versions) and
share the results:
flash lock-state
flash2 lock-state
These commands read and report the current state of all sector locking
and security policy bits in the flash chip; based on the results, we
should be able to tell if we can unlock all of the flash in software.
M~
More information about the Community
mailing list