1

Somewhere in the upgrade from the 3.6.11+ kernel to the 3.10 kernel, the ability to receive video through a USB capture card broke (capture card is based on the stk1160 chipset). It is documented in this github issue. I've tried upgrading to the latest kernel (4.1.4-v7), and the issue still persists. In testing on a Raspberry Pi B+, the functionality works again only when I've installed a 3.6.11+ (or older) kernel, and breaks past that kernel version.

I'm hoping to try and install this kernel older 3.6.11+ on a Raspberry Pi 2. So far I have attempted cross compiling the 3.6.11+ source using the arm-linux-gnueabi- toolchain and bcmrpi_defconfig configs, but I get the rainbow screen on boot, which I'm assuming means there was a problem with my kernel (I verified this by swapping out my kernel image for the official 3.18 while keeping everything else the same, and I was able to boot). I believe my cross-compilation process is correct, as this image that I am able to cross compile and load onto and SD card will boot on a Raspberry Pi B+.

I feel like this has to do with the fact that the 3.6.11+ source wasn't designed to work with the ARMv7 architecture, and that I somehow need to account for this in my compilation process. So, my question is, is it possible to install the 3.6.11+ kernel on the Pi 2, and secondly, what steps/configs am I missing in this process?

Edit: An alternate course of action for me (I think) would be recompiling the old source for the kernel modules relevant to video capture against a more recent kernel (like 3.18). Is this easier or more feasible?

2 Answers 2

1

I'm afraid I led you down a bit of a garden path earlier; this should have occurred to me as soon as you used 3.6.11 and Pi 2 in the same sentence. Sorry about that.

bcmrpi_defconfig will not work with the Pi 2. For that a new defconfig was added, bcm2709_defconfig. These are all in [src]/arch/arm/configs. However, it's not there for 3.6.11.

Looking through the git branches, it does not appear until 3.18, which is presumably when they added code for the Pi 2. Even if you tried to configure this yourself, the options simply are not there. I checked this for 3.6.11; see the section about "System" here for some background.

You are definitely out of luck here.

1
  • I appreciate your help on this issue greatly, either way. It's been a learning experience to say the least. Would recompiling the older kernel source against the updated kernel headers possibly solve this? Do you have any other ideas how I could get around this video capture problem?
    – npp1993
    Commented Aug 12, 2015 at 15:40
2

You can downgrade kernel version with rpi-update as well. All you need to have is the hash of that git hash of that particular firmware upgrade.

As per this link,

You can upgrade/downgrade to any revision of Raspbians firmware using rpi-update. For example if you want to install revision 3.10.25+ you should execute this:

sudo rpi-update 2ef601a50b68eebeeb4dc3c6c525855961891be6 The long string represents the Git hash for the specific firmware >revision. You can look for those hash in the rpi-update git repos commits list: https://github.com/Hexxeh/rpi-firmware/commits/master.

But I'm not sure if you can make it work with Rpi 2 as firmware update that comes with that old kernel would be pretty old and Rpi 2 was nt even there and therefore, it most likely will not support Rpi 2. But you are good to try.

Hope it helps.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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