linuxlinux-kernellinux-device-driverembedded-linuxcortex-a

Keyboard problem on Lichee Pi Zero with kernel 5.2+


My question is about Lichee Pi Zero board (based on Allwinner/Sunxi V3s SoC).

Initially I used pre-built Linux image (kernel 4.10.02), it has no built-in Wi-Fi support (for Realtek 8327BS chip), so I downloaded the latest kernel version from here and built it with the default settings.

LCD is ok, Wi-fi looks good too (LED is blinkikng), but I cannot use keyboard anymore - there is no reaction from OS, when I connect something to USB (no message and no input from keyboard).

Hardware is OK and works good with the old Linux image. I have also tried the latest kernel from kernel.org with the same bad result.

Please help to understand the reason. I suppose bad settings, but HID supoort is enabled.

Update 1. I establish connection through UART. As I see, some USB features are detected during boot: enter image description here

enter image description here

I'm able to load some drivers using insmod also: enter image description here Unfortunately, Linux still does not recognize any USB Device. I have connected mouse, keyboard, hub, mass storage and got no reaction from OS. It looks like devices do not get power (there is no light from mouse).

Update 2. The best way I have found at the moment is to use buildroot-licheepi-zero. It's very easy to use:

make licheepi_zero_defconfig
make menuconfig (optional)
make

After many-hour wainting I got the sdcard.img. It includes all neccessary files (zImage, RootFS, u-boot.bin, etc) and could be placed to SD with linux dd or etcher. Linux boots successfully, but you can use terminal only through UART, as there is no LCD output. You can put LCD itself to work:

make uboot-menuconfig

enter image description here

make

BUT there is still no user login prompt on the LCD after boot. So I need to log in and put command through UART. Please share suggestion if any.

Update 3. The change below enables login prompt on LCD (and disables it through UART):

make menuconfig enter image description here

Now we are able to use Wi-Fi:

  1. insmod /lib/modules/4.14.14-licheepi-zero/kernel/drivers/staging/rtl8723bs/r8723bs.ko
  2. ifconfig wlan0 up
  3. edit file /etc/wpa_supplicant.conf to add your Wi-Fi SSID and PSK
  4. wpa_supplicant -B -d -i wlan0 -c /etc/wpa_supplicant.conf
  5. udhcpc -i wlan0

Connection is established now, we can ping and so on.

There is still the question - how to enable full-functional terminal both on LCD and UART.

Many thanks! With regards, Maksim


Solution

  • The best solution is to use Buildroot. Please check updates at topic start for details.