[BUG FIX] Phantom keypress and screen shot

Search This thread

neh4pres

Senior Member
Nov 22, 2010
2,180
469
I finally got around to mod'ing our last phone. Actually, I was finally able to pry it from my teen's hands long enough to do the work. I think she sat home all afternoon and twitched.

Anyway, here's a pic of the two caps. One is on the interrupt line and the other is on the clock (or scl) line. I melted the insulation from a piece of real fine magnet wire to connect between the clock pin and the second cap. The other end of the second cap is just solder bridged to the same ground as the first cap.

Nice work. Why 2 caps this time?

Sent from my SCH-I535 using xda premium
 

electric bill

Inactive Recognized Developer
Jun 24, 2011
128
76
Moto G7 Plus
Nice work. Why 2 caps this time?

Sent from my SCH-I535 using xda premium

I ended up with two caps from my original research but I had taken the previously posted set of pics before I added the second one. It seems the RFI was getting on the clock line and creating random clock toggles along with random data. This was causing the melfas chip to turn the backlights on and off as well as generate a false interrupt. The main problem was the random interrupts caused by RFI, and the first cap on the interrupt line fixes that. The second cap on the clock line snuffs out those last little problems that only show up rarely in very low signal areas. Most of the time, when you get into an area with signal that low, the phone switches to 1X and you don't see the problem. But as long as the phone is open and the soldering iron is hot, it only makes sense to add both caps.
 
  • Like
Reactions: neh4pres

Ralstian

New member
Aug 27, 2010
4
0
Cap Values?

I'm constantly amazed by what the community here at xda comes up with. You guys are amazing. My wife just got a Galaxy s3 today and I'm annexing her old Fascinate to use as my primary phone/media player for when I'm at work. I just saw this post and it explains so much of what here strange issues were!

The question I have is, what capacitor is that exactly. I see that it is a 100 pF capacitor, but I'm searching around mouser's webpage, and I'm not sure which 100 pF cap to get, there are thousands of varieties! What do i need as far as voltage rating, tolerance etc. I have access so the necessary equipment at my workplace to safely perform this hardware fix, so I just need to go ahead and order the caps.


Thank you all so much, and keep up the kick*** work.

:good:
 

electric bill

Inactive Recognized Developer
Jun 24, 2011
128
76
Moto G7 Plus
I'm constantly amazed by what the community here at xda comes up with. You guys are amazing. My wife just got a Galaxy s3 today and I'm annexing her old Fascinate to use as my primary phone/media player for when I'm at work. I just saw this post and it explains so much of what here strange issues were!

The question I have is, what capacitor is that exactly. I see that it is a 100 pF capacitor, but I'm searching around mouser's webpage, and I'm not sure which 100 pF cap to get, there are thousands of varieties! What do i need as far as voltage rating, tolerance etc. I have access so the necessary equipment at my workplace to safely perform this hardware fix, so I just need to go ahead and order the caps.


Thank you all so much, and keep up the kick*** work.

:good:

it's an X7R. TDK part number C1608X7R1H101K. But I bought a 100 of them from digikey when I got them. PM your address and I'll send you a few.
 
Nov 19, 2008
8
3
Awesome work, Bill! I've got 3 mesmerizes that all have this issue, so I may just have to do the cap mod myself. How much would you charge me for 8 of them? (In case my tweezers spit one or two across the floor.)
 

longplaypg

Member
Dec 1, 2011
8
4
First a big thanks to Electric Bill and the folks who worked with him on this issue.

I have received my CAPS, but I cannot find my Intel Play USB microscope.
en.wikipedia.org/wiki/Intel_Play

I am going to move forward by purchasing an AGPtek USB Microscope for now.
newegg.com/Product/Product.aspx?Item=9SIA0U00AH2235

I am planning on doing the 2 CAP fix for now in hopes of permanently removing the phantom keys issue from my device. This should also stop those annoying short battery life times when the phantom keys go crazy, heat up the battery, and decrease my overall battery life. I know not all my battery issues are from the phantom keys, but definitely a few of them I have tracked.

I will post more once the microscope arrives.
 
  • Like
Reactions: hhp_211

electric bill

Inactive Recognized Developer
Jun 24, 2011
128
76
Moto G7 Plus
Seems a shame to have to go out and buy a new microscope. It doesn't have to be very powerful. Maybe the local high school has one that they'd let you use for a day.

First a big thanks to Electric Bill and the folks who worked with him on this issue.

I have received my CAPS, but I cannot find my Intel Play USB microscope.
en.wikipedia.org/wiki/Intel_Play

I am going to move forward by purchasing an AGPtek USB Microscope for now.
newegg.com/Product/Product.aspx?Item=9SIA0U00AH2235

I am planning on doing the 2 CAP fix for now in hopes of permanently removing the phantom keys issue from my device. This should also stop those annoying short battery life times when the phantom keys go crazy, heat up the battery, and decrease my overall battery life. I know not all my battery issues are from the phantom keys, but definitely a few of them I have tracked.

I will post more once the microscope arrives.
 

locoboi187

Senior Member
Aug 5, 2010
2,053
253
This is a very interesting thread. Subscribed.

Sent from my SPH-D710 using xda premium
 

pcmanager

Senior Member
Mar 20, 2008
252
93
Thanks for all your work troubleshooting this issue Bill. It's great to have skills like yours and share your discoveries with the community. I have a Samsung galaxy s2, plagued by the phantom presses. I have disabled the keys and use onscreen nav keys for a bandaid fix. I would love to try the cap fix, as I will be keeping my phone until may 2013. Took the phone to sprint and they claimed liquid damage... The indicator sticker hadn't even changed color. PM sent. Thanks buddy!

Sent from my SPH-D710 using Tapatalk 2
 

longplaypg

Member
Dec 1, 2011
8
4
Seems a shame to have to go out and buy a new microscope. It doesn't have to be very powerful. Maybe the local high school has one that they'd let you use for a day.

The new microscope has 8 leds that light up the area nicely. The boy and myself will get some good use out of this little unit anyways. :)

I am doing a pre check list today and planning my final attack on this issue.

In your first mod (1 cap) you have a rev1.1 r.b45 circuit using a MFS 5mj44 ???85 chip.

In your second mod (2 cap) you have a rev1.0 r.aa2 circuit using a MFS 5mj24 1041a chip.

My unit has a rev1.0 r.ab2 circuit using a MFS 5mj16 10312 chip.

Based on your previous 2 phones and my phone I should have no issues, but to feel safe I want to confirm the pin outs match before I proceed. I will do a little internet searching to see what I can find before I dive in blind.

Attached are a few pictures I have grabbed so far with the new microscope. I so far see I need a better stand and might want to break it open. It seems to me the camera lens inside needs to be rotated or design a special stand to deal with the rotated lens.
 

Attachments

  • s6.jpg
    s6.jpg
    145.5 KB · Views: 186
  • s7.jpg
    s7.jpg
    176.4 KB · Views: 177
  • s8.jpg
    s8.jpg
    166.8 KB · Views: 178
  • s9.jpg
    s9.jpg
    101.8 KB · Views: 177
  • Like
Reactions: hhp_211

electric bill

Inactive Recognized Developer
Jun 24, 2011
128
76
Moto G7 Plus
good catch on the different part markings. The MFS is probably melfas. the last numbers are likely the date code. I sent an email to Melfas and asked for the data sheet for the MFS-5080 part
 

longplaypg

Member
Dec 1, 2011
8
4
good catch on the different part markings. The MFS is probably melfas. the last numbers are likely the date code. I sent an email to Melfas and asked for the data sheet for the MFS-5080 part

sounds good I will not harass them with a 2nd email requesting the same then :)

I have never soldered this small before and decided to try a few practice runs to get a little familiar with things. Going to break for lunch and give myself a little relaxation. Here is a real nice picture of the chip and surrounding pins that you can use to improve your documentation with, that doesn't contain the caps yet.
 

Attachments

  • s10.jpg
    s10.jpg
    145 KB · Views: 149

electric bill

Inactive Recognized Developer
Jun 24, 2011
128
76
Moto G7 Plus
I have never soldered this small before and decided to try a few practice runs to get a little familiar with things. Going to break for lunch and give myself a little relaxation. Here is a real nice picture of the chip and surrounding pins that you can use to improve your documentation with, that doesn't contain the caps yet.

don't let that flex circuit get too hot or the solder resist will come off the top of those traces and the copper will be exposed to shorting out the parts that you are mounting on top of them.
 

hhp_211

Senior Member
May 15, 2008
1,832
926
don't let that flex circuit get too hot or the solder resist will come off the top of those traces and the copper will be exposed to shorting out the parts that you are mounting on top of them.

what is a good solder iron temp for this,,, although I highly doubt I'll ever be doing it,,,I love to 'think' I have the knowledge ;)

Sent from my SCH-I500 using xda premium
 
  • Like
Reactions: pcmanager

electric bill

Inactive Recognized Developer
Jun 24, 2011
128
76
Moto G7 Plus
sounds good I will not harass them with a 2nd email requesting the same then :)

I have never soldered this small before and decided to try a few practice runs to get a little familiar with things. Going to break for lunch and give myself a little relaxation. Here is a real nice picture of the chip and surrounding pins that you can use to improve your documentation with, that doesn't contain the caps yet.

found a couple of places to get replacements for the touchkey assy. ebay had a couple of listings. Just go there and search for "Samsung i500 Galaxy S Fascinate Front Home Menu Touch Keys Flex Cable". I'll prob order 1 just to check it out.

repairsuniverse.com is also selling them.
 

longplaypg

Member
Dec 1, 2011
8
4
found a couple of places to get replacements for the touchkey assy. ebay had a couple of listings. Just go there and search for "Samsung i500 Galaxy S Fascinate Front Home Menu Touch Keys Flex Cable". I'll prob order 1 just to check it out.

repairsuniverse.com is also selling them.

Ok real life took over and will continue through this weekend :)

At this time I took a few more snapshots and some rough measurements. I have a hakko703 with a hakko907 iron. I believe my LB is just too big at this point for the small parts just trying to do some off board soldering. I have decided to add like pigtails to these parts so when I get ready to solder on that flex board I will have 3 small soldier points. It might be easier to do the soldier bridge, but I wanted to stay away from that flex circuit for now. I will check out your source and maybe buy a spare :)

Going to look for a smaller tip for the iron and see if things are easier.

All of these pictures have rough measurements in millimeters displayed on them.
 

Attachments

  • s11a.jpg
    s11a.jpg
    160.9 KB · Views: 84
  • s12a.jpg
    s12a.jpg
    63.9 KB · Views: 84
  • s13a.jpg
    s13a.jpg
    82 KB · Views: 84
  • s15a.jpg
    s15a.jpg
    66.2 KB · Views: 79

Top Liked Posts

  • There are no posts matching your filters.
  • 20
    I've been working on fixing this issue for awhile. Here's the deal:

    The problem.
    The four keys at the bottom of the phone are monitored by a melfas touchkey chip (http://www.melfas.com/english/touch/sensor.asp) that connects to the main processor via an I2C bus (http://en.wikipedia.org/wiki/i2c). The melfas chip generates an interrupt whenever one of the keys is touched or released. The processor then reads the key value from this chip over the i2c bus. The problem is that the touchkey chip is located right next to the 3G antenna. When the phone is accessing the 3G network the RF energy gets transferred to the interrupt and i2c clock and data lines causing false interrupts to occur. The processor responds to the interrupt by reading the key value from the cypress chip. The symptoms occur more frequently in low signal areas because the phone outputs a higher RF level in those situations which causes more RF interference on the interrupt line.

    Most of the time when a false interrupt has occurred the touchkey chip will return a value of zero for the key and the driver will recognize this as a bad key press and ignore it. Sometimes the RF interference on the i2c clock and/or data line causes a valid value to be returned and the driver reports a key press value to the application. In the case where the driver reports a ‘back’ key down, the software sees this as holding the back key down so when you press the power button you get a screen shot. The easiest way to cure this is to always press and release the back key before pushing the power button. This causes the software to see both a key down and key up event which cancels the screenshot mode.

    This RFI induced touchkey interrupt happens hundreds of times per second when the phone is using 3G. It produces lots of different symptoms including applications that always seem to shut down. A wide variety of problems can be attributed to this failure. In addition, the processor spends a lot of time servicing these bogus interrupts, which take cpu time away from the other applications. This can make the phone appear to be slow or even freeze up for short periods of time. There’s a good chance that most people have experience this to some degree without realizing the root cause.

    Solution one. Fix the driver.

    Since this is a true hardware failure, a software solution is going to be less than perfect. After dozens of experiments rewriting the interrupt service routines in the driver I’ve settled on a combination of fixes. The first is to re-test the interrupt input line several times. In normal operation when you touch or release a button, the touchkey chip drives the interrupt line low and keeps it low until the driver reads data over the i2c interface. Since the RF interference is a sine wave and is being sampled it causes the interrupt line to go high and low at a fast rate. Sampling the line multiple times in software increases the chance of finding it in the high state. This is done both in the interrupt handler and then again in the interrupt thread. About 90% of the false interrupts are filtered out by testing the line in the handler. If the interrupt handler doesn’t find the line high after 10 samples, it masks the interrupt so that another falling edge doesn’t produce another interrupt. In testing I’ve noticed that the interrupt handler would run multiple times before the interrupt thread was even called. Once in a while, so many interrupts would get stacked up that the phone would just reboot. It was probably a stack or buffer overflow that wasn’t being handled. Remember, this interrupt would happen many hundreds of times a second. About 90% of the remaining false interrupts are filtered out by sampling this line in the thread. That leaves about 1% of the interrupts that need to be further tested. The second test is to read the data from the chip and discard anything that isn’t a valid key press value. This is easily done with a case statement. Finally, since occasionally a bogus valid value will get through, I set up a timer so that any key down event that doesn’t have a corresponding key up event within 3 seconds is canceled by calling the all_keys_up routine.

    This combination all but eliminates the symptoms produced by this failure. The only draw back is that the processor still spends a considerable amount of time servicing the false interrupts. And rarely a phantom keypress does get through. In all, it’s a fairly good piece of duct tape and JB Weld.

    During my experiments I used a copy of the kgb kernel. My version with the modified driver is in github at https://github.com/dmriley/kgb. If you want to try this yourself, be sure to use the ‘dev’ branch.


    Solution two. Fix the hardware.

    There are three signals that connect from the melfas touchkey chip to the processor. They are the two i2c lines: sdc which is the clock and sda which is the data. The third line is the interrupt. In troubleshooting this problem, I took my phone apart and put oscilloscope probes on the three lines. This allowed me to see the real cause of the problem. Since the interference is RFI (or EMI) the only real way to fix the problem is to either remove the RF or make the impedance of the signals much lower. Removing the RF is easy if you don’t need to use 3G. When the phone is using wifi (or no network connectivity at all) the problem does not exist. Also, when you are very close to a cell tower, the phone transmits at a much lower level. This lower level greatly reduces the RFI. Lowering the impedance is a little harder. I2C uses active pull down and passive pull up for the logic levels for both sda and sdc. This means that the impendence is mostly governed by the pull up resistor. This resistor value is typically upwards of 1kohm and probably as high as 3kohms (I didn’t measure it in this phone). Since the impedance only needs to be lowered for the 3G frequencies of around 800MHz, a capacitor can be added from the signal source to signal ground. At 800MHZ a 100 pf cap is about 2 ohms (1/ 2*pi*f*c). That’s a couple of orders of magnitude lower than the pull up resistor alone, and much too low for the RF signal to induce any significant voltage on the line. This value is also low enough not to interfere with the signal rise and fall times for the interrupt line. In the case of the interrupt line, the melfas chip drives the signal low and keeps it low until the interrupt is serviced. Discharging a 100pf cap with a 2mA driver takes only microseconds. This much delay is not noticeable when touching the key and is much less than the amount of time that the processor takes to service the interrupt.

    Adding the cap to the interrupt line eliminates false interrupts. A chance does exist that a valid key event during 3G access could cause an incorrect key value to be returned due to RFI on the clock and data lines. The i2c protocol is designed to compensate for capacitive loading on the lines. Although it would cause the clock period to be stretched out significantly it would still only take milliseconds to read the key data from the chip. The difference would be imperceptible. To date I have only added the cap to the interrupt line and have yet to experience an invalid key press.

    I’ll post pictures of cap mod.

    Summary.

    Most people will be satisfied using the software fix. I think that a couple of the kernel devs are incorporating some or most of the driver mods outlined in this document. Both comradesven (kgb dev) and ssewk2x aka Efpophis (glitch dev) were involved in the test and debug process. Much appreciation is given to both of them for the help that they gave me and for allowing me to use and hack up their code on github. Efpophis saved me hours of searching through code. Without their help, I’d still be unable to build a kernel.


    UPDATE:30 Mar 2012
    The phone had been working fine since the mod. I hadn't seen a screen capture or any of the other symptoms. Then, a couple of nights ago, while I running maps on 3G (a data intensive app) the touchkey backlights started flashing rapidly like the phone was having a little seizure. And then it happened, the voice search popped up. A couple of debug kernels later I've come to the conclusion (and I'm never wrong) that the clock line (SCL) going to the melfas chip was being toggled by the same RF interference that was causing the false interrupts. A random clock along with random data was causing the chip to turn the backlights on and off as well as generate a false interrupt. I was able to reliably duplicate the problem in a couple of really low signal level areas (not hard to find when you live out in the boonies).

    I tore the phone apart (again) today and added a 100pf cap to the scl line right next to the chip. I also added another cap in parallel with the 100pf on the interrupt line. I spent about 1/2 hour tonight running 3G data apps in the same location where the problem first appeared. So far, no problems and none of the debug messages have shown up on dmesg.

    If anyone wants pics of the added cap I'll open it back up, no problem, otherwise if you look at this photo you can see which pin is scl (although I incorrectly labeled it SDC in the photo). http://xdaforums.com/attachment.php?attachmentid=953824&d=1332117055

    If anyone tries these mods I'd be real interested in your results.
    11
    the cap. yeah, that's a normal size pen to show scale
    View attachment 951812

    on the board
    View attachment 951821

    with notes
    View attachment 951820

    the antenna problem
    View attachment 951822

    close up showing touckey circuit. micro sd card for scale
    View attachment 951834

    my finger
    View attachment 951836

    back off
    View attachment 951838

    another view
    View attachment 951837


    BTW, I took these pictures with my son's fascinate :)
    7
    Uuuhm...You're an awesome human being. Holy crap. -_-

    That's some amazing work, thanks!

    wasn't just me. had help from other members here. I didn't even know where to start looking when I first started. It's so cool that people are willing to do the level of work that the devs here do without expecting anything back.
    5
    Samsung SPH-D710

    This thread provided the information I needed to get Sprint (and Samsung) on board with a solution for the Galaxy S II 'Epic 4G Touch' model number SPH-D710.

    Using this thread as a starting point, I that the problem with the Sprint S2 phones is also caused by RF interference. Here is the reply:

    When the radio turns up power to maintain connection with the towers it can cause Electronic Noise to leak over the connection between the capacitive buttons at the bottom of the handset and the main board, making the phone think that there was a key press. This is due to a piece of shielding tape on the device not being up to snuff. The tape can't be replaced on its own in store, the entire screen assembly needs to be replaced.

    This issue took quite a bit of time to track down and determine a root cause by Sprint/Samsung because of the large number of devices in the field with varying parts since launch and the multitude of potential causes. It needed to be determined how widespread the issue was, and the different types of hardware affected by this versus other issues with potentially similar symptoms.

    The MENU button being "pressed" on its own is considered a known issue and can be fixed in a Service and Repair store by replacing the screen assembly (The replacement parts from Samsung are a combined LCD/TSP assembly from the factory so they are both replaced at once). It does appear more apparent in low signal/roaming environments due to the nature of the issue. If a store does not have parts available or is unable to fix it, they can exchange the device for you. Exchanges will be for the same model refurbished device, just as if you went through Samsung to haev it repaired/replaced. The refurbished devices should have the fixed part in place already from the warehouse. If you do not have TEP/ESRP from Sprint the $50 repair fee is waived for the repair/exchange for this issue. I do not know a specific date that this was posted in the internal device solutions portal, I just checked it today specifically for this issue.

    Thanks to the OP of this thread and all those who contributed to its awesomeness!
    4
    Thanks so much for all the work, and the detail in your post. It is amazing the work everybody does here and the knowledge you pass on to us.
    I do have a few questions


    Would you mind sharing what kind off iron you used? is that the most bottom line on the board you soldered to? If so, did you have to scratch it or something first? Is it the farthest left line on the chip that was used? Do they make caps that size with leads coming of the 2 sides, and if so would that be a easier mod? Is there a positive and negative side to that capacitor?

    I'm really thinking about doing this, if i decide to would you mind sending me 5 of your extra caps for a $10 donation?

    Sent from my SCH-I500 using xda premium

    I did the mod at my workplace under a microscope. I used a metcal (http://www.okinternational.com/product_soldering/mx500) soldering iron but you could use just about any low wattage iron with a really fine tip.

    There's four pins on each side of the melfas chip. One end of the cap is soldered right to the interrupt pin which is the closest to the corner. the other end is connected to the ground side of C2 via a solder bridge.

    View attachment 953824

    I doubt that they make caps that small with leads on them. You could look. It's not hard to make the solder bridge. Remember the scale that were talking about here. That cap is 0.06 inches long by 0.03 inches wide. I wouldn't try to scratch the solder resist from the board because it's a flex circuit on top. Also, the cap is not polarized.

    I bought a hundred of these caps for less than $6 including shipping. I'd feel terrible charging someone $10 for five. If you pm me your address I'll stick a couple in an envelope and send them. If you want to give away ten bucks, donate it to a charity like destiny rescue or UMCOR (http://new.gbgm-umc.org/umcor/about/financialinformation/).

    Disclaimer:I've been working with parts this size for years and am pretty good at soldering. You risk dorking up your phone if you don't do this correctly. Only attempt if you are skilled at soldering. All information is presented "as is" and without warranty for fitness or use. Your mileage may vary. Void where prohibited, taxed or licensed.