Skip to content

Can't launch msposd on Groud stattion NVR Hi3536dv100 #18

Closed

Description

@Warfull

It seems the msposd file in the release folder is not supported by the hardware because even if the file is present in the /usr/bin folder the system answer "file not found".

Activity

  1. tipoman9 commented on Nov 4, 2024

    @tipoman9
    Collaborator

    Font file location has been changes to /usr/share/fonts/
    Post the full log please.
    I kind of don't get the idea of running msposd on the ground on NVR

  2. lida2003 commented on Nov 5, 2024

    @lida2003
    Contributor

    @tipoman9 We use Radax/Hi3536DV100 as a Rx module for OpenIPC.

    I have a 3536DV100 also. @Warfull Please let me know if there released file work on Hi3536DV100.

  3. Warfull commented on Nov 6, 2024

    @Warfull
    Author

    Ok, I'm dumb : msposd is not needed on the ground station. But the result is a bit weird :
    IMG_20241106_144453

    root@openipc-hi3516ev300:~# msposd --osd --ahi 2 -r 20
    Ver: 20241019_230909
    MSP to OSD mode!Majestic width:1280,height:720
    Loading /usr/share/fonts/font_hd.png for 720p mode
    Font file res 96:9216 pages:4
    Glyph size:24:36 on a 53:20 matrix. Overlay 1272:720
    Listening on /dev/ttyAMA0...
    $M<Flight Controller detected: ARDU

  4. lida2003 commented on Nov 6, 2024

    @lida2003
    Contributor

    msposd is not needed on the ground station.

    That depends on you requirement.

    Airunit can do the OSD stuff, you can take a look at this #13 for ardupilot

  5. Warfull commented on Nov 7, 2024

    @Warfull
    Author

    It's working now. Issue was, I guess, a bad parameter passed to the proc in the telemetry file.

  6. tipoman9 commented on Nov 7, 2024

    @tipoman9
    Collaborator

    Could you share your ArduPilot settings to make it work?
    Several users reported ardupilot latest version working with Betaflight fonts with these settings:

    OSD_TYPE=5
    SERIALx_PROTOCOL=42 
    MSP_OPTIONS=6
    
  7. Warfull commented on Nov 7, 2024

    @Warfull
    Author

    OSD_TYPE=5
    SERIALx_PROTOCOL=42
    MSP_OPTIONS=4

    I use Betaflight fonts.
    same result with MS_OPTIONS=6

  8. Warfull commented on Nov 7, 2024

    @Warfull
    Author

    But no way to get the AHI working, it is not drawn.

  9. tipoman9 commented on Nov 8, 2024

    @tipoman9
    Collaborator

    AHI is not supported currently camera side on Hisilicon/goke. Not hard to port, if someone is willing to change the code a little and test it, a PR is welcomed

  10. Warfull commented on Nov 11, 2024

    @Warfull
    Author

    I'de like to try to change the code but the big issue for me is cross-compilation. I've tried to do it by the way of Buildroot and OpenIPC firmware, adding package to my board in buildroot but the compilation stop because of "BR_COMPILER_PARANOID_USAFE_PATH" ; ie "Error : Unsafe Path/Library used in cross-compilation : -I/usr/include".
    I don't know how to manually do the cross-compilation.

  11. lida2003 commented on Nov 11, 2024

    @lida2003
    Contributor

    @Warfull Right now, I'm stucked at arduRover #17 , and I think I might do the job if I get ArduRover done.

    I have 3536DV100 also, having sata harddisk connected for DVR recording.

  12. tipoman9 commented on Nov 11, 2024

    @tipoman9
    Collaborator

    I'de like to try to change the code but the big issue for me is cross-compilation. I've tried to do it by the way of Buildroot and OpenIPC firmware, adding package to my board in buildroot but the compilation stop because of "BR_COMPILER_PARANOID_USAFE_PATH" ; ie "Error : Unsafe Path/Library used in cross-compilation : -I/usr/include".
    I don't know how to manually do the cross-compilation.
    @Warfull
    This is a known issue at the moment, the latest code does not compile, you may try with older version of msposd till we fix it.
    OpenIPC/firmware@b3ab67b

    Or try a standalone install, it should download the toolchain required and do the crosscompilation.
    .\build.sh goke

  13. Warfull commented on Nov 11, 2024

    @Warfull
    Author

    @tipoman9
    Thank you, I've just tried and it compile. Right now I'm working on the camera case and a pcb to connect everything together. But I will dig into the code as soon as I can.

  14. lida2003 commented on Nov 21, 2024

    @lida2003
    Contributor

    @tipoman9 latest goke version got segfault: `

    # ./msposd_goke --master 127.0.0.1:14560 --osd -r 50 --ahi 1 --matrix 11
    Segmentation fault
    

    I also ported a 3536 version which uses same gcc as rootfs, still got segfault.
    detailed 3536 branch info: https://github.com/SnapDragonfly/msposd/tree/porting_hi3536

    EDIT: Hi3536DV100 NVR

  15. tipoman9 commented on Nov 21, 2024

    @tipoman9
    Collaborator

    @lida2003 Fixed it

  16. 5 remaining items

  17. lida2003 commented on Nov 25, 2024

    @lida2003
    Contributor

    It has toolchain.hisilicon-hi3536dv100.tgz. I can try it tomorrow. Hope it will work as a gs OSD.

    EDIT1: It might some thing to do with libmpi.so. where does this file come from???? It seems symbol in our sdk/hi3536dv100/include can't be found in /usr/lib/libmpi.so

    root@openipc-hi3536dv100:~# ldd msposd_hi3536
            ldd (0x7f603000)
            libdnvqe.so => /usr/lib/libdnvqe.so (0xb6dd5000)
            libmpi.so => /usr/lib/libmpi.so (0xb6d52000)
            libupvqe.so => /usr/lib/libupvqe.so (0xb6d3c000)
            libVoiceEngine.so => /usr/lib/libVoiceEngine.so (0xb6d23000)
            libevent_core-2.2.so.1 => /usr/lib/libevent_core-2.2.so.1 (0xb6d07000)
            libc.so => ldd (0x7f603000)
    Error relocating /usr/lib/libmpi.so: jpeg_read_scanlines: symbol not found
    Error relocating /usr/lib/libmpi.so: HI_JPEG_SetBufInfo: symbol not found
    Error relocating /usr/lib/libmpi.so: HI_JPEG_GetJpegInfo: symbol not found
    Error relocating /usr/lib/libmpi.so: HI_JPEG_SetYCbCr420spFlag: symbol not found
    Error relocating /usr/lib/libmpi.so: jpeg_mem_src: symbol not found
    Error relocating /usr/lib/libmpi.so: jpeg_abort_decompress: symbol not found
    Error relocating /usr/lib/libmpi.so: jpeg_start_decompress: symbol not found
    Error relocating /usr/lib/libmpi.so: HI_JPEG_SetOutDesc: symbol not found
    Error relocating /usr/lib/libmpi.so: jpeg_destroy_decompress: symbol not found
    Error relocating /usr/lib/libmpi.so: jpeg_std_error: symbol not found
    Error relocating /usr/lib/libmpi.so: jpeg_CreateDecompress: symbol not found
    Error relocating /usr/lib/libmpi.so: HI_JPEG_GetLuPixSum: symbol not found
    Error relocating /usr/lib/libmpi.so: jpeg_read_header: symbol not found
    Error relocating /usr/lib/libmpi.so: jpeg_finish_decompress: symbol not found
    Error relocating /usr/lib/libmpi.so: HI_JPEG_SetStreamPhyMem: symbol not found
    Error relocating /usr/lib/libmpi.so: HI_JPEG_SetLuPixSumFlag: symbol not found
    Error relocating msposd_hi3536: MI_RGN_UpdateCanvas: symbol not found
    Error relocating msposd_hi3536: unsupported relocation type 3
    Error relocating msposd_hi3536: unsupported relocation type 3
    Error relocating msposd_hi3536: unsupported relocation type 3
    Error relocating msposd_hi3536: unsupported relocation type 3
    

    EDIT2:
    I think, msposd are supporting hi3536 target before. I'm NOT sure why it's removed, or maybe never worked.

    # Hisilicon [HI3536DV100]
    - {"platform": "hi3536dv100", "release": "fpv"}

  18. lida2003 commented on Nov 28, 2024

    @lida2003
    Contributor

    Hi @henkwiedig Do you have any info on Hi3536?

    # Hisilicon [HI3536DV100]
    - {"platform": "hi3536dv100", "release": "fpv"}

  19. henkwiedig commented on Nov 29, 2024

    @henkwiedig
    Collaborator

    I added this in the workflow because it has a _fpv target in the firmware.
    However i have no idea if that ever worked. I have no hardare to test.
    It build successfully here: https://github.com/OpenIPC/msposd/actions/runs/11846403914 but there is an error in the build logs as well. In the latest firmware version when building for hi3536dv100_fpv msposd is not build.
    It's no easy to repoduce that build as there was this massive toolchain rework on the firmware project.
    I thinks it' up to you to find a solution we can merge.
    Maybe it's better to remove this from the workfow.

  20. lida2003 commented on Nov 30, 2024

    @lida2003
    Contributor

    In the latest firmware version when building for hi3536dv100_fpv msposd is not build.

    It should build, as there is just a dynamic library symbol issue. I'm NOT sure if it's connected to segfault. But there is something wrong with libmpi.so and sdk/hi3536dv100.

    I think it's from third party or from HISI, but I don't know where to ask for help. Although I have fired a issue here: OpenIPC/firmware#1621

    @tipoman9 Did you get your Hi3536 working?

  21. tipoman9 commented on Nov 30, 2024

    @tipoman9
    Collaborator

    @lida2003 Sorry, I don't have hi3536 to test.

  22. viktorxda commented on Jan 26, 2025

    @viktorxda
    Collaborator

    Two changes are needed to support the HI3536DV100:

    • Create a new build target and link the correct libraries.
    • The region structures are different and support for PIXEL_FORMAT_ARGB is missing, this needs to be adjusted on the msposd code.

    Example for the makefile:

    hi3536dv100: version.h
    	$(eval SDK = ./sdk/hi3536dv100)
    	$(eval CFLAGS += -D__GOKE__)
    	$(eval LIB = -lm -ldnvqe -lmpi -ljpeg -lupvqe -lVoiceEngine)
    	$(BUILD)
    
  23. lida2003 commented on Jan 26, 2025

    @lida2003
    Contributor

    @viktorxda I have the Hi3536 board, but right now, I just found below issues.

    If there is only PIXEL_FORMAT_ARGB missing and libmpi.so issue, I can try to figure out and try to fix what msposd is missing.

    Can you direct me to the right course?

    In the latest firmware version when building for hi3536dv100_fpv msposd is not build.

    It should build, as there is just a dynamic library symbol issue. I'm NOT sure if it's connected to segfault. But there is something wrong with libmpi.so and sdk/hi3536dv100.

    I think it's from third party or from HISI, but I don't know where to ask for help. Although I have fired a issue here: OpenIPC/firmware#1621

  24. viktorxda commented on Jan 26, 2025

    @viktorxda
    Collaborator

    @lida2003
    Please check the main branch: https://github.com/OpenIPC/msposd

  25. whoim2 commented on Feb 5, 2025

    @whoim2

    Currently msposd is not supported on nvr hi3536?

  26. tipoman9 commented on Feb 5, 2025

    @tipoman9
    Collaborator

    @whoim2 , I don't have hi3536 to test, but based on this info:

    The region structures are different and support for PIXEL_FORMAT_ARGB is missing, this needs to be adjusted on the msposd code.

    That means that almost all of the code for native OSD rendering should be ported. I don't have such NVR, neither the motivation to do it.
    Of course you can have air-side rendering with it.

  27. lida2003 commented on Feb 15, 2025

    @lida2003
    Contributor

    Currently msposd is not supported on nvr hi3536?

    @whoim2 It was experimental #50

    I didn't have time to test, you can try and let us know if it has any problem.

  28. lida2003 commented on Apr 13, 2025

    @lida2003
    Contributor

    I did a quick test on latest build on 3536 board, with root system master+7ed8284, 2025-04-13

    1. copy msposd_hi3536 to /usr/bin/msposd
    2. copy fonts/font_ardu_hd.png to /usr/share/fonts/font_hd.png
    3. copy fonts/font_ardu.png to /usr/share/fonts/font.png
    4. start gs application with msposd --master 127.0.0.1:14551 --osd -r 50 --ahi 0 --matrix 11

    And I met following error:

    root@openipc-hi3536dv100:~# msposd --master 127.0.0.1:14551 --osd -r 50 --ahi 0 --matrix 11 &
    root@openipc-hi3536dv100:~# Version: 9e19a1f, compiled at: 20250414_070836
    Listen on port: 127.0.0.1:14551
    MSP to OSD mode!
    Could not open majestic.yaml.
    Loading /usr/share/fonts/font.png for 0x0
    Font file res 40:13824 pages:1
    Loading small size glyphs /usr/share/fonts/font_hd.png for 0x0
    Glyph size: 36:54 on a 53:20 matrix. Overlay: 1800x1000
    Glyph size: 36:54 on a 53:20 matrix. Overlay: 1912x1080
    [create_region:72]RGN_Create failed with 0xffffffff!
    RGN_SetBitMap failed with 0xa0038005  5!
    Listening UDP on 127.0.0.1:14551...
    

    msposd_test_on_3536.txt

    UPDATE, when gs mode on 3536, I got lots of "RGN_SetBitMap failed with 0xa0038005 5!"

    root@openipc-hi3536dv100:~# export DISPLAY=:0
                                                                                                           root@openipc-hi3536dv100:root@openipc-hi3536dv100:~# msposd --master 127.0.0.1:14551 --osd -r 50 --ahi 0 --matrix 11
                                                                                               Version: 9e19a1f, compiled at: 20250414_070836
             Listen on port: 127.0.0.1:14551
                                            MSP to OSD mode!
                                                            Could not open majestic.yaml.
                                                                                         Loading /usr/share/fonts/font.png for 0x0
                                                                                                                                  Font file res 40:13824 pages:1
                                Loading small size glyphs /usr/share/fonts/font_hd.png for 0x0
                                                                                              Glyph size: 36:54 on a 53:20 matrix. Overlay: 1800x1000
                     Glyph size: 36:54 on a 53:20 matrix. Overlay: 1912x1080
                                                                            [create_region:72]RGN_Create failed with 0xffffffff!
                                                                                                                                RGN_SetBitMap failed with 0xa0038005  5!
                                        Listening UDP on 127.0.0.1:14551...
                                                                           $M<Flight Controller detected: ARDU/usr/share/fonts/font_hd.png
          RGN_SetBitMap failed with 0xa0038005  5!
                                                  RGN_SetBitMap failed with 0xa0038005  5!
                                                                                          RGN_SetBitMap failed with 0xa0038005  5!
                                                                                                                                  RGN_SetBitMap failed with 0xa0038005  5!
                                          RGN_SetBitMap failed with 0xa0038005  5!
                                                                                  RGN_SetBitMap failed with 0xa0038005  5!
                                                                                                                          RGN_SetBitMap failed with 0xa0038005  5!
                                  RGN_SetBitMap failed with 0xa0038005  5!
                                                                          RGN_SetBitMap failed with 0xa0038005  5!
                                                                                                                  RGN_SetBitMap failed with 0xa0038005  5!
                          RGN_SetBitMap failed with 0xa0038005  5!
                                                                  RGN_SetBitMap failed with 0xa0038005  5!
                                                                                                          RGN_SetBitMap failed with 0xa0038005  5!
                  RGN_SetBitMap failed with 0xa0038005  5!
                                                          RGN_SetBitMap failed with 0xa0038005  5!
                                                                                                  RGN_SetBitMap failed with 0xa0038005  5!
          RGN_SetBitMap failed with 0xa0038005  5!
                                                  RGN_SetBitMap failed with 0xa0038005  5!
                                                                                          RGN_SetBitMap failed with 0xa0038005  5!
                                                                                                                                  RGN_SetBitMap failed with 0xa0038005  5!
                                          RGN_SetBitMap failed with 0xa0038005  5!
                                                                                  RGN_SetBitMap failed with 0xa0038005  5!
                                                                                                                          RGN_SetBitMap failed with 0xa0038005  5!
                                  RGN_SetBitMap failed with 0xa0038005  5!
                                                                          RGN_SetBitMap failed with 0xa0038005  5!
                                                                                                                  RGN_SetBitMap failed with 0xa0038005  5!
                          RGN_SetBitMap failed with 0xa0038005  5!
                                                                  RGN_SetBitMap failed with 0xa0038005  5!
                                                                                                          RGN_SetBitMap failed with 0xa0038005  5!
                  RGN_SetBitMap failed with 0xa0038005  5!
                                                          RGN_SetBitMap failed with 0xa0038005  5!
                                                                                                  RGN_SetBitMap failed with 0xa0038005  5!
          RGN_SetBitMap failed with 0xa0038005  5!
                                                  RGN_SetBitMap failed with 0xa0038005  5!
                                                                                          RGN_SetBitMap failed with 0xa0038005  5!
                                                                                                                                  RGN_SetBitMap failed with 0xa0038005  5!
                                          RGN_SetBitMap failed with 0xa0038005  5!
                                                                                  RGN_SetBitMap failed with 0xa0038005  5!
                                                                                                                          RGN_SetBitMap failed with 0xa0038005  5!
                                  RGN_SetBitMap failed with 0xa0038005  5!
                                                                          RGN_SetBitMap failed with 0xa0038005  5!
                                                                                                                  RGN_SetBitMap failed with 0xa0038005  5!
                          RGN_SetBitMap failed with 0xa0038005  5!
                                                                  RGN_SetBitMap failed with 0xa0038005  5!
                                                                                                          RGN_SetBitMap failed with 0xa0038005  5!
                  RGN_SetBitMap failed with 0xa0038005  5!
                                                          RGN_SetBitMap failed with 0xa0038005  5!
                                                                                                  RGN_SetBitMap failed with 0xa0038005  5!
          RGN_SetBitMap failed with 0xa0038005  5!
                                                  RGN_SetBitMap failed with 0xa0038005  5!
                                                                                          RGN_SetBitMap failed with 0xa0038005  5!
                                                                                                                                  RGN_SetBitMap failed with 0xa0038005  5!
                                          RGN_SetBitMap failed with 0xa0038005  5!
                                                                                  RGN_SetBitMap failed with 0xa0038005  5!
                                                                                                                          RGN_SetBitMap failed with 0xa0038005  5!
                                  RGN_SetBitMap failed with 0xa0038005  5!
                                                                          Exit Request: Terminated signal received
                                                                                                                  RGN_Destroy=0, RGN_DeInit:0
             root@openipc-hi3536dv100:~#
                                         root@openipc-hi3536dv100:~#
    
    
  29. widgetii commented on Oct 17, 2026

    @widgetii
    Member

    For the RGN_Create failed with 0xffffffff / RGN_SetBitMap failed with 0xa0038005 on the Hi3536DV100 NVR in the last report: both are fixed on master.

    On a lab NVR running msposd --osd alongside vdec at 720p60, the OSD draws. Use an image built from master after OpenIPC/firmware@f182c17.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions