Framebuffer broken in Linux bananapi 5.9.14-sunxi on bananapro


Recommended Posts

Armbianmonitor:

After updating to 5.9.14 from 5.8.16, framebuffer is broken. No output after booting, hdmi monitor goes to sleep.

 

[    1.455763] ------------[ cut here ]------------
[    1.455791] WARNING: CPU: 0 PID: 1 at arch/arm/mm/ioremap.c:287 __arm_ioremap_pfn_caller+0x13f/0x14c
[    1.455796] Modules linked in:
[    1.455810] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.9.14-sunxi #20.11.3
[    1.455814] Hardware name: Allwinner sun7i (A20) Family
[    1.455846] [<c010cce9>] (unwind_backtrace) from [<c010945d>] (show_stack+0x11/0x14)
[    1.455862] [<c010945d>] (show_stack) from [<c093b0ab>] (dump_stack+0x77/0x84)
[    1.455878] [<c093b0ab>] (dump_stack) from [<c011ad8d>] (__warn+0xb1/0xb4)
[    1.455894] [<c011ad8d>] (__warn) from [<c093511b>] (warn_slowpath_fmt+0x43/0x7c)
[    1.455908] [<c093511b>] (warn_slowpath_fmt) from [<c01132d3>] (__arm_ioremap_pfn_caller+0x13f/0x14c)
[    1.455920] [<c01132d3>] (__arm_ioremap_pfn_caller) from [<c011330f>] (__arm_ioremap_caller+0x2f/0x38)
[    1.455935] [<c011330f>] (__arm_ioremap_caller) from [<c0599c73>] (simplefb_probe+0x19b/0x6b8)
[    1.455951] [<c0599c73>] (simplefb_probe) from [<c062ea3f>] (platform_drv_probe+0x33/0x68)
[    1.455967] [<c062ea3f>] (platform_drv_probe) from [<c062ce27>] (really_probe+0x13b/0x354)
[    1.455981] [<c062ce27>] (really_probe) from [<c062d205>] (driver_probe_device+0xa9/0x168)
[    1.455994] [<c062d205>] (driver_probe_device) from [<c062b89d>] (bus_for_each_drv+0x4d/0x78)
[    1.456007] [<c062b89d>] (bus_for_each_drv) from [<c062cc7f>] (__device_attach+0x8f/0xf0)
[    1.456019] [<c062cc7f>] (__device_attach) from [<c062c1ff>] (bus_probe_device+0x5b/0x60)
[    1.456033] [<c062c1ff>] (bus_probe_device) from [<c06299db>] (device_add+0x2e7/0x564)
[    1.456051] [<c06299db>] (device_add) from [<c07a396d>] (of_platform_device_create_pdata+0x65/0x88)
[    1.456067] [<c07a396d>] (of_platform_device_create_pdata) from [<c0e1d52f>] (simplefb_init+0x4f/0x60)
[    1.456081] [<c0e1d52f>] (simplefb_init) from [<c0101bf1>] (do_one_initcall+0x39/0x1a8)
[    1.456097] [<c0101bf1>] (do_one_initcall) from [<c0e00ee5>] (kernel_init_freeable+0x1bd/0x208)
[    1.456113] [<c0e00ee5>] (kernel_init_freeable) from [<c093fd9d>] (kernel_init+0xd/0xe0)
[    1.456125] [<c093fd9d>] (kernel_init) from [<c0100159>] (ret_from_fork+0x11/0x38)
[    1.456130] Exception stack(0xeed2bfb0 to 0xeed2bff8)
[    1.456138] bfa0:                                     00000000 00000000 00000000 00000000
[    1.456147] bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[    1.456155] bfe0: 00000000 00000000 00000000 00000000 00000013 00000000
[    1.456170] ---[ end trace 396812099caf657e ]---
[    1.456203] simple-framebuffer: probe of 7f817000.framebuffer failed with error -12

 

Link to post
Share on other sites
Donate and support the project!

I can confirm this issue. My banana pro installation was broken after running apt upgrade. Today I tested with re-installation:

 

(success) Armbian_20.11_Bananapipro_bionic_current_5.8.16.img

(fails) Armbian_20.11.3_Bananapipro_buster_current_5.9.14.img

(fails) Armbian_20.11.7_Bananapipro_buster_current_5.10.4

 

The problem is that after a succesfull u-boot the screen becomes black when it (tries to) boot linux. My hdmi monitor turns off. 

 

I tried to create a bug report using https://www.armbian.com/bugs/ but it did not allow me to.

Link to post
Share on other sites
2 hours ago, frnck said:

I tried to create a bug report using https://www.armbian.com/bugs/ but it did not allow me to.

 

What is wrong with that application? It tells you that you need to supply logs, do that, ... if you don't, you don't need to do anything. No logs, no bug. But since @zerkalica already provided needed data and I also managed to confirm, bug exists. Who will fix this one? Don't know. We are overbooked.

Link to post
Share on other sites
1 hour ago, cooper72 said:

I thought all bug reports should go through

 

https://www.armbian.com/bugs

 

, no ?

 

Yes. I assume you didn't go through the process? :) You would end up on forum and you should supply needed information. Since problem is known and we already have all what is needed, there is nothing more you can do - except working on to solve the problem. If you want to get unjustified attention to this bug by putting a pressure, bumping topic, etc. certain actions can be used. Bug resolving and R&D resources are extremely limited and this problem is not the only one.

 

Tracking Linux bugs is expensive act and Armbian can't afford to cover - it is used only for internal purpose and for creating a release documentation. A bug we fixed is documented there. If we allow end-user access to bug tracker a full time person would be needed just to find those few bugs that are tied to our work and are justified to be tracked. It would become messy in 24h. "you" have no feeling that solving one bug require let's say weeks or months of work. You can easily open 100 such cases in no time, while we will not even read such case and not a single amateur will start working on spending days/weeks/month on it. "video acceleration not working ..." is a "bug" for 10-50x more cash. Sadly we see such stupidity over and over again - people come, report "a problem for 10k USD" and return 3 days later ... "is it solved?". You can imagine how hard is not to tell people to f* off. Do we need that kind of pressure? No.

 

Why would you fill our bug tracker with the impossible? Remember, our R&D budget is based on our personal time and finances. If you volunteer for the position to establish bug tracking team ... following by establishing a team for bug resolving or anything into this direction, welcome. Until then "as is" "best effort" applies.

Link to post
Share on other sites
2 hours ago, Igor said:

Since problem is known and we already have all what is needed, there is nothing more you can do - except working on to solve the problem.

ok, this is actually everything I wanted to know, thanks. In case I can help, happy to do so.

 

Quote

If you want to get unjustified attention to this bug by putting a pressure, bumping topic, etc. certain actions can be used. Bug resolving and R&D resources are extremely limited and this problem is not the only one.

I never wanted to put pressure on anyone. I simply wanted to confirm that its addresses as the thread starter mentioned that he was not able to do so.

I am also a developer at SAP, so I know what bug fixing means.

Link to post
Share on other sites
2 hours ago, cooper72 said:

In case I can help, happy to do so.


Helping any issue we are pointing out as important or something that is simple and boring but has to be done:

 

is help since it releases pressure on resources that can help solving problems as such. Just FYI. 

 

2 hours ago, cooper72 said:

I am also a developer at SAP, so I know what bug fixing means.


Good, I rather assume one doesn't know much about. So you are aware at least of something. Well, those bugs are mostly unrelated to our work and resolving them is a gift towards community or your business case and is mainly unnoticed while it represent huge continuous financial and time expense nobody covers. At our daily jobs, we are paid for the time we waste on R&D and solving bugs, situation is never this tensed and we usually never have any contacts with (often insane/unrealistic) client demands since they are filtered out in the process ... Some parts are the same, yes, yet again things are IMO very different. Not everything is bad, there are ofc also good points ...

Link to post
Share on other sites

I had encountered the same error after I updated the kernel on my gentoo system
from the old stable version 5.4.109 to the new stable kernel 5.10.27
In my case the hardware is a Banana Pro but also with the same sun7i-a20 SoC

After I booted the new kernel the HDMI Output stoped working and in the log output
I found the nearly exact same error message like here shown by the starter of this thread.
The only difference is a slight differenz in the memory address 7f817000 vs. 7fb00000
on my system. But the reason is the same, the system tries to reach the memmory
addres but the address is Out of memory (ENOMEM/12)

On a system with a working kernel the output at the same place looks like the two
lines below:

simple-framebuffer 7fb00000.framebuffer: framebuffer at 0x7fb00000, 0x500000 bytes, mapped to 0x(ptrval)
simple-framebuffer 7fb00000.framebuffer: format=x8r8g8b8, mode=1280x1024x32, linelength=5120

So I checked all new kernel configuration settings I made when I configured
the new kernel 5.10.27 and there I found the reason for the error.
I changed the old setting FLATMEM_MANUAL to the new setting SPARSEMEM_MANUAL
this "new" option was presented to me when I made the make oldconfig
configuration checks and changes.

After I changed the setting from SPARSEMEM_MANUAL back to FLATMEM_MANUAL
and used the kernel with this setting the error was gone and everything worked like before.

This is a fix but not the real solution for the problem.
The intresting question, where I have no real awnser at the moment, is,
what have to be changed that the kernel will also work with the SPARSEMEM_MANUAL
configuration setting on this device.
I assume that a configuration setting inside the dts file will be needed to protect this
memory region for the frambuffer.

I also checked this configuration setting with older working kernels like 5.5, 5.6, 5.7, 5.8
they all showed the same error and the HDMI port stopped working when I changed
the configuration setting to SPARSEMEM_MANUAL

Link to post
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...