USB and Ethernet not working on Colibri Evaluation Board V3.2

I have a Colibri Evaluation board V3.2B with IMX8QXP and I am connecting a Captative touch display via the captives touch adapter.

I loaded: Torizon with eval containers for hardware V1.0C option onto the board.

I followed the following tutorial to connect the display:

  1. First Steps with Capacitive Touch Display 7" Parallel | Toradex Developer Center
  2. I connected the capacitive adapter using the table attached.

When I started the board I was able to see the portainer login screen on the captative display but the touch was not working.

I installed the following overlays:
colibri-imx8x_parallel-rgb_overlay.dtbo, colibri-imx8x_atmel-mxt_overlay.dtbo, display-edt7_overlay.dtbo

and after installing I was still not able to get the touch screen to work. I checked to make sure the display is connected properly as per the table provided end-to-end. The i2c line (SDA, SCL) is a constant “high” (3.3V) and I do not see any activity on it when I touch the display. I also do not see any addresses when I use the i2cdetect tool on bus 17.

I rebooted the board multiple times while troubleshooting and now I have a case where the USB and Ethernet are not working. The RESET_OS light is blinking red upon boot. I flashed the board to using the windows-recovery tool and the behavior still did not change.

I tried a IMX6X module I was able to get the system to load but the USB is no longer working with that.

Conclusion:

Tried to connect capacitive touch display to Colibri Evaluation board:

  • Touch does not work
  • With IMX8X ethernet and USB does not work. RESET_OS flashing red
  • With IMX6X USB does not work

Please advise.

Greetings @nmohan86,

This sounds very perplexing given your description of everything. The RESET LED flashing with the iMX8X definitely indicates some kind of issue. Does the LED not flash with the iMX6?

Furthermore is it the case that no matter what software/OS you flash the USB/Ethernet isn’t working? If so this might be some kind of hardware related issue. Though it’s hard to tell what might have caused this. In the iMX8X case can you share the logs produced from dmesg? This might give more information on what’s going on with the USB/Ethernet interfaces.

Best Regards,
Jeremias

Based on your dmesg logs I do see some USB related errors, though it seems some parts of the interface are still operational. For clarification are you saying all
the USB ports on the carrier board are non-operational?

Yes. That is correct. All the USB ports are not functional.

I’m starting to suspect some kind of hardware damage on the carrier board possibly. Allow me some time to consult with our hardware engineers and see if there’s a way for us to confirm that there is hardware damage. If this is the case, replacement hardware may need to be organized.

Best Regards,
Jeremias

@nmohan86

By the way on your Colibri iMX8X you might still be able to flash an image with Easy Installer. You only mentioned that USB wasn’t working but you should be able to flash an image off of SD card using Easy Installer as instructed here: Downloads & Installers | Toradex Developer Center

Maybe you can try this.

Best Regards,
Jeremias

I am not able to update IMX8X via the SD card either.

Mouse and keyboard are unusable due to the lack of network. I am unable to VNC into the device due to lack of network.

Please try the following modification: Downloads & Installers | Toradex Developer Center

This should make it so that the image is auto-installed by Easy Installer without any need for interaction.

Best Regards,
Jeremias

I am not able to get the auto-install going after following the instructions above:

Here’s what I did:

  1. Download image: Colibri iMX8X V1.0B for Torizon Core with Evaluation Containers 5.1.0
  2. Uzip the file into the SD Card (/media//
  3. Update the image.json file such that autoinstall = true
  4. Insert the SD Card into the Colibri Evaluation Board.
  5. Start board in Recovery Mode and run the windows-recovery.bat file

Nothing happened once I was on the Easy Installer screen.

Are these steps correct?

If I set the autoinstall flag to true in the easy installer I am able to see the image on the SD card when Easy Installer comes up.

If I set the autoinstall flag to true in image.json file which is located in the actual image folder on the SD card I do not see any images on the Easy Installer.

Which image.json file should be modified?

You want to set the flag to true on the image you want to auto-install. Which in this case is the the one on the SD card. Also you don’t want the image for 1.0B you specified earlier that you have a 1.0D module. Finally instead try the image without the evaluation containers. I believe if you try and install the image with the evaluation containers a prompt will need to be accepted which you have no way to accept without a mouse.

By the way so far I’ve been unable to reproduce your issue yet. I’ve followed your instructions as in your original post and after applying the overlays and rebooting my USB and Ethernet are still working. I’m not quite sure what is going on in your case but I’ll see if there’s further tests I can do.

Best Regards,
Jeremias

I am looking on this page:

And I do not see any image specific to V1.0D. Can you please specify which one I should try?

You want this one: https://artifacts.toradex.com/artifactory/torizoncore-oe-prod-frankfurt/dunfell-5.x.y/release/1/colibri-imx8x/torizon/torizon-core-docker/oedeploy/torizon-core-docker-colibri-imx8x-Tezi_5.1.0+build.1.tar

As long as it’s not marked explicitly 1.0B it should be good for 1.0D.

Best Regards,
Jeremias

Hi @nmohan86

I am from the Toradex HW development team and was asked to look into this issue. First of all, I have never seen similar problems with the Colibri Evaluation Board. Let us look at them individually:

USB

You wrote that none of the USB ports are working. There are four USB-A ports on the carrier board which are all coming from the USB hub which upstream port is connected to the USBH port of the Colibri Module. Each of these ports has a power LED (LED7, LED8, LED9, and LED10). Are these LEDs lit? The USB hub gets enabled by the USB_PE_N signal that is coming from the module. What voltage do you measure on the USB_PE_N (pin 49 of X12)? It should be 3.3V.

The Colibri module features a second USB port, the USBC. This one is available as an OTG port. Does this USB port work (as a client or as a host)?

The USB interface requires the 5V rail to be present. Can you verify that the 5V rail is present on the carrier board?

Ethernet

Can you make sure that the jumper JP6 is in the correct position (shorting pin 2 and 3)? Can you measure 3.3V at the jumper JP6 pins? Are the ETH_LINK_ACT or ETH_SPEED LEDs on or blinking?

Do you see any damages on the SODIMM module connector? Maybe any dirt? If you have any pressured air, you could try to gently blow into the connector

I was able to get the auto install going with the provided image but on every attempt it seems to freeze after about 3-5 seconds once the process starts.

I realize now that even if I don’t do anything and stay on the easy installer screen the system is frozen as the “Waiting for network” circle is not spinning.

I also tried the same steps on to flash the image on my colleagues board and its also freezing like mine once the installation process starts.

Is it possible we have a bad batch of boards?
Our serial numbers are very close together: 01013201 00061259 2020-09-23, 01013201 00061218 2020-09-22.

Is a little concerning that we have the exact same issue with 2 boards and you guys are not able to reproduce it on your end.

Hi @nmohan86,

Thank you for the additional information. This is very helpful.

USB
The USB_PE_N needs to be at 3.3V. If the voltage is 0V, the USB hub is not enumerating and therefore, the LED7 to LED10 are turned off. The question is now, why is the USB_PE_N low? I recommend removing the jumper X11 pin 49 and check whether there is any short. You could also try to add a jumper wire from the USB_PE_N to the 3.3V rail (the jumper X11 pin 49 should be removed of course). If the USB port works then, we need to understand why the SODIMM pin 129 is driven low by the module. Maybe there is something wrong with the BSP or device tree.

Ethernet
Since you see the issue only with the iMX8X module, It seems to be an issue related to the module itself. I guess you do not have a second Colibri iMX8X module for verifying whether the module itself is broken or it is a general issue with the Colibri iMX8X. Is the module able to communicate with the Ethernet PHY that is located on the module? Do you see any messages related to Ethernet in the console during the module boot?

USB I removed jumper X11 (Pin 49) and confirmed there is no short on that line. I added a jumper wire from Pin 49 (USB_C_OET) directly to 3.3V rail and the USB port is still not working. LED’s are not lighting up when the USB device is plugged in on all ports.

Ethernet I am not able to load an image onto the IMX8X installed as its freezing once on the Easy Installer screen. I check for any ethernet related messages on boot and post.

@nmohan86

Just to chime in here, if you can run Easy Installer this should be enough. Easy Installer itself is a minimal Linux image that runs off the device’s RAM. In other words if you run Easy Installer on the iMX8X and have serial access to the device you should be able to get things like dmesg logs or boot logs.

Best Regards,
Jeremias

Just quickly parsing through the output the concerning lines I found were:

  • mdio_bus 5b040000.ethernet-1: MDIO device at address 2 is missing.
  • fec 5b040000.ethernet ethernet0: Unable to connect to phy
  • Then regarding USB. It seems the usb hub is found according to the logs. But then there’s a whole mess of address and read errors related to USB indicating some issue.

This is quite puzzling.