0

This might be obvious for some but not to me so I'll ask =)

I'm having an issue that I have build an embedded Linux stack for some piece of hardware (NVidia TX2 + ConnectTech Astro carrier). I use a PCIe card from EPIX

If I use Ubuntu's official distribution for tegra, the PCIe card is properly detected.

With identical kernel and device tree blob, and the same HW unit, the detection fails with embedded Linux.

I thought that detecting PCIe devices would be kernel's job and not be influence by the distro, unless the drivers are built as kernel modules and inserted at different times. But in my case they are build in kernel.

Could someone elaborate why the detection would work with one distro but not the order?

Here is a link to what I tried to do to fix the detection tx2-pcie-does-not-detect-endpoint-on-connecttech-carrier-board

Thanks!

1 Answers1

1

A Linux distribution contains a kernel that usually differs from the vanilla kernel of the same release. Most of the time a distribution kernel contains lots of back ports of bug fixes that were discovered and fixed later in micro releases. There may be other features that a specific vendor includes and the vanilla kernel does not, like more recent version of certain drivers, etc. What makes this even more confusing is that sets of these back ports are often different in distributions from different vendors. As a side effect, this makes it difficult to depend on something like KERNEL_VERSION() macro in custom kernel code or in custom device drivers.

I can't say about the specific issue that you're having. The topic is pretty generic, and I hope that this explanation helps.

Aleksey
  • 623
  • 5
  • 10