@leo-yan This week we tried 134 rpb build and it still looks same with before. Do we have a plan to fix this HDMI issue on rpb build? And after [Bug 677] had been filed, I don’t see any update on it.
Hi @StephenSun,
I didn’t get response for the bug: https://bugs.96boards.org/show_bug.cgi?id=677; and Hikey960 have no official releasing for rpb and debian rootfs, so this is why we have no preceding.
Regard of the hdmi display issue, I found the rpb rootfs image which can display HDMI properly, it has below fbset configurations:
root@hikey960:/etc# fbset
mode "1920x1080"
geometry 1920 1080 1920 1080 32
timings 0 0 0 0 0 0 0
accel true
rgba 8/16,8/8,8/0,0/0
endmode
But for broken rpb rootfs image, it has below configurations:
root@hikey960:~# fbset
mode "800x600"
geometry 800 600 800 600 32
timings 0 0 0 0 0 0 0
accel true
rgba 8/16,8/8,8/0,0/0
endmode
And I found I cannot manually change the framebuffer setting by command:
root@hikey960:~# fbset -fb /dev/fb0 -g 1920 1080 1920 1080 16
ioctl FBIOPUT_VSCREENINFO: Invalid argument
I am not familiar with framebuffer/display drivers, I will try to inquire colleagues with related expertise; also very welcome if you have any suggestion for this.
Thanks,
Leo Yan
Thanks a lot @leo-yan for your effort,
I have two questions related to this issue now:
- Do you have ever successfully displayed anything based on a recent RPB release (like 121 afterwards)?If none of them then I suggest finding out the latest working RPB release, it may be easier to figure out which commit(s) caused this issue then normal debugging.
- Can you tell me how to figure out the actually kernel brance used by RPB build? Recently we have some finding from AOSP side, and we want to have a try on RPB.
Best Regards.
孙国峰
Yes, I tried 123/127, both of them cannot display with my 720p LCD display.
Thanks for @Loic & @fabo pointed me, you could refer the discussion for kernel code base from: Which kernel branch is used by the current RPB 4.14 kernel? - #5 by Loic
Actually rpb building is using git tree is: https://github.com/96boards-hikey/linux/, the last commit id is: 2932b25c8003e773a0b32b52814a5fd17b287567, you could refer the OE morty config file: https://github.com/96boards/meta-96boards/blob/morty/recipes-kernel/linux/linux-hikey960_git.bb.
so, i am am on the following kernel
root@linaro-developer:~# uname -a
Linux linaro-developer 4.15-hikey #1 SMP PREEMPT Sat Mar 10 22:41:04 UTC 2018 aarch64 GNU/Linux
And /dev/fb0 isn’t available
also lsmod shows this:
root@linaro-developer:~# lsmod
Module Size Used by
bnep 24576 2
arc4 16384 2
wl18xx 143360 0
wlcore 282624 1 wl18xx
mac80211 421888 2 wl18xx,wlcore
cfg80211 335872 3 wl18xx,wlcore,mac80211
wlcore_sdio 16384 0
hci_uart 65536 0
adv7511 28672 0
cec 49152 1 adv7511
drm_kms_helper 180224 1 adv7511
drm 438272 2 adv7511,drm_kms_helper
crc32_ce 16384 0
crct10dif_ce 16384 0
bluetooth 602112 23 hci_uart,bnep
ecdh_generic 24576 2 bluetooth
ip_tables 24576 0
x_tables 40960 1 ip_tables
btrfs 1024000 0
xor 20480 1 btrfs
zstd_decompress 77824 1 btrfs
zstd_compress 159744 1 btrfs
xxhash 16384 2 zstd_compress,zstd_decompress
raid6_pq 106496 1 btrfs
root@linaro-developer:~#
Any ideas, I know it was working earlier for me…
That is weird, this used to work for me as well with a fbdev. However, looking at the code I don’t find where the fbdev is created. All the coder related to FBDEV initialization is commented: https://github.com/96boards-hikey/linux/blob/hikey960-upstream-rebase/drivers/gpu/drm/hisilicon/kirin960/kirin_drm_drv.c#L142 (from initial integration of the driver).
@sumit.garg AFAIK you have a working display with your hikey960/linux, any idea ?
@ric96 Looking at kernel version, it seems you are running Debian on which HDMI/DRM drivers doesn’t seems to work. So I had to install custom 96boards hikey kernel (https://github.com/96boards-hikey/linux/commits/hikey960-upstream-rebase) on Debian and passed “video=HDMI-A-1:1280x800@60” in cmdline for my 24 inch monitor screen.
Kernel install steps:
“Image.gz” should be used to replace /boot/vmlinuz-4.15-hikey image.
And for device tree, you will get hi3660-hikey960.dtb image. Place this image in “/boot/” directory. Reboot and press “e” when you get GRUB menu. Just add following line in the configuration:
devicetree /boot/hi3660-hikey960.dtb
@sumit.garg
With that kernel if I add the video=HDMI-A-1:1280x800@60 cmd, it results in a panic during boot else it fails to find rootfs and goes into initramfs
could not open builtin file '/lib/modules/4.14.0-rc7-hikey-linaro/modules.builtin.bin'
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
done.
Gave up waiting for root file system device. Common problems:
- Boot args (cat /proc/cmdline)
- Check rootdelay= (did the system wait long enough?)
- Missing modules (cat /proc/modules; ls /dev)
ALERT! UUID=230350e9-f100-4e71-a796-4d1c259fec71 does not exist. Dropping to a shell!
(initramfs)
@ric96 Please check if you followed following build steps:
cd
./scripts/kconfig/merge_config.sh arch/arm64/configs/defconfig arch/arm64/configs/hikey960_defconfig
make -jnproc
aahh… that worked but i guess this kernel doesn’t support sdcard, so i still end up booting to initramfs
@ric96 So your HDMI worked with kernel boot-logs displayed on Monitor, right? I am not sure about sdcard as I have used Debian rootfs flashed on UFS.
yes hdmi worked, but currently i require emmc to run aosp that’s why i was booting on sdcard and that didn’t work
What I did:
1. Plug-in HDMI before booting
2. Boot
3. Start X
4. Check fb0, it should be there.
However, if you want X actually work, you need to follow the instruction from Leo to add X11 config for fbdev as well.
BR,
Stephen Sun
if you run
apt update
apt dist-upgrade
and reboot, does it still run?
Hello @sumit.garg,
Is there a link / readme that provides complete set of instructions to build with HDMI support for HiKey960 ?
I am trying to build [1] from source, to be able to get GUI via HDMI output.
Thanks,
Rajagopal
[1] - https://github.com/96boards-hikey/linux/commits/hikey960-upstream-rebase
I am afraid that there isn’t any specific readme for this particular kernel version [1], did you try instructions listed in this post to enable HDMI?
[1] https://github.com/96boards-hikey/linux/commits/hikey960-upstream-rebase
Hello @Sumit & @ric96,
I am running into below error on my HiKey960 with upstream-rebase kernel & corresponding dtb.
The same kernel boots fine with 4.19.5’s dtb, though !
*[ 7.360846] ufshcd-hi3660 ff3b0000.ufs: ufshcd_query_flag: Sending flag query for idn 3 failed, err = -11
[ 7.384931] ufshcd-hi3660 ff3b0000.ufs: ufshcd_query_flag_retry: query attribute, opcode 5, idn 3, failed with error -11 after 3 retires
[ 8.929043] ufshcd-hi3660 ff3b0000.ufs: __ufshcd_query_descriptor: opcode 0x01 for idn 8 failed, index 0, err = -11
[ 10.464885] ufshcd-hi3660 ff3b0000.ufs: __ufshcd_query_descriptor: opcode 0x01 for idn 8 failed, index 0, err = -11
[ 12.001219] ufshcd-hi3660 ff3b0000.ufs: __ufshcd_query_descriptor: opcode 0x01 for idn 8 failed, index 0, err = -11
[ 12.028565] ufshcd-hi3660 ff3b0000.ufs: ufshcd_read_desc_param: Failed reading descriptor. desc_id 8, desc_index 0, param_offset 0, ret -11
[ 12.058408] ufshcd-hi3660 ff3b0000.ufs: ufshcd_init_icc_levels: Failed reading power descriptor.len = 98 ret = -11
[ 33.057454] ufshcd-hi3660 ff3b0000.ufs: ufshcd_print_pwr_info:[RX, TX]: gear=[1, 1], lane[1, 1], pwr[SLOWAUTO_MODE, SLOWAUTO_MODE], rate = 0
[ 33.089203] ufshcd-hi3660 ff3b0000.ufs: UPIU[0] - issue time 12082372 us
[ 33.105292] ufshcd-hi3660 ff3b0000.ufs: UPIU[0] - Transfer Request Descriptor phys@0xdc058000
[ 33.123099] UPIU TRD: 00000000: 15000000 00000000 0000000f 00000000
[ 33.138519] UPIU TRD: 00000010: dc040000 00000000 00800080 01000001
[ 33.153808] ufshcd-hi3660 ff3b0000.ufs: UPIU[0] - Request UPIU phys@0xdc040000
[ 33.170017] UPIU REQ: 00000000: 00d04001 00000000 00000000 24000000
[ 33.185172] UPIU REQ: 00000010: 00000012 00000024 00000000 00000000
[ 33.200083] ufshcd-hi3660 ff3b0000.ufs: UPIU[0] - Response UPIU phys@0xdc040200
[ 33.216073] UPIU RSP: 00000000: 00000000 00000000 00000000 00000000
[ 33.230942] UPIU RSP: 00000010: 00000000 00000000 00000000 00000000
[ 33.245704] UPIU RSP: 00000020: 00000000 00000000 00000000 00000000
[ 33.260414] UPIU RSP: 00000030: 00000000
[ 33.272614] ufshcd-hi3660 ff3b0000.ufs: UPIU[0] - PRDT - 1 entries phys@0xdc040400
[ 33.288623] UPIU PRDT: 00000000: 18e3fc00 00000002 00000000 00000023
[ 33.387503] ufs final power mode: gear = 3, lane = 2, pwr = 1, rate = 2
[ 33.402517] ufshcd-hi3660 ff3b0000.ufs: set TX_EQUALIZER 3.5db
[ 33.419069] ufshcd-hi3660 ff3b0000.ufs: check TX_EQUALIZER DB value lane0 = 0x1
[ 33.434559] ufshcd-hi3660 ff3b0000.ufs: TX_EQUALIZER DB value lane1 = 0x1
[ 33.449256] ufshcd-hi3660 ff3b0000.ufs: ufshcd_print_pwr_info:[RX, TX]: gear=[3, 3], lane[2, 2], pwr[FAST MODE, FAST MODE], rate = 2
[ 33.477739] VFS: Cannot open root device "sdd10" or unknown-block(0,0): error -6*
PFB the summary of steps followed and can someone please let me know where I am going wrong ?
- export ARCH=arm64
- export CROSS_COMPILE="$PWD"/toolchain/bin/aarch64-linux-android-
- make -j$(nproc) distclean
- ./scripts/kconfig/merge_config.sh arch/arm64/configs/defconfig arch/arm64/configs/hikey960_defconfig
- make -j$(nproc) LOCALVERSION=-hikey960-linaro-xen
- Create custom GRUB entry with new kernel & dtb as follows …
echo ‘Loading Linux hikey-upstream-rebase …’
linux /boot/vmlinuz-hikey-upstream-rebase root=/dev/sdd10 ro video=HDMI-A-1:1920x1200@60
devicetree /boot/hi3660-hikey960.dtb
menuentry ‘hikey-upstream-rebase-with-HDMI’ {
}
Thanks,
Rajagopal
[1] - https://github.com/96boards-hikey/linux.git -b hikey960-upstream-rebase
Disclaimer: “This message is intended only for the designated recipient(s). It may contain confidential or proprietary information and may be subject to other confidentiality protections. If you are not a designated recipient, you may not review, copy or distribute
this message. Please notify the sender by e-mail and delete this message. GlobalEdge does not accept any liability for virus infected mails.”
It seems like your hikey960 comes with hynix UFS flash, so you would require fix [1] in upstream-rebase kernel that is already part of 4.19.5 kernel.
@Sumit,
Managed to overcome hynix_ufs issue by using dtb from 4.19.5 !
However, unable to get HDMI output since NO /dev/dri/card0 or /dev/fb0.
From the dmesg output, we are able to see MALI getting detected, though.
Complete dmesg output has been made available at [1] and any help on getting HDMI output will be great.
Thanks,
Rajagopal
You need to use dtb from hikey960-upstream-rebase kernel branch only as that will be having DT nodes to enable HDMI and USB. Only hynix_ufs fix patch is required in the hikey960-upstream-rebase kernel which you have already picked from 4.19.5 kernel.