EasyCap STK1160 video capture card - how to make it work? or suggestion for capture card.

Has anyone successfully used this capture card on TX1? If so, could you please describe the necessary steps? (I can only see the device with lsusb command, but cannot capture the video with any tool, no /dev/video* is created.)

I am also open to suggestions for TX1 compatible video capture cards? I am trying to capture analog thermal camera output.


Hi berker
Did you see below message after booted? Did you modify the kernel config to enable stk1160 like


[12677.625434] usb 2-2: new high-speed USB device number 8 using ehci-pci
[12677.740513] usb 2-2: New device Syntek Semiconductor USB 2.0 Video
Capture Controller @ 480 Mbps (05e1:0408, interface 0, class 0)
[12677.740517] usb 2-2: video interface 0 found
[12678.217418] stk1160: driver ver 0.9.5 successfully loaded
[12678.220618] AC’97 0 access is not valid [0x0], removing mixer.
[12678.220623] stk1160: registers to NTSC like standard
[12678.221681] stk1160 2-2:1.0: V4L2 device registered as video1

Hi ShaneCCC,
How do i modify the kernel config to enable stk1160 like
Do i need to compile the kernel from source or should i change something on my current system?
Is there a way to just install the stk1160 driver from source without re-flashing my TX1?

For reference, I’m looking at R21.5.

I looked for CONFIG_VIDEO_STK1160 under “make nconfig” symbol search. There may be a bug in the Kconfig.

CONFIG_VIDEO_STK1160 should enable via:

Symbol: VIDEO_STK1160 [=n]
-> Device Drivers
   -> Multimedia support(MEDIA_SUPPORT [=y])
      -> <b>Media USB Adapters</b> (MEDIA_USB_SUPPORT [=y])

The default config the kernel ships with enables “Media USB Adapters”. However, no item ever shows up to make the selection.

Just FYI, when you add a module as a feature you can just copy the module to the right place. When you change a non-module feature you need to put the new kernel image itself in place…and possibly (or perhaps not…it depends on the situation) this would require rebuilding and installing modules again. Under u-boot, even if you compile and replace the entire kernel, this is still just a file copy…you don’t have to flash. “In the old days…”, you would need to flash for a new kernel (that’s how fastboot did it).

I can’t tell you whether CONFIG_VIDEO_STK1160 can be built as a module or not since it isn’t showing up in config…perhaps another feature change indirectly disabled the config item’s ability to show up.

For more detail informatioin you can check below link.


Hi ,
I am trying to install the easycap to my tx1 that uses this stk1160 chip . As you said i need to change .config file as CONFIG_VIDEO_STK1160=y . and then directly start with “make zImage” . and i didnt find any video0 or 1 or2 in /dev directory . should i also add it to tegra21_defconfig file arch/arm64/configs directory ? I actually once changed it tegra21_defconfig file ,but after i run make menuconfig it’s still same , there is no CONFIG_VIDEO_STK1160 in .config file .

I have some finidings though and i am little curious about it . I tried running “make menuconfig” before / without running “make tegra21_defconfig” and that time the stk1160 device appeared in menuconfig . so my understanding is that tegra21_defconfig is somehow changing stuff in menuconfig , not letting it configure for stk1160 . is there any way to tweak it ? anny advice would be appreciated.

This is actually the TK1 forum (not TX1), so realize there may be differences based on other information above. You may be better off posting in the TX1 forum and referencing this thread. You will probably want to post this question in the TX1 forum and name the L4T version you are using (see “head -n 1 /etc/nv_tegra_release” to get the L4T version).

Within the TX1 kernel builds you may find differences depending on which version of L4T you are interested in, especially in the newest R28.1 versus older versions. Within all of those versions on all of the platforms you always need to have some initial configuration (no configuration is a guarantee of complete failure). The very best place to start for configuration is with an exact match of your current system (often the “_defconfig” fulfills this, but defconfig not being a match is also common). This can be found on a running Jetson as “/proc/config.gz” (though you still have to set CONFIG_LOCALVERSION). At that point you are ready to add your additional config change.

Note that “make nconfig” gives an option to display unselectable options, and to search (which can find options which exist but are not currently selectable) for symbols. If you use this and find the symbol is still missing (or even grep the “.config” file and find a symbol is missing), then the driver or symbol is probably from a far different kernel version. You’ll need to do some research to see what kernel version the symbol was in, or if perhaps there is a new version of support where a new symbol is added as the old one is deprecated.