"Bóc trần" lỗi sọc dọc trên máy đọc sách điện tử Xteink X3 nhờ sức mạnh của AI
Một lập trình viên đã dùng các mô hình AI tiên tiến để truy tìm nguyên nhân gây ra các sọc dọc khó chịu trên màn hình máy đọc sách điện tử Xteink X3. Hành trình này không chỉ giúp sửa lỗi hiển thị mà còn phát hiện ra một lỗi khác trong firmware và cải thiện đáng kể chất lượng hình ảnh trên thiết bị.

"Bóc trần" lỗi sọc dọc trên máy đọc sách điện tử Xteink X3 nhờ sức mạnh của AI
Một câu chuyện thú vị về việc sử dụng AI để gỡ lỗi phần cứng và phần mềm, cụ thể là trên chiếc máy đọc sách điện tử Xteink X3. Quá trình này đã giúp phát hiện và khắc phục một lỗi hiển thị hình ảnh phức tạp, đồng thời tiết lộ thêm một lỗi khác trong firmware.
Mở đầu câu chuyện: Khi sở thích đọc sách bị ảnh hưởng bởi công nghệ
Là một người yêu thích đọc sách, tác giả đã tìm đến máy đọc sách điện tử như một giải pháp để chống lại sự xao nhãng từ điện thoại. Chiếc Xteink X3 nhỏ gọn, giá rẻ cùng khả năng cài đặt firmware mã nguồn mở CrossPoint đã thu hút sự chú ý của ông. Tuy nhiên, trải nghiệm không hề hoàn hảo khi hình ảnh hiển thị trên thiết bị xuất hiện những vệt sọc dọc kỳ lạ.
Khám phá lỗi và những giả thuyết ban đầu
Ban đầu, tác giả nhận thấy hình ảnh thang độ xám trên màn hình ngủ có vấn đề: các vùng màu xám tối bị hiển thị thành màu đen, còn màu xám sáng lại quá nhạt. Sau khi tạo một hình ảnh thử nghiệm, ông phát hiện thêm một lỗi khác: ứng dụng xem ảnh của CrossPoint để lại dấu vết mờ của hình ảnh trước đó, trong khi màn hình ngủ thì không.
Ảnh chụp màn hình X3 với các sọc dọc trên nền ảnh ba tông màu
Để tìm ra nguyên nhân, tác giả đã sử dụng các mô hình AI tiên tiến như GPT-6 Astra và Fable 5.1. Ban đầu, Astra xác định được lỗi ở ứng dụng xem ảnh khi nó không thực hiện bước "đẩy" điện áp để tạo màu xám. Tuy nhiên, vấn đề sọc dọc vẫn tồn tại và gây nhiều khó khăn hơn.
Sử dụng FFT và phân tích ảnh để đo lường sọc
Astra đã sử dụng phép biến đổi Fourier nhanh (FFT) để phân tích các mẫu lặp lại trong ảnh, nhưng lại nhầm lẫn giữa cấu trúc nhiễu của thuật toán dithering Floyd–Steinberg với các sọc thực sự. Khi chuyển sang Fable 5.1, tác giả và AI đã phát triển một phương pháp đo lường mới: tính trung bình độ sáng theo cột dọc bằng cửa sổ trượt 200 dòng. Kỹ thuật này giúp loại bỏ nhiễu dithering và làm nổi bật các sọc.
Ảnh sau khi áp dụng trung bình trượt theo cột, các sọc dọc hiện rõ hơn
Fable sau đó dùng FFT trên một chiều để đo khoảng cách và cường độ của các sọc, xác định chúng cách nhau khoảng 8 pixel màn hình, khác với ước tính ban đầu là 7 pixel. Việc sử dụng ảnh thử nghiệm có độ phân giải cao đã giúp quá trình đo lường trở nên chính xác hơn.
Phát hiện và sửa lỗi thứ hai: Màu xám tối bị mất
Trong quá trình thử nghiệm, tác giả nhận ra rằng chiếc máy đọc sách được quảng cáo là có 4 mức xám nhưng thực tế chỉ hiển thị 3 mức, do màu xám tối bị hiển thị thành màu đen. Fable đã truy vết vấn đề này đến sự không nhất quán giữa CrossPoint và trình điều khiển (driver) về cách yêu cầu màu xám tối. Sau khi sửa lỗi, màu xám tối đã xuất hiện trở lại, cải thiện đáng kể chất lượng hiển thị văn bản.
Ảnh thử nghiệm với các mẫu màu xám khác nhau để kiểm tra
Giải pháp cuối cùng: Chuyển sang chế độ hiển thị hình ảnh chậm hơn
Driver của X3 có một chế độ hiển thị hình ảnh bốn mức xám gọi là XTH4, sử dụng chuỗi xung dài hơn để tạo màu. Mặc dù mất khoảng một giây để làm mới màn hình, nhưng nó phù hợp cho việc xem ảnh hoặc màn hình ngủ. Tuy nhiên, việc triển khai gặp khó khăn về bộ nhớ do ESP32-C3 chỉ có khoảng 380KB RAM.
Fable đã đề xuất giải pháp để CrossPoint vẽ dữ liệu trực tiếp ở định dạng yêu cầu, tránh cần thêm bộ đệm. Sau khi triển khai và nạp firmware, các sọc dọc đã biến mất hoàn toàn. Kết quả đo lường cho thấy độ biến thiên theo cột giảm từ khoảng 4% xuống còn 1%, và đỉnh nhiễu ở bước sóng 8 pixel biến mất khỏi phổ tần số.
Ảnh so sánh trước và sau khi sửa lỗi, sọc dọc đã biến mất
Kết luận: Bài học về sức mạnh của AI trong gỡ lỗi phần cứng
Mặc dù chưa thể khẳng định chắc chắn nguyên nhân gốc rễ của hiện tượng sọc dọc, tác giả đưa ra giả thuyết rằng chúng liên quan đến sự biến thiên thời gian của tín hiệu điều khiển cổng (gate driver) trên màn hình e-ink. Khi các pixel màu xám được "đẩy" một phần, chúng trở nên nhạy cảm với sự chênh lệch thời gian này, dẫn đến các sọc xuất hiện đều đặn.
Câu chuyện này là minh chứng cho thấy AI có thể hỗ trợ đắc lực trong việc gỡ lỗi các hệ thống phức tạp, ngay cả khi người dùng không có nhiều kiến thức chuyên sâu. Tác giả đã có thể sửa lỗi và cải thiện chất lượng hiển thị của thiết bị chỉ trong vài giờ, mở ra hướng đi mới cho việc "hack" phần cứng ở mức thấp.