We are having an issue where we cannot communicate via Ethernet using the Verdin imx8mm on the Verdin Development Board. I receive the following messages after every boot:
user@localhost:~$ dmesg | tail
[ 6.336541] mwifiex_sdio mmc2:0001:1: WLAN FW is active
[ 6.336915] btmrvl_sdio mmc2:0001:2: sdio device tree data not available
[ 6.376967] mwifiex_sdio mmc2:0001:1: Unknown api_id: 3
[ 6.376975] mwifiex_sdio mmc2:0001:1: Unknown api_id: 4
[ 6.376982] mwifiex_sdio mmc2:0001:1: Unknown GET_HW_SPEC TLV type: 0x217
[ 6.395868] mwifiex_sdio mmc2:0001:1: info: MWIFIEX VERSION: mwifiex 1.0 (16.68.1.p197)
[ 6.395883] mwifiex_sdio mmc2:0001:1: driver_version = mwifiex 1.0 (16.68.1.p197)
[ 33.764560] REG_MIPI_PHY: disabling
[ 33.764567] V3.3_ETH: disabling
[ 33.764572] usb_otg1_vbus: disabling
The Ethernet LEDs are illuminated before this message and turn off as soon as the message is sent.
However, if I quickly log in before the disabling message is sent, I am still unable to detect the Ethernet port with
When I add a second Ethernet port using the PCIe bus, the new port behaves fine.
Do you have any guidance on why these functions are being disabled and how to reactivate them?
Verdin iMX8MM Q 2GB WB IT V1.1A
Verdin Development Board V1.0B
Linux BSP 5.4.0
The Verdin Development Board version you have had some issues and was replaced. It’s very possible that replacing your Development Board with a 1.1A or newer will resolve this issue. I think @michael.tx can help with this.
More details here and here.
I think it’s highly unlikely that the cause of our issues is the carrier board. We are using the X25 connector on the development board, which is basically just a straight bus between the connector and the Verdin module. Also, when we load the Easy Installer on this device, it lists images from the internet on the display, indicating that it is able to connect.
@esilva it could be related to the fact that the newer BSPs explicitly do not support that older board revision. TEZI may be running on a different BSP version.
When you boot the board, can you interrupt it in U-Boot and see if you can get an IP address there using the
Sorry for the delay in my response, was kept away from this for a bit. Running
dhcp in U-Boot does cause it to find an IP address from the network, so that appears to be working normally before the rest of the system has loaded.
Given the observations I made in the original post, do you have any thoughts on why the system is disabling these functions and how to reactivate them?
I don’t have any thoughts off the top of my head but I am asking around internally.
Do you have just the one SOM and carrier board? Are you able to reproduce this on any other hardware?
Are you using a custom Yocto build or one of our reference images?
We have a custom carrier board that I have tested with and found the same behavior on the Ethernet port, including the functioning during U-Boot.
We are using a reference image and following the instructions listed here: https://developer.toradex.com/knowledge-base/build-u-boot-and-linux-kernel-from-source-code
We tried internally using the same board revision combination that you have with both the 5.4.0 and 5.1.0 stock reference images from our TEZI feed and could not reproduce this issue.
The link you provided is for building the kernel and u-boot but I am also curious about the rest of the image. Are you able to reproduce this issue with our stock reference images? You can build your own using this but ideally, you can test using the prebuilt versions available from our TEZI feeds.
You mean the
V3.3_ETH: disabling message, right? The way this works is that the Ethernet MAC in the device tree  has a phy-supply regulator attached . In our regular BSP, this should then all be handled correctly. However, should you have any kind of modifications what could happen is that said regulator is no longer handled correctly, not sure. Anyway, an easy workaround may be to specify the
regulator-always-on property for that regulator.
Using the minimal reference image without any modifications, we are able to connect through Ethernet.
Thank you for the suggestion to use
regulator-always-on. That does succeed in keeping the power on because I can see the LEDs stay on and the
V3.3_ETH: disabling message never appears. However, the system still does not recognize the Ethernet port. This might suggest that the message was a symptom of the Ethernet issues rather than a cause. We’ll test some different configurations to see if that impacts the behavior.