Sunday, September 6, 2009

#1024 Hardware Fix(Deep Sleep)

Hi all,this blog is mainly dedicated for all the common hardware problems in Openmoko GTA01 and GTA02.

One of the major hardware problem is #1024 Deep Sleep ,which is there in all the versions of Neo even in the latest ver A7.
Few workarounds have been found for this problem and based on my research i will try to explain each of them in detail,then it depends on you which one you like :)
All the solutions were not present at a single place,so i have tried to put them all in a single place.

METHOD 1 - Adding a capacitor in parallel to the existing capacitor
METHOD 2 - Replacing the capacitor with a new high value capacitor
METHOD 3 - Software changes mainly some values in a file

Before using the Method 1 or Method 2 ,we need to open the phone which can be done as below.

The above image is you get when you will remove the front cover.

After that you need to bring it out from the below cover which can be done as below ...

Zoomed one ..Mainly for GSM module which is covered by a tin can.

Now the real challenge starts here ,that is to remove the tin cap from the GSM Module,before that you need to remove the Wifi Module first .The WiFi module is shown in the pic below..

Also a pic from Cameron Frazier(Toaster in IRC) gives some idea of the opened Wifi Module ,its given below ..

Zoomed one will look like as below ,here the red line at C1009 capacitor shows an added new 22uF ceramic capacitor which we will use in Method 2.

Chat logs with Cameron on removing Wifi Module .....

"UberNeo - one ques : How do we remove the Wifi Module first
Toaster - Brute force
UberNeo - and where is this Wifi module exactly located
Toaster - wifi is the module that is bonded to the top EMI can which contains C1009
Toaster - There is one low profile connecter from the wlan pca to the main pca

UberNeo - does the tin can is soldered on the PCB
Toaster - if you look at the bottom right corner of the 'naked' Freerunner pictures on the blog you linked to (fifth picture), the connecter is the whiteplastic bit near the mounting hole
Toaster - the EMI shield is a two piece item, a base which is soldered to the pcb, and a cover which snaps on over top
UberNeo - does the upper cover can be removed easily
Toaster - the wlan chip is about a 10mm x 15mm pca bonded with non-setting conductive adhesive to the EMI cover
Toaster - it takes some time, you have to be careful not to bend/deform the cover. It's pretty weak. The best wasy is to work your way about the perimeter with a small tool, unlocking each little tab.
UberNeo - ok
Toaster - once two sides are loose you can put a little (very little) more force into it, and it'll pop off
Toaster - the wlan chip can be removed and replaced simply by prying it off

UberNeo - so this white jack will have some wires coming out of this
UberNeo - and those are just stick to the tin can
Toaster - no, it's a low profile connecter, the part in the image is the females portion, the male is soldered to the back of the wlan pcb
Toaster - there are no wires
UberNeo - ok firstly we need to remove that male connector from this white female connector
Toaster - it's a single unit with the WLAN PCA. When you take the WLAN PCA off, the connecter is undon at the same time
Toaster - you don't even have to think of it
UberNeo - so does anything remain connected to the can
Toaster - You only have to consider it when you're aligning the connecter back up during assembly
Toaster - there is one piece of ground strapping opposite the WLAN connector (silver fabric-like tape) that I left on.
Toaster - other then that, everything comes off
UberNeo - is it required to remove Wifi Module for reaching the GSM module
UberNeo - yes"

Few of the tools can be used to do so shown in the image below.

Once it is opened successfully the nude neo will look like as below.

In the above image no need to open the tin cap of left side just open the GSM module cap as shown below with Red Circled.

Once our neo gets opened without any harm we can start up with the different methods mentioned at the starting.

METHOD 1 .... In this method we will add a 10uF(4v or so) ceramic capacitor in parallel to the C1009 capacitor.The location of the C1009 capacitor is shown in the image below.

Now the one end of ceramic capacitor is soldered to the bottom end of C1009 capacitor and the other end to the tin cap on bottom left,this is shown in image below with RED line as 10uF ceramic capacitor. Note: There is nothing like positive or negative in ceramic capacitor so you can use anyside.

This is also a tough part because the new capacitor can touch the components below it and also the tin cap which you put afterwards at the top and results in a short circuit,so to avoid that you can put a thin insulator(polythene ..etc) just under and above the new added capacitor.

On the PCB layout the above pic looks like as below ..

If you dont want it in this way you can also add the capacitor as shown below.


METHOD 2 .... In this method we will remove the C1009(10uF) capacitor from the PCB and add a new 22uF capacitor.Actually our main aim is to make the C1009 value ~ 20uF,so in the method 1 we have added a 10uF capacitor in parallel .i.e. C1 + C2(cap in parallel) which makes the value of C1009 ~ 20uF but in this method we will remove the original C1009(10uF) capacitor and add a new 22uF capacitor.

Now the real challenge is to remove the C1009 from the PCB because i have heard that in GTA01 the cap is glued so its almost impossible to remove and in GTA02 (i am not sure) ,but its bit easy as compared to GTA01 which can be proved by the below writings by Daniel.

Daniel Willmann was able to successfully remove the C1009 from GTA02 and this is what he wrote "Okay, harsh measures... I've since reworked about 6 or so (all various GTA02 versions - A5/A6, MP and prototypes) and I managed to get the cap off on all of them. I have to admit that it's not too easy, though. Be aware that the right side of the cap is connected to the groundplane, so you need quite some energy in order to get it to heat up enough. There could also be glue in the mix, but I'm not sure how I could check that. I usually heat up both sides with two soldering irons wait a little and then try to move it around a little on the board until it's loose. Then I gently lift it off while holding it between my two soldering irons."

After removing the C1009 we can add the 22uF capacitor as shown below with the RED line as 22uF ceramic capacitor.

END OF METHOD 2 ..............................................

METHOD 3 ... Remember this method does not require any of the Hardware tweaks so you don't even have to open your lovable NEO. This method is given by Joerg (DocScrutinizer on IRC) If you are using SHR then goto file /etc/frameworkd.conf on your Neo (I don't know whether this file is there in any other distro).In that file search for line that contains "ti_calypso_deep_sleep" and change its value to "adaptive",the other option from the file are as below

"# choose your modem type, available types are: ti_calypso, freescale_neptune, singleline, muxed4line, option, ... modemtype = ti_calypso # if you have a ti_calypso, you can choose the deep sleep mode. Valid values are: never, adaptive (default), always ti_calypso_deep_sleep = adaptive"

End of Method 3 .................

Conclusion .... According to me the third method is the safest however if you really require a high battery backup or if you don't get any charge point daily only then you should go for method 1 and method 2 in order of my preference.

Some chat logs with Docscrutinizer ..

"DocScrutinizer-1024fix will push standby optimum max time from 80 to 150h
DocScrutinizer-1024 isn't exactly a problem
DocScrutinizer-it's more like an improvement

DocScrutinizer-with modem set to sleep=2 you get a max 70h of flawless standby
rategain-means if any new call comes will wake up
DocScrutinizer-with sleep=4 you either get 140h, or problems on recamping when out in the cold. Or you get the fix to avoid recamping
DocScrutinizer-sure, it's a phone :-D
rategain-so 1024 will fix the recamping problem
DocScrutinizer-sleep=2 also does
rategain-means after wake up wont try to search for networks and register/deregister
DocScrutinizer-so see, it's not really a bug
DocScrutinizer-recamping means the device constantly loses basestation and needs to reregister and you can't get inbound calls during that
rategain-does it happen frequently
DocScrutinizer-but again: sleep=2 (the default of e.g. SHR FSO atm) fixes recamping as well
rategain-but in this case the battery backup is just 70 Hrs
rategain-as u said
DocScrutinizer-device doewn't wake up when 1024 happens, and it happens sporadically in the cold
rategain-what is this cold ???
DocScrutinizer-yes, exactly
DocScrutinizer-but 70h standby isn't a bug
DocScrutinizer-hmm, depends. below 20C maybe

Chat log with PaulFester ...

PaulFertser-"It depends on skills. It requires: opening the case; taking out the board; dismounting the wifi module; dismounting the shield; desoldering a 0805-sized capacitor; soldering another; assembling. For an experienced repair technician _who has already done that_ it would take 15 minutes at most.

Experience of Cameron Frazier (Already have #1024 fix done) ....

"I had the #1024 and Buzz fixes applied by one of the techs here atwork (all parts were sourced from Digi-Key). As the buzz fix is wellknown here are a couple of points regarding the #1024 fix:
- I had C1009 cap replaced with a 0805 22uF cap- The conformal coating used caused the cap to seem to be bonded tothe PCB, even after the solder was removed, some mechanical leveragemay be required. This is a high risk process as you may remove/damagethe pad if care to remove all solder has not been taken- The conformal coating also required that the pads be thoroughlycleaned before the installation of the new cap via scrapping/scrubbingwith IPA and small tools
I had the work done by an experienced SMD tech with proper equipmentand even then it took the better part of 30 minutes. This is not afix for a novice. The alternate options (parallel cap grounded to thecase, etc) are probably more appropriate.

As a result of this fix (and setting deep_sleep=always), battery lifehas been greatly extended in suspend, to the point where an overnightsuspend (8h) is about a 5% power drop. On my third day post-fix Istill had 22% power remaining after reasonable usage (a few shortcalls, a few SMS, ~1h of screen off TangoGPS, and random resumes tocheck the time). I would like to do a total suspend time available,but it is my main phone, so this is tricky."

References ..

Joerg (DocScrutinizer on IRC)
Cameron Frazier(Toaster on IRC)