Trying to install drivers for Epiphan VGA2USB adapter on Raspberry Pi
Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Trying to install drivers for Epiphan VGA2USB adapter on Raspberry Pi
Hi. I'm very new to Linux, so I'm having some trouble. I'm running Raspbian on a Raspberry Pi, trying to install the drivers found here: http://www.epiphan.com/downloads/linux/. If you navigate through to vga2usb > Rapsbian > wheezy > ARMv6, you will see the list of drivers. I've tried both the tbz and deb files without much luck. I'll explain what happened with each.
Following the instructions I found here, I downloaded the file called "vga2usb-3.28.0.7-3.6-y.tbz"
I tried to unpack it:
make -C /lib/modules/3.12.22+/build SUBDIRS=/home/pi/vga2usb modules
make: *** /lib/modules/3.12.22+/build: No such file or directory. Stop.
make: *** [default] Error 2
root@raspberrypi:/home/pi/vga2usb# ls ~/
root@raspberrypi:/home/pi/vga2usb# exit
exit
I tried some other things, but couldn't get past there.
Then I tried the file "vga2usb-3.29.0.5-raspbian-3.10-3-rpi-arm.deb"
(Reading database ... 69649 files and directories currently installed.)
Preparing to replace vga2usb-dkms 3.29.0.5 (using vga2usb-3.29.0.5-raspbian-3.10-3-rpi-arm.deb) ...
-------- Uninstall Beginning --------
Module: vga2usb
Version: 3.29.0.5
Kernel: 3.10-3-rpi (arm)
-------------------------------------
Status: This module version was INACTIVE for this kernel.
depmod....(bad exit status: 1)
DKMS: uninstall completed.
------------------------------
Deleting module version: 3.29.0.5
completely from the DKMS tree.
------------------------------
Done.
Unpacking replacement vga2usb-dkms ...
Setting up vga2usb-dkms (3.29.0.5) ...
Loading tarball for vga2usb-3.29.0.5
Loading /var/lib/dkms/vga2usb/3.29.0.5/3.10-3-rpi/arm...
DKMS: ldtarball completed.
Creating symlink /var/lib/dkms/vga2usb/3.29.0.5/source ->
/usr/src/vga2usb-3.29.0.5
DKMS: add completed.
First Installation: checking all kernels...
dpkg: warning: version '*-*' has bad syntax: version number does not start with digit
It is likely that 3.12.24+ belongs to a chroot's host
Building for architecture armhf
Module build for the currently running kernel was skipped since the
kernel source for this kernel does not seem to be installed.
I'm not sure where to go from here. I'm sure this is simpler than it seems, I just don't know enough to proceed. Any help is greatly appreciated.
Thanks for replying. I've made a tiny bit of progress since then.
You were right about the kernel versions being mismatched. I am running 3.12.24+, but the website only provides drivers for 3.6 and 3.10 kernels. I did a lot of googling, and realized I had to compile a kernel module to install the drivers (or build an older kernel entirely). I've been trying to compile the kernel module.
I followed the instructions on this website up to the part with the custom makefile, since the vga2usb package has its own makefile, to build a 3.6.y kernel module. Everything seemed to work, no errors encountered. I then unzipped vga2usb-3.28.0.7-3.6-y.tbz into a separate directory and ran "make load" again. This time it got a little farther before failing. Here's the output:
Code:
root@raspberrypi:/home/pi/Desktop/vga2usb# make load
make -C /lib/modules/3.12.24+/build SUBDIRS=/home/pi/Desktop/vga2usb modules
make[1]: Entering directory `/usr/src/linux'
CC [M] /home/pi/Desktop/vga2usb/drvwrapper.o
/home/pi/Desktop/vga2usb/drvwrapper_lib.h:53:22: warning: ‘wrp_copy_to_user’ declared ‘static’ but never defined [-Wunused-function]
/home/pi/Desktop/vga2usb/drvwrapper_lib.h:54:22: warning: ‘wrp_copy_from_user’ declared ‘static’ but never defined [-Wunused-function]
CC [M] /home/pi/Desktop/vga2usb/drvwrapper_lib.o
/home/pi/Desktop/vga2usb/drvwrapper_lib.c:44:15: warning: ‘wrp_copy_to_user’ defined but not used [-Wunused-function]
/home/pi/Desktop/vga2usb/drvwrapper_lib.c:45:15: warning: ‘wrp_copy_from_user’ defined but not used [-Wunused-function]
LD [M] /home/pi/Desktop/vga2usb/vga2usb.o
Building modules, stage 2.
MODPOST 1 modules
WARNING: could not find /home/pi/Desktop/vga2usb/.vga2usb_bins.o.cmd for /home/pi/Desktop/vga2usb/vga2usb_bins.o
WARNING: "v4l2_ctrl_handler_init" [/home/pi/Desktop/vga2usb/vga2usb.ko] undefined!
CC /home/pi/Desktop/vga2usb/vga2usb.mod.o
LD [M] /home/pi/Desktop/vga2usb/vga2usb.ko
make[1]: Leaving directory `/usr/src/linux'
sudo /sbin/modprobe videobuf-core; sudo /sbin/modprobe videodev; sudo /sbin/modprobe videobuf-vmalloc;
sudo /sbin/insmod vga2usb.ko
Error: could not insert module vga2usb.ko: Unknown symbol in module
make: *** [load] Error 1
It looks to me like I'm missing something from Video4Linux, which these drivers rely on. Google searching tells me it might be v4l-utils. The thing is that I don't really understand this kernel module thing very well. Running "apt-get install v4l-utils" returns "v4l-utils is already the newest version." So it's not missing from my up to date kernel.
What are these "undefined" files? Where can I find them? Is this error important:
Code:
WARNING: could not find /home/pi/Desktop/vga2usb/.vga2usb_bins.o.cmd for /home/pi/Desktop/vga2usb/vga2usb_bins.o
IN
home folder>pi folder>Desktop folder>Desktop folder>vga2usb folder/tricky dicky part now "." in front of vga2usb_bins.o.cmd,o
means it is a hidden file. Anytime you see a period in front of a file name, That means it is hidden from view in your file manager.
You use the view tab in toolbar of file manager and use view hidden files from the drop down menu to see them.
I know the basics.
To compile kernel modules, you need to install a few things first.
kernel-devel (kernel source)
kernel-headers
gcc
make
But like I said. Arm is kinda a unknown road for me that I have never traveled yet.
Good luck with it.
that should move your terminal to the vga2usb folder. Then
Quote:
2.2. Show hidden files
In Linux, all hidden files and directories start with "." in their file name. By default ls ignores all entries starting with . thus not showing hidden files or directories. To display all hidden files and directories we can use -a option. For example:
$ ls
$ touch file
$ touch .file
$ ls
file
$ ls -a
. .. file .file
My box as a example
Code:
harry@biker:~/Documents
$ ls -a
. avconvert_to mp4 commands.txt pastebin_backup_20140621.zip
.. bookmarks.html CQ57_Manual.pdf .pipost
See, I used the cd command to "cd Documents" to move my terminal into the documents folder.
Then I used the "ls -a" command to show the hidden file .pipost I just made to show as a example for you.
Thanks for your help. When I view the vga2usb folder with "ls -a", I now see a files called .vga2usb.o.cmd, .vga2usb.mod.o.cmd, and .vga2usb.ko.cmd, but still no .vga2usb_bins.o.cmd (that's the one that brought up a warning when I tried "make load"). Here's the full list of files:
I installed all of those things you mentioned, but I still get the same error. Is there another way I should be trying to use make? Can you tell me any more about what those errors might mean? Here's the output again when I try "make load":
Code:
pi@raspberrypi ~/Desktop/vga2usb $ sudo make load
make -C /lib/modules/3.12.24+/build SUBDIRS=/home/pi/Desktop/vga2usb modules
make[1]: Entering directory `/usr/src/linux'
Building modules, stage 2.
MODPOST 1 modules
WARNING: could not find /home/pi/Desktop/vga2usb/.vga2usb_bins.o.cmd for /home/pi/Desktop/vga2usb/vga2usb_bins.o
WARNING: "v4l2_ctrl_handler_init" [/home/pi/Desktop/vga2usb/vga2usb.ko] undefined!
make[1]: Leaving directory `/usr/src/linux'
sudo /sbin/modprobe videobuf-core; sudo /sbin/modprobe videodev; sudo /sbin/modprobe videobuf-vmalloc;
sudo /sbin/insmod vga2usb.ko
Error: could not insert module vga2usb.ko: Unknown symbol in module
make: *** [load] Error 1
I also tried "make install load", which failed, but produced a different set of errors:
Code:
pi@raspberrypi ~/Desktop/vga2usb $ sudo make install load
make -C /lib/modules/3.12.24+/build SUBDIRS=/home/pi/Desktop/vga2usb modules
make[1]: Entering directory `/usr/src/linux'
Building modules, stage 2.
MODPOST 1 modules
WARNING: could not find /home/pi/Desktop/vga2usb/.vga2usb_bins.o.cmd for /home/pi/Desktop/vga2usb/vga2usb_bins.o
WARNING: "v4l2_ctrl_handler_init" [/home/pi/Desktop/vga2usb/vga2usb.ko] undefined!
make[1]: Leaving directory `/usr/src/linux'
make -C /lib/modules/3.12.24+/build SUBDIRS=/home/pi/Desktop/vga2usb modules_install
make[1]: Entering directory `/usr/src/linux'
INSTALL /home/pi/Desktop/vga2usb/vga2usb.ko
DEPMOD 3.6.11
make[1]: Leaving directory `/usr/src/linux'
[ -d "/lib/udev/rules.d" ] && install -m 0644 extra/40-epiphan.rules /lib/udev/rules.d/
install: cannot stat `extra/40-epiphan.rules': No such file or directory
make: *** [install] Error 1
Thanks again.
EDIT: I also noticed that the Module.symvers file in the vga2usb folder is empty. Not sure if that's important, but some online resources mentioned it.
WARNING: could not find /home/pi/Desktop/vga2usb/.vga2usb_bins.o.cmd
I am working in the heat outside so excuse me if I am off track.
Sweaty and tired.
You show it in ls -a the file it cannot find. So I am going to blame the installer script. What I am saying. is that you need to email the place you grabbed the tar from and let them know your error since the installer should see it because it is there.
Like I said. I am hot and kinda punch drunk so I am not in my best mind right now.
Quote:
EDIT: I also noticed that the Module.symvers file in the vga2usb folder is empty.
I am just talking about the .vga2usb_bins.o with the underscore line "_".
OOOPs. Just noticed it is missing the dot in front in your ls -a readout. I AM CONFUSED .
and see if it compiles without errors then. You can always change it back.
Another way. Make a copy and rename the copy to
.vga2usb_bins.o
so both are in the folder. Just a poke and hope suggestion though.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.