How to get additional kernel modules?
I'm tring to set up a webcam on my Omega2+ by following the Projects
The project does not cover the possibility of using a webcam other than the one linked to (which costs several times more than the Omega2+ and dock combined). I have an existing webcam available which is supported by Linux (Playstation Eye), but it requires a kernel module which is not included by default. From my point of view, that's quite understandable, though I would expect that an inexperienced user - e.g. one who did not know what the date command did - would be flummoxed at this stage.
However, I had determined elsewhere that the webcam requires the
gspca-ov534 kernel module. Having enabled the lede-project repos as per the project instructions, I found that a package kmod-video-gspca-ov534 is available, but this will not install due to kernel version requirements - it expects 4.4.61 compared to 4.4.46 on the Omega2+ (n.b. I have updated the firmware to the latest version
I didn't find any Onion docs describing how to cross-compile for the
Omega2+, only the orginal Omega. The following forum posts give some clues, but no definitive information:
What I did try was to pull the sources tree from lede-project onto my ubuntu x86_64 system, enable
the relevant modules via menuconfig and build everything. That
succeeded and built image and modules for 4.4.61, so then I checked
out the commit just before the kernel was bumped to 4.4.47 and built
again. This time I got kmod packages for 4.4.46, but they still
wouldn't install due to a different hash in the kernel version.
The fork in https://github.com/OnionIoT/source was no help - all
branches have include/kernel-version.mk at 4.4.39 or 4.4.38.
Am I on the right track? Are extra kernel module packages available
somewhere already? Or where can I get the correct version of the
sources to build compatible kernel modules?
I found this OpenWRT forum post describing how the hash is calculated - adding any kernel modules will change it.
I was able to build a set of firmware and packages using WereCatf''s source fork, but I really need to use the same kernel version and equivalent configuration to generate compatible kernel modules.
Could the Onion devs please supply the .config they used to generate the latest release?
@Colin-Hogben we've been asking for a very long time for the .config file. I faced your issues with a networking related kmod and just gave up. Other members have also faced issues with other kmods. Despite calls for open sourcing the project, as promised (see below), there is still no word from @Lazar-Demin or the Onion team
from their kickstarter campaign:
Ω Open Source
We are strong believers of open source and we strive to give back to the open source community. All hardware schematics, board design, and bill of materials will be made available to the community. In addition, the operating system and other system software on the Omega, as well as an API compatible version of the Onion Cloud, will be open sourced. Communications between the Omega and the Onion Cloud use open standards, which will allow you to hack and customize your Omega to your heart’s content.
Really, this is slowly but surely growing from a inconvenience to a real problem!
Because as it is now, you can only choose between:
- Onion firmware with working WiFi, but no way to add kernel modules and thus limiting the use of cool on-chip subsystems like PWM, PCM/i2s audio etc.
- LEDE firmware where it is easy to compile kernel modules for, but lacks all the great Onion additions and also lacks (at this time, at least) reliable WiFi because the open driver still has reliability/performance issues.
I appreciate that you folks at Onion have worked very hard getting the hardware produced and shipped!
But not opening the Onion firmware build to the LEDE-savvy members of the community actually blocks contributions to the platform!
Cool things made by community members are limited to those (relatively few) who are willing to use LEDE and accept compromises regarding WiFi and Onion environment. The regular Onion firmware users cannot profit from these efforts. Same for detail knowledge - those that can go and understand details, and also potentially fix bugs, can't help those users with the regular firmware.
I'm not sure that I'd have bought an Onion Omega2+ if I'd thought it was effectively a closed-source system.