Related
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://forum.xda-developers.com/attachment.php?attachmentid=953824&d=1332117055
If anyone tries these mods I'd be real interested in your results.
Here are some pictures of the cap mod:
this is the open phone showing where the melfas touchkey circuit is:
View attachment 951774
Awesome, thanks for doing this for all of us. Phantom key press is really annoying
Sent from my SCH-I500 using XDA App
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
Wow, we're lucky to have someone as capable as yourself figure out this annoying issue! I've kinda kept up on your work, but seeing this breakdown and the photos is helpful in understanding the root cause of the problem. I do wonder sometimes how Samsung missed this issue in their testing, but at least we have custom kernels that implement your fixes and dramatically reduce the phantom presses!
Uuuhm...You're an awesome human being. Holy crap. -_-
That's some amazing work, thanks!
k_nivesout said:
.... I do wonder sometimes how Samsung missed this issue in their testing, but at least we have custom kernels that implement your fixes and dramatically reduce the phantom presses!
Click to expand...
Click to collapse
Yeah, it's crying shame that Samy couldn't fork over the extra penny to keep this problem from happening in the first place.
sendan said:
Uuuhm...You're an awesome human being. Holy crap. -_-
That's some amazing work, thanks!
Click to expand...
Click to collapse
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.
electric bill said:
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.
Click to expand...
Click to collapse
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
Ditto on the $10.00
neh4pres said:
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
Click to expand...
Click to collapse
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.
What is the easiest way to implement the band-aid software fix?
I am on CSpire so there are not many proven custom roms out there.
IamUmpire57 said:
What is the easiest way to implement the band-aid software fix?
I am on CSpire so there are not many proven custom roms out there.
Click to expand...
Click to collapse
The fix is in the kernel. I used the KGB kernel as the source for my build. You can download it from github and build your own. If you're running all stock (rom & kernel) you can mod the stock kernel.
I'm really not the expert here on choices. Maybe someone else could chime in.
Too tiny to solder so band-aid?
Excellent research, fix and documentation. I was going to follow the fix, but, when I finally got the phone disassembled, I saw that the bits were much too small for me to solder. And I'm an ex-electronics guy who's worked on surface mount stuff before, so I doubt amateurs will have much luck, either.
So the problem is that RFI is hopping onto the I2C and interrupt lines... Could we just block the RFI? Sure. A grounded piece of aluminum foil which covered the whole Melfus+lines area should do that. So I tried that. Worked great for the soft keys, but, for reasons not apparent to me, my phone would no longer do 3G (stuck in 1X). Perhaps because the big old piece of grounded foil in the middle of the 3G antenna soaked up too much signal?
How about not grounding the Aluminum foil? It wouldn't be tied to ground, so the potential of the Alu foil would wobble, but it might prevent enough RFI from reaching the I2C and interrupt lines.
I opened the phone back up and squished the Alu foil a bit so that it just covered the Melfus chip and the lines heading to the left, and so that it didn't touch what-I-think-is the ground plane right at the upper edge of the PCB. Now, the piece of Alu foil was a rectangle about 6mm wide and 3mm tall. Seems to prevent softkey misfires and my phone seems more responsive. Assuming the results hold, this is a 5 minute fix for the issue and it doesn't require anything more than a tiny screwdriver, a spot of aluminum foil and a moderately steady hand. Wish me luck!
CoffeeDregs said:
Excellent research, fix and documentation. I was going to follow the fix, but, when I finally got the phone disassembled, I saw that the bits were much too small for me to solder. And I'm an ex-electronics guy who's worked on surface mount stuff before, so I doubt amateurs will have much luck, either.
So the problem is that RFI is hopping onto the I2C and interrupt lines... Could we just block the RFI? Sure. A grounded piece of aluminum foil which covered the whole Melfus+lines area should do that. So I tried that. Worked great for the soft keys, but, for reasons not apparent to me, my phone would no longer do 3G (stuck in 1X). Perhaps because the big old piece of grounded foil in the middle of the 3G antenna soaked up too much signal?
How about not grounding the Aluminum foil? It wouldn't be tied to ground, so the potential of the Alu foil would wobble, but it might prevent enough RFI from reaching the I2C and interrupt lines.
I opened the phone back up and squished the Alu foil a bit so that it just covered the Melfus chip and the lines heading to the left, and so that it didn't touch what-I-think-is the ground plane right at the upper edge of the PCB. Now, the piece of Alu foil was a rectangle about 6mm wide and 3mm tall. Seems to prevent softkey misfires and my phone seems more responsive. Assuming the results hold, this is a 5 minute fix for the issue and it doesn't require anything more than a tiny screwdriver, a spot of aluminum foil and a moderately steady hand. Wish me luck!
Click to expand...
Click to collapse
That's great work. I tried that initially with some foil tape over the whole melfas chip without success. This was all documented in the github problem log but it got deleted when the ticket was closed out. In my basement where I was doing my testing, the signal strength is very low so it's a worst case scenario. Maybe the shield will work better if it's shaped just right. I'm not an RF guy so my shield was just a guess. Share some pics with us if you find a solid solution. The shield would be much easier to implement.
electric bill said:
I tried that initially with some foil tape over the whole melfas chip without success.
Click to expand...
Click to collapse
What was not successful about it? You still had phantom keypresses or you lost 3G?
Also, how did you ground the foil? I grounded it against what I thought was a ground plane. And I covered the entire L-shaped assembly (Melfas, lines and all).
[Stating the obvious...:] The idea of covering the Melfas chip and lines with foil assumes that the RFI is getting to the lines from above the chip+lines. The foil wouldn't do anything were the RFI hopping over from elsewhere. But AFAICT the top layer of the PCB is a ground plan and the signal lines head down into buried layers directly from the connector, so I'm not sure how else RFI could get the I2C lines except from in the module...
My un-grounded foil seems to be an improvement, but not a fix, so I might try grounded-foil again and try to figure out why it killed my 3G.
Good to hear that you have a microscope; I still have 20/20 vision as a 40yo, but that's a tiny little area!
I gotta say that I am wildly disappointed in Samsung. If a few electronics-savvy folks polking around the interwebs can find root cause and propose multiple fixes, it's shocking that Samsung won't acknowledge it, much less fix it. I'm due a phone upgrade and I'd love to get an SGS III, but I really don't trust Samsung.
CoffeeDregs said:
What was not successful about it? You still had phantom keypresses or you lost 3G?
Also, how did you ground the foil? I grounded it against what I thought was a ground plane. And I covered the entire L-shaped assembly (Melfas, lines and all).
[Stating the obvious...:] The idea of covering the Melfas chip and lines with foil assumes that the RFI is getting to the lines from above the chip+lines. The foil wouldn't do anything were the RFI hopping over from elsewhere. But AFAICT the top layer of the PCB is a ground plan and the signal lines head down into buried layers directly from the connector, so I'm not sure how else RFI could get the I2C lines except from in the module...
My un-grounded foil seems to be an improvement, but not a fix, so I might try grounded-foil again and try to figure out why it killed my 3G.
Good to hear that you have a microscope; I still have 20/20 vision as a 40yo, but that's a tiny little area!
I gotta say that I am wildly disappointed in Samsung. If a few electronics-savvy folks polking around the interwebs can find root cause and propose multiple fixes, it's shocking that Samsung won't acknowledge it, much less fix it. I'm due a phone upgrade and I'd love to get an SGS III, but I really don't trust Samsung.
Click to expand...
Click to collapse
Yeah, I used what I thought was a ground pad and covered pretty much everything on that little flex board that has the chip on it. It didn't stop the problem. Also, I had a bunch of dmesg stuff in the driver so I could see every time that there was a "missfire" vs just seeing the actual symptoms. A shield could theoretically fix the problem, I'm just not a RF engineer so I went with what I know. With the microscope, it's pretty easy to add the caps. Without, it'd be kinda hard. It probably only took me 20 minutes or so to do the last one I did. The good news it, the cap fix does the trick 100%. We've been running it on three phones without a problem for a few months now.
I totally agree on Samsung's failure. That design defect should have been caught pretty early in development. Maybe these guys have never heard of a Peer Review . It's even sadder if they knew it might be a problem but decided to risk it to save 1/2 cent per phone.
I understand the corporate mentality of denying a problem exists (iphone signal loss is a good example). If they admit it, then they have to fix it and that would be very costly. I'm sure when they started to have a problem they did a cost analysis and decided that losing N number of customers was cheaper than actually fixing all the bad phones.
What made it even worse was trying to find info on the phone design. Samsung was completely unresponsive when I contacted them to get data sheets on the CPU and other info on the phone. It's as if they didn't want me to solve the problem. Come to think of it, they probably didn't want me to. Solving it verifies that the problem exists and isn't just user error.
Anyway, now with my phone fixed and the excellent AOKP ROM and Glitch kernel, I love my fassy.
electric bill said:
Yeah, I used what I thought was a ground pad and covered pretty much everything on that little flex board that has the chip on it. It didn't stop the problem. Also, I had a bunch of dmesg stuff in the driver so I could see every time that there was a "missfire" vs just seeing the actual symptoms. A shield could theoretically fix the problem, I'm just not a RF engineer so I went with what I know. With the microscope, it's pretty easy to add the caps. Without, it'd be kinda hard. It probably only took me 20 minutes or so to do the last one I did. The good news it, the cap fix does the trick 100%. We've been running it on three phones without a problem for a few months now.
I totally agree on Samsung's failure. That design defect should have been caught pretty early in development. Maybe these guys have never heard of a Peer Review . It's even sadder if they knew it might be a problem but decided to risk it to save 1/2 cent per phone.
I understand the corporate mentality of denying a problem exists (iphone signal loss is a good example). If they admit it, then they have to fix it and that would be very costly. I'm sure when they started to have a problem they did a cost analysis and decided that losing N number of customers was cheaper than actually fixing all the bad phones.
What made it even worse was trying to find info on the phone design. Samsung was completely unresponsive when I contacted them to get data sheets on the CPU and other info on the phone. It's as if they didn't want me to solve the problem. Come to think of it, they probably didn't want me to. Solving it verifies that the problem exists and isn't just user error.
Anyway, now with my phone fixed and the excellent AOKP ROM and Glitch kernel, I love my fassy.
Click to expand...
Click to collapse
Yeah: dmesg would be lots better!
My foil status: decent. I'm getting a lot less buzzing, but I still do get **some** in low signal areas (my bedroom). So I'm happier.
Samsung's response: I'm not at all surprised. I used to be an FAE for Cirrus Logic and worked a lot with ARM processors (back in 2000-2003). I got ahold of some of Samsung's datasheets on their ARM processors and was staggered: the datasheet was about 4 pages long and was full of errors, inaccuracies or glossings-over. Our datasheets were 40 pages long and we had 200 page programming manuals available on the web. You got no love from Samsung unless you were looking to buy 5M chips.
Anyways, thanks for you research and help!
I'll be giving that kernel a shot!
Second cap
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.
So I've been using my N7 on and off since I bought it in January. I would've used it more if it wasn't for the fact that the touchscreen responded really bad to touch and freaked out every now and then. It even almost bought an app on its own in the play store once. As I bought it through a retailer in another country I figured I would try to fix the problem myself - and I did kind of.
I tried a lot of things that people suggested in other threads here on xda, reddit, youtube, etc. but the only thing that seemed to work somewhat was tightening the screws around the edges after opening it up. The problem still persisted to some degree and got worse again after a few weeks.
After opening it up again a few weeks ago to fiddle around with the screws again I realized something - the phantom touch problem was gone and the screen had perfect response whenever I was handling it with the back cover off. So I put it in a case without putting the cover on first and I've been using it like that ever since - this leaves the wifi/gps/etc. without a grounding connection though, and I also prefer to use it without a case so my question is this:
Has anyone had the back cover apply pressure/mess with the touch screen in any way?
I have no screen lift at all, but these are the methods I have tried:
Tightening screws(worked somewhat)
Loosening screws(didn't work)
Putting a small piece of paper between the black cable that apparently connects the touch screen and the circuit board in case it was causing a short there due to pressure or something(didn't work)
Additional info: Whenever I remove the back cover, the only place where I have to apply some extra pressure to get it loose is right around where the aforementioned black cable is.
erikkr said:
So I've been using my N7 on and off since I bought it in January. I would've used it more if it wasn't for the fact that the touchscreen responded really bad to touch and freaked out every now and then. It even almost bought an app on its own in the play store once. As I bought it through a retailer in another country I figured I would try to fix the problem myself - and I did kind of.
I tried a lot of things that people suggested in other threads here on xda, reddit, youtube, etc. but the only thing that seemed to work somewhat was tightening the screws around the edges after opening it up. The problem still persisted to some degree and got worse again after a few weeks.
After opening it up again a few weeks ago to fiddle around with the screws again I realized something - the phantom touch problem was gone and the screen had perfect response whenever I was handling it with the back cover off. So I put it in a case without putting the cover on first and I've been using it like that ever since - this leaves the wifi/gps/etc. without a grounding connection though, and I also prefer to use it without a case so my question is this:
Has anyone had the back cover apply pressure/mess with the touch screen in any way?
I have no screen lift at all, but these are the methods I have tried:
Tightening screws(worked somewhat)
Loosening screws(didn't work)
Putting a small piece of paper between the black cable that apparently connects the touch screen and the circuit board in case it was causing a short there due to pressure or something(didn't work)
Additional info: Whenever I remove the back cover, the only place where I have to apply some extra pressure to get it loose is right around where the aforementioned black cable is.
Click to expand...
Click to collapse
Hmm, have you checked the N7 under a florescent tube light? You should try to view the light's reflection on the n7's screen. It should be 'mirrored perfectly'. If the reflection of the light is crooked/bent, this means your screen is no longer flat. Ie. A flat mirror should show your reflection as it is. A curved mirror will distort the reflection.
If the screen is heavily distorted, this could mean the touch sensors are also 'bent' and touching the screen internals.
Check the reflection with cover on, and also cover off.
If with the cover off the n7, the screen seems to be 'flatter'. Then we could conclude the screen is fatigued by stress somehow by the attachment of the covers. If it somewhat same, then the problem is something else.
Since the cover provides ground points for the n7 circuit and it's antennas, maybe you should try cleaning the contact points on the cover side. There should be grooves made by the contact pins from the n7 on the cover, over time they might oxidize and cause a short circuit.
It is possible the touch mechanism is not being properly grounded somehow.
PLEASE BE EXTREMELY CAREFUL if you are going to clean the contact pins on the n7 side, they are small and very brittle.
Try to see if anything on the cover is touching the circuit board or creating a short circuit somewhere when installed.
These are the 2 causes i can think of. I had this problem too, i loosen some screws and re-check under a florescent light to see it's reflection, and i re-loosen or tighten until the reflection is nearly perfect (screen should be flat and reflecting like a mirror), if not it is bent by stress from screws being too tight or loose at some points.
Then i also cleaned the contact points and pressed the aluminum 'heatsinks' on the n7 side to make sure they dont contact anything else. I did both the same time, following by a switch in ROM and Kernel. So i'm not sure which actually helped. I'm sure i took some stress off the screen by the reflection thing. The grounding also makes sense as an intermittent ground causes stuff to f-up (my car) lol. But you may try n see how it goes. Cheers.
Passed out with a protein shake in one hand, brand new Oneplus 2 in the other. Woke up with the OP2 and my pants filled with a thick vanilla protein pool.
I'm special.
I wipe the phone down- not really knowing how bad I had damaged it, just looked like the screen had some of the shake on it at first glance.
[FYI: the phone was powered on it while it soaked in the protein pool for 5 hours- and stayed on. ]
I flick the notification switch and yep, still running. Immediately powered it off (was also VERY hot). I almost considered it a wash and decided to wait for another invite and keep it for parts, but I want to try to repair it.
Knowing my warranty doesn't mean jack at this point- I immediately removed the bamboo back cover, it looked as though looks like someone spilled ice cream all over the backplate and body okate, this thing definitely got a bath.
Voided the white sticker screw along with the 18 others. Removed the ‘un-removable battery’. Then let it dry (big ol’ bowl of rice). I'm not sure made it worse or better as the protein shake was very dense- the internals had hardened delicious vanilla plaque caked all over upon inspection of removing the back plate.
Visually inspecting the shame, the headphone jack had allowed the shake to trip directly into the mainboard, now half way crusted over. Areas of the part of the PCB I could see looked a little bit wet- I dabbed them with an iso pad, then dabbed with lens cloth and decided to let it sit in a rice-bowl again for another day or two..
Day 5 of drying... at this point, I decided ‘screw it- let's see what works. Put the battery back in and powered it on. LTE-working, LCD/touch/buttons, working.. No Camera/WIFI/Bluetooth/Speakers/GPS do not work at all. No MAC addresses for WIFI NIC or BT NIC.
Oddly, text/system notifications created output but it didn't seem to come from the speakers on the bottom. No music players could output anything through the main stereo speakers. Calls (earpiece and mic) worked fine.
I sigh, and stare ate the mess of a brand new OP2. It half-ass works. I almost considered it a wash and decided to wait for another invite and keep it for parts, but I want to try to repair it.
I took all of the internals apart minus the LCD/Digi.
Meticulously cleaned for around 2 hours using iso alcohol for the frame edges, headphone jack, and various other parts- also used a PCB cleaner that is safe for use on various plastic polymers/butyl rubber/whatever.
Got the main PCB and bottom PCB nice and shiney, however the items covered by the poriforated EMI shield I cant get into to clean without either a dremel (yikes) or somehow bending/cutting the top off. Any tips here? I believe the WIFI, BT, and audio amp are stored under here.
At this point, If you looked at the internals you wouldn't notice anything had been spilled into it (other than the water-tamper stickers being red)
I take a blowdryer to the PCBs on low and the interior to quickly evaporate the iso and PCB cleaner for about 15 minutes.
I waited about 3 hours before putting the battery back in.
Now I have working headphone jack, speakers, both cameras, and GPS (and LTE/GSM has always worked so that's fine too). Now the only problems are Bluetooth and WIFI.. again no mac addresses and they do not allow me to toggle them on.
Full system wipe to stock, and I mean ALL the way stock. Wiped the heck out of everything except the boot loader and even flashed the stock boot loader back on. Still cannot enable WIFI/BT.
Does anyone have any suggestions? Word around here is that you cannot buy the logic board, and the only other options is to buy another or find someone who cracked their screen and use their PCB.
Wow. Just wow.
I'd say, just try another round of cleaning and drying.
You might be lucky 3rd time.
My S7 (G930F) has had screen issues that are fairly typical to the model. When it gets a bit cold, the bottom three quarters of the screen go dim, then pink streaks start to appear from the bottom as it gets worse.
This can be be fixed to a certain extent by disabling auto-brightness, then turning the brightness down until the screen looks normal again. Once the brightness is even across the whole screen, it can be turned back up again a little. Sometimes rebooting it helps.
It's been happening very regularly, and it's been so bad that if I'm outdoors in daylight, I need to turn the brightness down to the point where it's hard to see the screen. Even at a comfortable room temperature, it's likely to happen if the brightness is up high. The screen is usually going weird in the morning too, when I first pick it up, until it warms up a little.
As I understand it, it's caused by a bad solder joint somewhere on the screen assembly. It gets cold, the solder contracts a little, enough to cause a bad connection.
Anyway, last weekend I was playing Mario Kart Tour online for quite a while, to the point where the phone was really warm in my hands. Now, ever since, I've not had any screen problems at all. I've had auto-brightness turned on the whole time, it's definitely been exposed to low temperatures, down to maybe 5 Celsius. It was cold to the touch this morning, and it was fine. All the conditions where it would usually happen, the screen has been fine, all week, even with the brightness slider all the way up full for extended periods.
I'm guessing what's happened is similar to the crude but effective trick of fixing a faulty PlayStation 3 by putting the motherboard in the oven for a while, or blasting it with a heat gun, except in this case I've baked the phone from the inside.
A relatively graphically demanding game, played online, constantly processing touch and gyroscope input, means that everything that can get hot has got hot. GPU, CPU, radio. The copper heat dissipation pipe inside has spread the heat across the back of the screen assembly, et voila, the bad solder joint has been cooked just enough to make a better connection.
I guess that like baking a PS3 motherboard, it will ultimately be a temporary fix, but it will be interesting to see how long it works for, and if it will work again if the problems start again.
No. You didn't fix anything, you just avoided the problem temporarily. This also happened on my Galaxy S7 and it is due to a partial disconnection of the display flex. Over time, due to thermal expansion and compression the flex' contact becomes loose. When it becomes loose, it disconnects partially when the device cools down because the display and the motherboard contract and get away from each other increasing the distance between the display and the motherboard. If you keep your device hot at all times it will have a reduced lifespan. Don't.
Indeed, you repositioned your flex by heating your phone because it is loose and it sits just right, but at any moment it can come off again.
There is only one permanent fix. You need to take your back panel off and let the device cool to room temperature (important!)
After that, disconnect the display flex completely and then plug it again and push it just tight enough to make a firm contact. Your display should work perfectly now no matter the temperature.
Note that this will remove your IP68 water resistance, but you shouldn't get your phone near water anyways.
My phone has been opened up, all the connectors carefully cleaned with isopropyl alcohol, then firmly pushed back into place.
in fact my phone is made from spare parts. the screen was leftover from a friend's S7, after i replaced their screen for them. they had already had it fixed once while it was under warranty, and the screen problems ultimately started again.
i kept hold of the screen and paired it with a mainboard i had left over from another S7. i wanted to establish if the problem really was the screen assembly, if it was just bad connections, and if it still behaved in the same way with another mainboard.
the problem, in this case, is most definitely the screen assembly. it has displayed exactly the same problems with two different mainboards, after both myself and the warranty repair service had worked on it.
also, if you read what i said properly, you'll see i'm definitely not suggesting keeping it hot all the time as a solution. i'm saying that it got really hot ONCE, for maybe 40 minutes or so, and ever since, it's worked perfectly for the longest period of time i've ever known it to go for without the display going weird. it's been down to 5°c or maybe lower since, i live in rural wales, and it's autumn.
If you read what I said properly, you should know that what you did is just a workaround to keep the connector in the correct position temporarily moving it with thermal expansion, you definitely didn't reflow anything because RoHS solder only starts to soften at near 160°C, far beyond what the Exynos TMU will let anything in the board heat up before tripping and shutting the entire motherboard down.
If the problem persists then try putting a small piece of rolled electrical tape above the display connector to make some extra pressure against the board.
yeah "read what i said again properly" was an unnecessarily dickish choice of words on my part. i attribute that to replying before finishing my coffee
so would you say from experience that the issue where the bottom half/three quarters of the screen goes dull is pretty much always down to the display connector, and a little extra pressure holding it in place will stop it happening again? i have read conflicting reports, with a few attributing it to a bad solder joint in the screen assembly.
i'm not too worried about opening the phone up again, once the original adhesive has been removed and replaced with the third party pre-cut stuff, it's a bit easier to open it up again.
Mr Creosote said:
yeah "read what i said again properly" was an unnecessarily dickish choice of words on my part. i attribute that to replying before finishing my coffee
so would you say from experience that the issue where the bottom half/three quarters of the screen goes dull is pretty much always down to the display connector, and a little extra pressure holding it in place will stop it happening again? i have read conflicting reports, with a few attributing it to a bad solder joint in the screen assembly.
i'm not too worried about opening the phone up again, once the original adhesive has been removed and replaced with the third party pre-cut stuff, it's a bit easier to open it up again.
Click to expand...
Click to collapse
Okay, no problem
We all get grumpy without our morning coffee, especially after fixing tens of AOSP build errors and having to restart our 7-hour build.
I had the exact same problem you had, the three bottom quarters of the display blacked out. I am pretty sure it is caused by a weak contact because, from observation alone the phone:
1. the connection restored itself when the phone became hot
2. after cooling down for a while, the display started to fail again
3. by artificially applying a CPU load, the phone heated and the display connector fell back into place connecting the bottom of the display and giving image.
4. the display NEVER flickered when it felt hot to my hands
Also, you mentioned that you exposed your phone to low temperatures so that might cause a cumulative effect over time on a loose display connector, I think they come kinda loose out of the factory or get loose after a few years. I myself opened up my phone with a hair dryer and a few guitar picks, it was hard and I ruined a student credential card but eventually I cooled down the phone so when I remade the contact it would keep itself together on a cold device. Then I detached the connector and voila, it came back to life and confirmed my observation. As a result, I got a free S7 for myself to upgrade from my Huawei P9. The display hasn't failed for me since.
On a second thought, you should probably avoid the electrical tape and use something that will resist higher temperatures without melting or being conductive. Or just avoid a shim altogether. I didn;t need one.
You are pretty much returning the connection to its factory state, keeping it nice and tight for more time.
Good luck, it was quite the learning experience for me and my first time repairing a phone.
I've got some adhesive foam pads that are meant for use inside electronics, I will cut one of those down to size and give it a try if my screen problems reappear.
After a couple of weeks, the screen problems started to reappear. They've never got as bad as they were before, i haven't had to turn the screen brightness down to the point where it was hard to see, but it has been getting worse and more regular. I've just taken the back off my phone, disconnected the screen connector and pushed it firmly back into place, and added a layer of adhesive foam to it. all seems fine at the moment, i will see how it gets on out on a walk in daylight with auto-brightness on.
I am having an issue where the filament seems to have stopped feeding. The nozzle moves as if it's printing, but nothing is coming out. Here are a few facts laid out that hopefully can help someone steer me properly...
Replaced Extruder Parts, nothing seemed worn
Replaced Extruder Motor, still nothing
Removed Extruder cover and nothing seems to move when it should be
When I unlock the extruder and push filament by hand, it comes out fine - hotend is hot
I use the Community Firmware and when I try to "Load Filament", it doesn't feed filament through
Not sure what else could be causing it, I haven't had this problem happen ever. Any thoughts?
jgruberman said:
I am having an issue where the filament seems to have stopped feeding. The nozzle moves as if it's printing, but nothing is coming out. Here are a few facts laid out that hopefully can help someone steer me properly...
Replaced Extruder Parts, nothing seemed worn
Replaced Extruder Motor, still nothing
Removed Extruder cover and nothing seems to move when it should be
When I unlock the extruder and push filament by hand, it comes out fine - hotend is hot
I use the Community Firmware and when I try to "Load Filament", it doesn't feed filament through
Not sure what else could be causing it, I haven't had this problem happen ever. Any thoughts?
Click to expand...
Click to collapse
I bought a an Ender 3 S1 pro, after less than 30 days it's basically doing this to me like yours apparently.
The printer is pretty much brand new as far as I can tell, it printed successfully about 3 times while having minor under extrusion. I adjusted the E steps based off a guide and it seemed to improve that issue.
I started a 1 day print and it failed half way, no bundle of stringy mess it simply stopped extruding plastic all together and keeped moving as if it were still printing.
Now the printer's extruder basically stops working after the first layer has been laid, It's like the motor is dying or shutting off or struggling to run somehow.
I took the whole thing apart thinking it was just jammed up at first but quickly realized the extruder was acting weird, before I took it apart the gear that spins when printing would randomly stop spinning or shake back and forth like it's stuck or grinding.
In addition to the gear seeming to be misaligned somehow the machine would loose all functionality preventing me from having it do basic movements or cancelling an extrusion test, it's like it just freezes randomly while it's in the process of extruding plastic.
I took the thing apart and nothing looks damaged what so ever, somehow the gears did get misaligned before I took it apart but I basically did nothing except replace the nozzle and adjust the tension screw and check to see if the gears rotated properly which they did.
After It was put back together I thought I fixed it however it still continued to do the same exact thing print maybe one layer then fail as the extruder just completely stops working and it still randomly freezes the whole machine if I try to test the extruder by telling it to push 100mm.
At this point I am defeated and planning to return this machine as I believe perhaps it's got a bad motor or a wire connection somewhere is faulty and I have found NO HELP with this problem so far and it's very daunting for no reason honestly.
I got the machine with a 100$ discount so this is probably what I deserve I guess. Kind of sad that this probably happens to other new users and they never get to return it or repair it for lack of experience and there's no telling if replacing anything would actually work I am dumb founded with this cause I did not expect such a simple failure with no information on it what so ever normally you would see at least one video out there explaining this.
If I don't find any information in the next day I am officially returning it and seeing if I can just get one from the manufacturer or a licensed dealer that will give me at least some level of guarantee because I think I almost just got screwed on this one even though it looks brand new.
I see lots of videos about trouble shooting printers but I think the content is lacking if this is not being addressed discovered or explained by anyone yet is it really that RARE? Because it annoys and confuses me into believing it's all my fault somehow.
Beware of sales on these things I guess with brand new ones at least.
Yesterday ran into the same problem -- ender s1 just stopped feeding the plastic in the middle of the print. Brand new printer, 1kg milage.
Checking extruder cable revealed the problem -- wire number 6 was broken. Soldered it back, guess it'll work fine until replacement arrives.
My suggestion:
1. check your extruder cable with multimeter. make sure, connection is reliable.
2. knowing the exact failed pin inspect cable visually. my defect was visible.
3. order spare cable. two cables, quality is ****.
Bad luck, bro. Hope you will find soultion.
If you have the little wheels pushing filament they have to be replaced. On my Creality they went bad in a few months but looked fine. To keep prices low they ship with really soft cheap wheels.
Check tension on the plastic piece before bowden tube the gear and wheel need to spin. If it's not thingiverse has a spacer to print small and quick if u can .05 .1 on opposite side to help the spring. The plastic arms are good for a few hours to if lucky a month buy a 10 dollar metal one with dual gears and Capricorn tubing.