No HDMI, WLAN, USB on i.MX8M Quad EVK

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

No HDMI, WLAN, USB on i.MX8M Quad EVK

Jump to solution
7,008 Views
daubsi
Contributor II

Dear community,

I am new to the i.MX8M platform and only worked with non-ARM micros so far. I have a used i.MX8M Quad EVK that I am now using to learn more about the platform, its capabilities, etc. I am trying to describe the problems I encounter and seek help for, as best as I can, so please bear with me and excuse if these are real newbie questions. 

For starters I wanted to test the Android 10 demo image from the NXP download area and flashed in on the SD card on the board. I had no output on HDMI but had setup the USB-UART console and was able to monitor the boot messages and log on to the serial terminal. During my first steps on the system I noticed that there was no mentioning about HDMI, a connected display or anything in the kernel boot logs, and it seems that also no USB devices were recognized and no WLAN device was present. After reading a lot and trying various boot options without success of getting an output on HDMI I wrote an Android 9 image to the SD to try that but had the same result. Also the Linux 5.4.47 image file behaved the same. For the Linux 5.4 I also flashed it directly into the onboard eMMC using uuu successfully.

I browsed through the NXP community for similar problems but didn't find posts about these specific problems, however tried everything which seemed to be remotely connected to my problems and read and learnt a lot.

HDMI: I came across some uboot setenv commands (e.g. "video 'HDMI-A-1:1024x600@60") where I could define the HDMI resolution but nothing that I tried gave me any output in the running system. Interesting enough, the graphical UBoot NXP logo IS displayed on the HDMI monitor, in 1280x720 at 60 Hz but as soon as the system boots, the screen goes black and after 10sec the monitor reports "No signal". As said there are no messages about anything with respect to HDMI, display, etc. during the boot, so it looks as if the system does not even know about any HDMI outputs. I noticed however that at least in the Linux images the XWayland server processes is running, so apparently some graphical output is supposed to be made performed. I read that the EVK might be picky about the HDMI monitor so I used 3 different displays, a TV and a 7" TFT screen for testing. The Boot logo is shown, but nothing afterwards. The quickstart videos on the NXP site show the system booting after powering on, but in my case the screen just stay black or looses signal altogether. Plugin/Unplugin produces 0 output in the system logs or anything. 

USB: "lsusb" reports me an identified USB 2.0 and USB 3.0 host controller, but plugging anything in the USB port on the board next to the Ethernet socket results into zero activity in the system. No dmesg entry or any change in lsusb. Tried several thumb drives and a USB mouse.

Wifi: The board came bundled with a Linux 4.19 image on SD. Booting this image gives me no HDMI or USB but there is a WLAN device wl1ps0 which I can use to connect to an AP. It uses the ath10_k kernel driver.  Comparing the kernel config of that system with the 5.x Linux system I see that the particular kernel config for ATH10_K is NOT activated on the 5.x kernel so it is not really suprising no WLAN interface is found. "lspci -vk" FINDS a Atheroes wireless device on the Linux 5.x image, however no loaded driver is reported.

I don't think that the board is faulty (Wifi is basically present in the Linux 4.19 image, HDMI output is possible during Uboot), but I wonder whats the reason for all these problems? I supposed that the officially provided NXP images should fully run out of the box without tweaking etc. but seing the Linux v5 kernel config it seems that for example the onboard WLAN module was intentionally not enabled?

So my questions are very simple:

* Why don't I get any HDMI output or what can I do/test/verify in order to troubleshoot the root cause why I don't have any output. Any particular log messages I should look for? Some special files unter /proc or /sys?

* What do I need to get Wifi working? Am I supposed to compile the Atheros kernel module myself?

* Are there any prebuild images that definitely work our of the box with these 3 features enabled?

* How can I troubleshoot/enable the USB port or the reason why no devices are recognized? 

* I've read that the fuses could possibly deactivate parts of the system like HDMI. How can I check whether this is the case on my board and his the core reason for all those problems?

When you provide any answers, kindly keep in mind, that this platform is totally new to me and be as descriptive as possible, because I still now very little about it. Thank you very much in advance. 

 

I understand that without further details this is hard to diagnose. So I've added the dmesg.txt bootlog from Linux 5.4.47-2.2.0 as well as some highlights I think could maybe be indicators of the underlying problems.

 

Labels (1)
0 Kudos
1 Solution
6,880 Views
bernhardfink
NXP Employee
NXP Employee
  1. I programmed an SD-card on my Windows machine with the 5.4.47 demo image "imx-image-full-imx8mqevk.wic"
  2. 8M-EVK_SD-Card-Bootmode-Jumper.jpg
    Boot mode jumper settings for SD-card boot











  3. Board boots up, see attached log files for booting into u-boot and into Linux
  4. Tested HDMI with standard FullHD PC monitors from Samsung and from LG

So I didn't change anything and this works on the EVKA-B3 as well as on the EVKB-A1.

Further notes:

  • For WLAN you need to create your own Yocto build with the right configuration for the QCA module. This is described in the IMX_REFERENCE_MANUAL.pdf in chapter 4.13.6.
    We implemented this QCA module during the period where Qualcomm wanted to buy NXP, but this is over and we even have our own WLAN now. The 5.4.x demo images support the module used on the EVKB (Murata with CYPRESS chip)
  • USB should work, no idea what's going on here
  • HDMI: did you test it with different cables? The drive strength might not be strong enough for every cable type
  • Checking the fuses is possible on u-boot level:
    fuse read <bank> <word> [<cnt>]

    Example: read all 4 words in bank 0 (each of the 64 banks has 4 words)
    fuse read 0 0 4

    The relevant bits for the device configuration are in Bank 1:
    8M_Fuses_Bank1.bmp

     

Hopefully this helps to analyze the situation on your side.

 

Regards,
Bernhard.

 

View solution in original post

23 Replies
6,361 Views
bernhardfink
NXP Employee
NXP Employee

There seems to be some damage. For HDMI I would take the 4 diodes out which are close to each other, the other 2 diodes seem to be ok.
When you do this, please don't make any hot plugs any more, connect HDMI to the unpowered 8M board and then power up the board. Always disconnect the 8M board from power before doing something with the HDMI.

For USB I have no idea which component is damaged, but most likely the protection circuit U908, but this can't be reworked. I don't know if this blocks the other USB port as well, or if the other port is also affected by a damage somewhere in the rather complicated Type-C circuit.

Regards,
Bernhard.

6,355 Views
daubsi
Contributor II

Dear Bernhard, I feared this would be the only sensible resume to this thread and now it is...

Thank you very much for you continous feedback and teaching me some new things how to best debug those problems... Now I need to find a solution for that issue...

0 Kudos
6,603 Views
joanxie
NXP TechSupport
NXP TechSupport

first, I need to know what imx8m board you use, imx8mq, imx8mm or imx8mn, if you use imx8mq board, pls tell me what revision you use, B3 or A1, you can find this from the back of the board, I have tested O10.0.0_2.3.0 on imx8mq A1 board, just use uuu to download demo images to the board, then you can boot up from HDMI successfully without any change

6,573 Views
daubsi
Contributor II

Dear joanxie,

it's the imx8mq as far as I understood. This exact board: https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/evaluation-kit-...

The label says: SCH-29615 REV B3.

Where would I find that particular image? I don't see it here: https://www.nxp.com/design/software/embedded-software/i-mx-software/android-os-for-i-mx-applications...

 

0 Kudos
6,541 Views
bernhardfink
NXP Employee
NXP Employee

When we launched this device we also had the EVK in place and it was simply called EVK. The B3 version is the last board revision from this EVK. But then we had to change something in this board design and we created an EVKB. Implicitly the other board is now the EVKA. The schematic of the EVKB is on our web, unfortunately the older board fell out of the list during our web page redesign, I will ask if we can get it back online. It is attached here.

In the 4.14.98 BSP we had DTB files with a "b3" in the name, these were the ones for your board version. The other ones were for the new EVKB (A1 version).

With the 5.4.x BSP we unified the DTB files, so now for example the imx8mq-evk.dtb works for both board generations. And this is also the file which should work for the interfaces you have listed.

The other files cover other use cases, for example an OLED DSI display at the DSI port (imx8mq-evk-dcss-rm67191.dtb). But all of them include by default WLAN and USB.

Regards,
Bernhard.

6,022 Views
daubsi
Contributor II

Dear @bernhardfink ,

I now got another EVK and this one reads SCH-38820 REV A1 / 700-38820 REV A on the bottom.

Is this now newer than by defective board reading SCH-29615 REV B3 / 700-29615 REV X6?

The 2nd number suggests this, but I am confused by the REV A/REV B thing. Also, as the new board was just shipped, I presume it is the latest and greatest, whereas the old one is about a year old now?

Android and Linux work well on the new board incl. HDMI and USB but Win10 IoT does not recognize the USB devices. 

The release notes say:

MCIMX8M-EVK / 700-29615 REV A3 / SCH-29615 REV B4 / NXPEVK_iMX8M_4GB

So it will only work with that old(?)/new(?) board?

0 Kudos
6,014 Views
bernhardfink
NXP Employee
NXP Employee

Hi @daubsi,

this is now the latest version of the 8M EVK, called EVKB. We had to implement some changes to the first version of the board which also had to be considered in software, so we created an EVK version B, implicitly the first EVK is the EVK version A. For the new EVKB we re-started the revision numbering, that's why you see the REV A, even if we were at REV B5 already for the EVKA.

It is true that the Win10 IoT porting took place on the EVKA, I need to check if the introduction of the EVKB is the reason for the missing USB functionality. With the EVKB we also introduced a new version of the i.MX 8M where we fixed a few issues (P/N ends with AB), maybe there is something to change in software. I will check.

NXP doesn't support Win10 IoT in the same way as Android or Linux. There is no ordinary release plan, it's more a kind of snapshot approach to enable partners and customers to continue with this approach.

Regards,
Bernhard.

 

0 Kudos
5,963 Views
daubsi
Contributor II

So @bernhardfink 

SCH-38820 REV A1 / 700-38820 REV A (new board, type EVBK, new design)

is newer/more modern than:

SCH-29615 REV B3 / 700-29615 REV X6 (defective, type EVKA, older design)

Did I get this correct?

 

0 Kudos
5,938 Views
bernhardfink
NXP Employee
NXP Employee

Yes, correct.

0 Kudos
6,526 Views
daubsi
Contributor II

Thanks for explaining the revision topic Bernhard. Yet I am not sure if you're saying "everything should work right out of the box"? Is that what you say? Cause it doesn't and I am searching for answers why that might be the case. It is a used board, but I doubt something is broken. I've added my boot log to the end of this thread, so maybe you could kindly have a look and tell me if it looks to you as it should look like during boot up?

0 Kudos
6,517 Views
bernhardfink
NXP Employee
NXP Employee

I'm setting it up right now on my desk, go through it and then share with you some thoughts what are the options/parameters which could make it working on your side as well. Respectively what are the things why it doesn't work on your side.

But it's now in the evening, so for sure this will not be finished today.

 

Regards,
Bernhard.

0 Kudos
6,881 Views
bernhardfink
NXP Employee
NXP Employee
  1. I programmed an SD-card on my Windows machine with the 5.4.47 demo image "imx-image-full-imx8mqevk.wic"
  2. 8M-EVK_SD-Card-Bootmode-Jumper.jpg
    Boot mode jumper settings for SD-card boot











  3. Board boots up, see attached log files for booting into u-boot and into Linux
  4. Tested HDMI with standard FullHD PC monitors from Samsung and from LG

So I didn't change anything and this works on the EVKA-B3 as well as on the EVKB-A1.

Further notes:

  • For WLAN you need to create your own Yocto build with the right configuration for the QCA module. This is described in the IMX_REFERENCE_MANUAL.pdf in chapter 4.13.6.
    We implemented this QCA module during the period where Qualcomm wanted to buy NXP, but this is over and we even have our own WLAN now. The 5.4.x demo images support the module used on the EVKB (Murata with CYPRESS chip)
  • USB should work, no idea what's going on here
  • HDMI: did you test it with different cables? The drive strength might not be strong enough for every cable type
  • Checking the fuses is possible on u-boot level:
    fuse read <bank> <word> [<cnt>]

    Example: read all 4 words in bank 0 (each of the 64 banks has 4 words)
    fuse read 0 0 4

    The relevant bits for the device configuration are in Bank 1:
    8M_Fuses_Bank1.bmp

     

Hopefully this helps to analyze the situation on your side.

 

Regards,
Bernhard.

 

6,497 Views
daubsi
Contributor II

Dear Bernhard,

thanks for that detailled explanation and description of your steps!

I will try to follow them closely tomorrow.

Regarding HDMI: Signal strength... hmm... maybe an issue I agree.. However, the NXP boot logo from UBoot is displayed properly and this is what astonishing me. Will try to use another HDMI cable though! I presume it does not have to be a special HDMI cable with respect to the HDMI version as long as I don't want to go into extreme resolutions, right? 

Regarding USB: No idea either. I tried to attach a power bank, an old mouse and other "dump" devices to see, whether at least power is supplied to those and it seems it is NOT.

Regarding WLAN: I see, so my old board revision has a different WLAN chipset than the current board? This would explain why it seemed to work "somewhat" with the old Linux version on the SD card (at least the WLAN dev was detected properly!)

Regarding Fuses: I read briefly about those in the i.MX reference manual as well. Despite I am not 100% sure how to use the command I'm afraid. So when I want to check the fuses for HDMI_DISABLE which is in row 0x450 I would issue which command please?

fuse read 1 0x450 4 ?

And, maybe even more important: Which result am I supposed to receive on a default configured board and - assumed the fuse for HDMI_DISABLE is set - how to correct that?

Thanks for the logs as well. I will try to compare them where they differ if I cannot reproduce your results.

 

 

0 Kudos
6,480 Views
daubsi
Contributor II

I've now flashed the same image like you did and tested it.

The result is still the same.. No output from HDMI, no USB, no WLAN (OK, it's clear now, why I won't have WLAN).

HDMI: At around 2.5s after boot you have these loglines:

[ 2.562067] cdns-mhdp-imx 32c00000.hdmi: lane-mapping 0xe4
[ 2.567175] imx6q-pcie 33c00000.pcie: PCIe PLL locked after 0 us.
[ 2.573099] imx-dcss 32e00000.display-controller: bound 32c00000.hdmi (ops cdns_mhdp_imx_ops)
[ 2.573698] imx6q-pcie 33c00000.pcie: host bridge /soc@0/pcie@33c00000 ranges:
[ 2.583358] [drm] Initialized imx-dcss 1.0.0 20190917 for 32e00000.display-controller on minor 0
[ 2.589417] imx6q-pcie 33c00000.pcie: No bus range found for /soc@0/pcie@33c00000, using [bus 00-ff]
[ 2.589448] imx6q-pcie 33c00000.pcie: IO 0x27f80000..0x27f8ffff -> 0x00000000
[ 2.614935] imx6q-pcie 33c00000.pcie: MEM 0x20000000..0x27efffff -> 0x20000000
[ 2.623807] cdns-mhdp-imx 32c00000.hdmi: 0,ff,ff,ff,ff,ff,ff,0
[ 2.662016] cdns-mhdp-imx 32c00000.hdmi: 0,ff,ff,ff,ff,ff,ff,0
[ 2.662958] [drm] Mode: 1920x1080p148500
[ 2.691143] [drm] Pixel clock: 148500 KHz, character clock: 148500, bpc is 8-bit.
[ 2.691147] [drm] VCO frequency is 5940000 KHz
[ 2.768842] [drm] Sink Not Support SCDC
[ 2.770066] [drm] No vendor infoframe
[ 2.866262] Console: switching to colour frame buffer device 240x67

Whereas my log just reads:

[ 2.559811] imx6q-pcie 33c00000.pcie: 33c00000.pcie supply epdev_on not found, using dummy regulator
[ 2.574517] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 2.581147] [drm] No driver support for vblank timestamp query.
[ 2.589614] cdns-mhdp-imx 32c00000.hdmi: lane-mapping 0xe4
[ 2.595006] imx6q-pcie 33c00000.pcie: PCIe PLL locked after 0 us.
[ 2.598112] imx-dcss 32e00000.display-controller: bound 32c00000.hdmi (ops cdns_mhdp_imx_ops)
[ 2.601243] imx6q-pcie 33c00000.pcie: host bridge /soc@0/pcie@33c00000 ranges:
[ 2.610557] [drm] Initialized imx-dcss 1.0.0 20190917 for 32e00000.display-controller on minor 0
[ 2.616991] imx6q-pcie 33c00000.pcie: No bus range found for /soc@0/pcie@33c00000, using [bus 00-ff]
[ 2.626831] [drm] Cannot find any crtc or sizes
[ 2.635104] imx6q-pcie 33c00000.pcie: IO 0x27f80000..0x27f8ffff -> 0x00000000
[ 2.640613] OF: graph: no port node found in /soc@0/usb-phy@381f0040
[ 2.647032] imx6q-pcie 33c00000.pcie: MEM 0x20000000..0x27efffff -> 0x20000000

USB:

I've measured voltage at those two points shown in the attached pictures, when the system is booted. The voltage is not stable and around 1.9V.... This is apparently not the way it should be?

My fuses are:

u-boot=> fuse read 1 0 4
Reading bank 1:

Word 0x00000000: 60003f00 08022000 00000000 00000000

Is this the expected setting? 

 

0 Kudos
6,473 Views
bernhardfink
NXP Employee
NXP Employee

HDMI:  no idea so far what could cause this, I need to ask around. I attached a log file where I booted my board without HDMI monitor connection

USB:  can you try the other USB port (Type-C connector). It works the same way as the other port (see end of my log file). I had a customer who destroyed the protection circuit, then USB won't work

Fuses: your result is expected, I get the same values on my board

 

Regards,
Bernhard,

0 Kudos
6,471 Views
daubsi
Contributor II

Thanks Bernahrd. As for HDMI the thing which confuses me is that the display is perfectly during Uboot (NXP Logo, version string) and just doesn't work anymore after boot. But that would mean it's neither the cable, nor the drive strength nor the display itself, right?

0 Kudos
6,462 Views
bernhardfink
NXP Employee
NXP Employee

We normally see this effect with older HDMI monitors or if an HDMI-DVI cable is used. Boot screen gets displayed, but during Linux booting the HDMI monitor gets disabled.

In Linux the capabilities of the monitor are sampled using an I2C connection (DDC). If the capabilities of the monitor do not fit to the HDMI in the 8M, then the display controller will stop. But it should work with standard 4k or FullHD monitors or with TV screens.I don't fully understand the problem with the HDMI-DVI adapter, but it doesn't work.

Booting without connection, then connect to a monitor with HDMI-DVI cable:

imx8mqevk login: root
Last login: Wed Aug 19 15:03:13 UTC 2020 on tty7
root@imx8mqevk:~# [ 60.553440] cdns-mhdp-imx 32c00000.hdmi: 0,ff,ff,ff,ff,ff,ff,0
[ 60.559559] [drm] Cannot find any crtc or sizes
[ 60.573414] cdns-mhdp-imx 32c00000.hdmi: 0,ff,ff,ff,ff,ff,ff,0
[ 60.592617] cdns-mhdp-imx 32c00000.hdmi: 0,ff,ff,ff,ff,ff,ff,0
[ 60.598680] [drm] Cannot find any crtc or sizes
[ 60.603230] [drm] HDMI Cable Plug In

Remove cable:

root@imx8mqevk:~# [ 89.960933] [drm] Cannot find any crtc or sizes
[ 89.966436] [drm] Cannot find any crtc or sizes
[ 89.970984] [drm] HDMI Cable Plug Out

 

Booting without connection, connect to a monitor with HDM cable

Last login: Wed Aug 19 15:03:13 UTC 2020 on tty7
root@imx8mqevk:~# [ 45.249876] cdns-mhdp-imx 32c00000.hdmi: 0,ff,ff,ff,ff,ff,ff,0
[ 45.262099] Console: switching to colour frame buffer device 240x67
[ 45.268645] imx-dcss 32e00000.display-controller: fb0: imx-dcssdrmfb frame buffer device
[ 45.282527] cdns-mhdp-imx 32c00000.hdmi: 0,ff,ff,ff,ff,ff,ff,0
[ 45.294429] [drm] HDMI Cable Plug In
[ 45.382843] [drm] Mode: 1920x1080p148500
[ 45.418417] [drm] Pixel clock: 148500 KHz, character clock: 148500, bpc is 8-bit.
[ 45.425931] [drm] VCO frequency is 5940000 KHz
[ 45.508138] [drm] Sink Not Support SCDC
[ 45.513218] [drm] No vendor infoframe

Remove cable:

root@imx8mqevk:~# [ 96.932544] [drm] HDMI Cable Plug Out

 

Regards,
Bernhard.

6,451 Views
daubsi
Contributor II

Thanks, tried as suggested: No HDMI cable during bootup, then plugging in once the system is up: Nothing... no event, no log, nothing.

Regarding the USBC we talked about earlier. As said: When i plugin the USBC / USBA cable in and connect it to the PC the USBC interface only appears once I configure the boot to "download mode" and it should receive data via USBC. In any other DIP switch setup the USBC port is dead and not visible on the PC. 

Is that expected?

Seeing all those: "Works for you, doesnt work for me" I wonder if the board is just toasted But I wonder how it could be so much damaged at once?

0 Kudos
6,439 Views
bernhardfink
NXP Employee
NXP Employee

If you are able to use the USB Type-C port for serial download with uuu, then at least the USB 2.0 part of the port is physically ok. Otherwise it works just as standard USB host port in Linux.
Same for HDMI, at least the differential signals work. The DDC bus could still be the one which is defect.

For the USB 3.0 host connector I did some measurements for comparison: (board switched off)

         GND at 4      PLUS at 4      (red and black multimeter cables)

2-4    720 kOhm     552 kOhm
3-4    720 kOhm     552 kOhm
2-3    1372 kOhm   1372 kOhm

There shouldn't be any measurable voltage on D+/D- when the board is switched on with a USB stick inserted

 

There a 6 protection diodes close to the HDMI connector, I measured them as well:

black probe close to the HDMI connector:  ca 50 kOhm after a few seconds
red probe close to the HDMI connector: ca 1130 kOhm after a few seconds

 

Maybe someone did some ESD tests by accident or by purpose with this board.

Regards,
Bernhard.

 

 

6,426 Views
daubsi
Contributor II

... this doesn't look like that here

View top of board, HDMI Connector to the left
From top to bottom (top == nearest to the RJ45 jack)

Probe on left: black (nearest to HDMI jack)
Probe on left: red

1: 1.2 Ohm
2: 1.49 kOhm
3: 1.5 kOhm
4: 36.4 kOhm

5: 54.6 kOhm
6: 54.6 kOhm


Probe on left: red (nearest to HDMI jack)
Probe on left: black

1: 1.2 Ohm
2: 1.49 kOhm
3: 1.49 kOhm
4: Open

5: 37,6 kOhm
6: 37.6 kOhm

 

USB3:


      Black at 4    Red at 4
2-4 Open           Open
3-4 Open           Open
2-3 1.4MOhm    1.4MOhm

1-4 Open           Open

0 Kudos