Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
orangepi 3 lts no video after boot *** RESOLVED ***
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Gentoo on ARM
View previous topic :: View next topic  
Author Message
JumboAg
Apprentice
Apprentice


Joined: 03 Mar 2007
Posts: 205
Location: Dallas, TX

PostPosted: Fri Mar 15, 2024 9:17 pm    Post subject: orangepi 3 lts no video after boot *** RESOLVED *** Reply with quote

Got an orangepi 3 LTS running gentoo. Having video problems. Guessing a framebuffer issue but can't isolate exactly what it is.

When I boot the board, I have video for the first part of it coming up, then the screen goes back. On shutdown, I get video back until the reboot finishes. I dont see any error messages on the serial (UART TTL) interface. Everything else seems to be fine. Networking comes up no problem, etc...


Code:
root@orangepi3-lts ~ # dmesg|grep -i fb
[    0.000000] NUMA: NODE_DATA [mem 0xbfbc6040-0xbfbc7fff]
[    2.214978] sun4i-drm display-engine: [drm] fb0: sun4i-drmdrmfb frame buffer device


Code:

root@orangepi3-lts ~ # grep FB /boot/config-6.6.21-gentoo
CONFIG_NET_SCH_SFB=m
CONFIG_IFB=m
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
CONFIG_FB=y
# CONFIG_FB_ARMCLCD is not set
# CONFIG_FB_UVESA is not set
# CONFIG_FB_OPENCORES is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_SMSCUFX is not set
# CONFIG_FB_UDL is not set
# CONFIG_FB_IBM_GXT4500 is not set
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_SSD1307 is not set
CONFIG_FB_CORE=y
CONFIG_FB_NOTIFY=y
CONFIG_FB_DEVICE=y
CONFIG_FB_SYS_FILLRECT=y
CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_IMAGEBLIT=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYS_FOPS=y
CONFIG_FB_DEFERRED_IO=y
CONFIG_FB_DMAMEM_HELPERS=y
CONFIG_FB_SYSMEM_HELPERS=y
CONFIG_FB_SYSMEM_HELPERS_DEFERRED=y
CONFIG_FB_BACKLIGHT=m
CONFIG_FB_MODE_HELPERS=y
# CONFIG_FB_TILEBLITTING is not set
CONFIG_HID_PICOLCD_FB=y
CONFIG_FB_TFT=m
CONFIG_FB_TFT_AGM1264K_FL=m
CONFIG_FB_TFT_BD663474=m
CONFIG_FB_TFT_HX8340BN=m
CONFIG_FB_TFT_HX8347D=m
CONFIG_FB_TFT_HX8353D=m
CONFIG_FB_TFT_HX8357D=m
CONFIG_FB_TFT_ILI9163=m
CONFIG_FB_TFT_ILI9320=m
CONFIG_FB_TFT_ILI9325=m
CONFIG_FB_TFT_ILI9340=m
CONFIG_FB_TFT_ILI9341=m
CONFIG_FB_TFT_ILI9481=m
CONFIG_FB_TFT_ILI9486=m
CONFIG_FB_TFT_PCD8544=m
CONFIG_FB_TFT_RA8875=m
CONFIG_FB_TFT_S6D02A1=m
CONFIG_FB_TFT_S6D1121=m
CONFIG_FB_TFT_SEPS525=m
CONFIG_FB_TFT_SH1106=m
CONFIG_FB_TFT_SSD1289=m
CONFIG_FB_TFT_SSD1305=m
CONFIG_FB_TFT_SSD1306=m
CONFIG_FB_TFT_SSD1331=m
CONFIG_FB_TFT_SSD1351=m
CONFIG_FB_TFT_ST7735R=m
CONFIG_FB_TFT_ST7789V=m
CONFIG_FB_TFT_TINYLCD=m
CONFIG_FB_TFT_TLS8204=m
CONFIG_FB_TFT_UC1611=m
CONFIG_FB_TFT_UC1701=m
CONFIG_FB_TFT_UPD161704=m
CONFIG_CRYPTO_CFB=m
CONFIG_CRYPTO_OFB=m


Nothing jumping out at me before the bootloader hands over to the linux image either.

Code:

U-Boot 2020.04-gc97dbbca (Mar 14 2024 - 14:36:57 -0500) Allwinner Technology

CPU:   Allwinner H6 (SUN50I)
Model: OrangePi 3 LTS
DRAM:  2 GiB
MMC:   mmc@4020000: 0, mmc@4022000: 1
Loading Environment from FAT... Unable to use mmc 1:1... In:    serial@5000000
Out:   serial@5000000
Err:   serial@5000000
Net:   No ethernet found.
starting USB...
No working controllers found
Autoboot in 2 seconds, press <Space> to stop
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
3259 bytes read in 2 ms (1.6 MiB/s)
## Executing script at 4fc00000
U-boot loaded from SD
Boot script loaded from mmc
252 bytes read in 1 ms (246.1 KiB/s)
38905 bytes read in 8 ms (4.6 MiB/s)
19712819 bytes read in 1973 ms (9.5 MiB/s)
23496712 bytes read in 2353 ms (9.5 MiB/s)
## Loading init Ramdisk from Legacy Image at 4fe00000 ...
   Image Name:   Gentoo
   Image Type:   ARM Linux RAMDisk Image (uncompressed)
   Data Size:    19712755 Bytes = 18.8 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 4fa00000
   Booting using the fdt blob at 0x4fa00000
   Loading Ramdisk to 48d33000, end 49fffaf3 ... OK
   Loading Device Tree to 0000000048cc1000, end 0000000048d32fff ... OK

Starting kernel ...


Anyone got an idea?


Last edited by JumboAg on Sat Mar 16, 2024 8:53 pm; edited 1 time in total
Back to top
View user's profile Send private message
pingtoo
Veteran
Veteran


Joined: 10 Sep 2021
Posts: 1290
Location: Richmond Hill, Canada

PostPosted: Sat Mar 16, 2024 3:53 pm    Post subject: Reply with quote

JumboAg,

Can you clarify for me that you are not getting any boot messages after "Starting kernel ..." on serial console? or just no messages for your display device?
Back to top
View user's profile Send private message
JumboAg
Apprentice
Apprentice


Joined: 03 Mar 2007
Posts: 205
Location: Dallas, TX

PostPosted: Sat Mar 16, 2024 4:40 pm    Post subject: Reply with quote

Serial console continues. In fact, once it's done coming up. I can log in from its login prompt if I wish.
Back to top
View user's profile Send private message
pingtoo
Veteran
Veteran


Joined: 10 Sep 2021
Posts: 1290
Location: Richmond Hill, Canada

PostPosted: Sat Mar 16, 2024 5:34 pm    Post subject: Reply with quote

JumboAg wrote:
Serial console continues. In fact, once it's done coming up. I can log in from its login prompt if I wish.


So this could be several different reasons for not getting any thing on display device. One is not giving direction for kernel to send output to the display device or no driver for the display device.

Lets start out assume there is display driver in kernel for the display device. So please share you kernel command line parameters so we can be sure that kernel know it need to send messages to the display device.

Do you get login prompt on the display device?

I use "display device" because I don't know how your setup connect your "monitor" to your orangepi 3. I mean for example using HDMI port (and which port? if there are more than one HDMI port on orangepi 3)
Back to top
View user's profile Send private message
JumboAg
Apprentice
Apprentice


Joined: 03 Mar 2007
Posts: 205
Location: Dallas, TX

PostPosted: Sat Mar 16, 2024 7:17 pm    Post subject: Reply with quote

I do not get a login prompt on my display device (monitor plugged into the orangepi via HDMI.) Video drops and the screen goes black partway through the boot sequence.

Kernel command line parameters might be an interesting one. Since it's a u-boot bootloader, I'm not explicitly doing anything beyond defining the dtb, initrd, kernel image and root device. I have not modified the boot.scr I borrowed from orangepi's native OS image.


Code:

[    0.000000] Unknown kernel command line parameters "splash=verbose ubootpart=aaa0796c-01 cgroup_enable=memory", will be passed to user space.


Code:
orangepi3-lts /boot # cat armbianEnv.txt
verbosity=1
bootlogo=false
console=both
disp_mode=1920x1080p60
overlay_prefix=sun50i-h6
#rootdev=UUID=a8f2e575-8dd2-4ae7-87ac-1ca319e6ac06
rootdev=UUID=0e5ffee5-f7a0-4312-88c0-5562c7f8885c
rootfstype=xfs
usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u


Code:
orangepi3-lts /boot # cat boot.cmd
# DO NOT EDIT THIS FILE
#
# Please edit /boot/armbianEnv.txt to set supported parameters
#

# default values
setenv load_addr "0x45000000"
setenv overlay_error "false"
setenv rootdev "/dev/mmcblk0p1"
setenv verbosity "1"
setenv rootfstype "ext4"
setenv console "both"
setenv docker_optimizations "on"
setenv bootlogo "false"

# Print boot source
itest.b *0x10028 == 0x00 && echo "U-boot loaded from SD"
itest.b *0x10028 == 0x02 && echo "U-boot loaded from eMMC or secondary SD"
itest.b *0x10028 == 0x03 && echo "U-boot loaded from SPI"

echo "Boot script loaded from ${devtype}"

if test -e ${devtype} ${devnum} ${prefix}armbianEnv.txt; then
        load ${devtype} ${devnum} ${load_addr} ${prefix}armbianEnv.txt
        env import -t ${load_addr} ${filesize}
fi

if test "${console}" = "display" || test "${console}" = "both"; then setenv consoleargs "console=ttyS0,115200 console=tty1"; fi
if test "${console}" = "serial"; then setenv consoleargs "console=ttyS0,115200"; fi
if test "${bootlogo}" = "true"; then
        setenv consoleargs "splash plymouth.ignore-serial-consoles ${consoleargs}"
else
        setenv consoleargs "splash=verbose ${consoleargs}"
fi

# get PARTUUID of first partition on SD/eMMC it was loaded from
# mmc 0 is always mapped to device u-boot (2016.09+) was loaded from
if test "${devtype}" = "mmc"; then part uuid mmc 0:1 partuuid; fi

setenv bootargs "root=${rootdev} rootwait rootfstype=${rootfstype} ${consoleargs} consoleblank=0 loglevel=${verbosity} ubootpart=${partuuid} usb-storage.quirks=${usbstoragequirks} ${extraargs} ${extraboardargs}"

if test "${docker_optimizations}" = "on"; then setenv bootargs "${bootargs} cgroup_enable=memory swapaccount=1"; fi

load ${devtype} ${devnum} ${fdt_addr_r} ${prefix}dtb/${fdtfile}
fdt addr ${fdt_addr_r}
fdt resize 65536
for overlay_file in ${overlays}; do
        if load ${devtype} ${devnum} ${load_addr} ${prefix}dtb/allwinner/overlay/${overlay_prefix}-${overlay_file}.dtbo; then
                echo "Applying kernel provided DT overlay ${overlay_prefix}-${overlay_file}.dtbo"
                fdt apply ${load_addr} || setenv overlay_error "true"
        fi
done
for overlay_file in ${user_overlays}; do
        if load ${devtype} ${devnum} ${load_addr} ${prefix}overlay-user/${overlay_file}.dtbo; then
                echo "Applying user provided DT overlay ${overlay_file}.dtbo"
                fdt apply ${load_addr} || setenv overlay_error "true"
        fi
done
if test "${overlay_error}" = "true"; then
        echo "Error applying DT overlays, restoring original DT"
        load ${devtype} ${devnum} ${fdt_addr_r} ${prefix}dtb/${fdtfile}
else
        if load ${devtype} ${devnum} ${load_addr} ${prefix}dtb/allwinner/overlay/${overlay_prefix}-fixup.scr; then
                echo "Applying kernel provided DT fixup script (${overlay_prefix}-fixup.scr)"
                source ${load_addr}
        fi
        if test -e ${devtype} ${devnum} ${prefix}fixup.scr; then
                load ${devtype} ${devnum} ${load_addr} ${prefix}fixup.scr
                echo "Applying user provided fixup script (fixup.scr)"
                source ${load_addr}
        fi
fi

load ${devtype} ${devnum} ${ramdisk_addr_r} ${prefix}uInitrd
load ${devtype} ${devnum} ${kernel_addr_r} ${prefix}Image

booti ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}

# Recompile with:
# mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr
Back to top
View user's profile Send private message
pingtoo
Veteran
Veteran


Joined: 10 Sep 2021
Posts: 1290
Location: Richmond Hill, Canada

PostPosted: Sat Mar 16, 2024 7:35 pm    Post subject: Reply with quote

I have feeling that your kernel command line parameters may have missing something.

can you share the output of
Code:
dmesg|grep -i "kernel command line"
Back to top
View user's profile Send private message
JumboAg
Apprentice
Apprentice


Joined: 03 Mar 2007
Posts: 205
Location: Dallas, TX

PostPosted: Sat Mar 16, 2024 8:11 pm    Post subject: Reply with quote

Code:
orangepi3-lts /boot # dmesg |grep -i "kernel command line"
[    0.000000] Kernel command line: root=UUID=0e5ffee5-f7a0-4312-88c0-5562c7f8885c rootwait rootfstype=xfs splash=verbose console=ttyS0,115200 console=tty1 consoleblank=0 loglevel=1 ubootpart=aaa0796c-01 usb-storage.quirks=0x2537:0x1066:u,0x2537:0x1068:u   cgroup_enable=memory swapaccount=1
Back to top
View user's profile Send private message
JumboAg
Apprentice
Apprentice


Joined: 03 Mar 2007
Posts: 205
Location: Dallas, TX

PostPosted: Sat Mar 16, 2024 8:53 pm    Post subject: Reply with quote

I think I beat you to your next line of thinking Ping.... I went ahead and fed the kernel a video argument.... that resolved it. Comes up 1920x1080@60 now.
Back to top
View user's profile Send private message
pingtoo
Veteran
Veteran


Joined: 10 Sep 2021
Posts: 1290
Location: Richmond Hill, Canada

PostPosted: Sat Mar 16, 2024 9:14 pm    Post subject: Reply with quote

JumboAg wrote:
I think I beat you to your next line of thinking Ping.... I went ahead and fed the kernel a video argument.... that resolved it. Comes up 1920x1080@60 now.


Congratulation :)

Maybe you can post your changes, so next person can benefit from your discovery.
Back to top
View user's profile Send private message
JumboAg
Apprentice
Apprentice


Joined: 03 Mar 2007
Posts: 205
Location: Dallas, TX

PostPosted: Sat Mar 16, 2024 9:43 pm    Post subject: Reply with quote

the boot script supports a ${extraargs} flag. I just added "extraargs=video=1920x1080@60" to the armbianEnv.txt file.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo on ARM All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum