Skip to content

samsung-crownlte: fix stuck Samsung boot screen, fix slow boot by adding mfc_fw.bin to firmware

This fixes 2 issues, as mentioned in MR title:

  1. I'm not sure what changed, but apparently blank and immediate unblank of fb0 no longer unstucks screen from initial Samsung logo. Adding 1s delay between these actions seems to work, pmOS splash works, including the animated dots. See comment: !4176 (comment 1434937224)
  2. As of recently, boot process takes 3 minutes to go from pmOS splash screen to Xorg. According to dmesg, udevd workers wait for /devices/platform/178d0000.mfc0/video4linux/video[x] and timeout:
[  189.111183] udevd[3063]: timeout 'v4l_id /dev/video8'
[  189.111211] udevd[3073]: timeout 'v4l_id /dev/video11'
[  189.111333] udevd[3063]: slow: 'v4l_id /dev/video8' [3227]
[  189.111342] udevd[3073]: slow: 'v4l_id /dev/video11' [3226]
[  189.111426] udevd[3064]: timeout 'v4l_id /dev/video6'
[  189.111509] udevd[3064]: slow: 'v4l_id /dev/video6' [3237]
[  189.111703] udevd[3074]: timeout 'v4l_id /dev/video7'
[  189.111873] udevd[3074]: slow: 'v4l_id /dev/video7' [3234]
[  189.662893] udevd[3021]: worker [3073] /devices/platform/178d0000.mfc0/video4linux/video11 timeout; kill it
[  189.663021] udevd[3021]: seq 3089 '/devices/platform/178d0000.mfc0/video4linux/video11' killed
[  189.663074] udevd[3021]: worker [3064] /devices/platform/178d0000.mfc0/video4linux/video6 timeout; kill it
[  189.663158] udevd[3021]: seq 3090 '/devices/platform/178d0000.mfc0/video4linux/video6' killed
[  189.663206] udevd[3021]: worker [3074] /devices/platform/178d0000.mfc0/video4linux/video7 timeout; kill it
[  189.663304] udevd[3021]: seq 3091 '/devices/platform/178d0000.mfc0/video4linux/video7' killed
[  189.663357] udevd[3021]: worker [3063] /devices/platform/178d0000.mfc0/video4linux/video8 timeout; kill it
[  189.663441] udevd[3021]: seq 3092 '/devices/platform/178d0000.mfc0/video4linux/video8' killed
[  189.666377] s5p_mfc_load_firmware:706: Firmware is not present in the /lib/firmware directory nor compiled in kernel.
[  189.666400] mfc_init_instance:421: failed to init first instance
[  189.666433] s5p_mfc_open:602: MFC driver open is failed [0:0]
[  189.666585] udevd[3021]: worker [3063] terminated by signal 9 (Killed)
[  189.666643] udevd[3021]: worker [3063] failed while handling '/devices/platform/178d0000.mfc0/video4linux/video8'
[  189.667737] udevd[3021]: worker [3064] terminated by signal 9 (Killed)
[  189.667787] udevd[3021]: worker [3064] failed while handling '/devices/platform/178d0000.mfc0/video4linux/video6'
[  189.668300] udevd[3021]: worker [3073] terminated by signal 9 (Killed)
[  189.668349] udevd[3021]: worker [3073] failed while handling '/devices/platform/178d0000.mfc0/video4linux/video11'
[  189.668884] udevd[3021]: worker [3074] terminated by signal 9 (Killed)
[  189.668935] udevd[3021]: worker [3074] failed while handling '/devices/platform/178d0000.mfc0/video4linux/video7'
[  189.669326] [c:0] s5p_mfc_open:552: NORMAL instance is opened [0:1]
[  189.669395] s5p-mfc 178d0000.mfc0: Direct firmware load for mfc_fw.bin failed with error -2
[  189.669403] s5p-mfc 178d0000.mfc0: Falling back to user helper
[  189.669581] s5p_mfc_load_firmware:706: Firmware is not present in the /lib/firmware directory nor compiled in kernel.
[  189.669590] mfc_init_instance:421: failed to init first instance
[  189.669603] s5p_mfc_open:602: MFC driver open is failed [0:0]

I've added mfc_fw.bin to the firmware package. Lack of this firmware blob is likely the cause of slow boots on starlte and star2lte as well (cc @ESHARK22).

In another dmesg log I also saw something mentioning elogind-uaccess-command as the cause of those workers being started and timeouting, unfortunately I seem unable to get those logs to appear again. I guess that this issue might have been introduced by !4020 (merged).

I'll probably have to add a note in wiki page saying that without proprietary firmware package, the boot times will be long, unless those timeouts can somehow be avoided in the first place.

Edited by Przemysław Romanik

Merge request reports