Ảnh bìa minh họa bài SMC PANIC trên iPhone: khung log với dòng sensor array 0x… được tô đỏ
Lỗi sử dụng & Panic

SMC PANIC trên iPhone: đọc dòng «SMC BSC failure» và mã sensor array 0x… theo đúng đời máy

Admin

Từ khoảng iPhone 13 trở đi, nhiều tệp panic có dòng chính bắt đầu bằng SMC PANIC, kèm SMC BSC failure và một dãy số sensor array. Trên mạng có nhiều bảng «mã 0x… là linh kiện …», nhưng cùng một mã có thể mang ý nghĩa khác nhau ở đời máy khác. Bài này hướng dẫn đọc dòng log, giải thích vì sao phải tra theo đúng đời máy, và nên kiểm tra theo thứ tự nào.

Nội dung dựa trên các ca sửa và thảo luận công khai mà VNT39 tổng hợp cho công cụ Tra Panic. Đây là ca do người sửa tự kể, chưa được VNT39 xác minh độc lập.

Dòng log SMC PANIC gồm những gì?

Phần panicString của kiểu lỗi này thường có các đoạn sau (đã rút gọn):

  • SMC PANIC - ASSERTION FAILED hoặc SMC PANIC - ASSERT: bộ xử lý quản lý hệ thống báo lỗi và yêu cầu khởi động lại.
  • target/dXX/target.cpp: mã bo mạch (ví dụ d37, d74). Mã này giúp xác định đời máy khi log thiếu dòng product.
  • SMC BSC failure: nhóm lỗi liên quan đến việc đọc cảm biến.
  • S.sensor array 0 - 4 is 0x0, 0x400000, … hoặc S.sensor array 0 - 7 is 0, 2097152, …: dãy giá trị cho biết bit cảm biến nào báo lỗi. Có máy ghi dạng hex (0x…), có máy ghi dạng số thập phân; ví dụ 2097152 chính là 0x200000.

Giá trị khác 0 trong dãy là phần cần tra. Một số log có nhiều giá trị khác 0 cùng lúc, nghĩa là nhiều cảm biến cùng báo lỗi.

Hình minh họa các phần của dòng SMC PANIC trên iPhone: SMC PANIC ASSERT là bộ quản lý hệ thống báo lỗi, target d37 là mã bo mạch giúp xác định đời máy, SMC BSC failure là nhóm lỗi đọc cảm biến, sensor array là bit cảm biến báo lỗi, 2097152 bằng 0x200000
Hình minh họa: các phần của dòng SMC PANIC.

Vì sao phải tra theo đúng đời máy?

Mỗi bit trong sensor array ứng với một cảm biến theo bảng riêng của từng đời máy. Vì vậy:

Mã Đời máy Hướng đã được nhắc trong ca công khai Mức dữ liệu
0x400000 iPhone 15 Pro Cụm kính lưng có cuộn sạc không dây (1 ca sửa tự báo) Có ca sửa, chỉ 1 ca
0x400000 iPhone 14 Nhiều hướng: bo mạch (1 ca), kính lưng có cuộn sạc (1 ca, cũng có ca thay mà không hết), cụm chân sạc và cụm cảm biến trước đã thay mà không hết Nhiều nguyên nhân
0x200000 iPhone 15 Cụm kính lưng có cuộn sạc không dây (1 ca) Có ca sửa, chỉ 1 ca
0x200000 iPhone 16 Pro Micrô / cảm biến áp suất sau khi vào nước (có ca hết, có ca chưa hết) Chưa rõ ràng
0x40000 iPhone 14 Pro Cụm chân sạc / cáp dưới (1 ca); pin đã thay mà không hết Có ca sửa, chỉ 1 ca
0x800 iPhone 13, 13 mini, 13 Pro, 13 Pro Max Chỉ có bảng tham khảo, chưa có ca sửa Chỉ tham khảo

Cùng mã 0x400000 hay 0x200000 nhưng hướng kiểm tra khác nhau tùy máy. Một bảng mã không ghi rõ đời máy thì không nên dùng để quyết định thay linh kiện.

Hình minh họa cùng một mã SMC PANIC nhưng khác đời máy thì khác hướng kiểm tra: 0x400000 trên iPhone 15 Pro là kính lưng có cuộn sạc, trên iPhone 14 có nhiều hướng; 0x200000 trên iPhone 15 là kính lưng có cuộn sạc, trên iPhone 16 Pro là micrô hoặc cảm biến áp suất sau khi vào nước
Hình minh họa: cùng mã nhưng khác đời máy thì khác hướng kiểm tra.

Cách lấy log và tra mã

  1. Mở Cài đặt › Quyền riêng tư & Bảo mật › Phân tích & Cải tiến › Dữ liệu phân tích, chọn tệp panic-full-… mới nhất. Cách làm chi tiết có trong bài iPhone tự khởi động lại: cần ghi nhận gì và lấy panic log ở đâu.
  2. Xem dòng "product" để biết đúng đời máy (ví dụ iPhone15,4 là iPhone 15; iPhone16,1 là iPhone 15 Pro).
  3. Tìm đoạn sensor array và ghi lại mọi giá trị khác 0.
  4. Dán log vào Tra Panic (bản thử nghiệm): công cụ tự đổi số thập phân sang hex, đối chiếu đúng đời máy và nói rõ mã nào chỉ có bảng tham khảo.
Hình minh họa danh sách tệp nhật ký trong Dữ liệu phân tích của iPhone, có các tệp panic-full (tên tệp ví dụ)
Hình minh họa: danh sách tệp trong Dữ liệu phân tích. Tên tệp là ví dụ.

Kiểm tra theo thứ tự nào?

  1. Lấy log ở 2–3 lần khởi động lại. Mã giống nhau mỗi lần thì hướng khoanh vùng đáng tin hơn.
  2. Nhớ lại máy vừa gặp gì: thay kính lưng, thay pin, thay chân sạc, rơi, vào nước. Linh kiện vừa thay và đầu nối của nó là chỗ cần xem trước.
  3. Kỹ thuật viên kiểm tra đầu nối và cáp theo hướng của đúng đời máy: soi ăn mòn, rách, lỏng; tháo và lắp lại; thử một cụm đã biết là tốt rồi theo dõi.
  4. Đo trên mainboard khi các cụm ngoài đã được thử bằng hàng đã biết là tốt mà lỗi vẫn còn, nhất là máy từng vào nước.

Không nên thay kính lưng hay mainboard chỉ vì một bảng mã trên mạng. Mỗi lần thay hãy theo dõi đủ lâu để biết lỗi còn hay hết.

Hình minh họa thứ tự kiểm tra khi iPhone báo SMC PANIC: lấy log 2 đến 3 lần, nhớ lại máy vừa thay gì hoặc rơi, vào nước, kiểm đầu nối và thử cụm đã biết tốt theo đúng đời máy, cuối cùng mới đo mainboard
Hình minh họa: thứ tự kiểm tra khi log ghi SMC PANIC.

Câu hỏi thường gặp

SMC PANIC có phải lỗi phần mềm không?

Hiếm khi. Trong dữ liệu công khai, các ca có kết quả đều liên quan đến cáp, cụm linh kiện hoặc mainboard. Tuy vậy, cập nhật iOS vẫn là bước nên làm trước vì không tốn chi phí.

Log có cả «Missing sensor(s)» và thermalmonitord thì sao?

Đó là kiểu panic khác, cách đọc nằm trong bài Panic thermalmonitord và Missing sensor(s). Riêng iPhone 15 Pro Max có bài lỗi panic AOP với một kiểu log khác.

iPhone 14 Plus báo SMC PANIC kèm tệp Reset Counter?

Tệp Reset Counter chỉ ghi số lần máy khởi động lại, xem bài Lỗi Reset Counter có nguy hiểm không. Dòng cần tra vẫn là tệp panic-full có chữ SMC PANIC.

Nguồn tham khảo

Cần kiểm tra trực tiếp ở Tokyo hoặc gửi máy từ tỉnh khác: xem dịch vụ sửa chữa VNT39.

Đánh giá bài viết này

Bài viết liên quan

Bình luận & hỏi đáp (0)

    Chưa có bình luận nào. Hãy đặt câu hỏi đầu tiên.