Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I recently purchased a Kinect for Windows and quickly discovered that the camera drivers included in linux kernel 3.0+ aren't compatible with the Kinect for Windows hardware revision. After looking at the source code it seems like a tiny modification is all that is required for compatibility, so I've been trying to recompile the driver - to no avail.

I've been referring to this article and this one as well, though they are a bit outdated.

When I try to compile the module, I get an error because the header file "gspca.h" can't be found in the include path. I located the missing header in my filesystem, but the file itself is empty. I've also tried downloading the kernel source (3.2.0-24-generic), which allowed me to compile the module, but when I load the module I get an error.

-1 Unknown symbol in module

Is there a standard way to go about this without first building the kernel? Will building the kernel ensure that I can build the module?

Thanks

share|improve this question

1 Answer 1

up vote 0 down vote accepted

Is there a standard way to go about this without first building the kernel? Will building the kernel ensure that I can build the module?

  • If you get that error, no. You can force-load the module, and it will most probably work, but you won't be able to debug it and this method is not recommended.

  • The error occurs because you're missing the module.symvers module symbol database.

  • The only proper way to generate that file is to execute a full build of the kernel -- this will let you build the module.
  • Be very careful to configure the kernel exactly to stock specifications unless you intend to install and run on the built kernel.
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.