[reelbox] [eHD] Kernel Modul auf 64-bit portiert + reelbox-plugin funktionsfähig

  • hat zufällig irgendjemand das eHD Kernel Modul (hdshm3) im stillen Kämmerchen auf 64-bit portiert? Nur eine Frage, bevor ich's nochmal probiere (hatte mal angefangen...such immer noch die Patches von damals...)

  • at least I'm now on the similar level, module compiles (5.10.13 64-bit) and at least started to be loaded...will investigate further by enabling bunch of debug lines...

  • the kernel module is now supporting 64-bit, get compiled and loaded (and also can be removed again...fixed a bug here) - many debug lines are currently added...

    Potentially, still some bugs related to the shared structures are inside...but can't futher test currently, because "hdboot" is not detecting proper U-Boot of eHD:


    Looks like something is broken with the memory mapping of "BAR1" and the trigger of the reset and the detection of the magic pattern of a successful U-Boot is therefore not successful:


    Code
            *(volatile int*)(pci_base+CCB_REG_CCBCTRL)|=1;
            *(volatile int*)(pci_base+CCB_REG_CCBCTRL)&=~1;
    // warm reset set's SCRATCH_REG to 0
            *(volatile int*)(pci_base+SEM_3_SCRATCH_REG)=0;
    
    // look for pattern, but result is ffffffff (should be at least 0 until pattern occurs)
    if (*(volatile int*)(pci_base+SEM_3_SCRATCH_REG)==0xb001abcd)


    Current code is in a branch available:


    https://github.com/pbiering/Re…/src-reelvdr/utils/hdshm3


    Potentially one can support me in fixing the memory mapping in hdboot.


    BAR1 value is matching "lspci" output:


    Code
    03:00.0 Multimedia controller: Micronas USA, Inc. Device 8100
    Subsystem: Micronas USA, Inc. Device 8100
    Flags: medium devsel, IRQ 11
    Memory at 98000000 (32-bit, non-prefetchable) [disabled] [size=4K]
    Memory at 90000000 (32-bit, non-prefetchable) [disabled] [size=128M]
    Capabilities: [40] Power Management version 2
  • some update: after creating a failsafe check in the module code it turned out that the PCI memory was not accessable at all. After overtaking part of the code from a reference implementation, which enables the PCI device proper, the shared memory inside the module is working...but now "hdboot" can't access it anymore :(


    Code
    Decypher PCI BAR1: 90000000
    pcimap: called with offset=90000000
    Failed to mmap PCI (Operation not permitted)
    main: pcimap returns pci_base=NULL

    branch updated, will investigate further, but help is very welcome

  • success after rebooting kernel with "iomem=relaxed" -> hdboot executed proper

    eHD LED turned green - will continue...

  • futher progress, shmnetd successfully running (add also support to reelbox-control.sh), login to eHD successful:

    Code
    BusyBox v1.2.2 (2013.11.01-14:23+0000) Built-in shell (ash)
    Enter 'help' for a list of built-in commands.
    
    Welcome to extensionHD
    This image is based on SDK V1.7.2.
    It was built @ Пнд Май 22 00:17:03 VLAT 2017 on ua0lnjehd.

    Next step is getting tftp up and running to serve "/hdplayer/hdplayer"

  • Any idea where the MIPS SDK can be pulled? Where can I also find the framework to create an updated eHD boot image?

  • original "hdplayer" is now loaded via tftp, hdcontrol tools are working, only
    "hdtsplay" is still not showing anything.


    Current status: https://github.com/pbiering/Re…etup-ReelBox-AVRII-64-bit

  • Can't compile, ubuntu 18.04 + hwe 5.4.0-65

    1.

    Code
    make -f ./scripts/Makefile.build obj=scripts/basic
    rm -f .tmp_quiet_recordmcount
    make -f ./scripts/Makefile.build obj=arch/x86/tools relocs
    make[3]: *** No rule to make target 'arch/x86/tools/relocs_32.c', needed by 'arch/x86/tools/relocs_32.o'.  Stop.
    arch/x86/Makefile:232: recipe for target 'archscripts' failed
    make[2]: *** [archscripts] Error 2

    fixed by replacement

    $(MAKE) V=1 -C $(KERNELPATH) SUBDIRDS=$(shell pwd) modules

    on

    $(MAKE) V=1 -C $(KERNELPATH) M=$(shell pwd) modules

    in /utils/hdshm3/x86/driver/Makefile


    2.

    I haven't found how to fix it yet.

  • Makefile issue I have to look into separatly, but the other problem is caused by "hexint" module parameter, looks like at least your kernel header files have no support for it....

    Branch update with a workaround, please try

  • just a new update, got reelbox3 plugin compiled, starts but crashes after some seconds...have to debug further but assume all fixable.

  • this will be another breakthrough. Great job.

    Watching with interest.

    Server: YaVDR Ansible VM (VDR 2.4.8) as a VNSI Server and Streamdev Server. DD CINE S2 + 2 x DD Duoflex S2 (6 tuners)

    VDR1 Client- ASUS AT3IONTI, 4gb RAM, 32GB SSD, MCE Remote, Custom case, YAVDR 0.6.2

    VDR2 Client- ASUS AT5IONTI, 4gb RAM, 128GB SSD, MCE Remote, D-Vine 5 HTPC Case, YAVDR Ansible, Ubuntu 20.04.2

    VDR3 Client- Modified Reelbox AVG II with working display: Gigabyte C1037UN-EU + EHD + 4GB ram + 32GB SSD. Streamdev client only.BM2LTS

    UNRAID - 110 TB storage, Supermicro X10SRL -F + Xeon E5-2680 v3 + 256 GB DDR4 ECC Ram.

  • I made it....I have live TV withsound and can replay recordings - only one strange issue is on with still pictures during setting/shifting marks -> picture will turn into black...will publish adjusted sources next days have to check how organize the references proper.

  • Do you know that the decoder from Micronas (firmware) is made on ffmpeg?

    don't know.


    here btw. the new repository with a readme file

    https://github.com/pbiering/vdr-plugin-reelbox


    the "utils" tree is kept outside, will push missing files next to

    https://github.com/pbiering/Re…D-64bit/src-reelvdr/utils


    -> wait 1 day....

  • thank you, applied.


    I'm done, with new mainboard I have now 2 options for output device

    • reelbox plugin +eHD
      • eHD kernel driver is buildable with akmods
      • magic scripts got support
      • related systemd files are also created
    • softhddevice plugin


    Major TODOs now (too much for me)

    • improve OSD resolution support (currently it's SD-only and even LCARS is not really looking nice)
    • fix incompatibility with skindesigner (potentially depending on OSD resolution)
    • fix 1080p output problem (except hardware is not supporting at all)

    Minor TODOs (will be done next)

    • add debug mask option to reelbox plugin to be passed to eHD related code
    • create RPM for vdr-plugin-reelbox
    • add udev file for eHD kernel module package
    • add some instructions to Wiki...
    • test with old mainboard in untweaked AVR II

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!