Compilation of CrazyCat's media_build

  • Hi,


    I have a TechnoTrend TT-4600 DVB-S2 USB box and figured out that it only works with CrazyCat's Firmware/Drivers.

    I use LibreElec as client but want to use Manjaro ARM as server. For this reason I've tried to compile CrazyCat's media_build .

    Unfortunately it always completes with errors.


    Here is the full log of the process:


    Some details of my System:

    Manjar ARM

    Release: 19.06

    Kernel:

    Linux vdr01 5.1.16-1-MANJARO-ARM #1 SMP Fri Jul 5 07:42:44 UTC 2019 aarch64 GNU/Linux


    Code
    1. pacman -Q | grep linux
    2. archlinuxarm-keyring 20140119-1
    3. libutil-linux 2.34-3
    4. linux-aarch64 5.1.16-1
    5. linux-aarch64-headers 5.1.16-1
    6. linux-api-headers 5.1-1
    7. linux-firmware 20190628.70e4394-1
    8. util-linux 2.34-3

    I'd hope that someone could give me a hint on this.


    EDIT: might have something to do with this?

    Mailing List Archive: [PATCH v3] ARM: tegra: Enable Tegra VDE driver in tegra_defconfig


    Best regards,


    schnere

  • Thanks for your reply. As you can see in the log, that's exactly what I did.

    But the compilation fails.


    Code
    1. /home/vdr/media_build/v4l/trace.h:30:18: warning: 'struct tegra_vde' declared inside parameter list will not be visible outside of this definition or declaration
    2. ...
    3. /home/vdr/media_build/v4l/../linux/include/uapi/../../drivers/staging/media/tegra-vde/trace.h: In function 'trace_event_get_offsets_register_access':
    4. /home/vdr/media_build/v4l/../linux/include/uapi/../../drivers/staging/media/tegra-vde/trace.h:16:21: error: implicit declaration of function 'tegra_vde_reg_base_name'; did you mean 'try_to_release_page'? [-Werror=implicit-function-declaration]

    grep -r TEGRA_VDE:


  • What about

    Code
    1. cd media_build
    2. make download
    3. make untar
    4. make -C v4l allyesconfig
    5. sed -e 's/CONFIG_TEGRA_VDE=m/# CONFIG_TEGRA_VDE is not set/g' -i v4l/.config
    6. make


    Support my work with small (or big) Paypal donation


    Amlogic devices works better with CoreELEC

    Blu-ray Disc Java menus support - forum thread, Github

    my lamp addon (unofficial/community with limited support)
    my touchscreen support and instructions by Grruhn (now touchscreen addon exists in repository)


  • Mhm, make after changing the CONFIG_TEGRA_VDE value did not work:


    After 'make distclean' I'm now compiling as you suggested in your last post.
    Thanks for your help, I really appreciate it!

  • Nope, same error :(

    EDIT: in you sed command, sed CONFIG_TEGRA_VDE=m should get replaced with # CONFIG_TEGRA_VDE is not set .

    Assumed it the other way, because # CONFIG_TEGRA_VDE is not set is the default value. Changed it now and it's again compiling...

  • Try

    Code
    1. sed -e 's/CONFIG_VIDEO_CODA=m/# CONFIG_VIDEO_CODA is not set/g' -i v4l/.config


    And it is not the same error :)


    If is not set is default value then you don't need to use sed on that one.


    Support my work with small (or big) Paypal donation


    Amlogic devices works better with CoreELEC

    Blu-ray Disc Java menus support - forum thread, Github

    my lamp addon (unofficial/community with limited support)
    my touchscreen support and instructions by Grruhn (now touchscreen addon exists in repository)


  • Omg, I was stuck on researching for tegra_vde so that I didn't think about disalbing coda .


    Got another error:


    Code
    1. make[3]: *** Keine Regel vorhanden, um das Ziel „/home/vdr/media_build/v4l/vdec/vdec_h264_if.o“,
    2. benötigt von „/home/vdr/media_build/v4l/mtk-vcodec-dec.o“, zu erstellen. Schluss.

    So, disabled that, too:

    Code
    1. sed -e 's/CONFIG_VIDEO_MEDIATEK_VCODEC=m/# CONFIG_VIDEO_MEDIATEK_VCODEC is not set/g' -i v4l/.config

    After that compilation went through. So I did a "make install" and rebootet, but now by DVB-S2 box is not getting detected:

    Code
    1. dvb_usb: Unknown symbol dvb_create_media_graph (err -2)

    I assume this could be caused by using distcc for compilation ?


    Code
    1. DISTCC_HOSTS="192.168.0.11:3636,lzo,cpp" pump make -j5 CC="distcc aarch64-unknown-linux-gnu-gcc"

    So, compiling again - without distcc - will take some time now :)


    Code
    1. cd media_build
    2. make distclean
    3. make download
    4. make untar
    5. make -C v4l allyesconfig
    6. sed -e 's/CONFIG_VIDEO_CODA=m/# CONFIG_VIDEO_CODA is not set/g' -i v4l/.config
    7. sed -e 's/CONFIG_VIDEO_MEDIATEK_VCODEC=m/# CONFIG_VIDEO_MEDIATEK_VCODEC is not set/g' -i v4l/.config
    8. make KERNELRELEASE=$(uname -r) KDIR26="/lib/modules/$(uname -r)/updates" -j5

    Edited 2 times, last by schnere ().

  • Mhm, still no luck :(


    Code
    1. $ dmesg | grep dvb
    2. [ 11.307058] usb 1-1.4: Product: dvb-s2
    3. [ 16.866654] dvb_usb: Unknown symbol dvb_create_media_graph (err -2)
    Code
    1. $ modprobe -v dvb_usb
    2. insmod /lib/modules/5.1.16-1-MANJARO-ARM/kernel/drivers/media/usb/dvb-usb/dvb-usb.ko
    3. modprobe: ERROR: could not insert 'dvb_usb': Unknown symbol in module, or unknown parameter (see dmesg)
  • Check if you have CONFIG_MEDIA_CONTROLLER_DVB in .config file.


    Support my work with small (or big) Paypal donation


    Amlogic devices works better with CoreELEC

    Blu-ray Disc Java menus support - forum thread, Github

    my lamp addon (unofficial/community with limited support)
    my touchscreen support and instructions by Grruhn (now touchscreen addon exists in repository)


  • Maybe you need to load another module before dvb-usb.ko? Like dvb-core.ko.


    Support my work with small (or big) Paypal donation


    Amlogic devices works better with CoreELEC

    Blu-ray Disc Java menus support - forum thread, Github

    my lamp addon (unofficial/community with limited support)
    my touchscreen support and instructions by Grruhn (now touchscreen addon exists in repository)


  • If I use upstream linux-tv git repository instead of CrazyCat's I get a different error:


    Code
    1. [ 68.705948] mc: exports duplicate symbol __media_device_register (owned by kernel)

    I've tried modprobe m88ds3103 dvb_core i2c_mux before, but that didn't work either.

  • Then I'm out of ideas. Grep your media_build folder for missing symbol and why it is not included.


    Support my work with small (or big) Paypal donation


    Amlogic devices works better with CoreELEC

    Blu-ray Disc Java menus support - forum thread, Github

    my lamp addon (unofficial/community with limited support)
    my touchscreen support and instructions by Grruhn (now touchscreen addon exists in repository)


  • Okay, dvb_create_media_graph is defined in dev-core: Linux source code: drivers/media/dvb-core/dvbdev.c (v5.2) - Bootlin


    lsmod | grep dvb has no output, so dvb-core is not loaded which must cause the problem with dvb-usb.

    But when I do modprobe dvb-core I get no output, but it still isn't loaded.


    Code
    1. $ modprobe --show-depends dvb-usb
    2. insmod /lib/modules/5.1.16-1-MANJARO-ARM/kernel/drivers/media/rc/rc-core.ko
    3. insmod /lib/modules/5.1.16-1-MANJARO-ARM/kernel/drivers/media/media.ko
    4. insmod /lib/modules/5.1.16-1-MANJARO-ARM/kernel/drivers/media/v4l2-core/videodev.ko
    5. insmod /lib/modules/5.1.16-1-MANJARO-ARM/kernel/drivers/media/common/videobuf2/videobuf2-common.ko
    6. insmod /lib/modules/5.1.16-1-MANJARO-ARM/kernel/drivers/media/common/videobuf2/videobuf2-memops.ko
    7. insmod /lib/modules/5.1.16-1-MANJARO-ARM/kernel/drivers/media/common/videobuf2/videobuf2-vmalloc.ko
    8. insmod /lib/modules/5.1.16-1-MANJARO-ARM/kernel/drivers/media/dvb-core/dvb-core.ko
    9. insmod /lib/modules/5.1.16-1-MANJARO-ARM/kernel/drivers/media/usb/dvb-usb/dvb-usb.ko

    As i can see dvb-core depends on media which is also not loaded.

  • I think you are mixing modules from a system and modules from media_build. Maybe you are using dvb-core from a system but you should from media_build (it needs higher priority) - that's why you are missing symbols.

    As I remember modules from media_build should be put in some special folder under /lib/.


    Support my work with small (or big) Paypal donation


    Amlogic devices works better with CoreELEC

    Blu-ray Disc Java menus support - forum thread, Github

    my lamp addon (unofficial/community with limited support)
    my touchscreen support and instructions by Grruhn (now touchscreen addon exists in repository)