[Galaxy S 5 Q&A, Help & Troubleshooting] NoR8quoh1r:
Hi,

so my S5(SM-900F) shows a black screen, but is otherwise functional. I don't know if it's a software or hardware issue, neither really makes sense to me.

Here's whats happened:

I wanted to flash cyanogenmod, phone seemed functional

Tried to flash twrp (3.0.1) with heimdall, got a bunch of errors

Tried a bunch of stuff, got it to flash twrp using heimdall-git

Phone got stuck in a boot loop

At this point I was annoyed and decided to reset it, which I did with kies

Here's where the screen issue started. After booting the screen was black. Phone showed S5 logo upon startup, download mode worked fine.

Touchscreen worked (managed to activate Talkback. In Hungarian), so the hardware seemed fine.

Googled and tried the million tips to fix a black screen, nothing worked

Screen randomly worked until reboot/lock

Fully charged the battery, screen worked until battery was at 70%, then black screen after locking with power button

Here's a kernel log from around that time:

dmesg

Nothing sticks out to me, log shows the backlight being adjusted which might be related.

This is the log I saved however, when I looked at it in the console I saw a few more things (see below)

Hoping it was a weird software issue I tried to flash cyanogenmod again, this time got into recovery (had to hold Vol Up+Home for more than half a minute), but got "kernel not seandroid enforcing" upon boot, then black screen and periodical vibration

Reset again

Wanted to see whether the screen would fail after some time in download mode, worked until battery was empty

Suddenly the screen's black in download mode, too, even though it worked for days

Here's a current bugreport.txt containing

***
<6>[ 157.910750] mipi_samsung_disp_send_cmd: get_my_check(0)!
<6>[ 157.910764] mipi_samsung_disp_send_cmd: get_my_check(0)!
<3>[ 157.910772] [mdnie lite] is negative Mode On = 0
<6>[ 157.910780] mdss_dsi_cmds_send: get_my_check(0)!
<3>[ 157.910791] [mdnie lite] mDNIe_Set_Mode end , UI_MODE(0), DYNAMIC(0), OUTDOOR_OFF_MODE(0), ACCESSIBILITY_OFF(0)
<6>[ 157.910801] mdss_dsi_panel_on : --
<6>[ 157.911850] mipi_samsung_disp_send_cmd: get_my_check(0)!
<6>[ 157.911858] mipi_samsung_disp_send_cmd: get_my_check(0)!
<6>[ 157.911867] mdss_dsi_cmds_send: get_my_check(0)!
<6>[ 157.911874] mdss_dsi_cmds_send: get_my_check(0)!
<6>[ 157.911880] mdss_dsi_cmd_receive: get_my_check(0)!
<6>[ 157.911887] read_reg : A[1] : .
<3>[ 157.911893] Error reading LCD NV data count(-19), read_size(1)!!!!
<6>[ 157.911900] mipi_samsung_disp_send_cmd: get_my_check(0)!
<3>[ 157.912839] Panel has gone bad, sending uevent - PANEL_ALIVE=0
<6>[ 157.912847] DISPLAY_ON
<6>[ 157.912862] mdss_mdp_overlay_on: mdss_mdp_overlay_on: --
<6>[ 157.912890] mdss_fb_blank_sub: FB_NUM:0, MDSS_FB_UNBLANK --
<6>[ 157.928517] __mdss_fb_perform_commit: kickoff done!
<6>[ 157.928534] mdss_fb_update_backlight: mfd->bl_level (255), bl_updated (0)
<6>[ 157.928546] mipi_samsung_disp_send_cmd: get_my_check(0)!
<6>[ 157.946943] mdss_fb_blank_sub: FB_NUM:1, MDSS_FB_UNBLANK ++
<6>[ 157.946959] mdss_mdp_overlay_on: mdss_mdp_overlay_on: ++
<6>[ 157.946977] mdss_mdp_overlay_on: mdss_mdp_overlay_on: --
<6>[ 157.947007] mdss_fb_blank_sub: FB_NUM:1, MDSS_FB_UNBLANK --
<6>[ 157.950265] hdmi_edid_sysfs_rda_modes: '4,19,32,33,34,3,18,1'
<6>[ 157.951605] hdmi_tx_get_vic_from_panel_info: 1920x1080 p30 16/9 is supported
<6>[ 157.951622] mdss_fb_blank_sub: FB_NUM:1, MDSS_FB_BLANK ++
<6>[ 157.951799] mdss_fb_blank_sub: FB_NUM:1, MDSS_FB_BLANK --
<6>[ 157.951809] mdss_fb_blank_sub: FB_NUM:1, MDSS_FB_UNBLANK ++
<6>[ 157.951819] mdss_mdp_overlay_on: mdss_mdp_overlay_on: ++
<6>[ 157.951831] mdss_mdp_overlay_on: mdss_mdp_overlay_on: --
<6>[ 157.951964] mdss_fb_blank_sub: FB_NUM:1, MDSS_FB_UNBLANK --
***
<4>[ 158.012453] WARNING: at /home/dpi/qb5_8814/workspace/KLTE_EUR_OPEN/android/kernel/drivers/video/msm/mdss/mdss_mdp_util.c:105 mdss_mdp_set_intr_callback+0x10c/0x12c()
<6>[ 158.012461] replacing current intr callback for ndx=8

Those I also saw before the previous dmesg.

The -19 read bytes seems especially dubious, from a quick look at the source it does not seem like an errno, don't know if it's related to the problem anyway.

Current Android version: 6.0.1

Kernel: 3.4.0

Build: MMB29M.G900FXXS1CPG9

So what's going on? Is this some weird hardware issue? Do the ways download mode and android control the screen differ? What difference does the battery make?

Is it software? Both?

I've searched the forum and found e.g this, but nothing that helped me out.

Thank you for your help,

NoR8quoh1r