This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/PROCESSOR-SDK-AM335X: ethernet port non-functional on SDK RT linux

Part Number: PROCESSOR-SDK-AM335X

Tool/software: Linux

Hello,

I am trying to get RT linux working on my AM3358-equipped Octavo OSD335x-SM discovery board. Networking via the ethernet port works just fine with the original Beaglebone system, but I can't seem to get it to work with the RT SDK image. Right now I am stuck with communicating with the device through serial, which is not ideal.

I am using the current Linux RT image (PROCESSOR-SDK-LINUX-RT-AM335X 05_02_00_10)

Thank you.

  • Hi,

    Please complete this checklist and post the results here: processors.wiki.ti.com/.../5x_CPSW
  • Hi,
    I found an issue while performing the checklist - during bootup, the ethernet link is never reported to be up, instead I get the following logs (I included the PHY parts of the logs as well for completeness' sake):

    [ 1.037710] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6, bus freq 1000000
    [ 1.045411] davinci_mdio 4a101000.mdio: detected phy mask ffffffef
    [ 1.052829] libphy: 4a101000.mdio: probed
    [ 1.056872] davinci_mdio 4a101000.mdio: phy[4]: device 4a101000.mdio:04, driver Atheros 8035 ethernet
    [ 1.067003] cpsw 4a100000.ethernet: Detected MACID = 98:5d:ad:cf:40:0b
    [ 1.073681] cpsw 4a100000.ethernet: initialized cpsw ale version 1.4
    [ 1.080070] cpsw 4a100000.ethernet: ALE Table size 1024
    [ 1.085357] cpsw 4a100000.ethernet: cpts: overflow check period 500 (jiffies)
    ...
    [ 13.687928] net eth0: initializing cpsw version 1.12 (0)
    [ 13.689532] libphy: PHY 4a101000.mdio:00 not found
    [ 13.689540] net eth0: phy "4a101000.mdio:00" not found on slave 0, err -19

    Thank you.
  • Hi,

    In addition to the checklist request for the network issue we need to look more at the system you are using. The TI SDK probably does not support the board that you are using, since it booted the RT kernel it must have an eeprom on it that perhaps makes it kind of look like a beagle bone black. But something must be different since the network is not coming up which could be for a variety of reasons, (PHY not found for example).

    We don't have this board at TI and it is not in the supported list of board for the AM335x so we will be able to directly support this board. Where did you get the original image that you used to boot the board and who made it?

    Any chance you could switch to the Beagle Bone Black for this portion of your work and then as you develop your board and the board port that will be necessary switch to the Octavo part?

    Best Regards,
    Schuyler
  • Hello,
    the board I am using is the Octavo OSD3358-SM-RED.
    The board has an eMMC drive that contains a linux image straight out of the box. I believe it's either a fully original Beagle Bone Black image, or a slightly modified system (though it still has Beagle Bone logos).
    I will probably try to switch to the Beagle Bone Black and continue my work from there. Can you please confirm that there are no problems (ethernet-related or other) when using the RT Linux image on the Beagle Black?
    Thank you.
  • Hi,

    There should not be an issue with RT and Ethernet, but I will boot the latest RT kernel on a BBB tomorrow and report to this thread on the results.

    Does Octavo have a support forum that you can also contact on this or are they relying on the Beagle Community?

    Best Regards,
    Schuyler
  • Hello,
    I managed to find a Beagle Bone Black Wireless board on our vendor's store page. When I zoom in on the picture of the board, I can clearly see that it is equipped with the Octavo OSD3358 (rather than a TI-branded 335x). Will that be a problem or will the RT linux image still work presumably flawlessly?
    Thank you
  • Hi,

    I booted the latest RT kernel from the 05.02 SDK on a Beagle Bone Black and got an ip address no issues.

    I can only recommend using the Beagle Bone Black for your RT experiments. As you have noted there are several Beagle Bone derivatives that are supported as part of the Beagle Community. These boards are not supported by TI like the TI EVMs except for the Beagle Bone Black. The TI SDK might boot on the derivatives but may not be fully entitled so to speak since there are probably u-boot and Linux kernel DTS differences. Each of these Beagle Bone Black derivatives have different features that enabled through different DTS overlays that the TI SDK does not support.

    Best Regards,
    Schuyler
  • Hello Schuyler,

    I got my hands on a Beaglebone Black and ethernet seems to be working fine indeed.

    However I have not been able to get the PRUs working on the RT kernel, are the PRUs even supported in the RT distribution? It seems extremely bare-bone to me.

    The PRU modules seem to be loading just fine, but I get the "prussdrv_open failed" error when trying to run any examples from am335x PRU package, which I guess indicates that the PRUs aren't enabled.

    Could you please point me in the right direction to get the PRUs working on the RT kernel?

    I'm also attaching boot log messages / lsmod output related to the PRU.

    dmesg | grep pru
    [ 17.962274] pruss 4a300000.pruss: creating PRU cores and other child platform devices
    [ 18.459651] remoteproc remoteproc1: 4a334000.pru is available
    [ 18.460000] pru-rproc 4a334000.pru: PRU rproc node /ocp/pruss_soc_bus@4a326004/pruss@0/pru@34000 probed successfully
    [ 18.461392] remoteproc remoteproc2: 4a338000.pru is available
    [ 18.461487] pru-rproc 4a338000.pru: PRU rproc node /ocp/pruss_soc_bus@4a326004/pruss@0/pru@38000 probed successfully

    lsmod | grep pru
    pru_rproc 20480 0
    pruss_intc 16384 1 pru_rproc
    pruss 16384 1 pru_rproc
    remoteproc 40960 3 pru_rproc,wkup_m3_rproc,wkup_m3_ipc
    pruss_soc_bus 16384 0

  • Hi,

    First I am glad that you have Ethernet working on the BBB with the RT kernel. As you point out the BBB is fairly minimal, there are a Iot peripherals enabled though due to the expandable nature of the EVM. I did a quick check of the BBB DTS file which enables peripherals that are present on a ICE V2 board which uses the PRU to see if there was something that stood out that I could tell you to enable, but I didn't see anything.

    Unfortunately I am not the PRU expert but I can at least tell that TI RT kernel support was developed especially with the PRU in mind. So I believe demos should work so I will need to pass this topic to a TI colleague for additional support. While there are some slight source code differences and definitely kernel config changes I am not sure if or how they impact the PRU.

    Please start another e2e thread with the label of PRU and RT Linux on the Beagle Bone Black. I think you can reference this thread too if you like. To get past basic thread triage interaction please list the following:

    - name and version of the SDK (TI RT SDK 5.02)
    - you have created an out of box SD card
    - please attach a copy of console boot log
    - the results of the console interaction that you have in this thread
    - please include the console log of what happens when you try to run the demo.

    You could just capture the boot, console interaction and the demo interaction all in one attachment if that is easier.

    If you have additional cpsw ethernet questions please continue them in this thread, otherwise I will mark this thread as resolved and please ask for you to mark as resolved from your perspective.

    Thanks and Best Regards,
    Schuyler