[titan] Framebuffer doesn't work
Framebuffer in Motorola G 2014 (titan) never worked fine and I need some help to fix it.
I have started debugging it by enabling the usb shell hook. I'm connected to it and at this point the screen is black and it has never worked.
Some debugging:
# cat /dev/urandom > /dev/fb0
cat: write error: No such device
This command causes the screen to turn on for some milliseconds, I can see the Motorola logo and then instantly turns off, like a single blink. I can run this command many times with the same result. Everytime I run that command I get the following line in dmesg:
[ 152.895900,0] lm3630a_bl 0-0038: wake up and re-init chip
If I run:
echo 1 > /sys/devices/f9926000.i2c/i2c-0/0-0038/leds/lm3630a-backlight/brightness
I can see the Motorola logo again, and it doesn't turn off. I can also write any value from 0 to 255 to control the backlight.
echo 0 > /sys/devices/f9926000.i2c/i2c-0/0-0038/leds/lm3630a-backlight/brightness
# cat /dev/urandom > /dev/fb0
cat: write error: No such device
After turning off the backlight again and writing to the framebuffer I don't get the short blink anymore.
From this point I don't know what else to try. Maybe msm-fb-refresher?
[...]
If I enter the disk encryption password, pmOS continues to boot and I can connect through ssh. In the current version of pmbootstrap, the screen keeps black and kind of blinks/flashes every some seconds. The backlight is turned on and off and dmesg is flooded with this text (looks to me like the panel doesn't properly initialize and keeps trying):
[ 491.781571] 491.781571,0] mdss_dsi_on+: ctrl=e1c1c810 ndx=0
[ 491.805428] 491.805428,0] mdss_dsi_on-:
[ 491.805442] 491.805442,0] mdss_dsi_panel_on+: ctrl=e1c1c810 ndx=0
[ 491.806477] 491.806477,0] vddio_disp: operation not allowed
[ 491.806792] 491.806792,0] tps65132: operation not allowed
[ 492.019898] 492.019898,0] synaptics_dsx_sensor_state: state change SUSPEND -> ACTIVE
[ 492.020057] 492.020057,0] mdss_dsi_panel_on-. Pwr_mode(0x0A) = 0x9c
[ 492.020223] 492.020223,1] mdss_dsi_panel_off+: ctrl=e1c1c810 ndx=0
[ 492.020704] 492.020704,0] lm3630a_bl 0-0038: wake up and re-init chip
[ 492.021017] 492.021017,0] synaptics_dsx_sensor_state: state change ACTIVE -> SUSPEND
[ 492.202835] 492.202835,0] tps65132: operation not allowed
[ 492.204999] 492.204999,0] vddio_disp: operation not allowed
[ 492.205012] 492.205012,0] mdss_dsi_panel_off-:
[ 492.205024] 492.205024,0] mdss_dsi_off+: ctrl=e1c1c810 ndx=0
[ 492.237758] 492.237758,0] mdss_dsi_off-:
In a previous version of pmbootstrap, possibly when we had the cat modes > mode
hack, I could manually run that script that the screen would turn on and show weston but in the latest version that file got removed and doing manually cat modes > mode
doesn't change anything.