4.19.5 kernel based Debian snapshot image release for HiKey960

Hello Everyone!

Today we have released the Debian snapshot image for HiKey960 board based on recent LTS kernel 4.19.5. Below are the supported features of this release:

  1. UFS
  2. SD
  3. WiFi/BT
  4. USB
  5. PCI-E (not tested)

For using this image, HiKey960 board should be flashed with recent UEFI build as well as debian build found in below links:

  1. UEFI - http://snapshots.linaro.org/96boards/reference-platform/components/uefi-staging/84/hikey960/debug/
  2. Debian image - http://snapshots.linaro.org/96boards/hikey/linaro/debian/latest/

Instructions for flashing UEFI - https://github.com/96boards/documentation/blob/master/consumer/hikey/hikey960/installation/board-recovery.md

Instructions for flashing Debian image - https://github.com/96boards/documentation/blob/master/consumer/hikey/hikey960/installation/linux-fastboot.md

Kernel tree used for this release:
https://git.linaro.org/people/manivannan.sadhasivam/hikey.git/log/

Also, we have released a new Kernel contribution guide for those who want to contribute to our release images:

Happy Hacking!

Regards,
Mani

I just uploaded this kernel image to my board, I’m able to boot properly, but I cannot send or receive any data through the serial after the login appears.

Last login: Thu Nov  3 17:16:45 UTC 2016 on ttyAMA6
Linux linaro-developer 4.19.5-hikey #24 SMP PREEMPT Mon Dec 17 11:25:03 UTC 2018 aarch64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/[    6.951856] mmc_host mmc1: Bus speed (slot 0) = 25000000Hz (slot req 25000000Hz, actual )
share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
root@linaro-developer:~# [    7.796173] wlcore: PHY firmware version: Rev 8.2.0.0.240
[    8.042325] wlcore: firmware booted (Rev 8.9.0.0.76)
[    8.137614] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[    8.146928] wlcore: down
[    9.211039] random: crng init done
[    9.214470] random: 7 urandom warning(s) missed due to ratelimiting
[   10.753253] wlcore: ERROR timeout waiting for the hardware to complete initialization
[   10.882556] mmc_host mmc1: Bus speed (slot 0) = 400000Hz (slot req 400000Hz, actual 400000HZ div = 0)
[   10.926394] mmc_host mmc1: Bus speed (slot 0) = 25000000Hz (slot req 25000000Hz, actual 25000000HZ div = 0)
[   11.435848] wlcore: PHY firmware version: Rev 8.2.0.0.240
[   11.571271] wlcore: firmware booted (Rev 8.9.0.0.76)
[   11.600043] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[   11.734952] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready

@chopp

Please make sure you have disabled any Hardware/Software flow control in the serial utility. I can successfully login and type into the console with this image on HiKey960.

Thanks,
Mani

@Mani Perfect. Now it works.
I was able to modify things on grub so I guessed it was fine, but I was wrong. I disabled the hw flow control and now it works.

Thanks

@Mani Thanks for providing an updated image for the HiKey960.

I have flashed the new 4.19.5-based image to my HiKey960 and it generally seems to work just fine. However, I can’t get WLAN to work on the new image. When I e.g. try to restart the network, I get:

root@linaro-developer:~# sudo service network-manager restart
[ 577.690307] wlcore: down
[ 577.725096] wlcore: down
root@linaro-developer:~# [ 578.001292] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 578.132299] mmc_host mmc1: Bus speed (slot 0) = 400000Hz (slot req 400000Hz, actual 400000HZ div = 0)
[ 578.242234] mmc_host mmc1: Bus speed (slot 0) = 25000000Hz (slot req 25000000Hz, actual 25000000HZ div = 0)
[ 579.287338] wlcore: PHY firmware version: Rev 8.2.0.0.240
[ 579.858206] wlcore: firmware booted (Rev 8.9.0.0.76)
[ 580.268705] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 580.279525] wlcore: down
[ 584.345023] wlcore: ERROR timeout waiting for the hardware to complete initialization
[ 584.479382] mmc_host mmc1: Bus speed (slot 0) = 400000Hz (slot req 400000Hz, actual 400000HZ div = 0)
[ 584.596458] mmc_host mmc1: Bus speed (slot 0) = 25000000Hz (slot req 25000000Hz, actual 25000000HZ div = 0)
[ 585.659447] wlcore: PHY firmware version: Rev 8.2.0.0.240
[ 586.256404] wlcore: firmware booted (Rev 8.9.0.0.76)
[ 586.484061] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 586.567431] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready

root@linaro-developer:~#

The only error I can see is “wlcore: ERROR timeout waiting for the hardware to complete initialization”. When looking around for an explanation for this, I stumble across this discussion of a potential HiKey960-related regression: LKML: Tony Lindgren: Re: REGRESSION: "wlcore: sdio: allow pm to handle sdio power" breaks wifi on HiKey960

Do you know if this is a known issue in the latest HiKey960 image? Any suggestion for a work-around for this?

Thanks,
-Lars

Hi @larschristensen,

You can ignore that error, but WLAN should work anyway (it does came up properly according to your log). Have you tried using nmtui command to connect to AP?

Thanks,
Mani

@Mani

Thanks for your feedback…using nmtui or nmcli it indeed works as expected.

@Mani I’m making some modifications to the kernel - did you use defconfig to configure?

make defconfig distro.config based on this guide: https://github.com/96boards/documentation/blob/master/consumer/hikey/hikey620/build/linux-kernel.md

Thanks @Mani. Having a go at it now. There seems to be a problem downloading the linaro toolchain in latest (403 Forbidden). Going by specific release works though, e.g. - http://releases.linaro.org/components/toolchain/gcc-linaro/7.3-2018.05/

Can i pull this new kernel as the debian package from a repository @https://obs.linaro.org ?

Hi @helg,

Yes, you can do that using below steps:

  1. Add below entry in /etc/apt/sources.list
    deb Index of /linaro-overlay-stretch/Debian_9.0 ./

  2. Install the kernel:
    i) apt update
    ii) apt install linux-image-4.19.5-hikey

  3. Modify device tree at grub when booting the new image

PS: Thanks to @suihkulokki for the repo link.

Cheers,
Mani

is the HDMI supported in this release?

@Moshe_Eliyahu Sorry, not yet. But it will be supported in next release.

Hi, by any chance, does this release support Xen? I have posted on another thread regarding my failure to booting Xen with this release. Whereas, I have had success booting Xen using an earlier image extracted from linaro-stretch-developer-20180416-89.tar.gz. As my boot log has shown, this release does not provide a workaround for Xen’s scheduler to handle big.LITTLE. I have tried passing hmp-unsafe=true and dom0_vcpus_pin=true to the Xen command line to no avail. I appreciate if you or someone in the community could shed some lights on this. Thanks,

@Mani, can you please let me know where to get the source for the kernel, as i am trying to built the perf tool for it. Thanks

https://git.linaro.org/people/manivannan.sadhasivam/hikey.git

I tried compiling your kernel today and ran into a small build issue. The one-liner in this link fixes it:

https://lkml.org/lkml/2019/2/18/1144

Just build and installed the kernel debian package 5.0 and 5.1.0-rc6 on the image: Linaro Snapshots
on both SD card and UFS and I see the same issue


the boot process for 5.0 stops at:
image
for 5.1 kernel:
image
the same kernel are working fine in android enviroment with the same boards, any hint?

Thanks,
F.

Try to enable early console via kernel cmd line (earlycon=pl011,0xfff32000,115200).