-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Does HDMI work on Mango Pi? #25
Comments
Hi!
HDMI was working some (many) month ago. I did a quick test with a fresh build and now my screen stays black, too 🙄 So yeah it's not just you.
USB does work, but there are hardly any USB drivers. (see below)
Absolutely, this is a "defconfig" (aka the bare minimum to boot) + the bare minimum to get Arch (and (some? most?) USB ethernet adapters working). I did experiment with the Archlinux RISC-V kernel config in the past but it is missing most (if not all) of Allwinner/sunXi related drivers. Once the D1 stuff is merged upstream, i can create an issue here.
This is another one.
|
I gave riscv/meta-riscv@e17510e a try without success, though. |
Any update? Why does hdmi work in the armbian image but not here? |
I'm having the same issue. As far as I could see in the boot logs of armbian, the SUN4I/SUN8I modules are needed directly inside of the kernel itself, not as a loadable module. But even if I add a "patch_config"-line in 1_compile.sh, the config doesn't change at that point. |
I added some logging and as you can see here, the options are set to "enabled". |
How do you check that the OS is running? Is there a way to preconfigure the SSID and security so that you can ssh in? Or are you using a serial console? |
BTW, here is the relevant section of Armbian config
|
I have a serial console attached to the pi and my PC and configured network and stuff from there. After that was done, I installed SSHD and added a user. Now I'm able to SSH into the pi.
As you can see, the last line is a grep to my log and in this grep, the modules are back to be compiled as a module instead of the "enable" you can see in my patch log. |
Ok...after reading a bit in the kernel documentation, I guess the problem here is, that some of the modules have dependent options to be set and those dependencies are not met which makes them to fall back to their original behaviour when issuing "make oldconfig" or "make olddefconfig". I'll read and cross-compare everything and report the results here. |
Ok, giving up for today...summary:
Digging further tomorrow! |
Hmm, I wonder, is this a technical limitation or just an oversight? If the latter, easy to patch. |
Well, there are some arrows in my quiver left. |
Short update: got several, additional modules to build and load but still no HDMI. One problem is, that the driver names partly changed from 5.19 to 6.4. Even the Ubuntu image holds a 5.19 kernel. |
There are also newer images available here: https://disk.yandex.ru/d/da8qJ8wyE1hhcQ/Nezha_D1/ArmbianTV I plan to test these soon, hopefully today. It may be helpful to figure out how they get it to work with the 6.x kernel. |
I tested a couple of the images. For HDMI, the latest "current" image works, and all of the edge ones do not. The relevant section of the kernel config for this current image, 20230630-current, is:
So seems to be the same. |
I have all of those loaded and it does not work. There must be an additional module (or trick). |
Continued today...not very successful tho. I can second, that Armbian 6.1 kernel boots and has HDMI. Downside is, that it is completely differant than the arch kernel setup. Boot is without boot partition and using GRUB, having several command line parameters passed to the kernel and comparing the boot logs shows differences all over the place. |
Thanks anyway! |
Oh....as I said, I'm not done yet. Next will be, that I'll create a more simple script, based on Sehraf's, using the newest SBI, U-Boot and kernel versions and create a very basic kernel config, so that the system barely runs. |
Ok, driver tries to load now but throws some error about missing components...we're getting closer! |
Arch's kernel is mainline kernel (looks like), which is not have any display support for D1. If you can get 6.6+ kernel light up your HDMI monitor, that would be interesting... |
Based on https://linux-sunxi.org/Linux_mainlining_effort#Planned_for_next, HDMI video support is WIP. I have not figured out where the development of this can be tracked, though. |
Those documents are fairly old. Meanwhile I figured out, that the devices HDMI-Connector, HDMI-PHY und HDMI-Controller are in the DTB of the working Armbian/Ubuntu-Distros but not in the vanilla kernel...they are simply missing from the device tree. I'll try to patch them in there and see, whether that helps. |
Ok...I wrote an email to smaeul to figure out, what is happening....so here now the long story short:
I'll try to change what is needed in the u-boot stuff but as I'm not experienced in that, that at least will take a while if ever I'm successful. Perhaps smaeul can/will help with that. |
I'll update uboot to EDIT: i don't see any config for the D1. @Nightwulf if you have more information on how to get a more recent uboot running, let me know |
At least not an easy one. Since both, the official u-boot repo as well as the fork of smaeul do not include the allwinner stuff in any newer branch than the one, you're using in your scripts, we can not simply use that. As I wrote, the driver structure has changed at many points so the only way I see is to clone the most current u-boot from denx and then adopt the drivers and dts step by step. |
Do you think that it's realistic to expect that @smaeul 's changes get merged to the mainline kernel eventually or is this an abandoned project? |
No idea |
I'd like to happily share with you that the default configuration produces an image that is perfectly bootable on Mango Pi (the RISC-V variant: https://mangopi.org/mqpro)
Wi-Fi works, but I can't get HDMI to produce any output.
I'm not sure if I'm actually expected to see anything (maybe I'm missing some kernel argument or there's some lacking configuration?)
Also I'm not sure if USB works.
lsmod
shows some platform-related HDMI modules, namelysun8i_drm_hdmi
.Generally, my experience suggests that the default kernel configuration is heavily stripped-down and it seems to lack a lot of kernel modules useful for various purposes [unless I'm doing something wrong].
When it comes to any potentially related
dmesg
output, I only found this:but I don't know what to make of it.
I'm a bit of a noob when it comes to such low-level stuff so please be understanding.
Once I build up enough understanding, I'd like to contribute to the project!
The text was updated successfully, but these errors were encountered: