3

I can't work out why, but it seems the vibrate and haptic feedback functionality on my SGS2 stopped working recently. First time it failed it seemed to come back after a reboot, but it's since died for good. I've checked all the settings, and they all show as enabled. I've tried using *#0*# and *#0842# test codes to run the vibrate functionality, but they have no effect either. I'm running stock firmware (3.0.15-I9100XXLPQ) and am rooted.

I've ran dmesg | grep -i max8997 to find any references to the MAX8997 IC / driver for the motor, and discovered the following messages repeated many times:

<6> max-8997 5-0066: max8997_irq_thread: irq:359, irq_src:0x2
<6> max-8997-rtc max8998-rtc: max8998_rtc_alarm_irq:irq(437)
<6> max-8997 5-0066: max8997_irq_thread: irq:359, irq_src:0x0
<4> max-8997 5-0066: Unused interrupt source: 0x0
<6> max-8997-rtc max8998-rtc: max8998_rtc_set_alarm: 2013-04-23 00:04:40

I can't figure out whether these are just normal notices, or if they're symptoms of a wider failure. Other searches for generic motor and I2C driver failures didn't return anything interesting.

Is this potentially a software issue, or am I almost certainly looking at broken hardware?

2

This turned out to be a hardware fault which is pretty common on the SGS2 units. The vibration device is mounted next to the audio jack, meaning that it sometimes fails if the jack has been stressed. There's a short video (warning: nsfw language) that describes the issues and how to fix them.

Essentially it works as following:

  • Insert a cable into the headphone jack.
  • Lightly press on the jack, in the direction of the front-facing camera (left, if looking at the phone from the front)
  • Whilst lightly pressing in this direction, remove the jack.
  • Vibration should be restored... for now.

The long term fix is to get the vibration motor re-mounted by a qualified repair technician.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.