You are not logged in.

#1 2018-09-23 20:02:08

jmetal88
Member
Registered: 2007-12-09
Posts: 85

Building VGA2PCIe Kernel Module on Updated System

So, a while back I bought a used VGA2PCIe for a very good price on eBay and had been experimenting with capturing video from various RGB sources.  It was working pretty well in Windows, and I had noticed that Epiphan had an Arch Linux driver available on their website.  It didn't work with the current set of packages at the time, but the kernel it supported wasn't super old yet, so I just downgraded to a version that worked so I could use the driver and put the kernel and headers into my pacman.conf ignore list.

I've survived a few system updates like this, but on my update today, GCC updated and I found I could no longer compile the NVIDIA drivers for my system.  Downgrading GCC created another issue I was unable to resolve, so instead of trying to continue to make my old kernel work, I finally just un-ignored the kernel and headers and allowed my full system to update.  I've got a working system again, but of course the kernel upgrade means that I am now back to being unable to build the kernel modules for my VGA2PCIe.

I checked Epiphan's website to see if perhaps they have updated the driver at all.  They have not, and they have also removed Archlinux from their list of supported distributions.

I still have the .tbz of the last package they had available.  I uploaded it here:  http://mkgraham.dx.am/vga2pci-3.30.2.11 … x86_64.tbz

Does anyone know how to get that package to build and install successfully on an up-to-date Arch installation?  Is it even possible?

Thanks!

Offline

#2 2018-09-23 20:51:56

loqs
Member
Registered: 2014-03-06
Posts: 18,938

Re: Building VGA2PCIe Kernel Module on Updated System

That is a built package so there is nothing to build.  It is just incompatible with the current kernel.
Looking at what is currently supplied from https://ssl.epiphan.com/downloads/linux … x86_64.rpm
in vga2pci_module.c

MODULE_AUTHOR ("Epiphan Systems");
MODULE_DESCRIPTION ("vga2pci driver");
MODULE_LICENSE("GPL");

It claims to be a GPL module but does not supply any source so I do not want to touch that.

Offline

#3 2018-09-23 21:37:28

jmetal88
Member
Registered: 2007-12-09
Posts: 85

Re: Building VGA2PCIe Kernel Module on Updated System

Alright.  That's disappointing.  I knew it had a binary lump in it, but it was building *something* before it tried to install, so I thought maybe it could be still made to work.  Guess I either have to use it in Windows or switch to one of the distros they still support. hmm

Offline

#4 2018-09-23 21:50:37

loqs
Member
Registered: 2014-03-06
Posts: 18,938

Re: Building VGA2PCIe Kernel Module on Updated System

Ah you are right.  In the archive for arch is vga2pci.ko which is the built module.
There is also a binary blob object file a .c and .h file which contain a thin wrapper around the blob and a Makefile.
What is the actual error if you try and run the Makefile?

Offline

#5 2018-09-23 22:08:51

jmetal88
Member
Registered: 2007-12-09
Posts: 85

Re: Building VGA2PCIe Kernel Module on Updated System

Here is the full output when I type 'make'.  No actual errors, just a couple of warnings:

make[1]: Entering directory '/usr/lib/modules/4.18.9-arch1-1-ARCH/build'
  CC [M]  /home/mkgraham/Downloads/vga2pci-3.30.2.11-arch-4.12.8-2-ARCH.x86_64/vga2pci_module.o
  LD [M]  /home/mkgraham/Downloads/vga2pci-3.30.2.11-arch-4.12.8-2-ARCH.x86_64/vga2pci.o
  Building modules, stage 2.
  MODPOST 1 modules
WARNING: could not find /home/mkgraham/Downloads/vga2pci-3.30.2.11-arch-4.12.8-2-ARCH.x86_64/.vga2pci_core.o.cmd for /home/mkgraham/Downloads/vga2pci-3.30.2.11-arch-4.12.8-2-ARCH.x86_64/vga2pci_core.o
WARNING: "refcount_inc" [/home/mkgraham/Downloads/vga2pci-3.30.2.11-arch-4.12.8-2-ARCH.x86_64/vga2pci.ko] undefined!
WARNING: "refcount_dec_and_test" [/home/mkgraham/Downloads/vga2pci-3.30.2.11-arch-4.12.8-2-ARCH.x86_64/vga2pci.ko] undefined!
WARNING: "dma_supported" [/home/mkgraham/Downloads/vga2pci-3.30.2.11-arch-4.12.8-2-ARCH.x86_64/vga2pci.ko] undefined!
  CC      /home/mkgraham/Downloads/vga2pci-3.30.2.11-arch-4.12.8-2-ARCH.x86_64/vga2pci.mod.o
  LD [M]  /home/mkgraham/Downloads/vga2pci-3.30.2.11-arch-4.12.8-2-ARCH.x86_64/vga2pci.ko
make[1]: Leaving directory '/usr/lib/modules/4.18.9-arch1-1-ARCH/build'

When I run 'make install' it does give me a couple of actual errors, though:

make -C /lib/modules/4.18.9-arch1-1-ARCH/build M=/home/mkgraham/Downloads/vga2pci-3.30.2.11-arch-4.12.8-2-ARCH.x86_64 modules
make[1]: Entering directory '/usr/lib/modules/4.18.9-arch1-1-ARCH/build'
  Building modules, stage 2.
  MODPOST 1 modules
WARNING: could not find /home/mkgraham/Downloads/vga2pci-3.30.2.11-arch-4.12.8-2-ARCH.x86_64/.vga2pci_core.o.cmd for /home/mkgraham/Downloads/vga2pci-3.30.2.11-arch-4.12.8-2-ARCH.x86_64/vga2pci_core.o
WARNING: "refcount_inc" [/home/mkgraham/Downloads/vga2pci-3.30.2.11-arch-4.12.8-2-ARCH.x86_64/vga2pci.ko] undefined!
WARNING: "refcount_dec_and_test" [/home/mkgraham/Downloads/vga2pci-3.30.2.11-arch-4.12.8-2-ARCH.x86_64/vga2pci.ko] undefined!
WARNING: "dma_supported" [/home/mkgraham/Downloads/vga2pci-3.30.2.11-arch-4.12.8-2-ARCH.x86_64/vga2pci.ko] undefined!
make[1]: Leaving directory '/usr/lib/modules/4.18.9-arch1-1-ARCH/build'
make -C /lib/modules/4.18.9-arch1-1-ARCH/build SUBDIRS=/home/mkgraham/Downloads/vga2pci-3.30.2.11-arch-4.12.8-2-ARCH.x86_64 modules_install
make[1]: Entering directory '/usr/lib/modules/4.18.9-arch1-1-ARCH/build'
  INSTALL /home/mkgraham/Downloads/vga2pci-3.30.2.11-arch-4.12.8-2-ARCH.x86_64/vga2pci.ko
At main.c:160:
- SSL error:02001002:system library:fopen:No such file or directory: crypto/bio/bss_file.c:72
- SSL error:2006D080:BIO routines:BIO_new_file:no such file: crypto/bio/bss_file.c:79
sign-file: certs/signing_key.pem: No such file or directory
  DEPMOD  4.18.9-arch1-1-ARCH
depmod: WARNING: /lib/modules/4.18.9-arch1-1-ARCH/extra/vga2pci.ko.xz needs unknown symbol dma_supported
depmod: WARNING: /lib/modules/4.18.9-arch1-1-ARCH/extra/vga2pci.ko.xz needs unknown symbol refcount_dec_and_test
depmod: WARNING: /lib/modules/4.18.9-arch1-1-ARCH/extra/vga2pci.ko.xz needs unknown symbol refcount_inc
make[1]: Leaving directory '/usr/lib/modules/4.18.9-arch1-1-ARCH/build'
[ -d "/lib/udev/rules.d" ] && install -m 0644 extra/40-epiphan.rules /lib/udev/rules.d/
depmod -ae
depmod: WARNING: -e needs -E or -F
sudo install -o root -m 0755 extra/v2u_flash /usr/bin/
sudo /sbin/modprobe -a `/sbin/modinfo vga2pci.ko | grep -i ^depends: | cut -f2 -d: | sed 'y/,/ /'`
sudo /sbin/insmod vga2pci.ko
insmod: ERROR: could not insert module vga2pci.ko: Unknown symbol in module
make: *** [Makefile:38: load] Error 1

So something about SSL, and then some stuff about 'unknown symbols'.

Offline

#6 2018-09-23 22:30:34

loqs
Member
Registered: 2014-03-06
Posts: 18,938

Re: Building VGA2PCIe Kernel Module on Updated System

https://elixir.bootlin.com/linux/v4.18. … ount.h#L50 function is declared __always_inline but the blob does not provide it
https://elixir.bootlin.com/linux/v4.18. … ount.h#L73 function is declared __always_inline but the blob does not provide it
https://elixir.bootlin.com/linux/v4.18. … ing.h#L581 function is declared inline but the blob does not provide it
You could always ask them for the source for the blob its supposed to be a GPL compliant module.
The other issue looks to be related to https://git.archlinux.org/svntogit/pack … b952d4e55d

Offline

Board footer

Powered by FluxBB