Greetings!
I am using HummingBoard Pulse with iMX8M Plus SOM.
For my application I am trying to build Yocto distribution image and communicate with the Basler camera.
I followed the guide on this link, prebuilt image works as expected, I can communicate with the camera.
The problem comes when I try to use the Yocto image that I built myself (using bitbake imx-image-full command), there are tons of errors in the boot messages, among them is a message mx8-img-md: Can't find i2c client device for basler_camera_vvcam@36
.
Below is the output emmited during boot:
U-Boot SPL 2020.04-00009-g0bbe6665e9 (Feb 02 2022 - 12:52:09 +0100)
Training for 3GByte Micron
DDRINFO: start DRAM init
DDRINFO: DRAM rate 3000MTS
Training FAILED
Re-training for 1GByte Samsung memory
DDRINFO: start DRAM init
DDRINFO: DRAM rate 4000MTS
DDRINFO:ddrphy calibration done
DDRINFO: ddrmix config done
Normal Boot
Trying to boot from BOOTROM
image offset 0x0, pagesize 0x200, ivt offset 0x0
NOTICE: BL31: v2.2(release):rel_imx_5.4.70_2.3.0-0-gf1d7187f2
NOTICE: BL31: Built : 12:15:32, Feb 2 2022
U-Boot 2020.04-00009-g0bbe6665e9 (Feb 02 2022 - 12:52:09 +0100)
CPU: i.MX8MP[8] rev1.1 1800 MHz (running at 1200 MHz)
CPU: Commercial temperature grade (0C to 95C) at 39C
Reset cause: POR
Model: NXP i.MX8MPlus LPDDR4 SolidRun board
DRAM: 1 GiB
MMC: FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC... *** Warning - bad CRC, using default environment
[*]-Video Link 0probe video device failed, ret -2
[0] lcd-controller@32e80000, video
[1] mipi_dsi@32e60000, video_bridge
[2] adv7535@39, panel
probe video device failed, ret -2
In: serial
Out: serial
Err: serial
BuildInfo:
- ATF f1d7187
- U-Boot 2020.04-00009-g0bbe6665e9
switch to partitions #0, OK
mmc2(part 0) is current device
flash target is MMC:2
Net:
Warning: ethernet@30bf0000 (eth1) using random MAC address - 02:fe:b3:99:32:eb
eth1: ethernet@30bf0000 [PRIME]
Fastboot: Normal
Normal Boot
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
241 bytes read in 16 ms (14.6 KiB/s)
1: NXP i.MX Release Distro
Retrieving file: /extlinux/../Image
26274304 bytes read in 1135 ms (22.1 MiB/s)
append: root=/dev/mmcblk1p2 rootwait rw quiet console=ttymxc1,115200 rootwait rw console=ttymxc1,115200,115200
Retrieving file: /extlinux/../imx8mp-hummingboard-pulse.dtb
61717 bytes read in 26 ms (2.3 MiB/s)
## Flattened Device Tree blob at 43000000
Booting using the fdt blob at 0x43000000
Using Device Tree in place at 0000000043000000, end 0000000043012114
probe video device failed, ret -2
Starting kernel ...
[ 0.168862] samsung-hdmi-phy 32fdff00.hdmiphy: failed to get phy apb clk: -517
[ 0.169014] imx8-pcie-phy 32f00000.pcie-phy: failed to get imx pcie phy clock
[ 0.176029] clk: failed to reparent gic to sys_pll2_500m: -16
[ 0.183798] reg-userspace-consumer power-m2-mpcie: Failed to get supplies: -517
[ 0.183846] reg-userspace-consumer power-usb-port1: Failed to get supplies: -517
[ 0.183887] reg-userspace-consumer power-usb-port2: Failed to get supplies: -517
[ 0.236459] imx-lcdifv3 32e80000.lcd-controller: No pix clock get: -517
[ 0.243830] imx-lcdifv3 32e90000.lcd-controller: No pix clock get: -517
[ 0.250772] imx-lcdifv3 32fc6000.lcd-controller: No irq get, ret=-517
[ 0.260890] imx-hdmi-pavi 32fc4000.hdmi-pai-pvi: No pvi clock get
[ 0.304503] sdhci-esdhc-imx 30b40000.mmc: voltage-ranges unspecified
[ 0.316699] imx-dsp-rproc 3b6e8000.dsp: Failed to get clock dsp_clk1
[ 0.323084] imx-dsp-rproc 3b6e8000.dsp: failed on imx_dsp_rproc_clk_get
[ 0.518313] samsung-hdmi-phy 32fdff00.hdmiphy: failed to get phy apb clk: -517
[ 0.544614] imx-lcdifv3 32fc6000.lcd-controller: No irq get, ret=-517
[ 0.564998] sdhci-esdhc-imx 30b40000.mmc: voltage-ranges unspecified
[ 0.581999] imx6q-pcie 33800000.pcie: invalid resource
[FAILED] Failed to start Terminate Psplash Boot Screen.
[ 2.368198] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[ 2.382521] imx8_media_dev: module is from the staging directory, the quality is unknown, you have been warned.
[ 2.388962] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Mar 3 2019 19:47:25 version 7.45.184 (r712131 CY) FWID 01-b363c0a0
[ 2.407895] mx8-img-md: Can't find i2c client device for basler_camera_vvcam@36
[ 2.454270] mx8-img-md: Unregistered all entities
[ 2.498394] Bluetooth: hci0: BCM: chip id 107
[ 2.503203] Bluetooth: hci0: BCM: features 0x2f
[ 2.509075] Bluetooth: hci0: BCM4345C0
[ 2.513121] Bluetooth: hci0: BCM4345C0 (003.001.025) build 0000
[ 2.520060] Bluetooth: hci0: BCM: firmware Patch file not found, tried:
[ 2.526791] Bluetooth: hci0: BCM: 'brcm/BCM4345C0.hcd'
[ 2.531998] Bluetooth: hci0: BCM: 'brcm/BCM.hcd'
[ 2.544893] input: audio-hdmi HDMI Jack as /devices/platform/sound-hdmi/sound/card0/input0
[ 2.560691] mx8-img-md: Can't find i2c client device for basler_camera_vvcam@36
[ 2.568058] mx8-img-md: Unregistered all entities
[ 2.591150] mx8-img-md: Can't find i2c client device for basler_camera_vvcam@36
[ 2.598701] mx8-img-md: Unregistered all entities
[ 2.694978] audit: type=1006 audit(1647942535.004:2): pid=438 uid=0 old-auid=4294967295 auid=0 tty=(none) old-ses=4294967295 ses=1 res=1
[ 2.757038] 8021q: adding VLAN 0 to HW filter on device eth0
[ 3.102270] caam algorithms registered in /proc/crypto
[ 3.110545] caam 30900000.crypto: caam pkc algorithms registered in /proc/crypto
[ 3.118230] caam 30900000.crypto: registering rng-caam
[ 3.124408] audit: type=1006 audit(1647942535.432:3): pid=360 uid=0 old-auid=4294967295 auid=0 tty=tty7 old-ses=4294967295 ses=2 res=1
[ 3.138489] Device caam-keygen registered
[ 3.144149] mx8-img-md: Can't find i2c client device for basler_camera_vvcam@36
[ 3.151573] mx8-img-md: Unregistered all entities
[ 3.152198] random: crng init done
[ 3.159860] random: 7 urandom warning(s) missed due to ratelimiting
[ 3.176722] mx8-img-md: Can't find i2c client device for basler_camera_vvcam@36
[ 3.184160] mx8-img-md: Unregistered all entities
[ 3.213870] imx-dwmac 30bf0000.ethernet eth1: PHY [stmmac-0:00] driver [ADIN1300] (irq=POLL)
[ 3.220545] mx8-img-md: Can't find i2c client device for basler_camera_vvcam@36
[ 3.233347] mx8-img-md: Unregistered all entities
[ 3.253802] imx-dwmac 30bf0000.ethernet eth1: No Safety Features support found
[ 3.262285] imx-dwmac 30bf0000.ethernet eth1: IEEE 1588-2008 Advanced Timestamp supported
[ 3.271502] imx-dwmac 30bf0000.ethernet eth1: registered PTP clock
[ 3.278386] imx-dwmac 30bf0000.ethernet eth1: configuring for phy/rgmii-id link mode
[ 3.287600] 8021q: adding VLAN 0 to HW filter on device eth1
[ 3.368368] NET: Registered protocol family 38
[ 3.527077] ext2 filesystem being mounted at /run/media/mmcblk2p2 supports timestamps until 2038 (0x7fffffff)
NXP i.MX Release Distro 5.10-hardknott imx8mpsolidrun ttymxc1
imx8mpsolidrun login: [ 10.720393] imx-drm display-subsystem: [drm] Cannot find any crtc or sizes
I have built the image according to the instruction on your repo: GitHub - SolidRun/meta-solidrun-arm-imx8 at hardknott-imx8mp, I did use hardknott branch for this.
Things that I have tried so far:
- I have built image with command
bitbake imx-image-full
, does not work - I have built image with command
bitbake imx-image-core
, does not work - I have tried to flash the sdcard with various dd arguments such as
bs=4K conv=fdatasync
, orbs=1M
, no difference - I have built Yocto image first directly on the server and then in the Docker container, no difference.
Generally I have been flashing the sd card with the command given in your GIthub repo:
bunzip2 -c tmp/deploy/images/imx8mpsolidrun/imx-image-full-imx8mpsolidrun.wic.bz2 | sudo dd of=/dev/sdX bs=1M
What would I like to know:
- How does my image differ from the one that is prebuilt by Solidrun?
- How can I debug this issue?
- Is the problem on my side?