crwdns2933423:0crwdne2933423:0

Released September 21, 2018. Models: A1921, A2101, A2102, and A2104 / Available as GSM or CDMA / eSIM or nano-SIM / 64, 256, or 512 GB / Silver, Gold, or Space Gray (Pronounced "iPhone 10 S Max.")

crwdns2934591:0375crwdne2934591:0 crwdns2934593:0crwdne2934593:0

Phone restarts when idled in locked screen

  • As stated in the title, phone restarts itself every ~3 minutes and only when the screen is locked
  • works fine when I'm using the device (even if the phone is unlocked and on for couple of hours)

symptom/occurrence:

  • rear phone (near camera) is hot when i notice the device is restarting
  • the device never restarts when
    • playing spotify music or apple music with the screen off
    • having apple map or google map navigating with the screen off

troubleshooting

  • attempt to stimulate proximity sensor by calling through whatsapp and physically touches near the sensor (no problem)
  • sends a message to the device while the screen is locked. audio and vibration (no problem)

question:

  • where should I start looking and how do I test/debug to confirm what components is faulty, or software?

panic string (partial):

panic(cpu 2 caller 0xfffffff0164a67c4): "i2c0::_checkInterrupts error interrupt; last read status 10810100 int shadow 00890100 xfer 80000000 fifo 00000003 for device ad5860" .cpp:470
Debugger message: panic
Memory ID: 0x1
OS release type: User
OS version: 21E237
Kernel version: Darwin Kernel Version 23.4.0: Fri Mar  8 23:30:38 PST 2024; root:xnu-10063.102.14~67/RELEASE_ARM64_T8020
Fileset Kernelcache UUID: B219F39BC3EDFDDE6A8F938F5B10B3AD
Kernel UUID: 56BF37FD-7558-3CB2-8652-BF6315891829
Boot session UUID: 5297AE4C-4178-42BC-B462-C786D115234F
iBoot version: iBoot-10151.102.2
secure boot?: YES
roots installed: 0
Paniclog version: 14
KernelCache slide: 0x000000000d440000
KernelCache base:  0xfffffff014444000
Kernel slide:      0x000000000d448000
Kernel text base:  0xfffffff01444c000
Kernel text exec slide: 0x000000000e114000
Kernel text exec base:  0xfffffff015118000
mach_absolute_time: 0x198650a4a
Epoch Time:        sec       usec
Boot    : 0x6618009e 0x000bf6b9
Sleep   : 0x00000000 0x00000000
Wake    : 0x00000000 0x00000000
Calendar: 0x661801ab 0x000c5444

Zone info:
Zone map: 0xffffffddacd10000 - 0xffffffe3acd10000
. VM    : 0xffffffddacd10000 - 0xffffffde93374000
. RO    : 0xffffffde93374000 - 0xffffffdee0040000
. GEN0  : 0xffffffdee0040000 - 0xffffffdfc66a4000
. GEN1  : 0xffffffdfc66a4000 - 0xffffffe0acd08000
. GEN2  : 0xffffffe0acd08000 - 0xffffffe193370000
. GEN3  : 0xffffffe193370000 - 0xffffffe2799d8000
. DATA  : 0xffffffe2799d8000 - 0xffffffe3acd10000
Metadata: 0xffffffee5ebe0000 - 0xffffffee603e0000
Bitmaps : 0xffffffee603e0000 - 0xffffffee60e94000
Extra   : 0 - 0

TPIDRx_ELy = {1: 0xffffffdee02c03d0  0: 0x0000000000000002  0ro: 0x0000000000000000 }
CORE 0: PC=0xfffffff015195af8, LR=0xfffffff015195af8, FP=0xffffffe3b58f7ef0
CORE 1: PC=0xfffffff015195af8, LR=0xfffffff015195af8, FP=0xffffffe3b5a8fef0
CORE 2 is the one that panicked. Check the full backtrace for details.
CORE 3: PC=0xfffffff015195af8, LR=0xfffffff015195af8, FP=0xffffffe3b5c27ef0
CORE 4: PC=0xfffffff015195afc, LR=0xfffffff015195af8, FP=0xffffffe3b58c7ef0
CORE 5: PC=0xfffffff015195af8, LR=0xfffffff015195af8, FP=0xffffffe3b5f27ef0
Compressor Info: 15% of compressed pages limit (OK) and 7% of segments limit (OK) with 1 swapfiles and OK swap space
Panicked task 0xffffffe1933891a0: 0 pages, 420 threads: pid 0: kernel_task
Panicked thread: 0xffffffdee02c03d0, backtrace: 0xffffffe3b5aef7e0, tid: 300
lr: 0xfffffff015161ff8  fp: 0xffffffe3b5aef850
lr: 0xfffffff01529a2c4  fp: 0xffffffe3b5aef8c0
lr: 0xfffffff015298ca8  fp: 0xffffffe3b5aef980
lr: 0xfffffff01511fb08  fp: 0xffffffe3b5aef990
lr: 0xfffffff01516199c  fp: 0xffffffe3b5aefd40
lr: 0xfffffff01586b140  fp: 0xffffffe3b5aefd60
lr: 0xfffffff0164a67c4  fp: 0xffffffe3b5aefe00
lr: 0xfffffff0164a742c  fp: 0xffffffe3b5aefe30
lr: 0xfffffff0164a5988  fp: 0xffffffe3b5aefe50
lr: 0xfffffff0157893f4  fp: 0xffffffe3b5aefea0
lr: 0xfffffff015785cb4  fp: 0xffffffe3b5aefee0
lr: 0xfffffff0157865e4  fp: 0xffffffe3b5aeff20
lr: 0xfffffff015128800  fp: 0x0000000000000000
Kernel Extensions in backtrace:
com.apple.driver.AppleS5L8940XI2C(1.0d2)[094AFE35-8604-36A6-97D5-F018DAFFE3A4]@0xfffffff0164a4ba0->0xfffffff0164a7ad7
dependency: com.apple.driver.AppleARMPlatform(1.0.2)[E523EAE1-2680-3F5D-A65E-9D7B7DCE5E38]@0xfffffff0159f3840->0xfffffff015a45a83
dependency: com.apple.driver.AppleGPIOICController(1.0.2)[6077F261-2F09-3E27-8EAE-A167F88FC327]@0xfffffff015f52710->0xfffffff015f5d1cf

last started kext at 1035547564: com.apple.driver.AppleUSBEthernetDevice    7.0 (addr 0xfffffff014920e60, size 4658)
loaded kexts:
com.apple.driver.AppleUSBEthernetDevice    7.0
com.apple.driver.AppleIDAMInterface    1
com.apple.driver.AppleUSBDeviceMux    1.0.0d1
com.apple.iokit.IOAccessoryPortUSB    1.0.0
com.apple.driver.AppleUSBDeviceNCM    5.0.0
com.apple.driver.AppleUSBMike    1.0.0d1
com.apple.driver.AOPTouchKext    312
com.apple.driver.AppleEmbeddedLightSensor    1.0.0d1
...

panic analyzer suggests:

- U4700 Big Audio Codec IC
- Baseband/NFC
- i2c0 line
- U2700/U6110/J6400
- NAND
crwdns2934089:0crwdne2934089:0 crwdns2934093:0crwdne2934093:0

crwdns2934109:0crwdne2934109:0

crwdns2889612:0crwdne2889612:0 0
crwdns2934285:0crwdne2934285:0

crwdns2933315:02crwdne2933315:0

crwdns2934057:0crwdne2934057:0

Based on the panic log I would sit squarely in the charge port first.

Essentially, it's saying there's an error with communications over i2c (i2c0, which is a specific net of components include the CPU and several other subordinate chips). I am leaning towards charge port since it's a common point of failure, and the log specifically calls out ad580.

This specific component, code named "sakonnet" by Apple, drives the taptic engine (vibration motor). The sakonnet chip is often located on the taptic engine itself, and sends communications to the logic board through the dock flex. The taptic engine dooesn't go bad often, but the dock flex is a common pooint of failure on al iPhone models.

Of course it could be other things, but I would start there.

crwdns2934105:0crwdne2934105:0

crwdns2889612:0crwdne2889612:0 1

crwdns2944067:02crwdne2944067:0:

curiously, how is that correlates to the behavior of the device restarting every 3 minutes though when the screen is off? 🤔 seems like a pattern

crwdns2934271:0crwdnd2934271:0crwdne2934271:0

@lenowng Three minute reboot loops are really typical when a sensor isn't communicating. I also think @dadibrokeit is onto something with both the fact that different sensors may be checked when it is awake vs the screen being asleep, and the potential for sensors (ambient light sensor, proximity, etc...). I also had that thought, was just chasing the specific part mentioned.

i2c is a net of communications and the component in the panic isn't necessarily the one that's the problem. It could be that some other component's fault screwing with everything else, especially given the fact that it says it last read from ad5860. But it's hard to know for sure. I think either of those is plausible.

crwdns2934271:0crwdnd2934271:0crwdne2934271:0

crwdns2934285:0crwdne2934285:0

Hi Leon,

I'm wondering if this might be an issue with the front sensors since that i2c0 bus goes to J4600, the front sensor connector which feeds the ambient light sensor and the proximity sensor. Of course, the problem is that bus goes all over the place, including the dock flex, the battery and the interposer.

However, I always defer to Alisha's expertise in this matter, and if they say to start with the dock flex assembly, that's what I'd do. If that didn't do the job, I would personally try replacing the battery next, as that bus also goes there. Following that, as an experiment I'd try replacing the front sensor assembly, with the understanding that if that's the problem you're probably going to lose Face ID.

Although the fact that it doesn't reboot when it's not sleeping is an interesting tidbit of information, the three minute interval definitely pins it as part of the phone's sensor sweep and given that information it appears there may be parts of the phone that are skipped when it's awake, so I'm not sure how much you can read into that.

crwdns2934105:0crwdne2934105:0

crwdns2889612:0crwdne2889612:0 1
crwdns2934285:0crwdne2934285:0

crwdns2934229:0crwdne2934229:0

Leon Wong crwdns2934231:0crwdne2934231:0
crwdns2936625:0crwdne2936625:0:

crwdns2936751:024crwdne2936751:0 3

crwdns2936753:07crwdne2936753:0 6

crwdns2936753:030crwdne2936753:0 38

crwdns2942667:0crwdne2942667:0 38