Search code examples
ubuntu-14.04nvidiategra

Firewire1394 on nvida jetson tk1


I am trying to interface Point Grey Bumblebee2 stero camera with the nvida tegra tk1 using PCI express. Nvidia board detects the PCI express.
lspci

00:00.0 PCI bridge: NVIDIA Corporation Device 0e12 (rev a1)
01:00.0 FireWire (IEEE 1394): LSI Corporation FW643 [TrueFire] PCIe 1394b Controller (rev 08)
02:00.0 PCI bridge: NVIDIA Corporation Device 0e13 (rev a1)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c)

But it cannot find the Point Grey camera
lsusb

Bus 002 Device 004: ID 046d:c018 Logitech, Inc. Optical Wheel Mouse
Bus 002 Device 003: ID 03f0:0024 Hewlett-Packard KU-0316 Keyboard
Bus 002 Device 002: ID 03f0:2824 Hewlett-Packard 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

After thorough debugging, I found out that current kernel on nvida tegra tk1 doesn't have firewire1394 driver. So, I need to know which kernel I can recompile to use firewire1394 driver.


Solution

  • The stock Linux kernel 3.10.40 does not have a firewire1394 driver. So, I added a firewire1394 driver.
    The "Grinch" kernel adds 1394 support. The Grinch kernel is available from: https://devtalk.nvidia.com/default/topic/823132/embedded-systems/-customkernel-the-grinch-21-3-4-for-jetson-tk1-developed/
    I followed the instructions and finally I have the firewire1394 driver installed and loaded.
    To install CUDA and OpenCV4Tegra, one can then use application manager and then unchecked the linux and flushed option.