Few days ago, I bought Kindle 3 which had problem with grayscales on screen. It produced follwoing messages in dmesg:
Code:
eink_fb: W log_battery_temperature:def:temp=84F:from battery
eink_fb: W bs_cmd_ld_img_upd_data_which:def:temp=35C:from pmic, outside of ideal range of 15C to 32C
eink_fb: W bs_cmd_ld_img_upd_data_which:def:temp=29C:from battery
Examining kernel /proc and /sys files we can see that display is using internal waveform and that it doesn't have panel id.
Code:
[root@kindle root]# cat /proc/eink_fb/waveform_version
V110_B059_60_WJ0105_D (M06, S/N 804, 85Hz)
[root@kindle root]# cat /sys/devices/platform/eink_fb.0/panel_id
????_???_??_???
In this case, it's eeprom on eink flat-flex cable which died. Same thing also happends when you buy replacement screens and receive one without eeprom on it.
Reading through Amazon's kernel source, I found that eink module tries to load isis.wbf waveform file if it exists. Since I didn't know which one to use, I randomly picked latest one:
Code:
[root@kindle root]# cd /var/local/eink/
[root@kindle eink]# cp V220_004_60_M12 isis.wbf
Restart your kindle and you will get your grayscale back. I hope this will help people who encounter same problem.
There is no verification if panel corresponds to waveform, and as far as I can see, any waveform (starting with V220) will work better than built-in one (which also overheats eink panel which is not good).