FLIR Lepton Jetson TK1

I was following http://me.knnect.com/blog/how-to-connect-flir-lepton-module-to-nvidia-jetson-tk1/ to work on getting my Lepton working with my Jetson. Whenever I run the pylepton_capture, the program seems to get get caught somewhere. Whenever I stop the program with a keyboard interupt I get the following traceback

File “pylepton_capture”, line 37, in
image = capture(flip_v = options.flip_v, device = options.device)
File “pylepton_capture”, line 10, in capture
a, _ = l.capture()
File “pylepton/Lepton.py”, line 158, in capture
time.sleep(0.185)

I did go to the nvidia page to download the dtb file when the guide for the lepton says not to. I did that because any time I tried to use the dtc file I kept getting an error saying that the permission is denied. I have a feeling this might be the problem, but I’m not sure how to go about fixing it since I’m very new to Linux.

Any help would be appreciated.

How did you try to use dtc? If you lacked input location permission or output location permission, then you just need sudo.

I tried following the directions on that guide. I’m trying to change the SPI frequency. I tried using

./dtc -I dtb -O dts -o tegra124-jetson_tk1-pm375-000-c00-00.dts tegra124-jetson_tk1-pm375-00-c00-00.dtb

in the directory where I downloaded the files he has listed in the link on the guide which contains those files and the dtc tool. I tried it normally, and it didn’t work, so I tried it again as root and it still says I don’t have permission.

What is the permission of the directory? Normally you wouldn’t have “dtc” in the same directory as where you work…the “./” of “./dtc” seems odd. What do you get from:

ls -l <b>./</b>dtc
<b>./</b>dtc --version
which dtc
ls -ld <b>.</b>
ls -l <b>./</b>tegra124-jetson_tk1-pm375-00-c00-00.dtb

Sorry about the delay. I meant to try those but my Jetson started a boot sequence and then just turned off and now won’t boot. The fan don’t even try to kick on. I think I’ll have to flash the OS again. I’m a student that has to get a classmate to do it for me since I don’t have the setup to do it.

That website I was following has a link to a Google drive that has a few files in it. It includes

dtc
tegra124-jetson_tk1-pm375-000-c00-00.dts
tegra124-jetson_tk1-pm375-000-c00-00.dtb.back

I had just downloaded all 3 of that and was trying to run that command earlier while in my Downloads folder. I did try running the “which dtc” before and I believe it was in something like /dev/ or /boot/. I can’t remember off the top of my head.

I don’t know if the fan is an issue under these circumstances or not. You will probably need to flash if it won’t boot. If you changed something in the device tree or “/boot” then this could easily cause boot failure until flashed (otherwise there may be something else wrong…hopefully changes in “/boot” or somewhere else caused the boot failure since this is a simple matter to fix with flash).

FYI, if you use the provided micro-B USB cable to the host PC, and then set the Jetson to recovery mode, you’ll know everything is work if the host sees the TK1 via:

lsusb -d 0955:7140

You can normally just use the dtc from your installed system…though another version can sometimes be required the dtc normally does not even care about architecture (e.g., I can use my Fedora x86_64 PC desktop to work with dtb files from a TK1, TX1, or TX2). On a TK1 you can install via:

sudo apt-get install device-tree-compiler

(plus the kernel source always has its own copy)

When you download a file permissions have to be set. It wouldn’t matter if the file is there or not, you’d still need to use the correct chmod command. Sometimes when files are in zip or tar format they can unpack with everything executable, but this too does not make a file executable if it isn’t already the right file type…it is best to expect to use chmod on everything you get from a web URL. I’d suggest just delete the dtc which comes with the download and use the apt-get tool to install dtc. Then it should work.

You can see “man chmod” for a brief explanation. Realize chmod can only work on files you own unless you use root (via sudo), but if you wanted to set a file as executable and it is in the directory you are in then this makes it executable for the user provided the file is capable of being executed (I’ll use dtc as an example):

chmod u+x dtc

Yeah, I must have messed with something. I have a classmate flashing it again right now so that’s not a big deal. The fan is a 3-pin fan, so if it wasn’t turning that meant the system wasn’t turning on at all since it’ll always run at full speed.

I knew I had to change file permissions from downloaded sources, but I was only using “chmod +x dtc”. That must have been why it was not working for me.

Thank you for your help. I’ll try this as soon as my classmate can give me the Jetson back.