imx6sx sdb no ethernet

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx6sx sdb no ethernet

1,209 Views
dluberger
Contributor V

I've tried everything i can think of, but for some reason the ethernet ports only work during bootloading, but not after the board loads into the filesystem. I can see both FEC devices successfully loading during kernel load, but after the device is fully started, i get no lights on either jack, and running ifconfig only gives the lo device, no wired ethernet devices. i've tried all of the dtb files that come with the yocto build. i haven't changed any settings in yocto other than specifying that the machine is imx6sxsabresd.  everything works fine otherwise.  the only clue i have is there is a red "failed" message during linux boot stating "Failed to start Load Kernel Modules".  I'm not sure if that matters because the FEC peripherals aren't compiled as modules.  When I try the demo image that i download from nxp, the ethernet works.

i'm guessing i screwed something up in my yocto settings, for example i edited the core-image-sato and fsl-image-validation-imx bb files directly to add tools and features like evtest, i2ctools, chromium, etc. I don't think that should mess anything up but i'm not sure. I may have messed something else up in the sources folder, i'm not sure.

i tried replacing the kernel image with the one that comes with the demo image download and that didn't help, and i didn't expect it too since the kernel reports that the FECs load without a problem.  My only clue is during linux loading it reports "Failed to start Load Kernel Modules", but the service log and dmesg are no help.

I really don't want to have to recompile Chromium, that took a really long time.

0 Kudos
9 Replies

961 Views
igorpadykov
NXP Employee
NXP Employee

Hi David

what bsp used in the case, one can try with linux nxp from source.codeaurora.org/external/imx

linux-imx - i.MX Linux kernel 

linux/arch/arm/boot/dts/imx6sx-sdb.dtsi

imx6sx-sdb.dtsi\dts\boot\arm\arch - linux-imx - i.MX Linux kernel 

May be recommended first to check if enet works in uboot :

mx6sxsabresd.c\mx6sxsabresd\freescale\board - uboot-imx - i.MX U-Boot 

If necessary try to debug in function setup_pcie() : check voltages, clocks and
pad iomux configuration, compare with working case (Demo Image):

Linux Binary Demo Files - i.MX 6QuadPlus, i.MX 6Quad, i.MX 6DualPlus, i.MX 6Dual, i.MX 6DualLite, i....

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

961 Views
dluberger
Contributor V

I'm using the codeaurora bsp that downloads per the yocto project user guide.  Yes, enet works in u-boot. I can see the lights come on. As I said, I can also see the kernel message stating that the two FECs are detected and initialized.  The problem has to be related to the error message during linux loading (when all the green "[Passed]" messages appear) stating that the load kernel modules failed to start. with the demo image i don't get that error.

i did a clean and cleansstate bitbake option on both u-boot-imx and linux-imx recipes and am rebuilding overnight. hopefully building those from scratch will help.

0 Kudos

961 Views
igorpadykov
NXP Employee
NXP Employee

one can try to narrow down problem (if this related to chromium), testing with minimal

image as described in Table 1. i.MX Yocto project images attached Yocto Guide.

Best regards
igor

0 Kudos

961 Views
dluberger
Contributor V

I'm running a build overnight with the re-built bootloader and kernel. if that doesn't work i'll leave out chromium, but that would be bad if that's the cause because I absolutely need a web browser.

0 Kudos

961 Views
igorpadykov
NXP Employee
NXP Employee

what is board memory size, may be it is insufficient for such

configuration (with chromium).

Best regards
igor

0 Kudos

961 Views
dluberger
Contributor V

Also, I just tried core-image-base, and I don't get the errors on linux startup anymore (failed to start Load Kernel Modules), but I'm STILL not seeing the ethernet interfaces in ifconfig.  What's different about the factory image from what I'm building in yocto? I'm not even changing any settings. I'm downloading the yocto source and running bitbake for this machine name.  Is it simply because I'm building with kernel version 4.9.11? If so, why would that matter? The drivers are available and the kernel reports that the FECs initialize ok.  What's going on here?!

0 Kudos

961 Views
igorpadykov
NXP Employee
NXP Employee

one can try to recheck Linux Guide sect.4 Booting Linux OS

and uboot environment settings given in

Linux 4.9.11_1.0.0 BSP & Multimedia Codecs Documentation

Check with oscilloscope enet clocks and compare with working case.

Best regards
igor

0 Kudos

961 Views
dluberger
Contributor V

It's NXP's imx6sx sabre board. Which I'm seeing only has 1 GB of RAM??!  How am I supposed to work with this?? Do I decrease the CMA memory pool size? Currently it's set to 320MiB.

0 Kudos

961 Views
igorpadykov
NXP Employee
NXP Employee

>Which I'm seeing only has 1 GB of RAM??!

right, it is correct figure according to Fact Sheet SABRE Board for Smart Devices Based on the i.MX 6 Series

https://www.nxp.com/docs/en/fact-sheet/RDIMX6SABREBRDFS.pdf 

Best regards
igor

0 Kudos