View Single Post
Old 03-10-2017, 01:51 AM   #99
dpavlin
Connoisseur
dpavlin can really shake a tail feather.dpavlin can really shake a tail feather.dpavlin can really shake a tail feather.dpavlin can really shake a tail feather.dpavlin can really shake a tail feather.dpavlin can really shake a tail feather.dpavlin can really shake a tail feather.dpavlin can really shake a tail feather.dpavlin can really shake a tail feather.dpavlin can really shake a tail feather.dpavlin can really shake a tail feather.
 
dpavlin's Avatar
 
Posts: 61
Karma: 116628
Join Date: May 2011
Location: Zagreb, Croatia
Device: Kindle K3G and DXG
Software method to load waveform file and recover grayscales on screen

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).
dpavlin is offline   Reply With Quote