Jump to content

Armbian image and build support for RISC-V.


balbes150

Recommended Posts

I have a 2 port USB hub. It works on my laptop with Ubuntu 20.04 and on my laptop with Ubuntu 22.04, but not on my Lichee RV Dock D1 with Ubuntu 22.04: a USB keyboard connected via the USB hub is not working.

 

On my D1, syslog says:

 

Jun 25 14:56:40 nezha kernel: [ 3036.734170] usb 4-1: New USB device found, idVendor=058f, idProduct=9254, bcdDevice= 3.12
Jun 25 14:56:40 nezha kernel: [ 3036.734190] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Jun 25 14:56:40 nezha kernel: [ 3036.734201] usb 4-1: Product: Generic USB Hub
Jun 25 14:56:40 nezha kernel: [ 3036.734209] usb 4-1: Manufacturer: ALCOR
Jun 25 14:56:40 nezha kernel: [ 3036.741616] hub 4-1:1.0: USB hub found
Jun 25 14:56:40 nezha kernel: [ 3036.745592] hub 4-1:1.0: config failed, hub doesn't have any ports! (err -19)


 

When I google "config failed, hub doesn't have any ports! (err -19)" there are a few hits, but very low level tech talk, often related to Raspberry Pi CM4, which didn't help me.

 

On my Ubuntu 20.04 laptop, syslog says

 

Jun 25 15:11:30 witte2004 kernel: [87916.031446] usb 1-1: new full-speed USB device number 14 using xhci_hcd
Jun 25 15:11:30 witte2004 kernel: [87916.180513] usb 1-1: New USB device found, idVendor=058f, idProduct=9254, bcdDevice= 3.12
Jun 25 15:11:30 witte2004 kernel: [87916.180521] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Jun 25 15:11:30 witte2004 kernel: [87916.180526] usb 1-1: Product: Generic USB Hub
Jun 25 15:11:30 witte2004 kernel: [87916.180531] usb 1-1: Manufacturer: ALCOR
Jun 25 15:11:30 witte2004 kernel: [87916.181829] hub 1-1:1.0: USB hub found
Jun 25 15:11:30 witte2004 kernel: [87916.181921] hub 1-1:1.0: 4 ports detected


 

Tips how to solve this and make the USB hub working on my D1?

Edited by Superkoning
Link to comment
Share on other sites

11 минут назад, Superkoning сказал:

Tips how to solve this and make the USB hub working on my D1?

After booting the system, if the USB does not work, disconnect the device (hub) and reconnect. Sometimes you have to do this several times in order for the USB to be determined and work. When connected via the hub, some of the devices may not work, they need to be disconnected and reconnected. If the UART console is connected, disconnect it, this may also be the reason that USB devices do not start. Check the power supply, there may not be enough power for USB.

Link to comment
Share on other sites

26 minutes ago, balbes150 said:

After booting the system, if the USB does not work, disconnect the device (hub) and reconnect. Sometimes you have to do this several times in order for the USB to be determined and work. When connected via the hub, some of the devices may not work, they need to be disconnected and reconnected. If the UART console is connected, disconnect it, this may also be the reason that USB devices do not start. Check the power supply, there may not be enough power for USB.

 

Oh, wow ... just replugging worked. Keyboard and ethernet USB adapter are working. Thanks.

 

FWIW: the USB hub is unpowered. So impressive the Dock can power the hub plus keyboard plus ethernet adapter.

 

Jun 25 15:40:18 nezha kernel: [ 5654.678714] usb 4-1: new full-speed USB device number 16 using ohci-platform
Jun 25 15:40:18 nezha kernel: [ 5654.907759] usb 4-1: New USB device found, idVendor=058f, idProduct=9254, bcdDevice= 3.12
Jun 25 15:40:18 nezha kernel: [ 5654.907780] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Jun 25 15:40:18 nezha kernel: [ 5654.907791] usb 4-1: Product: Generic USB Hub
Jun 25 15:40:18 nezha kernel: [ 5654.907800] usb 4-1: Manufacturer: ALCOR
Jun 25 15:40:18 nezha kernel: [ 5654.916213] hub 4-1:1.0: USB hub found
Jun 25 15:40:18 nezha kernel: [ 5654.917858] hub 4-1:1.0: 4 ports detected


with output of usb-devices

 

T:  Bus=04 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 16 Spd=12  MxCh= 4
D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=058f ProdID=9254 Rev=03.12
S:  Manufacturer=ALCOR
S:  Product=Generic USB Hub
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   1 Ivl=255ms


 

Edited by Superkoning
Link to comment
Share on other sites

FYI / FWIW:

my syslog was full with hostapd logging like below. Annoying.

I "solved" that by using armbian-config -> set up the AP ... which failed, but the logging disappeared from my syslog.

 

Jun 25 15:29:34 nezha systemd[1]: hostapd.service: Scheduled restart job, restart counter is at 2195.
Jun 25 15:29:34 nezha systemd[1]: Stopped Access point and authentication server for Wi-Fi and Ethernet.
Jun 25 15:29:34 nezha systemd[1]: Starting Access point and authentication server for Wi-Fi and Ethernet...
Jun 25 15:29:34 nezha hostapd[4725]: Could not open configuration file '/etc/hostapd/hostapd.conf' for reading.
Jun 25 15:29:34 nezha hostapd[4725]: Failed to set up interface with /etc/hostapd/hostapd.conf
Jun 25 15:29:34 nezha hostapd[4725]: Failed to initialize interface
Jun 25 15:29:34 nezha systemd[1]: hostapd.service: Control process exited, code=exited, status=1/FAILURE
Jun 25 15:29:34 nezha systemd[1]: hostapd.service: Failed with result 'exit-code'.
Jun 25 15:29:34 nezha systemd[1]: Failed to start Access point and authentication server for Wi-Fi and Ethernet.


 

Link to comment
Share on other sites

New version 20220702 for StarFive. Kernel 5.19-rc4.

An important change. The system has been switched to using the new version of u-boot (in the future it will be a complete transition to UEFI). For details on how to upgrade to the new version of u-boot, see this topic.

 

https://forum.rvspace.org/t/universal-u-boot-update/560/2

Link to comment
Share on other sites

Version 20220710 for SfarFive.

Important change, Ubuntu\Armbian switched to using UEFI. Debian\Armbian will be switched to using UEFI in the near future, while several packages necessary for UEFI are missing in Debian network repositories for riscv64, with the release of these packages in Debian network repositories or I will temporarily use DEB EFI packages from Ubuntu, Debian images will also be completely switched to the UEFI startup system (grub). It is welcome if there are participants who are ready to help with porting the necessary DEB EFI packages for Debian. By the way, Rick is actively working on adding new DE for RISC-V in Armbian, several new DE will be ready soon, if you are interested in specific DE, write to this topic, it will help determine which direction to do first.

Link to comment
Share on other sites

Package `gcc-riscv64-linux-gnu` should be added as a dependency for usage in Docker, else it errors out with it missing.
Based on how the depends are configured, it seems as if the intention was that this package would be provided by the distro or built by the user? Is Docker intended to build this toolchain itself?

Link to comment
Share on other sites

1 час назад, Nexus сказал:

Package `gcc-riscv64-linux-gnu` should be added as a dependency for usage in Docker, else it errors out with it missing.
Based on how the depends are configured, it seems as if the intention was that this package would be provided by the distro or built by the user? Is Docker intended to build this toolchain itself?

This is the initial development version and I have not tested its use with Docker. There may be errors\missing necessary settings\dependencies. If you have the information and you have checked what is missing to run the build in Docker, you can send a PR or write your steps, what and where you added.

Link to comment
Share on other sites

9 hours ago, Nexus said:

Package `gcc-riscv64-linux-gnu` should be added as a dependency for usage in Docker, else it errors out with it missing.
Based on how the depends are configured, it seems as if the intention was that this package would be provided by the distro or built by the user? Is Docker intended to build this toolchain itself?

 

 

I can NOT confirm: I can just run

apt install docker.io -y

and then

docker run -it ubuntu:22.04 /bin/bash

and it all works

root@nezha:~# docker run -it ubuntu:22.04 /bin/bash
Unable to find image 'ubuntu:22.04' locally
22.04: Pulling from library/ubuntu
1edfbf9ed16b: Pull complete 
Digest: sha256:b6b83d3c331794420340093eb706a6f152d9c1fa51b262d9bf34594887c2c7ac
Status: Downloaded newer image for ubuntu:22.04
root@130be7978c79:/# uname -a
Linux 130be7978c79 5.19.0-rc1-d1 #trunk Thu Jun 23 10:42:46 MSK 2022 riscv64 riscv64 riscv64 GNU/Linux
root@130be7978c79:/# 

 

So ... how/when did you get an error?

Link to comment
Share on other sites

Kudos for all the work Balbes. I just received my MangoPI MQ Pro and I'm having some issues booting. Could you please give me hint on:
- how to plug in the uart gpio pins?

- what's the baud rate?

- should i send uart jumper to 3.3 or 5V?

- is it possible to power the board without usb-c but only with uart?

- is micro hdmi required for first boot? (I don't have one)

 

Thanks in advance.

Link to comment
Share on other sites

Baud rate will be 115200.  If that does not work then try 38400 and 9600.

Set the jumper to 3.3v.  If you try to use 5v you may end up destroying the board.

You should be able to use a HDMI monitor and USB keyboard. For my (Lemaker Banana Pro) board that didn't work so I had to use an USB to RS232 converter to start and complete the initial set-up.

Power the board using USB-C and do not use the 5V pin on the USB to RS232 converter?

Not sure about which gpio pins to use.  I advise you look-up the required documentation that should be available on Mango's web-site.

Link to comment
Share on other sites

17 hours ago, riscvboy said:

 

- is micro hdmi required for first boot? (I don't have one)

 

 

https://mangopi.cc/mangopi_mqpro says "mini HDMI connector", so not micro.

 

I would get one (including USB-C power); much easier than going the UART way. That's the great thing about balbes150's image: HDMI and keyboard and mouse just work.

Edited by Superkoning
Link to comment
Share on other sites

I had to create a new image, and afterwards discovered I had the debian not ubuntu version.

 

So for people like me, I've created an overview:


 

$ lynx --dump 'https://disk.yandex.ru/d/da8qJ8wyE1hhcQ/Nezha_D1/ArmbianTV/20220722' | grep xz



   Armbian_22.08.0-trunk_Nezha_jammy_current_5.19.0.img.xz
   Armbian_22.08.0-trunk_Nezha_jammy_current_5.19.0_icewm_desktop.img.xz
   Armbian_22.08.0-trunk_Nezha_jammy_current_5.19.0_xfce_desktop.img.xz



   Armbian_22.08.0-trunk_Nezha_sid_current_5.19.0.img.xz
   Armbian_22.08.0-trunk_Nezha_sid_current_5.19.0_icewm_desktop.img.xz
   Armbian_22.08.0-trunk_Nezha_sid_current_5.19.0_xfce_desktop.img.xz

 

So:

  • jammy (Ubuntu) versus sid (Debian)
  • ... each with text-only versus icewm versus xfce

 

@balbes150 Why is the directory called ArmbianTV? Does TV stand for Television, or something else?

Edited by Superkoning
Link to comment
Share on other sites

18 часов назад, riscvboy сказал:

is micro hdmi required for first boot? (I don't have one)

This model does not have a built-in LAN port (which can be automatically configured at the first start via DHCP, so that you can connect via SSH from a PC and perform the initial configuration of the system and WiFi). Therefore, for the first launch and setup, you need either an HDMI and USB keyboard, or a USB-LAN.

 

1 час назад, Superkoning сказал:

Why is the directory called ArmbianTV? Does TV stand for Television, or something else?

It doesn't make any difference, it's just a historically established name for my development branch.

Link to comment
Share on other sites

From https://www.cnx-software.com/2022/08/01/linux-5-19-release-main-changes-arm-risc-v-and-mips-architectures/ "Linux 5.19 Release – Main changes, Arm, RISC-V and MIPS architectures"

 

I guess we can expect the 5.19 release on our board?

 

RISC-V updates

Allwinner D1

DMA and LRADC drivers

Implementation of page-based memory attributes

Device tree – Enables display engine 2.0 with two mixers, a TCON TOP (with DSI and HDMI), one TCON LCD, and one TCON TV.

Support for the Svpbmt extension, which allows memory attributes to be encoded in pages

Support for running rv32 binaries on rv64 systems, via the compat subsystem

Support for kexec_file()

Support for the new generic ticket-based spinlocks, which allows us to also move to qrwlock. These should have already gone in through the asm-geneic tree as well

A handful of cleanups and fixes, including some larger ones around atomics and XIP

Link to comment
Share on other sites

1 hour ago, Superkoning said:

I guess we can expect the 5.19 release on our board?

 

Upstream Linux release document is just a formality.


All features are already present.

 

Non RC builds will be out when people return from well deserved holidays.

Link to comment
Share on other sites

I'm new to the thread, I got a Lychee RV D1 with the dock.

I've downloaded and flashed the latest armbian (Armbian_22.08.0-trunk_Nezha_jammy_current_5.19.0.img) and it always gets stuck on boot:

 

Loading Linux 5.19.0-rc1-d1 ...

Loading initial ramdisk ...

Loading device tree blob...

/boot/dtb

EFI stub: Booting Linux Kernel...

EFI stub: Using DTB from configuration table

EFI stub: Loaded initrd from LINUX_EFI_INITRD_MEDIA_GUID device path

EFI stub: Exiting boot services...

 

I've tried to format into FAT32 that same card and put the uEnv.txt mentioned before. It didn't work.

I get the terminal output through the TTL output on the GPIO header, just in case is relevant.

 

Can I get some help?

Link to comment
Share on other sites

04.08.2022 в 01:19, kbm15 сказал:

I've downloaded and flashed the latest armbian (Armbian_22.08.0-trunk_Nezha_jammy_current_5.19.0.img) and it always gets stuck on boot:

The system is running, see the topic above, there is no output to UART after that, everything goes to HDMI. Therefore, for the first setup, you need an HDMI and USB keyboard.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines