Curse of the Samsung R330 Firmware Phantom

I spent far too much time trying to fix a cell phone, today.  One of my kin has a Samsung SCH-R330 feature phone with Bell.  A week ago, it began freezing and soft resetting whenever the “1” key was pressed at the beginning of a number.  This meant that dialing long distance or using the hotkey to access voicemail would reset the phone.

The error would go like this:

  1. Open the phone and press the “1” key
  2. The screen goes completely black for about 2 seconds, then the image returns but the phone is unresponsive for 10-15 seconds.  Button presses do nothing, and no button tones are played through the speaker.
  3. The screen will display “Looking for service” or “Home only mode” or some other network-related message.  Phone responds normally to button presses now.

The static image on the screen and the non-responsive buttons looks like a soft reset.  The image would be sitting in the screen buffer and that buffer probably doesn’t get flushed or updated until later in the reset sequence.

There’s some key information here for the troubleshooting process.  The screen buffer is probably just a designated spot in the phone’s RAM.  RAM is volatile, meaning that any information is lost when power is off…

When the button was pressed, the screen went black, and we could presume that a black screen meant power loss.  Superficially, the relationship looks like this: button press => power loss.  A button is just a bit of conductive material that bridges a path in a circuit; you press it, the circuit is closed, current flows.  Ideally it has only two states, On or Off.  But what about a short in the circuit?  If some conductive foreign material gets into the button gap or otherwise causes the button’s conductor to deflect onto another path, a short circuit could be created, bypassing all of the logic circuitry and putting the phone into an error state.  Depending on the location of the short, the phone might power off completely, just like removing the battery while the phone is on, but, if the short only caused a logical fault and not a loss of power, the phone’s processor would just fall back to a reset mode and go through the boot process.

The phone cam back to life by itself, so that seems to rule out a total loss of power.  And, if we recall that the image on the screen reappeared after going black, we have more evidence of a soft reset.  If there had been a total power loss, the screen buffer would be empty, so instead of a nice main screen image, we’d see a blank screen or the default loading screen you see when the phone is first powered on.

So is it a short?  If we presume that it is some mechanical problem with the button or some related structure, then the error should occur regardless of the state of the phone.  That is to say, the error should happen regardless of what app is running, what menu is on the screen, what order I press the buttons, etc.  Simple enough to test: press the “1” button from the main screen, from the main menu screen, in Camera mode, in Text Messaging mode, as the first number, as the middle number, as the last number, and any other way you choose.

What we find is that the error DOES depend on the state of the phone.  If you dial “54321”, everything is fine.  If you dial “12345”, the error happens when you hit the “1” button.  The error happens at the main screen and in the main menu, but does NOT happen in Camera mode or in other sub-menus.  A mechanical fault would not be dependent on the logical state of the phone.  So it cannot be the button itself.

If an error depends on logical conditions, then perhaps the error is rooted in logic.  To be more specific, the logic of the phone’s software.  The phone itself is an electromechanical device, but it needs a set of instructions to tell it how to behave like a phone; communicating with the cellular network, displaying an image on the screen, responding to a button press, etc.  The instructions are called firmware.  Firmware is like software in that both are sets of instructions for operating a logical device, and both can be changed by reprogramming, but one thinks of firmware as being more intimately married to the device than regular software.  Firmware usually lives closer to the device’s “brain” and contains everything that is necessary for the basic functions of the device.  Software is a more general term and, in the context of this post, is something that would add other functionality to a device, like apps on an iPhone, but be an option rather than a standard part.

Barring a curse, demonic possession, or the ghost of LeVar Burton, the problem boils down to the firmware.  As the phone follows its instructions and moves from state to state with button presses and cell signals, the phone is put into a state where a single press of the “1” button gives the processor a value it doesn’t expect or a command it cannot execute, and it panics.  It’s a bug.  Maybe the instructions say “if Button 1 is pressed, go to the instruction at location ABC” but ABC does not exist, or contains something other than a legal instruction.  I don’t know.

“So, Mr. Gilliland.  Should I toss the phone in the garbage?” you ask.

Well, yes.  It’s an old feature phone.  Crawl out of your bunker and join the 21st century.

If you’ve bothered to read this far into the article, you probably want to keep using the phone, so I have good news.  The fix is simple.  Turn on the phone and navigate to the main menu, the one where you see “Tools”, “Camera”, “Messaging”, etc.  Usually you just have to hit the big round button in the center of your keypad to bring it up.  From within the main menu, press the SOFT BUTTON on the TOP RIGHT of your keypad.  It looks like a hyphen or a minus sign and it’s just to the right of the round center button (but it’s not part of the ring).  This should bring up a box with two options:  Menu Style #1, and Menu Style #2.  Use the button ring to select Menu Style #1, then press the round center button.  The main menu’s background colour should be black, now.  If it is, you’re done.

Yes, that’s it.

The error only happens if you have changed your background to Menu Style #2: White.

White background + “1” button = crash.

This is a firmware issue, so technically it can be fixed by flashing a new firmware into your phone.  The firmware is distributed by your carrier, Bell in my case, and the phone has a simple option in the Tools menu to install the latest firmware.  According to the phone I’m working on, it already has the newest firmware, which means that either Samsung doesn’t want to produce a newer firmware, or Bell doesn’t want to bother with updates for an old feature phone.  I asked Samsung Support via Facebook (who responded quite quickly to my initial pleas for help) if they offered a generic, non-carrier-branded firmware to end-users, but I haven’t heard back.  There’s just about zero chance that they would offer such a thing, since the carrier prefers to own any relationship to the end user and decide what features and customizations should be enabled on the user’s device.

If you’ve experienced this weird bug, send me an email or leave a comment on this post.  I looked high and low for a documented case of this bug and found nothing, so I hope this helps someone.

Cheers.

  • Matt

    I have a very similar bug. But freeze/soft reset occurs when I am checking a text message that I’ve received. Sometimes. Haven’t been able to have it happen consistently. Haven’t spent too much time looking into it either (seem to be able to access the text messages after a couple of hours). Also on Bell.

    • Weird stuff :/

      Does it happen right after the phone notifies you about the new message? For example: the phone beeps and tells you that there’s a new text message, asks if you want to read the message, you click OK or a soft button or whatever, and then it resets? Or is it really random? (Sorry for the late reply; I was encased in a block of ice along with my wooly mammoth)

      • Matt

        It freezes when I click OK to read the text message. I’ve found a work-around, where if I delete an existing message (or sometimes more than 1) it allows me to read the new message. Almost like there’s an overflow error happening somewhere.

        • Innnnteresting. Thanks for the work-around info. The errors are being resolved the same way — cold booting, clearing all active memory — even though they’re triggered by different functions, at least at a high level. Both errors happen after being prompted by the system… “You have a new message, click OK to read it” and “Someone’s calling you, click OK to answer”… I’m wondering how the event handling is done; how it maps keypress events to function calls. God, I’m almost curious enough to open this thing and watch the debug messages. Must… resist…

          • Neil B

            Hey Aaron. I have the same issue as Matt with texts; today, however, it did the same with an outbound phone call. I suspect that the solution is a variant on the old “3 finger solution” for ancient Macs–except instead of dropping it from the width of 3 fingers onto the tabletop, I drop the phone from a height of 3 inches above my trash bin.

            My guess as to the cause is that the firmware is no longer supported, and is rapidly losing functionality with the carrier–SaskTel in my case.

  • Annie

    Hello! I had the exact same bug with this exact samsung phone!Thanks for the fix and the funny text that goes with it!! But I don’t clearly get why it started only a few months ago, since my background was white from the beginning one year ago. Well, there’s a lot of thing that I don’t really understand when it comes to computers and all… so, I’m just really happy to be able to make long distance call and press the “1” in a menu again.
    Annie
    Sherbrooke, QC

    • It’s hard to know exactly why it started… The most reasonable guess is that you somehow changed the background colour. You may have wandered into the display menu, got into the background colour section, and hit OK instead of BACK; the phone may have received an Over-The-Air update from Bell and changed the background setting without asking you; the phone may have encountered some kind of unrelated error that corrupted the settings; aliens may have landed and secretly fiddled with our mobile phones…

      I glad I could help 🙂

  • Kevo

    Mine does this, but only when I click on Contacts. Great feature…the phone crashes when you click on contacts.

  • mike

    My son’s phone was doing the same thing but when trying to access contacts, I followed the steps but had to switch to menu style 2 (White) and all works now……….thanks for the tip.

    • Glad it worked out for you! I know that Bell pushed a firmware update this month, but I haven’t checked to see if it fixes any of the old problems (or makes any new ones). Fingers crossed.