Multi Source Translation Content

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Multi Source Translation Content

ディスカッション

ソート順:
How to develop a C++ Linux app for i.MX 8M nano? There's a doc "Developing an Application for the i.MX Devices on the Linux Platform" from 2010 about using Eclipse to develop an C++ app for Linux. But, Eclipse sucks and is not used much anymore. Seem like a dead tool; at least dead to me 🙂 I did read about a tool called MCUXpresso that's for vscode. But maybe that's only for MCU development; not linux development. True? There is one process that I'm familiar with. That's to create a cross-compiler via yocto to build my C++ app and also to package it into an image. Also, can build an executable via the cross-compiler and scp it to the target. Is this the only way to develop a C++ app for an NXP imx8? i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Linux Yocto Project Re: How to develop a C++ Linux app for i.MX 8M nano? Thanks. ... and I'm not using QT; not that I was asking about that. Re: How to develop a C++ Linux app for i.MX 8M nano? Hello, That's correct is the only way to build a c++ application, but you can download the QTcreator to build c++ and qt application as well. Regards
記事全体を表示
从命令行重新生成启动描述符文件 当前使用带有 iMX RT1176 的安全配置工具 8.0 版本。 我正在尝试从命令行为自己的自定义引导加载程序和主应用程序构建图像。在安全配置工具中,我可以使用“构建映像”选项卡下的“更新文件”按钮“重新生成此构建的所有文件”来更新构建脚本和配置文件。我的问题是两个不同的图像有不同的起始地址,并且似乎 imx_application_gen_win.bd 控制在生成的 .bin 开始时将哪些值放入 IVT文件。我没有找到更新此 .bd 的方法根据命令行中的源可执行映像创建文件。我可以手动创建不同的 .bd这两个图像的文件,但这对于未来的更新来说似乎很混乱。我有一个类似于 build_image_win.bat 的批处理文件,用于在 MCUXpresso 无头模式下构建应用程序,并尝试使用 SPT 似乎使用的 nxpimage hab export 命令使应用程序可启动。 回复:从命令行重新生成启动描述符文件 嗨,布莱恩, 如果您有引导加载程序,为什么还需要构建可引导的应用程序尚不清楚。我认为处理器在重置后会启动引导加载程序,而不是应用程序,所以我认为您不需要可引导的应用程序映像。 MCUXpresso SDK 中有一些关于如何使用“MCUboot”开源引导加载程序的示例,并且 MCUXpresso 安全配置工具 v9 支持此用例,请参阅用户指南了解分步说明。
記事全体を表示
Re-generate boot descriptor file from command line Currently using Secure Provision Tool version 8.0 with the iMX RT1176. I am attempting to build images for my own custom bootloader and main applications from the command line. In secure provisioning tools I am able to 'Regenerate all files for this build' using the "Update files" button under the "Build image" tab to update build scripts and configuration files. My issue is the two different images have different start addresses and it appears the imx_application_gen_win.bd is what controls what values are placed into the IVT at the start of the generated .bin file. I don't see a way for me to update this .bd file based on the source executable image from the command line. I could manually create different .bd files for the two images but this seems messy for future updates. I have a batch file similar to the build_image_win.bat to build the applications in MCUXpresso headless mode and attempt to make the applications bootable by using the nxpimage hab export command that SPT seems to use. Re: Re-generate boot descriptor file from command line It appears that section 8 of the MCUXpresso Secure Provisioning Tool User Guide v9 has the documentation need to build the bootable images from the command line properly. Here is what I changed from what I was originally doing in my build process: I generated .s19 srec files from the .axf files using post build scripts to do the following: arm-none-eabi-objcopy -v -O srec "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.s19" Next in my build script I generate the bootable image using the build command from securep.exe "%SPT%" -w "%SPT_WORKSPACE%" --device MIMXRT1176 build --source-image "%SPT_WORKSPACE%\source_images\boot.s19"   The same thing for the main application. I then am able to find both .bin bootable images in: %UserProfile%\secure_provisioning\bootable_images   Now both images have the correct IVT and boot data structures that previously only had the previous configuration (out of date .bd file) from the last time I opened Secure Provisioning Tools. I hope this helps anyone else trying to automate the build process. Thanks again to @marek-trmac and @liborukropec for pointing me in the right direction.   Best, Brian   Re: Re-generate boot descriptor file from command line Hi Libor, I will upgrade to v9 of the Secure Provisioning Tool. I'm not sure the additional images portion will be as valuable as I will flash the images to varying addresses build-to-build as I create a dynamic file that includes other images for other peripherals that are not fixed in length or position. I'm trying to automate the build process as much as possible and don't want future engineers the need to open up the Secure Provisioning Tool GUI to build each image with the updated IVT and Boot Data Structure. Please see my reply to @marek-trmac for further details. I will explore the hooks in more detail. Thanks, Brian Re: Re-generate boot descriptor file from command line Hi Marek, Thanks for the reply. To further clarify what I am implementing. I have a custom bootloader application that is loaded to QSPI Flash on FlexSPI 2 at 0x6000 0000. My application or bootloader will receive a file containing the bootloader application, arm m7 main application, and additional images for the m4 application and an fpga. My application or bootloader will parse this file and place images in QSPI Flash. When my bootloader reboots and verifies there is a valid arm m7 application it will load it into internal RAM and jump to the application.  Currently, this relies on there being an IVT that is placed in RAM at 0x2000 so my bootloader can read the self address of the IVT and the start absolute address of the image in the boot data structure to be able to jump to the main arm m7 application. #define IVT_ADDRESS 0x2000 static void load_application_image(uint32_t dst, uint32_t offset, uint32_t image_size) {   uint32_t applicationAddress;   uint32_t stackPointer;   uint32_t baseAddress;   baseAddress = NOR_FLEXSPI_AMBA_BASE + offset;   memcpy((void *)dst, (void *)baseAddress, image_size);   uint32_t arm_m7_image_ram = (*(uint32_t *)(IVT_ADDRESS + 20) + *(uint32_t *)(IVT_ADDRESS + 32));   stackPointer = *(uint32_t *)(arm_m7_image_ram); //self + start in ivt   applicationAddress = *(uint32_t *)(arm_m7_image_ram + 4);   jump_to_application(applicationAddress, stackPointer);   }   and    static void jump_to_application(uint32_t applicationAddr, uint32_t stackPointer) {     // Create the function call to the user application.     // Static variables are needed since changed the stack pointer out from under the compiler     // we need to ensure the values we are using are not stored on the previous stack     static uint32_t s_stackPointer = 0;     s_stackPointer = stackPointer;     static void (*s_entry)(void) = 0;     s_entry = (void (*)(void))applicationAddr;     // Turn off interrupts     __disable_irq();     // Set the VTOR to the application vector table address.     SCB->VTOR = (uint32_t)0x2000;     // Memory barriers for good measure.     __ISB();     __DSB();     // Set stack pointers to the application stack pointer.     __set_MSP(s_stackPointer);     __set_PSP(s_stackPointer);     // Jump to the application.     s_entry(); }   This works when I have the IVT and Boot Data Structure at the front of my main arm m7 application hence my reasoning for wanting to append the IVT and Boot Data Structure to the first 0x1000 4KB of my main arm m7 .bin.   I will explore the User Guide and see if I can get the results I want with MCUXpresso Secure Provisioning Tool V9.     Re: Re-generate boot descriptor file from command line Hi Brian, it is not clear why you need to build bootable application if you have bootloader. I suppose the processor starts the bootloader after reset, not the application, so I suppose you do not need bootable application image. There are examples in MCUXpresso SDK how to use "MCUboot" open source bootloader and this use case is supported in MCUXpresso Secure Provisioning tool v9, see User Guide for step-by-step description. Re: Re-generate boot descriptor file from command line Hi Brian, first, could you please upgrade to SEC v9? It brings multiple improvements, including custom hooks which should allow you to be able to add custom scripts without modifying the main build/write scripts created by SEC tool. SEC tool allows "additional" images to be flashed together with the main application, which might be handy for your use case. Using custom "hooks" scripts you can execute your scripts during build & write at different phases of the scripts, without modifying the generated scripts, so special cases not supported by SEC tool can be implemented more easily while still using generated scripts from SEC tool. Could you please describe your use case, what exactly you want to do in SEC tool? Regards, Libor
記事全体を表示
Getting started with S32DS for Power 2.1 + MPC5777CEVB Hello, As suggested in the title, I have just installed S32DS to work with a MPC5777CEVB, which I have been successfully using with the Green Hills compiler suite and probe V4. In my first glance at the documentation, I got a bit confused about the debugging environment: what are the possibilities for connecting the IDE to the board? I (think I) understood I would be able to do this using either an USB Multilink probe or a Lauterbach probe, and I would like to know if it is possible to use the Green Hills probe I already own or a simple USB connection (even if with reduced debugging capabilities). Thanks, Ricardo Re: Getting started with S32DS for Power 2.1 + MPC5777CEVB Hi, you need to use external JTAG debugger, simple USB cable connection is not possible here. It does not seems this version of S32DS would have support for GHS debugger.  Release notes only mentions  - PEMicro debugger support (P&E Multilink/Cyclone/OpenSDA) - Lauterbach Trace32 debugger support - iSYSTEM debugger support - PLS debugger support and  - Green Hills compiler support BR, Petr
記事全体を表示
コマンドラインからブート記述子ファイルを再生成します 現在、Secure Provision Tool バージョン 8.0 と iMX RT1176 を使用しています。 私はコマンドラインから自分のカスタムブートローダーとメインアプリケーションのイメージを構築しようとしています。安全なプロビジョニングツールでは、[ビルドイメージ]タブの[ファイルの更新]ボタンを使用して[このビルドのすべてのファイルを再生成]し、ビルドスクリプトと構成ファイルを更新できます。私の問題は、2つの異なる画像の開始アドレスが異なることであり、生成された.binの開始時にIVTに配置される値を制御するのはimx_application_gen_win.bdのようですファイル。この.bdを更新する方法がわかりませんコマンドラインからのソース実行可能イメージに基づくファイル。私は手動で別の.bdを作成することができます2つのイメージのファイルですが、これは将来の更新では面倒なようです。build_image_win.batと同様のバッチファイルがあり、MCUXpressoヘッドレスモードでアプリケーションをビルドし、SPTが使用していると思われるnxpimage hab exportコマンドを使用してアプリケーションを起動可能にしようとします。 Re: コマンドラインからブート記述子ファイルを再生成します こんにちはブライアン、 ブートローダーがある場合、なぜ起動可能なアプリケーションをビルドする必要があるのかは明らかではありません。リセット後にブートローダーを起動するのはアプリケーションではなく、プロセッサだと思うので、起動可能なアプリケーションイメージは必要ないと思います。 MCUXpresso SDKには、「MCUboot」オープンソースブートローダーの使用方法の例があり、このユースケースはMCUXpressoセキュアプロビジョニングツールv9でサポートされています(ステップバイステップの説明については、ユーザーガイドを参照してください)。
記事全体を表示
S32K3XX SDK 之前使用过S32K1XX的SDK库函数包,请问S32K3XX系列没有这个包了吗,都是基于RTD的例程? 回复:S32K3XX SDK 你好@Embedded_novice , S32K3 只有 RTD,没有类似于 S32K1 的 RTM 版本(已解决:S32K3 - SDK - NXP 社区)。 顺祝商祺! 帕维尔
記事全体を表示
LS1046ARDB run rngtest very slowly on SDK scarthgap 5.0-lf-6.6.36 Hello, I run 'rngtest -c 100 < /dev/hwrng' command on LS1046ARDB. But it takes about 7 minutes to complete it on the latest SDK. TinyLinux needs less than 1 second. What makes rngtest run so slowly on scarthgap SDK? Thanks. On SDK (nxp-qoriq/yocto-sdk scarthgap YP 5.0-lf-6.6.36): root@nxp-ls1046:~# rngd root@nxp-ls1046:~# time rngtest -c 100 < /dev/hwrng rngtest 6.16 Copyright (c) 2004 by Henrique de Moraes Holschuh This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. rngtest: starting FIPS tests... rngtest: bits received from input: 2000032 rngtest: FIPS 140-2 successes: 100 rngtest: FIPS 140-2 failures: 0 rngtest: FIPS 140-2(2001-10-10) Monobit: 0 rngtest: FIPS 140-2(2001-10-10) Poker: 0 rngtest: FIPS 140-2(2001-10-10) Runs: 0 rngtest: FIPS 140-2(2001-10-10) Long run: 0 rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 rngtest: input channel speed: (min=4.624; avg=4.674; max=4.683)Kibits/s rngtest: FIPS tests speed: (min=29.031; avg=30.180; max=30.714)Mibits/s rngtest: Program run time: 417908659 microseconds real 6m57.930s user 0m0.091s sys 0m0.252s U-boot information: U-Boot 2019.10-g3cd9bc3993 (Apr 09 2020 - 05:25:58 +0800) SoC: LS1046AE Rev1.0 (0x87070010) Clock Configuration: CPU0(A72):1800 MHz CPU1(A72):1800 MHz CPU2(A72):1800 MHz CPU3(A72):1800 MHz Bus: 600 MHz DDR: 2100 MT/s FMAN: 700 MHz Reset Configuration Word (RCW): 00000000: 0c150012 0e000000 00000000 00000000 00000010: 11335559 40005012 60040000 c1000000 00000020: 00000000 00000000 00000000 00238800 00000030: 20124000 00003101 00000096 00000001 Model: LS1046A RDB Board Board: LS1046ARDB, boot from SD CPLD: V2.3 PCBA: V2.0 SERDES Reference Clocks: SD1_CLK1 = 156.25MHZ, SD1_CLK2 = 100.00MHZ DRAM: 7.9 GiB (DDR4, 64-bit, CL=15, ECC on) DDR Chip-Select Interleaving Mode: CS0+CS1 SEC0: RNG instantiated Using SERDES1 Protocol: 4403 (0x1133) Using SERDES2 Protocol: 21849 (0x5559) NAND: 512 MiB MMC: FSL_SDHC: 0 Loading Environment from MMC... *** Warning - bad CRC, using default environment EEPROM: NXID v1 In: serial Out: serial Err: serial Net: MMC read: dev # 0, block # 18432, count 128 ... Fman1: Uploading microcode version 106.4.18 PCIe0: pcie@3400000 Root Complex: no link PCIe1: pcie@3500000 Root Complex: no link PCIe2: pcie@3600000 Root Complex: no link FM1@DTSEC3 [PRIME], FM1@DTSEC4, FM1@DTSEC5, FM1@DTSEC6, FM1@TGEC1, FM1@TGEC2 Hit any key to stop autoboot: 0 On TinyLinux: NXP LSDK tiny 2004 (based on Yocto) TinyLinux login: root root@TinyLinux:~# uname -a Linux TinyLinux 5.4.3 #1 SMP PREEMPT Thu Apr 9 00:50:08 CST 2020 aarch64 aarch64 aarch64 GNU/Linux root@TinyLinux:~# rngd Initializing available sources Initializing entropy source hwrng Initializing AES buffer Enabling JITTER rng support Initializing entropy source jitter root@TinyLinux:~# time rngtest -c 100 < /dev/hwrng rngtest 6.7 Copyright (c) 2004 by Henrique de Moraes Holschuh This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. rngtest: starting FIPS tests... rngtest: bits received from input: 2000032 rngtest: FIPS 140-2 successes: 100 rngtest: FIPS 140-2 failures: 0 rngtest: FIPS 140-2(2001-10-10) Monobit: 0 rngtest: FIPS 140-2(2001-10-10) Poker: 0 rngtest: FIPS 140-2(2001-10-10) Runs: 0 rngtest: FIPS 140-2(2001-10-10) Long run: 0 rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 rngtest: input channel speed: (min=733.596; avg=1695.421; max=2384.186)Mibits/s rngtest: FIPS tests speed: (min=28.215; avg=66.016; max=83.290)Mibits/s rngtest: Program run time: 30115 microseconds real 0m0.032s user 0m0.032s sys 0m0.000s Would you please check it on your environment? Thanks, MinWang@WindRiver Re: LS1046ARDB run rngtest very slowly on SDK scarthgap 5.0-lf-6.6.36 This behavior  is expected. Previously CAAM RNG was configured to run as a PRNG (Pseudo RNG). Currently it’s been fixed to run as a TRNG (True RNG), as required by the Linux kernel hwrng framework (which covers /dev/hwrng). Re: LS1046ARDB run rngtest very slowly on SDK scarthgap 5.0-lf-6.6.36 Thanks. Can you give me the explanation why 7-minute is reasonable? I need it to convince our test team.  I used 'strace' command on testing and found it took about 4.2s for each read(0,xxx). See below log. root@ls1046ardb:~# strace -tt -T -v -f rngtest -c 100 < /dev/hwrng 12:56:20.227293 execve("/usr/bin/rngtest", ["rngtest", "-c", "100"], ["SHELL=/bin/sh", "EDITOR=vi", "PWD=/home/root", "LOGNAME=root", "MOTD_SHOWN=pam", "HOME=/home/root", "TERM=vt102", "USER=root", "SHLVL=1", "PS1=\\u@\\h:\\w\\$ ", "HUSHLOGIN=FALSE", "PATH=/usr/local/bin:/usr/bin:/bi"..., "MAIL=/var/spool/mail/root", "_=/usr/bin/strace"]) = 0 <0.003006> 12:56:20.230603 brk(NULL) = 0xaaaad9703000 <0.000020> 12:56:20.230749 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xffff80df3000 <0.000026> 12:56:20.230878 faccessat(AT_FDCWD, "/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) <0.000024> 12:56:20.230988 openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 <0.001364> 12:56:20.232419 fstat(3, {st_dev=makedev(0, 0x15), st_ino=16944659, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=80, st_size=37959, st_atime=1731896998 /* 2024-11-18T02:29:58.472686587+0000 */, st_atime_nsec=472686587, st_mtime=1520598896 /* 2018-03-09T12:34:56+0000 */, st_mtime_nsec=0, st_ctime=1730452190 /* 2024-11-01T09:09:50.401803864+0000 */, st_ctime_nsec=401803864}) = 0 <0.000021> 12:56:20.232682 mmap(NULL, 37959, PROT_READ, MAP_PRIVATE, 3, 0) = 0xffff80de9000 <0.000022> 12:56:20.232750 close(3) = 0 <0.000025> 12:56:20.232827 openat(AT_FDCWD, "/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 <0.007364> 12:56:20.240253 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\0\207\2\0\0\0\0\0"..., 832) = 832 <0.000020> 12:56:20.240332 fstat(3, {st_dev=makedev(0, 0x15), st_ino=17986030, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=3232, st_size=1650968, st_atime=1731896998 /* 2024-11-18T02:29:58.479686587+0000 */, st_atime_nsec=479686587, st_mtime=1520598896 /* 2018-03-09T12:34:56+0000 */, st_mtime_nsec=0, st_ctime=1730452190 /* 2024-11-01T09:09:50.650803849+0000 */, st_ctime_nsec=650803849}) = 0 <0.000018> 12:56:20.240439 mmap(NULL, 1826688, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_DENYWRITE, -1, 0) = 0xffff80bfc000 <0.000022> 12:56:20.240506 mmap(0xffff80c00000, 1761152, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0xffff80c00000 <0.000039> 12:56:20.240589 munmap(0xffff80bfc000, 16384) = 0 <0.000018> 12:56:20.240648 munmap(0xffff80dae000, 49024) = 0 <0.000016> 12:56:20.240705 mprotect(0xffff80d8b000, 73728, PROT_NONE) = 0 <0.000024> 12:56:20.240771 mmap(0xffff80d9d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18d000) = 0xffff80d9d000 <0.000023> 12:56:20.240853 mmap(0xffff80da2000, 49024, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xffff80da2000 <0.000024> 12:56:20.240944 close(3) = 0 <0.000015> 12:56:20.241028 set_tid_address(0xffff80df3ef0) = 1095 <0.000014> 12:56:20.241082 set_robust_list(0xffff80df3f00, 24) = 0 <0.000013> 12:56:20.241135 rseq(0xffff80df4540, 0x20, 0, 0xd428bc00) = 0 <0.000013> 12:56:20.241276 mprotect(0xffff80d9d000, 12288, PROT_READ) = 0 <0.000027> 12:56:20.241373 mprotect(0xaaaad712f000, 4096, PROT_READ) = 0 <0.000020> 12:56:20.241440 mprotect(0xffff80df8000, 8192, PROT_READ) = 0 <0.000022> 12:56:20.241533 prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0 <0.000015> 12:56:20.241642 munmap(0xffff80de9000, 37959) = 0 <0.000039> 12:56:20.241749 getrandom("\xb6\x24\x3c\x6e\x52\x70\x6a\x7c", 8, GRND_NONBLOCK) = 8 <0.000016> 12:56:20.241816 brk(NULL) = 0xaaaad9703000 <0.000014> 12:56:20.241870 brk(0xaaaad9724000) = 0xaaaad9724000 <0.000017> 12:56:20.241980 write(2, "rngtest 6.16\nCopyright (c) 2004 "..., 128rngtest 6.16 Copyright (c) 2004 by Henrique de Moraes Holschuh This is free software; see the source for copying conditions. Th) = 128 <0.000024> 12:56:20.242052 write(2, "ere is NO warranty; not even for"..., 87ere is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ) = 87 <0.000020> 12:56:20.242119 rt_sigaction(SIGTERM, {sa_handler=0xaaaad7111940, sa_mask=[], sa_flags=0}, NULL, 😎 = 0 <0.000015> 12:56:20.242187 rt_sigaction(SIGINT, {sa_handler=0xaaaad7111940, sa_mask=[], sa_flags=0}, NULL, 😎 = 0 <0.000014> 12:56:20.242255 write(2, "rngtest: starting FIPS tests...\n", 32rngtest: starting FIPS tests... ) = 32 <0.000067> 12:56:20.575329 read(0, "1`\305m", 4) = 4 <0.000058> 12:56:20.575493 read(0, "\0060;{sV\27\25\314\350=\322\16\300x\276q~r=\366\214?c\376,Z8\376\nP\24"..., 2500) = 2500 <4.171011> 12:56:24.747346 read(0, "q\327\205c\200\264q\363\331\236\234\334\261\360\242\261R3\3\10_\4/l?\237-xO\230\224<"..., 2500) = 2500 <4.170192> 12:56:28.918362 read(0, "\177\314\354\326\343\371z9\34\255n\7G\30\302\311\336`\t6Mi\340\17\316\346\221F\360j\21\10"..., 2500) = 2500 <4.170233> 12:56:33.089414 read(0, "\204~*\254X\214A\337\204\320\353\313Y\27\24D\323\226\34Q\365@\303\374O\32\326\321\253\242gV"..., 2500) = 2500 <4.196976> 12:56:37.287244 read(0, "\34\300\3308\32\235]\7%\363\16d\t)\234\253\204\361\34\206\247TV\341\254\201\261D\315\251F\234"..., 2500) = 2500 <4.170207> 12:56:41.458283 read(0, "\336\r\"M\235\10\262@\341\326\354J\256\321\\\224U\244\211\322TQ\263\232\363\233J:\314\n\316\256"..., 2500) = 2500 <4.170230> 12:56:45.629342 read(0, "\32`\222\205o\377\235\253\0~~\373:\274\311F\2636I\334!\352\267\306\345\220\234\360\341\375\23\226"..., 2500) = 2500 <4.170225> 12:56:49.800395 read(0, "\377\37\242\376\323\333\245\325\27\333\366\22\17M\342\233\234\265;0\257[\25\237VFk$\3535\326<"..., 2500) = 2500 <4.196967> 12:56:53.998191 read(0, "\270\221\335\236S\211Y]\273\363\367X\2w\341\33\226E\336g\316\315\313\220L\261\333\27\272\322Z\300"..., 2500) = 2500 <4.170222> 12:56:58.169226 read(0, "k\316/$o\2605~9\346\0\251\4\362\241l\37x\330!\270v\2\37\fV\255Z\324m\241}"..., 2500) = 2500 <4.170255> 12:57:02.340313 read(0, "\322\334c\326\242\236\317\363\250L\347\306(A\321\235}\333/)e\2\203\0006\247YD\37\324\246+"..., 2500) = 2500 <4.170247> 12:57:06.511398 read(0, "\212Z)X\233\253\37\360\24444\5\345R\354\354%d\266d]L\376\204\177\347\366i\34R\336\f"..., 2500) = 2500 <4.196931> 12:57:10.709180 read(0, "\263\265\335OE\202\302\331\305t\10\271/\16}ct\22\33)E\360\330\307\242pw\212\334/\202\234"..., 2500) = 2500 <4.196932> 12:57:14.906976 read(0, "?\230\363\227\315\372\24\214\212\375\311\221\246x84\336\2733\17\314\0P\27\311\341S'~*\225\241"..., 2500) = 2500 <4.170207> 12:57:19.078037 read(0, "\342\271\"\300\342)\\@\336w\37O\304!\376\371\4C\f\330T\0105\376\35\177\301\376\10\260\257c"..., 2500) = 2500 <4.170192> 12:57:23.249077 read(0, "Y\36#\262N\225\363\22\324\354\363\315\32\36\236U6W\241\242+3*C\0\262R\210\351\345g\273"..., 2500) = 2500 <4.196950> 12:57:27.446882 read(0, "~G\245Ot\306\303d\212\364\20,\257/h\300 12:57:31.617919 read(0, "\35\26\202\360)\302\0\267\0351\270\352\263q_J'e=G\233#\375\341t\216\363\350\241\327\313\277"..., 2500) = 2500 <4.170225> 12:57:35.788977 read(0, "\201}\36\232\251(\327\364\266s\332\306\242\311\177iu\305\323\356\0\222]c\247\335\2217\320F\330C"..., 2500) = 2500 <4.170224> 12:57:39.960039 read(0, "\f\31l\220J\255\316k0I\230-\371\224\214!$m\257\363\7\274\213^\353\334vM\30\340\273\261"..., 2500) = 2500 <4.196953> 12:57:44.157822 read(0, "\v\276\311\313\226I\320\304\3\25\371k\216V\24\34}i7_\tc\266\330C\26\301\232+q\21\337"..., 2500) = 2500 <4.170229> 12:57:48.328868 read(0, "\327$\235\200\246\322\210\366\246\342\351\331\325\202x\333\16T\377)\317\237\362D[\336\\\3\34\354W\2"..., 2500) = 2500 <4.170241> 12:57:52.499941 read(0, "I\305a#\202\370\2776p\213V\361{z\24\275\201\7[\26\203\307c\35\370C?%\307\1i_"..., 2500) = 2500 <4.170219> 12:57:56.671006 read(0, "Y&sp\320\227\340[\243\311\270i\330\211\f\273\16\245\236u\257\344u*\346\251\226\360_\262m\215"..., 2500) = 2500 <4.196958> 12:58:00.868809 read(0, "\265\330\354\16\321\344W$\251\311\300\375-\17\335\221C,\"\376\366\254\302M\304:\37\365\213\213\223h"..., 2500) = 2500 <4.170206> 12:58:05.039857 read(0, "\275\201AIwz\241+\35\255\2424\320\364\330\334\0o\353\261\27U\f\34oGMm\330Q\f\236"..., 2500) = 2500 <4.170209> 12:58:09.210927 read(0, "\35\27\323\252\274\252XL\360K\35\234O\245\367)\217!P\336\267\323v\375\376\227\300\360(\"~\""..., 2500) = 2500 <4.170202> 12:58:13.381960 read(0, "\277m\335?\330\307i\347\217>\6l\16M\316q\302\245\310\3\265Hq\7\210\327\241\272D\253T\226"..., 2500) = 2500 <4.223692> 12:58:17.606489 read(0, "M+\23\216\216B\355\367\372\24x\373}Cf\253\203\302\227 \2035\272\27\200z\217\245#\177\277!"..., 2500) = 2500 <4.170225> 12:58:21.777545 read(0, "\225&SZCo\205\22:73\263\215v\201L=\226\362\357\317\17!\33l\243\fC3\235\306\334"..., 2500) = 2500 <4.170215> 12:58:25.948581 read(0, "6bH\354r\215\324\203b5\204z#\217\2616\364\271\317D\252>\0\330\244\300\317\24\360\340\323\206"..., 2500) = 2500 <4.170242> 12:58:30.119648 read(0, "\376\302\304\35[\224\5\307I,L\311\03505A\207\252\356=\237\3555R\266\177v\374\17\215\363\262"..., 2500) = 2500 <4.196964> 12:58:34.317432 read(0, ".\265\316[O\26\266\27\375n\267\35?\231\300\366\206\234\340\224\337z\234s@rp\276\366\353\214\247"..., 2500) = 2500 <4.170241> 12:58:38.488491 read(0, "&~-]\10\373@BjIko*\"g\242f\256\347K\310e\326\227\271C\302\233\250E\ve"..., 2500) = 2500 <4.170236> 12:58:42.659544 read(0, "\201?\305\20\265&\333\240\34\211+\231\323\r\367\362\35o\251\351)\246\332q\223\354\301\3674\"\361\\"..., 2500) = 2500 <4.170245> 12:58:46.830647 read(0, "\0<\220O\302\350\342\354b\3100Oy\203\254\224'\209h\354\342\224\2720l\333\317\257\210\322\265"..., 2500) = 2500 <4.196935> 12:58:51.028399 read(0, "\227\352\226\\\314\0040\363\v\204\322\370{5\305D\203\326\240\35t\277\37\372\24\310\237Q_\232\261\254"..., 2500) = 2500 <4.170236> 12:58:55.199458 read(0, "\361\302H\203;@\364\36[\233\177e:\374\357{u?<\3074\34+\2110O\252\0\311\230.f"..., 2500) = 2500 <4.170232> 12:58:59.370500 read(0, "\201\320\324\225\352v\324p63\220\234\236\21\321\210Q\275C\362\224\250\323\263\36\347\35\214q$\204\7"..., 2500) = 2500 <4.170259> 12:59:03.541590 read(0, "G' )R\34\217H\0\317\277B\226c\212\vTTZ\302\3576\2767Y\251\317\2659H\375G"..., 2500) = 2500 <4.196897> 12:59:07.739333 read(0, "\255\274~\352\207\264xl!\17\336`p@fX\265\1\25&4\26\22\304\264\214\264\377\35\311\237\7"..., 2500) = 2500 <4.170284> 12:59:11.910471 read(0, "\237\324\360:7\307\261\235\376\17\24\365V\351\331\243\25\252nE\227fm\244\213\203\204%\211#\221\356"..., 2500) = 2500 <4.170190> 12:59:16.081501 read(0, "vc\331m\24MOX\301\32h\2629\336\315\3070\333Xt\265Z^\305\3701_\325\320\276\23\376"..., 2500) = 2500 <4.196967> 12:59:20.279350 read(0, "j\356\3214\220\221\n\232\242\260b\267vB3\253\31\206K\327\373\262\351\364\242@\225\207_\265\362M"..., 2500) = 2500 <4.196903> 12:59:24.477095 read(0, "\202\246\0\263\267\r\322\205t\5\330\2[10\1?\371\236\314\3\236\0175\272\260\320\325\311\267\35o"..., 2500) = 2500 <4.170204> 12:59:28.648131 read(0, "\254\323Y\301>`z\367NF\320\3752\231\244ZA))\34'o~H\224{\314e\374y:\316"..., 2500) = 2500 <4.170229> 12:59:32.819202 read(0, ";\365X\352U\355\27\31\v\25k2\1\36t\n4\314\262\235-\334\22N\323\300\345Q>-{e"..., 2500) = 2500 <4.170214> 12:59:36.990241 read(0, "K\v\301\254\301\216^\237\305\373\357\206q\4XY\316/\240:\345\2t}\267\376W\354M\260\26\262"..., 2500) = 2500 <4.196970> 12:59:41.188043 read(0, "\24\331@\310\377\331QRE\211\214L]n\216\202>\277\0043\n >\316\335\230Z\31\345\340\271'"..., 2500) = 2500 <4.170219> 12:59:45.359115 read(0, "\254\2\244\2030\317'\1\326\251\374\333.m&9'']\n\210\206a\207\335\357\n\310^w#z"..., 2500) = 2500 <4.170210> 12:59:49.530146 read(0, "1\222\336H\34\272$\236Tl\372\267\366i\375\365\347-\341\365\364\"\326\321s\373i,\302fS\225"..., 2500) = 2500 <4.170232> 12:59:53.701201 read(0, "\305\3053\204\311\217\2476\307\21\352\235\364\333\260&\230\315\212P\30c\260hQ\1\262\203(\266%\372"..., 2500) = 2500 <4.196972> 12:59:57.899020 read(0, "\341\317/\302\276\245\254\216\271\260Af\272\253\334l\362\303\231\2357S\375\316\2347\1P\7;\254\241"..., 2500) = 2500 <4.170220> 13:00:02.070082 read(0, "(\326\325s\234\315]\257\357\34\36\307\344\357;\352\205\353=\241\tG\313\335Z\323\4\6\343\271W\16"..., 2500) = 2500 <4.170206> 13:00:06.241124 read(0, ".\205\332\244\321\265H\331\20\3313\32O\340\334/\330\240\253\243\343\214F\\rh\17\201}E\30\244"..., 2500) = 2500 <4.170217> 13:00:10.412190 read(0, "\366\224\325X\212\340#[Y\5\372\341\303\5\377\366\220i~m>\306AQD\20>\305\361\250+\221"..., 2500) = 2500 <4.196959> 13:00:14.610001 read(0, "\26\312\32\203\336\305M_\353\33\316gDg@k\262\274)\350\300\318Y\342\322\r\35\311*\332'"..., 2500) = 2500 <4.196911> 13:00:18.807742 read(0, "\303\21h\2470\263\0307y\263&\267\227\250\342\302R\\\16\341\263\272\332|\233!\263\\\310\247\367&"..., 2500) = 2500 <4.170256> 13:00:22.978857 read(0, "\21k5\344\223\22Jfcy^\304e\273E\205A\23\230\364w\262\7\242\351\310\224lM)\222\202"..., 2500) = 2500 <4.170192> 13:00:27.149872 read(0, "~\220TQ\3\303\351\24'\16\224\22\245<\366ZM\347\210\260\"\334?^\2\30\3628\32B\2\177"..., 2500) = 2500 <4.196981> 13:00:31.347685 read(0, "\334nj]\307\177\177\r\3322\322\35o<\301\216\204\227\212(\202--\321\222\316\257\216@?a\226"..., 2500) = 2500 <4.170222> 13:00:35.518769 read(0, "\7EW\347O\230 \3451\320d2\315\246Us8\271\205\334\277Z\371sQ\365\376\341@\235\331\372"..., 2500) = 2500 <4.170197> 13:00:39.689791 read(0, "T\24\316\267\35\6\367=\33I\f\204\2565\311\354\35\240c\234 \21\334\321\243\332\33:\275\307\210T"..., 2500) = 2500 <4.170230> 13:00:43.860842 read(0, "\2252\312\345\226\v\315f\10}\250~\255q\324\267\344?\7\4\255|$G\330\203Xm\321\264\314\361"..., 2500) = 2500 <4.196974> 13:00:48.058653 read(0, "X\4\366\227l\232/\34\203\272\343\374EB\354Q\202\345\2470\337rI\37.M\26\232\37\216]\266"..., 2500) = 2500 <4.170220> 13:00:52.229708 read(0, "\306\264\337b\373\10\373~\203\\\257\225\344^\253,\\\30~\314<\36\235\275\3\337H\220;X\7\304"..., 2500) = 2500 <4.170222> 13:00:56.400761 read(0, "X\241\5\351\374\35\2554\311\352\262(!\337<\240\"\7[\346Te\3531m4>YQ\277:Z"..., 2500) = 2500 <4.170223> 13:01:00.571814 read(0, "\244r;X\203if@+\274\324\371i\342\272\10\"\233\273\30W\\\4\356m\315`\350\367[\211:"..., 2500) = 2500 <4.196972> 13:01:04.769613 read(0, "m\2331\336?\2465\250RV\202R\365l{^:\"\177\314\273\223_]q|w\350\257\274U\227"..., 2500) = 2500 <4.170217> 13:01:08.940665 read(0, "\344\233\350\263u2Z\240b\230\221\262h\246\246ux\255\26n\235\10\313T$\351T\351\3179VK"..., 2500) = 2500 <4.170225> 13:01:13.111716 read(0, "\377\266\354\t\203\257\340iX\3208\355\224\21\305\22\201w\270\224\25(c\253\237k\222\231\327\206\16\213"..., 2500) = 2500 <4.170238> 13:01:17.282834 read(0, "qx\232o\346\16!\3358\27\2028\264\357\302\372\4^\204tAY\304\231\23\344;.z+\362\201"..., 2500) = 2500 <4.223633> 13:01:21.507346 read(0, "\33s\245Im\226/\303H\241O\343\32\rwOZ/\312\242v\301\31\30\241\376\222\244r\315l\345"..., 2500) = 2500 <4.170186> 13:01:25.678347 read(0, "(\365S\263nL\363\265M\3408\27i\333W\345\224\353x\373yH\376\366\253\301\206\363\353\22\210g"..., 2500) = 2500 <4.170238> 13:01:29.849411 read(0, "3\343\3\351?\352\3753\324\250y\33\21f5\345@-PGg\331\305\305c\277\362\374cEn\t"..., 2500) = 2500 <4.170233> 13:01:34.020465 read(0, "}\210Z\36J\347\341\354\6J\217(\335\254\342J\21\231\205\266\340\274\332\365\211\1m\27\241\26\32\316"..., 2500) = 2500 <4.196971> 13:01:38.218261 read(0, "\274:_\17\17?\246\244c\5\2214\21G\v\370\335\22\2544\3\324r\3362kW\210\316\301U1"..., 2500) = 2500 <4.170234> 13:01:42.389321 read(0, "\233\203\242@\2\352\301\371\253P\224r\322\24\206\214&@\207\223\344\232:\342\336Sf\"*\16\254\342"..., 2500) = 2500 <4.170226> 13:01:46.560373 read(0, "v\302\235r\24?}\261\253\2525\252\266T\37\317\254\302\200\301\tk\330\3\356R\270\226\276;\252h"..., 2500) = 2500 <4.170239> 13:01:50.731439 read(0, "\235;u\21\232X.Z\247\365\264\362j5K~\327\244\247\357Ab+\232\362w\264\16\210\3056!"..., 2500) = 2500 <4.196961> 13:01:54.929226 read(0, "H\334v\n\254_\366Q\277UhX\177\374Bx\203\202\177o[\344\317,U\327\ru\221\27\363\304"..., 2500) = 2500 <4.170234> 13:01:59.100278 read(0, "y\332\16\247w6\300\264\236\243\340,\262\2A\257S\205\3404\366\372\n\354\347\16z+Z,'\7"..., 2500) = 2500 <4.170272> 13:02:03.271393 read(0, "z\223W\2721\227\241S\204kM\373D6\30C\245\216\302\314!,\334\356<\226\343\263 !\3k"..., 2500) = 2500 <4.170181> 13:02:07.442428 read(0, "!\3\212\267K\352\251\275W|\340\350\10\265\240\356\275vY\332\1\314\223b\34\240\231\246\202\204\207U"..., 2500) = 2500 <4.196931> 13:02:11.640192 read(0, "\2364\347\226f\350}\0$\223:\31\222s\335\245\4\330\377\353x\205\344vn\3237\233\320Td6"..., 2500) = 2500 <4.170240> 13:02:15.811314 read(0, "\22C#\225\332a\222\343\37U\321\234P\241\3128\341\204\245)\354\vzu1.\356\2020=\2426"..., 2500) = 2500 <4.170161> 13:02:19.982299 read(0, "\7f\204s\365o\363\371]\222\16f\331\25t\372\312x\2\263\252A:\6\322\322\205\350\261h\n\360"..., 2500) = 2500 <4.196990> 13:02:24.180128 read(0, "./Gzs\245?\30\271q\\\223g\323\377&m\244I\275\223\t\222Q\n\364[8\306H\323\357"..., 2500) = 2500 <4.196945> 13:02:28.377896 read(0, "\32\363\322\264\272\242\215\372\0237\342\246\276\364\237\247-c\265\3\321:\241\324Q\244_nR\352\ni"..., 2500) = 2500 <4.170240> 13:02:32.548968 read(0, "\330\307:\213\tDh\262\347%<\252d\337\355L\264dLi}\375\372P^m\373\364\247-:\233"..., 2500) = 2500 <4.170222> 13:02:36.720012 read(0, "\332t\364\277\347\372\351\370\376\"\254\257\361\275\356h\225$\324\275\342^\313\32\311M#\361T\221\301$"..., 2500) = 2500 <4.170234> 13:02:40.891104 read(0, "\262\220<\323\341\21rY\33\327\3353p\247RI\206\31O_X\342\351\232\3\32\303\350\252\251\354\355"..., 2500) = 2500 <4.196938> 13:02:45.088873 read(0, "\257\30\317\36\274\351QE%\6\211\363\23\256\354\376m\252\223?Q!\353-N?}V#\360\26["..., 2500) = 2500 <4.170223> 13:02:49.259925 read(0, "/\264\300\203g\3\2P\2W\272\324\246{\3a\220\2\333~\23\244\313~\374\rL\354aF\331I"..., 2500) = 2500 <4.170235> 13:02:53.431018 read(0, "\241v\211\303\256\224\252\32S\23\t}lM\234\255\10\233\334\221\330\33\275\265\356B\362\25k)\331\\"..., 2500) = 2500 <4.170188> 13:02:57.602035 read(0, "\311\234\5\215\17]\203\0\315m(\374\352\273\243\v\25\314\203\374\214z\232\226\216\2025*\217,\317!"..., 2500) = 2500 <4.196977> 13:03:01.799851 read(0, "\242i\27h\32\351\215\206\337\243j\247xwZ\211\30G\320\242d_\252\203t\343\255@\203\333\1\260"..., 2500) = 2500 <4.170212> 13:03:05.970927 read(0, ",\24\224=\ts70\255\26y\330Z\307<\10\231>\27\221\221\234X\23=\2172%\217H}\326"..., 2500) = 2500 <4.170191> 13:03:10.141947 read(0, "\256\307\367T\2302\362\31\274\322d\373\\S`t\341\263\271\211{A1&U\37\24os\\\271\206"..., 2500) = 2500 <4.170228> 13:03:14.312999 read(0, "<\232\362\314\240K\324C\377\322\315\252Q\177Z\201'W\222\307g\35\212?\277\343e.\244\2633\25"..., 2500) = 2500 <4.196972> 13:03:18.510843 write(2, "rngtest: bits received from inpu"..., 43rngtest: bits received from input: 2000032 ) = 43 <0.000068> 13:03:18.511079 write(2, "rngtest: FIPS 140-2 successes: 1"..., 35rngtest: FIPS 140-2 successes: 100 ) = 35 <0.000063> 13:03:18.511288 write(2, "rngtest: FIPS 140-2 failures: 0\n", 32rngtest: FIPS 140-2 failures: 0 ) = 32 <0.000065> 13:03:18.511485 write(2, "rngtest: FIPS 140-2(2001-10-10) "..., 43rngtest: FIPS 140-2(2001-10-10) Monobit: 0 ) = 43 <0.000048> 13:03:18.511658 write(2, "rngtest: FIPS 140-2(2001-10-10) "..., 41rngtest: FIPS 140-2(2001-10-10) Poker: 0 ) = 41 <0.000046> 13:03:18.511827 write(2, "rngtest: FIPS 140-2(2001-10-10) "..., 40rngtest: FIPS 140-2(2001-10-10) Runs: 0 ) = 40 <0.000046> 13:03:18.511995 write(2, "rngtest: FIPS 140-2(2001-10-10) "..., 44rngtest: FIPS 140-2(2001-10-10) Long run: 0 ) = 44 <0.000046> 13:03:18.512164 write(2, "rngtest: FIPS 140-2(2001-10-10) "..., 50rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 ) = 50 <0.000046> 13:03:18.512342 write(2, "rngtest: input channel speed: (m"..., 72rngtest: input channel speed: (min=4.624; avg=4.674; max=4.683)Kibits/s ) = 72 <0.000049> 13:03:18.512524 write(2, "rngtest: FIPS tests speed: (min="..., 72rngtest: FIPS tests speed: (min=28.856; avg=30.231; max=30.863)Mibits/s ) = 72 <0.000048> 13:03:18.512694 write(2, "rngtest: Program run time: 41827"..., 50rngtest: Program run time: 418270423 microseconds ) = 50 <0.000049> 13:03:18.512907 exit_group(0) = ? 13:03:18.513303 +++ exited with 0 +++ Re: LS1046ARDB run rngtest very slowly on SDK scarthgap 5.0-lf-6.6.36 Yes, I believe 7-minute result is reasonable.  Re: LS1046ARDB run rngtest very slowly on SDK scarthgap 5.0-lf-6.6.36 Thanks for your help. I want to know whether it is a bug or not. Or you think about 7-minute result is reasonable. Re: LS1046ARDB run rngtest very slowly on SDK scarthgap 5.0-lf-6.6.36 I did replicate your test in the ls1046afrwy and the result is as expected: The difference with tiny linux is faster due to the configuration, system service and daemons running on the SDK. For tinyLinux its core system can run entirely in RAM, contributing to rapid boot times and efficient resource utilization. Re: LS1046ARDB run rngtest very slowly on SDK scarthgap 5.0-lf-6.6.36 Hello, Thanks for your help. My test step lists as below: 1. Power on LS1046ARDB and hit any key to stop autoboot when uboot runs. 2. Load image and dtb file by uboot.  The image and dtb are built by SDK scarthgap-6.6.36. Use NFS as rootfs. => setenv dir qoriq-6.6.36/ls1046;setenv imgfile $dir/Image;setenv fdtfile $dir/fsl-ls1046a-rdb-sdk.dtb;setenv serverip 128.224.34.139;setenv ipaddr 128.224.166.226;setenv gatewayip 128.224.166.1;setenv netmask 255.255.255.0;setenv fdt_high 0xffffffff => setenv nfsboot 'setenv bootargs root=/dev/nfs rw nfsroot=$serverip:/tftpboot/$dir/rootfs,v3,tcp ip=dhcp console=ttyS0,115200 earlycon=uart8250,mmio,0x21c0500;tftp 0x81000000 $imgfile;tftp 0x90000000 $fdtfile;booti 0x81000000 - 0x90000000' => run nfsboot 3. After system boots up, run test commands: root@ls1046ardb:~# rngd root@ls1046ardb:~# time rngtest -c 100 < /dev/hwrng The entire logs list below as your reference:  NOTICE: UDIMM 18ASF1G72AZ-2G6B1 NOTICE: 8 GB DDR4, 64-bit, CL=15, ECC on, CS0+CS1 NOTICE: BL2: v2.8(release):lf-6.6.3-1.0.0-0-g8dbe28631-dirty NOTICE: BL2: Built : 17:57:56, Jan 22 2024 NOTICE: BL2: Booting BL31 NOTICE: BL31: v2.8(release):lf-6.6.3-1.0.0-0-g8dbe28631-dirty NOTICE: BL31: Built : 17:57:56, Jan 22 2024 NOTICE: Welcome to ls1046ardb BL31 Phase U-Boot 2023.04+fsl+gf8a2983ec83+p0 (Mar 04 2024 - 07:25:04 +0000) SoC: LS1046AE Rev1.0 (0x87070010) Clock Configuration: CPU0(A72):1800 MHz CPU1(A72):1800 MHz CPU2(A72):1800 MHz CPU3(A72):1800 MHz Bus: 600 MHz DDR: 2100 MT/s FMAN: 700 MHz Reset Configuration Word (RCW): 00000000: 0c150012 0e000000 00000000 00000000 00000010: 11335559 40005012 60040000 c1000000 00000020: 00000000 00000000 00000000 00238800 00000030: 20124000 00003101 00000096 00000001 Model: LS1046A RDB Board Board: LS1046ARDB, boot from SD CPLD: V2.3 PCBA: V2.0 SERDES Reference Clocks: SD1_CLK1 = 156.25MHZ, SD1_CLK2 = 100.00MHZ DRAM: 7.9 GiB (DDR4, 64-bit, CL=15, ECC on) DDR Chip-Select Interleaving Mode: CS0+CS1 Using SERDES1 Protocol: 4403 (0x1133) Using SERDES2 Protocol: 21849 (0x5559) PCIe1: pcie@3400000 Root Complex: no link PCIe2: pcie@3500000 Root Complex: no link PCIe3: pcie@3600000 Root Complex: no link Core: 58 devices, 19 uclasses, devicetree: separate NAND: 512 MiB MMC: FSL_SDHC: 0 Loading Environment from MMC... *** Warning - bad CRC, using default environment EEPROM: NXID v1 In: serial Out: serial Err: serial SEC0: RNG instantiated Net: MMC read: dev # 0, block # 18432, count 128 ... Fman1: Uploading microcode version 106.4.18 eth0: fm1-mac3, eth1: fm1-mac4, eth2: fm1-mac5, eth3: fm1-mac6, eth4: fm1-mac9, eth5: fm1-mac10 Hit any key to stop autoboot: 0 => setenv dir qoriq-6.6.36/ls1046;setenv imgfile $dir/Image;setenv fdtfile $dir/fsl-ls1046a-rdb-sdk.dtb;setenv serverip 128.224.34.139;setenv ipaddr 128.224.166.226;setenv gatewayip 128.224.166.1;setenv netmask 255.255.255.0;setenv fdt_high 0xffffffff => setenv nfsboot 'setenv bootargs root=/dev/nfs rw nfsroot=$serverip:/tftpboot/$dir/rootfs,v3,tcp ip=dhcp console=ttyS0,115200 earlycon=uart8250,mmio,0x21c0500;tftp 0x81000000 $imgfile;tftp 0x90000000 $fdtfile;booti 0x81000000 - 0x90000000' => run nfsboot Using fm1-mac3 device TFTP from server 128.224.34.139; our IP address is 128.224.166.226; sending through gateway 128.224.166.1 Filename 'qoriq-6.6.36/ls1046/Image'. Load address: 0x81000000 Loading: ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################### 886.7 KiB/s done Bytes transferred = 49889792 (2f94200 hex) Using fm1-mac3 device TFTP from server 128.224.34.139; our IP address is 128.224.166.226; sending through gateway 128.224.166.1 Filename 'qoriq-6.6.36/ls1046/fsl-ls1046a-rdb-sdk.dtb'. Load address: 0x90000000 Loading: ### 778.3 KiB/s done Bytes transferred = 31894 (7c96 hex) ## Flattened Device Tree blob at 90000000 Booting using the fdt blob at 0x90000000 Working FDT set to 90000000 Loading Device Tree to 000000008ffe5000, end 000000008ffffc95 ... OK Working FDT set to 8ffe5000 WARNING failed to get smmu node: FDT_ERR_NOTFOUND WARNING failed to get smmu node: FDT_ERR_NOTFOUND Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd082] [ 0.000000] Linux version 6.6.36-gd23d64eea511 (oe-user@oe-host) (aarch64-fsl-linux-gcc (GCC) 13.3.0, GNU ld (GNU Binutils) 2.42.0.20240716) #1 SMP PREEMPT Wed Sep 4 08:22:45 UTC 2024 [ 0.000000] KASLR enabled [ 0.000000] Machine model: LS1046A RDB Board [ 0.000000] earlycon: uart8250 at MMIO 0x00000000021c0500 (options '') [ 0.000000] printk: bootconsole [uart8250] enabled [ 0.000000] efi: UEFI not found. [ 0.000000] OF: reserved mem: initialized node bman-fbpr, compatible id fsl,bman-fbpr [ 0.000000] OF: reserved mem: 0x00000009ff000000..0x00000009ffffffff (16384 KiB) nomap non-reusable bman-fbpr [ 0.000000] OF: reserved mem: initialized node qman-fqd, compatible id fsl,qman-fqd [ 0.000000] OF: reserved mem: 0x00000009fe800000..0x00000009feffffff (8192 KiB) nomap non-reusable qman-fqd [ 0.000000] OF: reserved mem: initialized node qman-pfdr, compatible id fsl,qman-pfdr [ 0.000000] OF: reserved mem: 0x00000009fc000000..0x00000009fdffffff (32768 KiB) nomap non-reusable qman-pfdr [ 0.000000] NUMA: No NUMA configuration found [ 0.000000] NUMA: Faking a node at [mem 0x0000000080000000-0x00000009ffffffff] [ 0.000000] NUMA: NODE_DATA [mem 0x9fb8069c0-0x9fb808fff] [ 0.000000] Zone ranges: [ 0.000000] DMA [mem 0x0000000080000000-0x00000000ffffffff] [ 0.000000] DMA32 empty [ 0.000000] Normal [mem 0x0000000100000000-0x00000009ffffffff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000080000000-0x00000000fbdfffff] [ 0.000000] node 0: [mem 0x0000000880000000-0x00000009fbffffff] [ 0.000000] node 0: [mem 0x00000009fc000000-0x00000009fdffffff] [ 0.000000] node 0: [mem 0x00000009fe000000-0x00000009fe7fffff] [ 0.000000] node 0: [mem 0x00000009fe800000-0x00000009ffffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000009ffffffff] [ 0.000000] On node 0, zone Normal: 16896 pages in unavailable ranges [ 0.000000] cma: Reserved 32 MiB at 0x00000000f9e00000 on node -1 [ 0.000000] psci: probing for conduit method from DT. [ 0.000000] psci: PSCIv1.1 detected in firmware. [ 0.000000] psci: Using standard PSCI v0.2 function IDs [ 0.000000] psci: MIGRATE_INFO_TYPE not supported. [ 0.000000] psci: SMC Calling Convention v1.2 [ 0.000000] percpu: Embedded 23 pages/cpu s54248 r8192 d31768 u94208 [ 0.000000] Detected PIPT I-cache on CPU0 [ 0.000000] CPU features: detected: Spectre-v2 [ 0.000000] CPU features: detected: Spectre-v3a [ 0.000000] CPU features: detected: Spectre-BHB [ 0.000000] CPU features: kernel page table isolation forced ON by KASLR [ 0.000000] CPU features: detected: Kernel page table isolation (KPTI) [ 0.000000] CPU features: detected: ARM erratum 1742098 [ 0.000000] CPU features: detected: ARM errata 1165522, 1319367, or 1530923 [ 0.000000] alternatives: applying boot alternatives [ 0.000000] Kernel command line: root=/dev/nfs rw nfsroot=128.224.34.139:/tftpboot/qoriq-6.6.36/ls1046/rootfs,v3,tcp ip=dhcp console=ttyS0,115200 earlycon=uart8250,mmio,0x21c0500 [ 0.000000] Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear) [ 0.000000] Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes, linear) [ 0.000000] Fallback order for Node 0: 0 [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 2047488 [ 0.000000] Policy zone: Normal [ 0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off [ 0.000000] software IO TLB: area num 4. [ 0.000000] software IO TLB: mapped [mem 0x00000000f5e00000-0x00000000f9e00000] (64MB) [ 0.000000] Memory: 7954524K/8321024K available (22208K kernel code, 4496K rwdata, 12120K rodata, 9728K init, 1142K bss, 333732K reserved, 32768K cma-reserved) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 [ 0.000000] rcu: Preemptible hierarchical RCU implementation. [ 0.000000] rcu: RCU event tracing is enabled. [ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=16 to nr_cpu_ids=4. [ 0.000000] Trampoline variant of Tasks RCU enabled. [ 0.000000] Tracing variant of Tasks RCU enabled. [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies. [ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4 [ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0 [ 0.000000] GIC: Adjusting CPU interface base to 0x000000000142f000 [ 0.000000] Root IRQ handler: gic_handle_irq [ 0.000000] GIC: Using split EOI/Deactivate mode [ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention. [ 0.000000] arch_timer: cp15 timer(s) running at 25.00MHz (phys). [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x5c40939b5, max_idle_ns: 440795202646 ns [ 0.000000] sched_clock: 56 bits at 25MHz, resolution 40ns, wraps every 4398046511100ns [ 0.008558] Console: colour dummy device 80x25 [ 0.013061] Calibrating delay loop (skipped), value calculated using timer frequency.. 50.00 BogoMIPS (lpj=100000) [ 0.023482] pid_max: default: 32768 minimum: 301 [ 0.028157] LSM: initializing lsm=capability,integrity [ 0.033378] Mount-cache hash table entries: 16384 (order: 5, 131072 bytes, linear) [ 0.041015] Mountpoint-cache hash table entries: 16384 (order: 5, 131072 bytes, linear) [ 0.049808] RCU Tasks: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1. [ 0.056944] RCU Tasks Trace: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1. [ 0.064656] rcu: Hierarchical SRCU implementation. [ 0.069477] rcu: Max phase no-delay instances is 1000. [ 0.075681] EFI services will not be available. [ 0.080353] smp: Bringing up secondary CPUs ... [ 0.085176] Detected PIPT I-cache on CPU1 [ 0.085213] CPU1: Booted secondary processor 0x0000000001 [0x410fd082] [ 0.085504] Detected PIPT I-cache on CPU2 [ 0.085533] CPU2: Booted secondary processor 0x0000000002 [0x410fd082] [ 0.085808] Detected PIPT I-cache on CPU3 [ 0.085838] CPU3: Booted secondary processor 0x0000000003 [0x410fd082] [ 0.085873] smp: Brought up 1 node, 4 CPUs [ 0.121780] SMP: Total of 4 processors activated. [ 0.126512] CPU features: detected: 32-bit EL0 Support [ 0.131687] CPU features: detected: 32-bit EL1 Support [ 0.136857] CPU features: detected: CRC32 instructions [ 0.142069] CPU: All CPU(s) started at EL2 [ 0.146200] alternatives: applying system-wide alternatives [ 0.152757] devtmpfs: initialized [ 0.159701] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns [ 0.169517] futex hash table entries: 1024 (order: 4, 65536 bytes, linear) [ 0.176702] pinctrl core: initialized pinctrl subsystem [ 0.182431] Machine: LS1046A RDB Board [ 0.186202] SoC family: QorIQ LS1046A [ 0.189879] SoC ID: svr:0x87070010, Revision: 1.0 [ 0.194775] DMI not present or invalid. [ 0.198936] NET: Registered PF_NETLINK/PF_ROUTE protocol family [ 0.205304] DMA: preallocated 1024 KiB GFP_KERNEL pool for atomic allocations [ 0.212647] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations [ 0.220717] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations [ 0.228793] audit: initializing netlink subsys (disabled) [ 0.234282] audit: type=2000 audit(0.152:1): state=initialized audit_enabled=0 res=1 [ 0.234791] thermal_sys: Registered thermal governor 'step_wise' [ 0.242081] thermal_sys: Registered thermal governor 'power_allocator' [ 0.248146] cpuidle: using governor menu [ 0.258721] Bman ver:0a02,02,01 [ 0.263086] qman-fqd addr 0x00000009fe800000 size 0x800000 [ 0.268605] qman-pfdr addr 0x00000009fc000000 size 0x2000000 [ 0.274301] Qman ver:0a01,03,02,01 [ 0.277786] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers. [ 0.284654] ASID allocator initialised with 32768 entries [ 0.290957] Serial: AMBA PL011 UART driver [ 0.295135] imx mu driver is registered. [ 0.299104] imx rpmsg driver is registered. [ 0.323271] Modules: 2G module region forced by RANDOMIZE_MODULE_REGION_FULL [ 0.330373] Modules: 0 pages in range for non-PLT usage [ 0.330375] Modules: 511808 pages in range for PLT usage [ 0.335917] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages [ 0.348098] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page [ 0.354405] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages [ 0.361234] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page [ 0.367539] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages [ 0.374368] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page [ 0.380673] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages [ 0.387502] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page [ 0.461845] raid6: neonx8 gen() 5328 MB/s [ 0.534172] raid6: neonx4 gen() 5170 MB/s [ 0.606500] raid6: neonx2 gen() 4304 MB/s [ 0.678832] raid6: neonx1 gen() 3132 MB/s [ 0.751160] raid6: int64x8 gen() 3016 MB/s [ 0.823490] raid6: int64x4 gen() 2935 MB/s [ 0.895822] raid6: int64x2 gen() 2844 MB/s [ 0.968170] raid6: int64x1 gen() 2200 MB/s [ 0.972465] raid6: using algorithm neonx8 gen() 5328 MB/s [ 1.045930] raid6: .... xor() 3885 MB/s, rmw enabled [ 1.050922] raid6: using neon recovery algorithm [ 1.055964] ACPI: Interpreter disabled. [ 1.062910] iommu: Default domain type: Passthrough [ 1.067933] SCSI subsystem initialized [ 1.071849] usbcore: registered new interface driver usbfs [ 1.077380] usbcore: registered new interface driver hub [ 1.082735] usbcore: registered new device driver usb [ 1.088161] imx-i2c 2180000.i2c: scl-gpios not found [ 1.093173] imx-i2c 2180000.i2c: using dma0chan16 (tx) and dma0chan17 (rx) for DMA transfers [ 1.101830] i2c i2c-0: IMX I2C adapter registered [ 1.106764] i2c i2c-1: IMX I2C adapter registered [ 1.112199] pps_core: LinuxPPS API ver. 1 registered [ 1.117193] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti [ 1.126392] PTP clock support registered [ 1.130452] EDAC MC: Ver: 3.0.0 [ 1.133957] scmi_core: SCMI protocol bus registered [ 1.139087] bman-fbpr addr 0x00000009ff000000 size 0x1000000 [ 1.144813] Bman err interrupt handler present [ 1.149875] Bman portal initialised, cpu 0 [ 1.154073] Bman portal initialised, cpu 1 [ 1.158273] Bman portal initialised, cpu 2 [ 1.162468] Bman portal initialised, cpu 3 [ 1.166587] Bman portals initialised [ 1.175538] Qman err interrupt handler present [ 1.180299] QMan: Allocated lookup table at (____ptrval____), entry count 131073 [ 1.188299] QMan doesn't need cleanup, uninhibiting IRQs [ 1.193645] Qman portal initialised, cpu 0 [ 1.197833] QMan doesn't need cleanup, uninhibiting IRQs [ 1.203176] Qman portal initialised, cpu 1 [ 1.207368] QMan doesn't need cleanup, uninhibiting IRQs [ 1.212715] Qman portal initialised, cpu 2 [ 1.216901] QMan doesn't need cleanup, uninhibiting IRQs [ 1.222245] Qman portal initialised, cpu 3 [ 1.226362] Qman portals initialised [ 1.229998] Bman: BPID allocator includes range 32:32 [ 1.235106] Qman: FQID allocator includes range 256:256 [ 1.240361] Qman: FQID allocator includes range 32768:32768 [ 1.245996] Qman: CGRID allocator includes range 0:256 [ 1.251292] Qman: pool channel allocator includes range 1025:15 [ 1.257301] No USDPAA memory, no 'fsl,usdpaa-mem' in device-tree [ 1.263646] fsl-ifc 1530000.memory-controller: Freescale Integrated Flash Controller [ 1.271457] fsl-ifc 1530000.memory-controller: IFC version 1.4, 8 banks [ 1.278710] FPGA manager framework [ 1.282171] Advanced Linux Sound Architecture Driver Initialized. [ 1.288730] vgaarb: loaded [ 1.291688] clocksource: Switched to clocksource arch_sys_counter [ 1.297919] VFS: Disk quotas dquot_6.6.0 [ 1.301881] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes) [ 1.308881] pnp: PnP ACPI: disabled [ 1.315703] NET: Registered PF_INET protocol family [ 1.320778] IP idents hash table entries: 131072 (order: 8, 1048576 bytes, linear) [ 1.331172] tcp_listen_portaddr_hash hash table entries: 4096 (order: 4, 65536 bytes, linear) [ 1.339805] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear) [ 1.347607] TCP established hash table entries: 65536 (order: 7, 524288 bytes, linear) [ 1.355807] TCP bind hash table entries: 65536 (order: 9, 2097152 bytes, linear) [ 1.364108] TCP: Hash tables configured (established 65536 bind 65536) [ 1.370742] UDP hash table entries: 4096 (order: 5, 131072 bytes, linear) [ 1.377670] UDP-Lite hash table entries: 4096 (order: 5, 131072 bytes, linear) [ 1.385103] NET: Registered PF_UNIX/PF_LOCAL protocol family [ 1.390996] RPC: Registered named UNIX socket transport module. [ 1.396959] RPC: Registered udp transport module. [ 1.401691] RPC: Registered tcp transport module. [ 1.406421] RPC: Registered tcp-with-tls transport module. [ 1.411939] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 1.418421] NET: Registered PF_XDP protocol family [ 1.423246] PCI: CLS 0 bytes, default 64 [ 1.427356] kvm [1]: IPA Size Limit: 44 bits [ 1.432710] kvm [1]: vgic interrupt IRQ9 [ 1.436674] kvm [1]: Hyp mode initialized successfully [ 1.442454] Initialise system trusted keyrings [ 1.446999] workingset: timestamp_bits=42 max_order=21 bucket_order=0 [ 1.453613] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 1.459584] NFS: Registering the id_resolver key type [ 1.464678] Key type id_resolver registered [ 1.468885] Key type id_legacy registered [ 1.472923] nfs4filelayout_init: NFSv4 File Layout Driver Registering... [ 1.479668] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering... [ 1.487119] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc. [ 1.493338] fuse: init (API version 7.39) [ 1.497432] 9p: Installing v9fs 9p2000 file system support [ 1.514632] jitterentropy: Initialization failed with host not compliant with requirements: 9 [ 1.523215] xor: measuring software checksum speed [ 1.529168] 8regs : 8683 MB/sec [ 1.534597] 32regs : 9391 MB/sec [ 1.540288] arm64_neon : 7537 MB/sec [ 1.544669] xor: using function: 32regs (9391 MB/sec) [ 1.549751] Key type asymmetric registered [ 1.553874] Asymmetric key parser 'x509' registered [ 1.558800] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245) [ 1.566295] io scheduler mq-deadline registered [ 1.570854] io scheduler kyber registered [ 1.574896] io scheduler bfq registered [ 1.583707] lynx-10g 1ea0000.phy: PLLF: enabled, locked, reference clock 100MHz, clock net 5GHz [ 1.592468] lynx-10g 1ea0000.phy: Supported interfaces and link modes: [ 1.599125] lynx-10g 1ea0000.phy: sgmii [ 1.603156] lynx-10g 1ea0000.phy: 1000base-x [ 1.607626] lynx-10g 1ea0000.phy: 1000baseKX/Full [ 1.612532] lynx-10g 1ea0000.phy: qsgmii [ 1.616651] lynx-10g 1ea0000.phy: PLLS: enabled, locked, reference clock 156.25MHz, clock net 5.15625GHz [ 1.626194] lynx-10g 1ea0000.phy: Supported interfaces and link modes: [ 1.632849] lynx-10g 1ea0000.phy: 10gbase-r [ 1.637231] lynx-10g 1ea0000.phy: 10000baseKR/Full [ 1.642383] lynx-10g 1eb0000.phy: PLLF: enabled, locked, reference clock 100MHz, clock net unknown [ 1.651406] lynx-10g 1eb0000.phy: Supported interfaces and link modes: [ 1.658061] lynx-10g 1eb0000.phy: PLLS: enabled, locked, reference clock 100MHz, clock net 5GHz [ 1.666816] lynx-10g 1eb0000.phy: Supported interfaces and link modes: [ 1.673471] lynx-10g 1eb0000.phy: sgmii [ 1.677506] lynx-10g 1eb0000.phy: 1000base-x [ 1.681974] lynx-10g 1eb0000.phy: 1000baseKX/Full [ 1.695421] layerscape-pcie 3400000.pcie: host bridge /soc/pcie@3400000 ranges: [ 1.702798] layerscape-pcie 3400000.pcie: IO 0x4000010000..0x400001ffff -> 0x0000000000 [ 1.711387] layerscape-pcie 3400000.pcie: MEM 0x4040000000..0x407fffffff -> 0x0040000000 [ 1.719996] layerscape-pcie 3400000.pcie: iATU: unroll F, 8 ob, 6 ib, align 4K, limit 4G [ 2.728233] layerscape-pcie 3400000.pcie: Phy link never came up [ 2.734382] layerscape-pcie 3400000.pcie: PCI host bridge to bus 0000:00 [ 2.741129] pci_bus 0000:00: root bus resource [bus 00-ff] [ 2.746649] pci_bus 0000:00: root bus resource [io 0x0000-0xffff] [ 2.752869] pci_bus 0000:00: root bus resource [mem 0x4040000000-0x407fffffff] (bus address [0x40000000-0x7fffffff]) [ 2.763477] pci 0000:00:00.0: [1957:81c0] type 01 class 0x060400 [ 2.769560] pci 0000:00:00.0: supports D1 D2 [ 2.773856] pci 0000:00:00.0: PME# supported from D0 D1 D2 D3hot [ 2.780777] pci 0000:00:00.0: PCI bridge to [bus 01-ff] [ 2.786181] pcieport 0000:00:00.0: PME: Signaling with IRQ 57 [ 2.792065] pcieport 0000:00:00.0: AER: enabled with IRQ 56 [ 2.797809] layerscape-pcie 3500000.pcie: host bridge /soc/pcie@3500000 ranges: [ 2.805181] layerscape-pcie 3500000.pcie: IO 0x4800010000..0x480001ffff -> 0x0000000000 [ 2.813769] layerscape-pcie 3500000.pcie: MEM 0x4840000000..0x487fffffff -> 0x0040000000 [ 2.822374] layerscape-pcie 3500000.pcie: iATU: unroll F, 8 ob, 6 ib, align 4K, limit 4G [ 3.830597] layerscape-pcie 3500000.pcie: Phy link never came up [ 3.836688] layerscape-pcie 3500000.pcie: PCI host bridge to bus 0001:00 [ 3.843434] pci_bus 0001:00: root bus resource [bus 00-ff] [ 3.848955] pci_bus 0001:00: root bus resource [io 0x10000-0x1ffff] (bus address [0x0000-0xffff]) [ 3.857974] pci_bus 0001:00: root bus resource [mem 0x4840000000-0x487fffffff] (bus address [0x40000000-0x7fffffff]) [ 3.868578] pci 0001:00:00.0: [1957:81c0] type 01 class 0x060400 [ 3.874656] pci 0001:00:00.0: supports D1 D2 [ 3.878951] pci 0001:00:00.0: PME# supported from D0 D1 D2 D3hot [ 3.885850] pci 0001:00:00.0: PCI bridge to [bus 01-ff] [ 3.891239] pcieport 0001:00:00.0: PME: Signaling with IRQ 60 [ 3.897136] pcieport 0001:00:00.0: AER: enabled with IRQ 59 [ 3.902870] layerscape-pcie 3600000.pcie: host bridge /soc/pcie@3600000 ranges: [ 3.910242] layerscape-pcie 3600000.pcie: IO 0x5000010000..0x500001ffff -> 0x0000000000 [ 3.918829] layerscape-pcie 3600000.pcie: MEM 0x5040000000..0x507fffffff -> 0x0040000000 [ 3.927434] layerscape-pcie 3600000.pcie: iATU: unroll F, 8 ob, 6 ib, align 4K, limit 4G [ 4.935653] layerscape-pcie 3600000.pcie: Phy link never came up [ 4.941746] layerscape-pcie 3600000.pcie: PCI host bridge to bus 0002:00 [ 4.948502] pci_bus 0002:00: root bus resource [bus 00-ff] [ 4.954023] pci_bus 0002:00: root bus resource [io 0x20000-0x2ffff] (bus address [0x0000-0xffff]) [ 4.963043] pci_bus 0002:00: root bus resource [mem 0x5040000000-0x507fffffff] (bus address [0x40000000-0x7fffffff]) [ 4.973645] pci 0002:00:00.0: [1957:81c0] type 01 class 0x060400 [ 4.979724] pci 0002:00:00.0: supports D1 D2 [ 4.984020] pci 0002:00:00.0: PME# supported from D0 D1 D2 D3hot [ 4.990913] pci 0002:00:00.0: PCI bridge to [bus 01-ff] [ 4.996298] pcieport 0002:00:00.0: PME: Signaling with IRQ 63 [ 5.002195] pcieport 0002:00:00.0: AER: enabled with IRQ 62 [ 5.008954] EINJ: ACPI disabled. [ 5.028654] Bus freq driver module loaded [ 5.040694] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled [ 5.048861] printk: console [ttyS0] disabled [ 5.053293] 21c0500.serial: ttyS0 at MMIO 0x21c0500 (irq = 64, base_baud = 18750000) is a 16550A [ 5.062159] printk: console [ttyS0] enabled [ 5.062159] printk: console [ttyS0] enabled [ 5.070552] printk: bootconsole [uart8250] disabled [ 5.070552] printk: bootconsole [uart8250] disabled [ 5.084081] 21c0600.serial: ttyS1 at MMIO 0x21c0600 (irq = 64, base_baud = 18750000) is a 16550A [ 5.093301] SuperH (H)SCI(F) driver initialized [ 5.098346] msm_serial: driver initialized [ 5.103021] STM32 USART driver initialized [ 5.112700] brd: module loaded [ 5.117940] loop: module loaded [ 5.121929] megasas: 07.725.01.00-rc1 [ 5.126431] ahci-qoriq 3200000.sata: supply ahci not found, using dummy regulator [ 5.133966] ahci-qoriq 3200000.sata: supply phy not found, using dummy regulator [ 5.141386] ahci-qoriq 3200000.sata: supply target not found, using dummy regulator [ 5.149136] ahci-qoriq 3200000.sata: AHCI 0001.0301 32 slots 1 ports 6 Gbps 0x1 impl platform mode [ 5.158110] ahci-qoriq 3200000.sata: flags: 64bit ncq sntf pm clo only pmp fbs pio slum part ccc sds apst [ 5.168153] scsi host0: ahci-qoriq [ 5.171631] ata1: SATA max UDMA/133 mmio [mem 0x03200000-0x0320ffff] port 0x100 irq 65 [ 5.180707] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xac [ 5.187068] nand: Micron MT29F4G08ABBEAH4 [ 5.191075] nand: 512 MiB, SLC, erase size: 256 KiB, page size: 4096, OOB size: 224 [ 5.199422] Bad block table found at page 131008, version 0x01 [ 5.206586] Bad block table found at page 130944, version 0x01 [ 5.213816] fsl,ifc-nand 7e800000.nand: IFC NAND device at 0x7e800000, bank 0 [ 5.222230] spi-nor spi0.0: s25fs512s (65536 Kbytes) [ 5.227833] spi-nor spi0.1: s25fs512s (65536 Kbytes) [ 5.234499] MACsec IEEE 802.1AE [ 5.239512] tun: Universal TUN/TAP device driver, 1.6 [ 5.245377] thunder_xcv, ver 1.0 [ 5.248619] thunder_bgx, ver 1.0 [ 5.251859] nicpf, ver 1.0 [ 5.263921] hwmon hwmon0: temp1_input not attached to any thermal zone [ 5.288983] Freescale FM module, FMD API version 21.1.0 [ 5.296964] Freescale FM Ports module [ 5.300632] fsl_mac: fsl_mac: FSL FMan MAC API based driver [ 5.306393] fsl_mac 1ae4000.ethernet: FMan MEMAC [ 5.311016] fsl_mac 1ae4000.ethernet: FMan MAC address: 00:04:9f:05:ad:cc [ 5.317911] fsl_mac 1ae6000.ethernet: FMan MEMAC [ 5.322532] fsl_mac 1ae6000.ethernet: FMan MAC address: 00:04:9f:05:ad:cd [ 5.329475] fsl_mac 1ae8000.ethernet: FMan MEMAC [ 5.334096] fsl_mac 1ae8000.ethernet: FMan MAC address: 00:04:9f:05:ad:c8 [ 5.341048] fsl_mac 1aea000.ethernet: FMan MEMAC [ 5.345667] fsl_mac 1aea000.ethernet: FMan MAC address: 00:04:9f:05:ad:c9 [ 5.352567] fsl_mac 1af0000.ethernet: FMan MEMAC [ 5.357188] fsl_mac 1af0000.ethernet: FMan MAC address: 00:04:9f:05:ad:cb [ 5.364322] fsl_mac 1af2000.ethernet: FMan MEMAC [ 5.368947] fsl_mac 1af2000.ethernet: FMan MAC address: 00:04:9f:05:ad:ca [ 5.375776] fsl_dpa: FSL DPAA Ethernet driver [ 5.381473] fsl_dpa: fsl_dpa: Probed interface eth0 [ 5.387650] fsl_dpa: fsl_dpa: Probed interface eth1 [ 5.393938] fsl_dpa: fsl_dpa: Probed interface eth2 [ 5.400354] fsl_dpa: fsl_dpa: Probed interface eth3 [ 5.406867] fsl_dpa: fsl_dpa: Probed interface eth4 [ 5.413469] fsl_dpa: fsl_dpa: Probed interface eth5 [ 5.418380] fsl_advanced: FSL DPAA Advanced drivers: [ 5.423345] fsl_proxy: FSL DPAA Proxy initialization driver [ 5.429079] fsl_oh: FSL FMan Offline Parsing port driver [ 5.435018] hns3: Hisilicon Ethernet Network Driver for Hip08 Family - version [ 5.442244] hns3: Copyright (c) 2017 Huawei Corporation. [ 5.447570] hclge is initializing [ 5.450894] e1000: Intel(R) PRO/1000 Network Driver [ 5.455771] e1000: Copyright (c) 1999-2006 Intel Corporation. [ 5.461530] e1000e: Intel(R) PRO/1000 Network Driver [ 5.466493] e1000e: Copyright(c) 1999 - 2015 Intel Corporation. [ 5.472425] igb: Intel(R) Gigabit Ethernet Network Driver [ 5.477823] igb: Copyright (c) 2007-2014 Intel Corporation. [ 5.483406] igbvf: Intel(R) Gigabit Virtual Function Network Driver [ 5.489674] igbvf: Copyright (c) 2009 - 2012 Intel Corporation. [ 5.495882] sky2: driver version 1.30 [ 5.500536] usbcore: registered new device driver r8152-cfgselector [ 5.501854] ata1: SATA link down (SStatus 0 SControl 300) [ 5.506818] usbcore: registered new interface driver r8152 [ 5.517711] usbcore: registered new interface driver asix [ 5.523125] usbcore: registered new interface driver ax88179_178a [ 5.529586] VFIO - User Level meta-driver version: 0.3 [ 5.538432] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller [ 5.543935] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1 [ 5.551657] xhci-hcd xhci-hcd.0.auto: hcc params 0x0220f66d hci version 0x100 quirks 0x0000008002000810 [ 5.561073] xhci-hcd xhci-hcd.0.auto: irq 69, io mem 0x02f00000 [ 5.567058] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller [ 5.572548] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2 [ 5.580210] xhci-hcd xhci-hcd.0.auto: Host supports USB 3.0 SuperSpeed [ 5.587053] hub 1-0:1.0: USB hub found [ 5.590823] hub 1-0:1.0: 1 port detected [ 5.595184] hub 2-0:1.0: USB hub found [ 5.598953] hub 2-0:1.0: 1 port detected [ 5.603067] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller [ 5.608565] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 3 [ 5.616273] xhci-hcd xhci-hcd.1.auto: hcc params 0x0220f66d hci version 0x100 quirks 0x0000008002000810 [ 5.625686] xhci-hcd xhci-hcd.1.auto: irq 71, io mem 0x03100000 [ 5.631669] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller [ 5.637160] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 4 [ 5.644823] xhci-hcd xhci-hcd.1.auto: Host supports USB 3.0 SuperSpeed [ 5.651605] hub 3-0:1.0: USB hub found [ 5.655376] hub 3-0:1.0: 1 port detected [ 5.659724] hub 4-0:1.0: USB hub found [ 5.663482] hub 4-0:1.0: 1 port detected [ 5.668030] usbcore: registered new interface driver uas [ 5.673370] usbcore: registered new interface driver usb-storage [ 5.681982] i2c_dev: i2c /dev entries driver [ 5.688382] ptp_qoriq: device tree node missing required elements, try automatic configuration [ 5.697068] pps pps0: new PPS source ptp0 [ 5.715696] qoriq-cpufreq qoriq-cpufreq: Freescale QorIQ CPU frequency scaling driver [ 5.724247] sdhci: Secure Digital Host Controller Interface driver [ 5.730432] sdhci: Copyright(c) Pierre Ossman [ 5.735495] Synopsys Designware Multimedia Card Interface Driver [ 5.742412] sdhci-pltfm: SDHCI platform and OF driver helper [ 5.750119] ledtrig-cpu: registered to indicate activity on CPUs [ 5.757191] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping .... [ 5.764358] usbcore: registered new interface driver usbhid [ 5.769937] usbhid: USB HID core driver [ 5.771696] mmc0: SDHCI controller on 1560000.esdhc [1560000.esdhc] using ADMA 64-bit [ 5.774321] Freescale USDPAA process driver [ 5.785791] fsl-usdpaa: no region found [ 5.789625] Freescale USDPAA process IRQ driver [ 5.797060] hw perfevents: enabled with armv8_cortex_a72 PMU driver, 7 counters available [ 5.806167] cs_system_cfg: CoreSight Configuration manager initialised [ 5.814227] optee: probing for conduit method. [ 5.818676] optee: api uid mismatch [ 5.822164] optee: probe of firmware:optee failed with error -22 [ 5.830641] NET: Registered PF_LLC protocol family [ 5.835479] u32 classifier [ 5.838200] input device check on [ 5.841862] Actions configured [ 5.846313] Initializing XFRM netlink socket [ 5.850614] NET: Registered PF_INET6 protocol family [ 5.856121] Segment Routing with IPv6 [ 5.859806] In-situ OAM (IOAM) with IPv6 [ 5.863769] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver [ 5.869911] NET: Registered PF_PACKET protocol family [ 5.874969] NET: Registered PF_KEY protocol family [ 5.879779] Bridge firewalling registered [ 5.883932] 8021q: 802.1Q VLAN Support v1.8 [ 5.888125] lib80211: common routines for IEEE802.11 drivers [ 5.893810] 9pnet: Installing 9P2000 support [ 5.898135] Key type dns_resolver registered [ 5.910932] registered taskstats version 1 [ 5.915098] Loading compiled-in X.509 certificates [ 5.924142] Btrfs loaded, zoned=no, fsverity=no [ 5.943764] mmc0: new ultra high speed SDR104 SDHC card at address ffb5 [ 5.950695] mmcblk0: mmc0:ffb5 UC0D5 29.8 GiB [ 5.957137] mmcblk0: p1 p2 [ 6.303724] Sending DHCP requests ..., OK [ 14.867761] IP-Config: Got DHCP answer from 128.224.167.20, my address is 128.224.167.251 [ 14.875998] IP-Config: Complete: [ 14.879226] device=eth0, hwaddr=00:04:9f:05:ad:cc, ipaddr=128.224.167.251, mask=255.255.254.0, gw=128.224.166.1 [ 14.889775] host=128.224.167.251, domain=pek-tuxlab.wrs.com, nis-domain=(none) [ 14.897449] bootserver=128.224.161.77, rootserver=128.224.34.139, rootpath= [ 14.897458] nameserver0=128.224.160.11, nameserver1=147.11.100.30, nameserver2=147.11.1.11 [ 14.913599] ntpserver0=147.11.100.50 [ 15.009986] cpu 1: > WARNING (FM-Port) [CPU01, /drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Port/fm_port.c:3552 FM_PORT_Disable]: [ 15.009998] cpu 1: FM-0-port-10g-TX-1: BMI or QMI is Busy. Port forced down [ 15.022718] cpu 1: [ 15.039954] clk: Disabling unused clocks [ 15.043944] ALSA device list: [ 15.046915] No soundcards found. [ 15.077658] VFS: Mounted root (nfs filesystem) on device 0:21. [ 15.087588] devtmpfs: mounted [ 15.094705] Freeing unused kernel memory: 9728K [ 15.099395] Run /sbin/init as init process INIT: version 3.04 booting Starting udev [ 16.780192] udevd[147]: starting version 3.2.14 [ 17.031698] random: crng init done [ 17.288169] udevd[148]: starting eudev-3.2.14 [ 17.483193] mtdblock: MTD device '7e800000.flash' is NAND, please consider using UBI block devices instead. [ 17.540246] EDAC MC0: Giving out device to module fsl_ddr_edac controller fsl_mc_err: DEV fsl_mc_err (INTERRUPT) [ 17.567155] fsl_ddr_edac acquired irq 78 for MC [ 17.575023] fsl_ddr_edac MC err registered [ 17.595212] caam 1700000.crypto: Linux CAAM Queue I/F driver initialised [ 17.607818] caam 1700000.crypto: device ID = 0x0a11030100000000 (Era 😎 [ 17.615053] caam 1700000.crypto: job rings = 3, qi = 1 [ 17.667125] lm90 0-004c: supply vcc not found, using dummy regulator [ 17.678559] ina2xx 0-0040: supply vs not found, using dummy regulator [ 17.681942] hwmon hwmon6: temp1_input not attached to any thermal zone [ 17.691112] ina2xx 0-0040: power monitor ina220 (Rshunt = 1000 uOhm) [ 17.691690] hwmon hwmon6: temp2_input not attached to any thermal zone [ 17.705382] ftm-alarm 29d0000.timer: registered as rtc1 [ 17.736619] rtc-pcf2127-i2c 1-0051: registered as rtc0 [ 17.744136] rtc-pcf2127-i2c 1-0051: setting system clock to 2020-04-10T10:26:25 UTC (1586514385) [ 17.833135] at24 0-0052: supply vcc not found, using dummy regulator [ 17.840859] at24 0-0052: 512 byte cat24c05 EEPROM, writable, 1 bytes/write [ 17.896153] fsl_dpa soc:fsl,dpaa:ethernet@5 fm1-mac6: renamed from eth3 [ 17.931888] fsl_dpa soc:fsl,dpaa:ethernet@3 fm1-mac4: renamed from eth1 [ 17.955859] fsl_dpa soc:fsl,dpaa:ethernet@8 fm1-mac9: renamed from eth4 [ 17.988580] fsl_dpa soc:fsl,dpaa:ethernet@9 fm1-mac10: renamed from eth5 [ 18.036719] fsl_dpa soc:fsl,dpaa:ethernet@2 fm1-mac3: renamed from eth0 (while UP) [ 18.078011] fsl_dpa soc:fsl,dpaa:ethernet@4 fm1-mac5: renamed from eth2 [ 18.404087] caam algorithms registered in /proc/crypto [ 18.409418] caam 1700000.crypto: caam pkc algorithms registered in /proc/crypto [ 18.416807] caam 1700000.crypto: rng crypto API alg registered prng-caam [ 18.423953] caam 1700000.crypto: algorithms registered in /proc/crypto [ 18.430513] caam 1700000.crypto: registering rng-caam [ 18.435789] Device caam-keygen registered [ 18.616557] mtdblock: MTD device '7e800000.flash' is NAND, please consider using UBI block devices instead. [ 19.083182] EXT4-fs (mmcblk0p2): mounted filesystem 39d83a26-6557-4087-bdfb-4c98539f46e7 r/w with ordered data mode. Quota mode: none. sysctl: cannot stat /proc/sys/net/ipv4/tcp_syncookies: No such file or directory INIT: Entering runlevel: 5 Configuring network interfaces... Error: ipv4: Address already assigned. Starting system message bus: dbus. Mounting cgroups...Done Starting OpenBSD Secure Shell server: sshd done. Starting OP-TEE Supplicant: ERR [692] TSUP:main:907: make_daemon(): -1 Starting rpcbind daemon...done. starting statd: done Starting atd: OK Starting domain name service: named. Starting bluetooth: bluetoothd. egrep: warning: egrep is obsolescent; using grep -E starting DNS forwarder and DHCP server: dnsmasq... dnsmasq: failed to create listening socket for 128.224.167.251: Address already in use Starting dockerd: Starting HOSTAP Daemon: [ 33.139644] cfg80211: Loading compiled-in X.509 certificates for regulatory database [ 33.461035] Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7' [ 33.467468] Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600' [ 33.525324] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2 [ 33.534103] cfg80211: failed to load regulatory.db Could not read interface wlan0 flags: No such device nl80211: Driver does not support authentication/association or connect commands nl80211: deinit ifname=wlan0 disabled_11b_rates=0 Could not read interface wlan0 flags: No such device nl80211 driver initialization failed. wlan0: interface state UNINITIALIZED->DISABLED wlan0: AP-DISABLED wlan0: CTRL-EVENT-TERMINATING hostapd_free_hapd_data: Interface wlan0 wasn't started Starting LXC autoboot containers: Starting network benchmark server: netserver. NFS daemon support not enabled in kernel Starting ntpd: done [ 37.314738] overlayfs: upper fs does not support tmpfile. [ 37.346918] overlayfs: upper fs does not support RENAME_WHITEOUT. [ 37.353080] overlayfs: failed to set xattr on upper [ 37.358091] overlayfs: ...falling back to redirect_dir=nofollow. [ 37.364170] overlayfs: ...falling back to uuid=null. [ 37.369245] overlayfs: upper fs missing required features. Starting system log daemon...0 Starting internet superserver: xinetd. Starting watchdog daemon...done No makedumpfile found. * Starting virtualization library daemon: libvirtd No /usr/bin/dnsmasq found running; none killed. libvirt: error : failed to open /var/log/libvirt/libvirtd.log: No such file or directory *bvirt: error : failed to open /var/log/libvirt/libvirtd.log: No such f[fail] directory sed: -e expression #1, char 23: unterminated address regex sed: -e expression #1, char 23: unterminated address regex sed: -e expression #1, char 23: unterminated address regex Starting crond: OK Starting tcf-agent: OK QorIQ SDK (FSL Reference Distro) 5.0.2 ls1046ardb ttyS0 ls1046ardb login: root root@ls1046ardb:~# date Fri Apr 10 10:27:02 UTC 2020 root@ls1046ardb:~# hwclock 2020-04-10 10:27:08.610907+00:00 root@ls1046ardb:~# date 110811332024 Fri Nov 8 11:33:00 UTC 2024 root@ls1046ardb:~# hwclock -w root@ls1046ardb:~# date Fri Nov 8 11:33:13 UTC 2024 root@ls1046ardb:~# uname -a Linux ls1046ardb 6.6.36-gd23d64eea511 #1 SMP PREEMPT Wed Sep 4 08:22:45 UTC 2024 aarch64 GNU/Linux root@ls1046ardb:~# cat /proc/cmdline root=/dev/nfs rw nfsroot=128.224.34.139:/tftpboot/qoriq-6.6.36/ls1046/rootfs,v3,tcp ip=dhcp console=ttyS0,115200 earlycon=uart8250,mmio,0x21c0500 root@ls1046ardb:~# rngd root@ls1046ardb:~# time rngtest -c 100 < /dev/hwrng rngtest 6.16 Copyright (c) 2004 by Henrique de Moraes Holschuh This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. rngtest: starting FIPS tests... rngtest: bits received from input: 2000032 rngtest: FIPS 140-2 successes: 100 rngtest: FIPS 140-2 failures: 0 rngtest: FIPS 140-2(2001-10-10) Monobit: 0 rngtest: FIPS 140-2(2001-10-10) Poker: 0 rngtest: FIPS 140-2(2001-10-10) Runs: 0 rngtest: FIPS 140-2(2001-10-10) Long run: 0 rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 rngtest: input channel speed: (min=3.095; avg=4.650; max=4.683)Kibits/s rngtest: FIPS tests speed: (min=28.899; avg=30.492; max=77.851)Mibits/s rngtest: Program run time: 420141440 microseconds real 7m0.163s user 0m0.065s sys 0m0.197s Re: LS1046ARDB run rngtest very slowly on SDK scarthgap 5.0-lf-6.6.36 Hello, Please provide the step by step you followed to flash the image on the sd card to make the test on my side and compare the results.
記事全体を表示
IW612 bluetooth not working Hello, Actually I'm working on the integration of SDIO Murata LBEE5PL2DL IW612 nxp wifi/bluetooth and I'm facing issues with bluetooth. I would like to share my exprements in case you have any hints or solution for me. see below for details: Wifi module: SDIO Murata LBEE5PL2DL IW612 Interface: SDIO on mmc usdhci (1.8V) kernel version: linux-imx 5.15.71 processor: imx8mp quad core for the driver, I tryied multiple version from yocto: 1. github.com/nxp-imx/mwifiex-iw612.git kernel-module-iw612 git tag  lf-5.15.71_2.2.0 with the corresponding firmware from linux firmware and from github.com/nxp-imx/imx-firmware.git 2. github.com/nxp-imx/mwifiex.git kernel-module-nxp89xx git tag lf-5.15.71_2.2.0  with the corresponding firmware from linux firmware and from github.com/nxp-imx/imx-firmware.git 3. github.com/nxp-imx/mwifiex.git kernel-module-nxp89xx git tag lf-6.6.3_1.0.0  with the corresponding firmware from linux firmware and from github.com/nxp-imx/imx-firmware.git the last case is not working at all because the communication is not estabilished, because the protocole has changed to use btnxp_uart instead of the generic one and probably not using the same baudrate...etc I found a note about how it works with kernel 6.x.x  but for the two first cases Wifi works fine but the bluetooth fails to pair and when scanning the devices are deleted as soon as they appears see the screenshot. I load the drivers with this options: modprobe mlan modprobe moal mod_para=nxp/wifi_mod_para.conf  my config is as fellows: SDIW612 = {      cfg80211_wext=0xf      max_vir_bss=1      cal_data_cfg=none      auto_ps=2      auto_ds=2      host_mlme=1      drv_mode=3      fw_name=nxp/sduart_nw61x_v1.bin.se } this is my device tree: usdhc2_pwrseq: usdhc2-pwrseq { compatible = "mmc-pwrseq-simple"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_reg_usdhc2_pwrseq>; reset-gpios = <&gpio2 19 GPIO_ACTIVE_LOW>; post-power-on-delay-ms = <40>; }; bt_reset: bt-reset { compatible = "gpio-reset"; reset-gpios = <&gpio1 7 GPIO_ACTIVE_LOW>; reset-delay-us = <2000>; reset-post-delay-ms = <60>; initially-in-reset; #reset-cells = <0>; }; &usdhc2 { pinctrl-names = "default", "state_100mhz", "state_200mhz"; pinctrl-0 = <&pinctrl_usdhc2>; pinctrl-1 = <&pinctrl_usdhc2_100mhz>; pinctrl-2 = <&pinctrl_usdhc2_200mhz>; pinctrl-assert-gpios = <&gpio6 3 GPIO_ACTIVE_HIGH>; mmc-pwrseq = <&usdhc2_pwrseq>; bus-width = <4>; only-1-8-v; keep-power-in-suspend; non-removable; fsl,sdio-async-interrupt-enabled; status = "okay"; }; &uart1 { /* BT */ /delete-property/dmas; /delete-property/dma-names;   pinctrl-names = "default"; pinctrl-0 = <&pinctrl_uart1>; assigned-clocks = <&clk IMX8MP_CLK_UART1>; assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>; fsl,uart-has-rtscts; resets = <&bt_reset>; status = "okay"; };   here how I attach to my bluetooth interface: hciattach /dev/ttymxc0 any 115200 flow   the scan in hcitool does not reset continuously the devices list like bluetooth but I steel unable to create a connection or whether pair with any device   I hope it's clear, Don't hesitate if you need more details. Thank you for your support RF Re: IW612 bluetooth not working Hi, @AnisCh  To download different FW for different Linux kernel version, you can choose the different tag in below link: https://github.com/nxp-imx/imx-firmware/tree/lf-5.15.71_2.2.0 Sorry, this thread has been closed for more than 1month, and it could not be re-open automatically.  We suggest you to create new case to us if you have any new questions or new requirement. So that our community can create a related case in our SFDC system. In this way, we would not miss your message. Otherwise, we might miss your comment without case in SFDC. Best regards, Christine. Re: IW612 bluetooth not working Subject: Request for Firmware for IW612 WiFi Chip Hi @Christine_Li , We are preparing for the certification of our WiFi chip, IW612. We discovered the firmware file sduart_nw61x_rftm_v1.bin.se, which enables the chip to be set in "rf_test_mode=1." However, this firmware is for kernel version LF-6.1.1_1.0.0. Could you please provide the equivalent firmware for Linux kernel version 5.15? Thank you for your assistance! Best regards, Anis and @alexandreMarquis Re: IW612 bluetooth not working Subject: Request for Firmware for IW612 WiFi Chip Hi @Christine_Li ,  We are preparing for the certification of our WiFi chip, IW612. We discovered the firmware file sduart_nw61x_rftm_v1.bin.se, which enables the chip to be set in "rf_test_mode=1." However, this firmware is for kernel version LF-6.1.1_1.0.0. Could you please provide the equivalent firmware for Linux kernel version 5.15? Thank you for your assistance! Best regards, Anis and @alexandreMarquis  Re: IW612 bluetooth not working Hi, @AnisCh  You are always welcome. It is my pleasure to support you. If there is no other queries on this thread, I will close this thread. Please do not hesitate to create new cases if you meet any other issues in future. Have a nice day! Best regards, Christine. Re: IW612 bluetooth not working Thank you very much for your support. Re: IW612 bluetooth not working Hi, @AnisCh  Thanks for your feedback, sounds great that Bluetooth can work well on your side. Please see inline reply: 1. I have IW611 chip (LBEE5PL2DL-921), from yocto kirkstone, can I use the kernel-module-nxp89xx, that provides moal and mlan ? ==>Yes, you can have a try, it should work. Our default I.MX8MP prebuilt image include IW611 driver in default. As you mentioned before: 1. github.com/nxp-imx/mwifiex-iw612.git kernel-module-iw612 git tag  lf-5.15.71_2.2.0 with the corresponding firmware from linux firmware and from github.com/nxp-imx/imx-firmware.git 2. github.com/nxp-imx/mwifiex.git kernel-module-nxp89xx git tag lf-5.15.71_2.2.0  with the corresponding firmware from linux firmware and from github.com/nxp-imx/imx-firmware.git  For the two first cases Wifi works fine, and you also resolved Bluetooth issue. So if IW612 works, it should also work on IW611. The only difference between IW612 and IW611 is: IW612 supports 802.15.4, but IW611 doesn't support.  2. for certification I get a python script from our provider Murata that does not implement 2DL and calls mlanutl which is provided by iw612-sdk recipe in yocto, can use this recipe to mlanutl and the other tools and can those tools be used to certify a 2DL IW611 module? ==>Yes, you can use. 3. if I can't use the driver/tools I mentioned in the previous questions, What can I use in place? ==>So no queries on this question because the answer for question 2 is yes. 4. When certifying the CHIP/module, Is driver loaded with the regional firmware or loaded without any arguments. ==>I think with default wifi_mod_para.conf should be ok. When you do certify, the lab will connect DUT to their AP, and DUT will change country code automatically according to the AP's country code. If you meet any issue during certifying, please do not hesitate to create new case to us. For sure we will provide support to you. Best regards, Christine. Re: IW612 bluetooth not working Hi @Christine_Li, thank you for your feedback and very sorry for the delay I'm very busy these days. I finally found a solution for my problem but steel have some questions?  First the problem was the bluetooth that steel removes devices as soon as they appears, this was because of miss configuration of bluez putting a simple bluez configuration resolved the issue. cat /etc/bluetooth/main.conf [General]Name = %h ControllerMode = dual Class = 0x007c010c after that I get a error when connecting to any device, saying that my br profile is unavailable. Failed to connect: org.bluez.Error.Failed br-connection-profile-unavailable for that I just integrated an audio stack in my system and it was pulseaudio in my case but I think pipewire can work also. After that I was able to connect to any device but the audio quality was very poor to resolve this I fallowed an nxp post suggesting to put the uart baudrate to 3000000 Mbps and the audio quality is very good now. My Questions are: 1. I have IW611 chip (LBEE5PL2DL-921), from yocto kirkstone, can I use the kernel-module-nxp89xx, that provides moal and mlan ? 2. for certification I get a python script from our provider Murata that does not implement 2DL and calls mlanutl which is provided by iw612-sdk recipe in yocto, can use this recipe to mlanutl and the other tools and can those tools be used to certify a 2DL IW611 module? 3. if I can't use the driver/tools I mentioned in the previous questions, What can I use in place? 4. When certifying the CHIP/module, Is driver loaded with the regional firmware or loaded without any arguments. Finally, Thank you very much for your support   Re: IW612 bluetooth not working Hi, @AnisCh  You can use bluetoothctl to see whether it works. When IW612 detects an pairable remote device, it will list it in the "New device" From the given info, I don't think there is any issue when you bring-up Bluetooth.  Please make sure the remote Bluetooth device has been disconnected with other device and enter pairable status. Or you can also reboot i.MX8MP to see whether can connect successfully. If possible, please help to provide me your full dmesg logs from 8MP boot. And yes, you are right, after Linux kernel 6.1.22, we changed from Linux default HCI uart driver to btnxpuart driver. Please do not hesitate to reply me if you still have any concerns or queries. Best regards, Christine.
記事全体を表示
MCIMX6D6AVT10AD正交接口 “MCIMX6D6AVT10AD”处理器中是否有正交通道来解码旋转编码器信号? 电路板设计 回复:MCIMX6D6AVT10AD正交接口 感谢您的支持
記事全体を表示
openssl provier error when generate key hello. An error occurred while running the test example. The environment is raspberry pi + OM-SE050ARD0-F + openssl3 + provider While creating a key pair in se050, the following error occurred and ended. Could I ask for some advice? mw version : 4.5.1 PTMW_APPLET : SE050_C $ openssl genrsa --provider /usr/local/lib/libsssProvider.so --provider default -out tls_client_key_ref_0xEF000011.pem 2048 App :INFO :Using PortName='/dev/i2c-1' (ENV: EX_SSS_BOOT_SSS_PORT=/dev/i2c-1) App :WARN :Using SCP03 keys from:'/tmp/SE05X/plain_scp.txt' (FILE=/tmp/SE05X/plain_scp.txt) sss :INFO :atr (Len=35) 00 A0 00 00 03 96 04 03 E8 00 FE 02 0B 03 E8 08 01 00 00 00 00 64 00 00 0A 4A 43 4F 50 34 20 41 54 50 4F App :INFO :Using PortName='/dev/i2c-1' (ENV: EX_SSS_BOOT_SSS_PORT=/dev/i2c-1) App :WARN :Using SCP03 keys from:'/tmp/SE05X/plain_scp.txt' (FILE=/tmp/SE05X/plain_scp.txt) sss :INFO :atr (Len=35) 00 A0 00 00 03 96 04 03 E8 00 FE 02 0B 03 E8 08 01 00 00 00 00 64 00 00 0A 4A 43 4F 50 34 20 41 54 50 4F sssprov-flw: Generate RSA key inside SE05x sss :WARN :nxEnsure:'ret == SM_OK' failed. At Line:7837 Function:sss_se05x_TXn sss :WARN :nxEnsure:'status == SM_OK' failed. At Line:4063 Function:sss_se05x_key_store_generate_key App :WARN :nxEnsure:'status == kStatus_SSS_Success' failed. At Line:471 Function:sss_keymgmt_rsa_gen genrsa: Error generating RSA key SE050 Re: openssl provier error when generate key Hi @chanyoung , Yes, it is possible to use RSA in TLS client demo, but if you use ref key instead, you'd better use the access Manager together with the openssl provider. Please kindly refer to simw-top/doc/hostlib/hostLib/accessManager/doc/accessManager.html for more details. Have a great day, Kan ------------------------------------------------------------------------------- Note: - If this post answers your question, please click the "Mark Correct" button. Thank you! - We are following threads for 7 weeks after the last post, later replies are ignored Please open a new thread and refer to the closed one, if you have a related question at a later point in time. ------------------------------------------------------------------------------- Re: openssl provier error when generate key thank you for your reply I modified it according to the advice and confirmed that it was created normally. But there's one more problem During the process of creating a CSR by calling the created key pair, the program ends without being created. Is it impossible to create it with RSA? Or I would like to know if there is another way Additionally, here is the full script of the example I am referring to. TLS client example using RSA keys # Create Root CA key pair and certificate openssl genrsa -out tls_rootca_key.pem 2048 openssl req -x509 -new -nodes -key tls_rootca_key.pem -subj "/OU=NXP Plug Trust CA/CN=NXP RootCAvExxx" -days 4380 -out tls_rootca.cer # Create client key inside secure element openssl genrsa --provider /usr/local/lib/libsssProvider.so --provider default -out tls_client_key_ref_0xEF000011.pem 2048 # Create Client key CSR. Use the provider to access the client key created in the previous file. openssl req -new --provider /usr/local/lib/libsssProvider.so --provider default -key tls_client_key_ref_0xEF000011.pem -subj "/CN=NXP_SE050_TLS_CLIENT_RSA" -out tls_client.csr # Create Client certificate openssl x509 -req --provider default -in tls_client.csr -CAcreateserial -out tls_client.cer -days 5000 -CA tls_rootca.cer -CAkey tls_rootca_key.pem # Create Server key pair and certificate openssl genrsa -out tls_server_key.pem 2048 openssl req -new -key tls_server_key.pem -subj "/CN=NXP_SE050_TLS_SERVER_RSA" -out tls_server.csr openssl x509 -req -sha256 -days 4380 -in tls_server.csr -CAcreateserial -CA tls_rootca.cer -CAkey tls_rootca_key.pem -out tls_server.cer Re: openssl provier error when generate key Hi @chanyoung , The openssl provider generates RSA in plain mode by default, which is not supported on SE050F, if you want to use provider to generates RSA CRT instead, just change the following kSSS_CipherType_RSA to kSSS_CipherType_RSA_CRT in sssProvider_main.h . please also note RSA key length <2048 bits is not supported on SE050F either. BTW, as provider doesn't support Key ID as a parameter, the default key ID is set as  "0xEF000011", but you may modify it in sssProvider_key_mgmt_rsa.c. Alternatively you may use SETool instead to generate RSA key pairs in SE050F. Please refer to se05x_mw_v04.05.01/simw-top/doc/demos/se05x/seTool/Readme.html for more details. Hope that helps, Have a great day, Kan ------------------------------------------------------------------------------- Note: - If this post answers your question, please click the "Mark Correct" button. Thank you! - We are following threads for 7 weeks after the last post, later replies are ignored Please open a new thread and refer to the closed one, if you have a related question at a later point in time. -------------------------------------------------------------------------------
記事全体を表示
Replacing initial ISD keyset (KVN 0xFF) Hi, Using the JCOP 4.5 P71 (JCOP-ID-2) product, we would like to replace the initial ISD keys (SCP03, AES), which have the Key Version Number is 255 (0xFF), with new keys having a different KVN, for example 0x01. I have found an example JCShell scripts, but we are using a different tool in production to send the APDU commands so I would like to understand which GlobalPlatform APDU commands to use and how. Example in JCShell script: # update the key-set # the keys are defined in the authISD script if ${replaceKeyset} put-keyset -m replace -r ${replaceKeyset;q} ${newKeySet} else put-keyset -r 255 ${newKeySet} end In the GlobalPlatform Card Specification v2.3.1, the PUT KEY command to replace existing keys does not allow the value 0xFF to be specified in the P1 parameter. Is KVN 0xFF a special case? How can we replace the keys in this case? Thanks, JCOP-ID-2 Re: Replacing initial ISD keyset (KVN 0xFF) Hi @nc-adnan , Actually P71 is not a mass market product so the related technical discussion is not allowed here. Would you please create a private ticket instead? Please kindly refer to the following for details. https://www.nxp.com/video/tutorial-for-nxp-support-case-portal:NCP-VIDEO  Have a great day, Kan ------------------------------------------------------------------------------- Note: - If this post answers your question, please click the "Mark Correct" button. Thank you! - We are following threads for 7 weeks after the last post, later replies are ignored Please open a new thread and refer to the closed one, if you have a related question at a later point in time. -------------------------------------------------------------------------------
記事全体を表示
MCIMX6D6AVT10AD quadrature interface Is Quadrature channel available in "MCIMX6D6AVT10AD" processor to decode Rotary Encoder signals? Board Design Re: MCIMX6D6AVT10AD quadrature interface Thank you for you support Re: MCIMX6D6AVT10AD quadrature interface Hello,   The i.MX6D doesn't have a dedicated hardware to decode Rotary Encoder signals but you can use GPIO pins to do that task by software, here some information that could be used as reference:   Rotary encoder with GPIOs   rotary-encoder - a generic driver for GPIO connected devices   Best regards.
記事全体を表示
タグレスポンスでのTaplinx iOSアプリのクラッシュ こんにちは、私は UG10045.pdfに従ってiOSアプリケーションを作成しました。私はApduExchangeWithByteArrayメソッドを作成し、その内容を実装しました。ただし、タグからtaplinxライブラリに応答を返すと、デバイスログから次のエントリでアプリケーションがクラッシュします。 Time Device Name Type PID Tag Message Nov 6 20:44:31 iPhone Notice 5223 MobileFacilityApp Command Set - 1 Nov 6 20:44:31 iPhone Notice 5223 MobileFacilityApp Command Set - Native Nov 6 20:44:31 iPhone Error 0 kernel(Sandbox) Sandbox: MobileFacilityApp(5223) deny(1) sysctl-read kern.bootargs Nov 6 20:44:38 iPhone Notice 5223 MobileFacilityApp(UIKitCore) Received memory warning. Nov 6 20:44:38 iPhone Notice 5223 MobileFacilityApp(UIKitCore) Received memory warning. Nov 6 20:44:40 iPhone Notice 0 kernel EXC_RESOURCE -> MobileFacilityApp[5223] exceeded mem limit: InactiveHard 3072 MB (fatal) Nov 6 20:44:40 iPhone Notice 0 kernel memorystatus: killing process 5223 [MobileFacilityApp] in high band FOREGROUND (100) - memorystatus_available_pages: 44859 空の応答をtaplinxライブラリに送り返すと(ResponseDataを設定せずにTL_TagAPDUResponse)、アプリはクラッシュせず、不完全な応答に関するエラーが発生します(これは予想されます)。私は何が間違っていますか? Re:タグ応答のTaplinx iOSのappcrashについて フォローアップ - 私が自分のものを提供する代わりに提供されたTapLinxApduHandlerを使用するように実装を変更したとき - その後、apduExchangeWithByteArrayはコントラクトに準拠します - (null許容 TL_TagAPDUResponse *)apduExchangeWithByteArray:(NSData *_Nonnull)apduData; Re:タグ応答のTaplinx iOSのappcrashについて @ukcas - Taplinx iOSライブラリのどのバージョンが「最新」ですか?私は2.0.0を持っており、 apduExchangeメソッドからTL_TagAPDUResponseを返すと間違いなくクラッシュするため、j2objcライブラリからの生のIOSByteArrayである必要があります。私はtaplinxライブラリにC#バインディングを使用していますが、この問題では問題ではありません。 Re:タグ応答のTaplinx iOSのappcrashについて こんにちは クラッシュは間違いなくTaplinxライブラリから来ています。 - (null 許容 TL_TagAPDUResponse *)apduExchangeWithByteArray:(NSData *_Nonnull)apduData; 実際には: - (null 許容 IOSByteArray*)apduExchangeWithByteArray:(IOSByteArray*_Nonnull)apduData; それは動き始めました Re:タグ応答のTaplinx iOSのappcrashについて こんにちは、ダミアン。 たぶん、エラーの原因は、TapLinxライブラリではなく、メモリ制限を超えていることですか? MobileFacilityApp[5223] exceeded mem limit: InactiveHard 3072 MB (fatal) TapLinxライブラリを統合したアプリケーションは、次のように使用できます(ApduExchangeを上に実装する必要はありません)。 代理オブジェクトを APDUHandler に設定する let reader = TL_IOSNFCReader(uid: tag.identifier, historicalBytes: tag.historicalBytes ?? Data()) handler = TapLinxApduHandler(reader: reader) handler.delegate = self libraryManager?.setApduHandlerWithApduHandler(handler) 次のステップは、アプリケーション内にプロトコルメソッドを実装することです func apduExchange(withByteArray apduData: Data) -> TL_TagAPDUResponse? { var tagAPDUResponse: TL_TagAPDUResponse? if connectedTag != nil { // Send Tag Type Native of ISO and the apdu as NFCISO7816APDU executeAPDUCommandOn7816Tag(tagType: tagtype, apdu: apdu) { data in let appendedData = data tagAPDUResponse = TL_TagAPDUResponse(responseData: appendedData, tag: self.currentTag) semaphore.signal() } let _ = semaphore.wait(timeout: .now() + 3.0) } else if connectedMifareTag != nil { let semaphore = DispatchSemaphore(value: 0) print("MIFARE CAPDU 📱->💳 \(apduData.hex)") executeAPDUCommandOnMIFARETag(apdu: apduData) { data in print("RAPDU 📱<-💳 Data: \(data.hex)") tagAPDUResponse = TL_TagAPDUResponse(responseData: data, tag: self.currentTag) semaphore.signal() } let _ = semaphore.wait(timeout: .now() + 3.0) } print("Tag Response \(String(describing: tagAPDUResponse))") return tagAPDUResponse } この単純化がお役に立てば幸いです。 よろしくお願いいたします。 TapLinxチーム Re:タグ応答のTaplinx iOSのappcrashについて もう 1 つ、apduData は実際には NSData ではなく IOSByteArray でもあります Re:タグ応答のTaplinx iOSのappcrashについて どうやらTapLinx-v2.0.0に含まれているヘッダーはすべて間違っているようです。TapLinxApduHandler.hには、宣言があります。 - (nullable TL_TagAPDUResponse *)apduExchangeWithByteArray:(NSData *_Nonnull)apduData; しかし、実際には IOSByteArray* を返す必要があります、そうでなければ、アプリは前述の症状でクラッシュします
記事全体を表示
MCIMX6D6AVT10AD直交インターフェース 直交チャネルは「MCIMX6D6AVT10AD」プロセッサでロータリーエンコーダー信号をデコードするために使用できますか? ボード設計 Re:直交インターフェースMCIMX6D6AVT10AD ご支援いただきありがとうございます
記事全体を表示
Taplinx iOS appcrash on tag response Hi, i followed UG10045.pdf and created ios application. I created ApduExchangeWithByteArray method and implemented its contents. However when send back response from tag back to taplinx library, application crashes with following entries from device log: Time Device Name Type PID Tag Message Nov 6 20:44:31 iPhone Notice 5223 MobileFacilityApp Command Set - 1 Nov 6 20:44:31 iPhone Notice 5223 MobileFacilityApp Command Set - Native Nov 6 20:44:31 iPhone Error 0 kernel(Sandbox) Sandbox: MobileFacilityApp(5223) deny(1) sysctl-read kern.bootargs Nov 6 20:44:38 iPhone Notice 5223 MobileFacilityApp(UIKitCore) Received memory warning. Nov 6 20:44:38 iPhone Notice 5223 MobileFacilityApp(UIKitCore) Received memory warning. Nov 6 20:44:40 iPhone Notice 0 kernel EXC_RESOURCE -> MobileFacilityApp[5223] exceeded mem limit: InactiveHard 3072 MB (fatal) Nov 6 20:44:40 iPhone Notice 0 kernel memorystatus: killing process 5223 [MobileFacilityApp] in high band FOREGROUND (100) - memorystatus_available_pages: 44859 When i sent back empty response back to taplinx library (just TL_TagAPDUResponse without setting ResponseData) - app does not crash and i get error about incomplete response (which is expected). What am i doing wrong?   Re: Taplinx iOS appcrash on tag response followup - when i changed my implementation to use provided TapLinxApduHandler instead of providing my own - then apduExchangeWithByteArray does conform to contract - (nullable TL_TagAPDUResponse *)apduExchangeWithByteArray:(NSData *_Nonnull)apduData; Re: Taplinx iOS appcrash on tag response @ukcas - what version of taplinx ios library is 'current'? Because i have 2.0.0 and it definitely crashes when i return TL_TagAPDUResponse from apduExchange method, it has to be raw IOSByteArray from j2objc library. I'm using c# bindings for taplinx library, but it does not matter in this problem. Re: Taplinx iOS appcrash on tag response hi the crash definietly comes from taplinx library because when i changed - (nullable TL_TagAPDUResponse *)apduExchangeWithByteArray:(NSData *_Nonnull)apduData; to actually: - (nullable IOSByteArray*)apduExchangeWithByteArray:(IOSByteArray*_Nonnull)apduData; It started working Re: Taplinx iOS appcrash on tag response Hello Damian, Maybe the cause of the error is some exceeding memory limit and not TapLinx library? MobileFacilityApp[5223] exceeded mem limit: InactiveHard 3072 MB (fatal) The application which integrates TapLinx Library can be used as following (no need for ApduExchange implementation on top) Set the delegate to the APDUHandler let reader = TL_IOSNFCReader(uid: tag.identifier, historicalBytes: tag.historicalBytes ?? Data()) handler = TapLinxApduHandler(reader: reader) handler.delegate = self libraryManager?.setApduHandlerWithApduHandler(handler) Next Step will be to implement the protocol method inside the application func apduExchange(withByteArray apduData: Data) -> TL_TagAPDUResponse? { var tagAPDUResponse: TL_TagAPDUResponse? if connectedTag != nil { // Send Tag Type Native of ISO and the apdu as NFCISO7816APDU executeAPDUCommandOn7816Tag(tagType: tagtype, apdu: apdu) { data in let appendedData = data tagAPDUResponse = TL_TagAPDUResponse(responseData: appendedData, tag: self.currentTag) semaphore.signal() } let _ = semaphore.wait(timeout: .now() + 3.0) } else if connectedMifareTag != nil { let semaphore = DispatchSemaphore(value: 0) print("MIFARE CAPDU 📱->💳 \(apduData.hex)") executeAPDUCommandOnMIFARETag(apdu: apduData) { data in print("RAPDU 📱<-💳 Data: \(data.hex)") tagAPDUResponse = TL_TagAPDUResponse(responseData: data, tag: self.currentTag) semaphore.signal() } let _ = semaphore.wait(timeout: .now() + 3.0) } print("Tag Response \(String(describing: tagAPDUResponse))") return tagAPDUResponse } Hope this simplification would help you. Best regards, TapLinx team Re: Taplinx iOS appcrash on tag response one more thing - apduData is really also IOSByteArray, not NSData Re: Taplinx iOS appcrash on tag response apparently included headers in TapLinx-v2.0.0 are all wrong. In TapLinxApduHandler.h we see declaration: - (nullable TL_TagAPDUResponse *)apduExchangeWithByteArray:(NSData *_Nonnull)apduData; but in reality we should return IOSByteArray*, otherwise app will crash with aforementioned symptoms
記事全体を表示
IMX8MP - image capturing format for ISP Calibration Hello @joanxie  Need a clarity on capturing images for ISP Calibration of our own camera with imx662 sensor. 1. As per ISP Calibration Tool Suite User Guide, we need to capture images for each calibration steps in a particular image format. Some steps says raw12 some steps says .bgm .jpeg. So what is the format suits for all the steps and how can we capture images for ISP tuning? FYI, till now I am using tuning-client tool to capture the images for ISP tuning (output format will be either .raw12 or .yuv). Is this correct or do we have any other way to capture images in a particular format which isp Calibration demands? Also please mention how to capture images in .png/.JPEG format in IMX8MP? 2. Chapter 6 (lens shade correction)says , the test images must be black level corrected, but without any further processing. In my case I am using existing calibration files (ov2775) which is provided in samples folders. So how can I bypass further processing of ISP while capturing images for lens shade correction?  Basically what calibration XML files should be mentioned in run.sh while capturing images for ISP tuning? Can we capture images without adding any calibration.xml file? Thanks in advance Re: IMX8MP - image capturing format for ISP Calibration according to the private message, you can do this using the default calibration files Re: IMX8MP - image capturing format for ISP Calibration How Can I bypass the ISP (calibration files datas) while capturing images? Re: IMX8MP - image capturing format for ISP Calibration I'm not sure if I understand your question, the detailed steps were mentioned in the chapter 6.1.1 Setup for raw image capture already Re: IMX8MP - image capturing format for ISP Calibration @joanxie  kindly consider this in prior. thanks in advance. How to capture RAW images (bypassing ISP) for ISP tuning.
記事全体を表示
LPC824 - SWM PINABLE0 assigns port pin to ADC at POR Hi.I've have an issue that a port pin 0.19 on the LPC824 is set to output, it will not respond to instruction to set HIGH or LOW. It seems that on POR, that the PINABLE0  register is clearing (which ENABLES) ADC_0, ADC_6, ADC_7 and ADC_9.  Other ADC bits are set to 1, which DISABLES the ADC link to the port pin. Data sheet states that the reset state should be 1 for all ADC port pins. I have tried this on an LPCXpresso824-MAX eval board. I'm using IAR EWARM, which if you start from the debug enviroment it works OK, but if you start the debug code without IAR, it goes wrong. I've started the the expresso board without IAR, it goes wrong, used the IAR connect to running target, inspected the PINENABLE0 register, which show the above register bits cleared. I've tried a simple code example which does the same. A fix is to put a few lines of code to set those bits to 1, but they shouldn't be 0 in the first place? So that extra code shouldn't be required. Is there something obvious I'm not doing as this would be seen by other folk, but not seen this mentioned on the forum. Thanks My test code u8 test_byte; void main(void) { SystemCoreClockUpdate(); //GPIO_INIT(); Chip_GPIO_Init(LPC_GPIO_PORT); Chip_GPIO_SetPinDIR(LPC_GPIO_PORT, PORT0, 20, GPIO_OUTPUT); Chip_GPIO_SetPinState(LPC_GPIO_PORT, PORT0, 20, HIGH); Chip_GPIO_SetPinDIR(LPC_GPIO_PORT, PORT0, 18, GPIO_OUTPUT); Chip_GPIO_SetPinState(LPC_GPIO_PORT, PORT0, 18, HIGH); Chip_GPIO_SetPinDIR(LPC_GPIO_PORT, PORT0, 19, GPIO_OUTPUT); Chip_GPIO_SetPinState(LPC_GPIO_PORT, PORT0, 19, HIGH); // This fixes the issue ! /* Chip_Clock_EnablePeriphClock(SYSCTL_CLOCK_SWM); // Enable the clock to the Switch Matrix Chip_SWM_DisableFixedPin(SWM_FIXED_ADC0); //turn off ADC is on port Chip_SWM_DisableFixedPin(SWM_FIXED_ADC6); //turn off ADC Chip_SWM_DisableFixedPin(SWM_FIXED_ADC7); //turn off ADC Chip_SWM_DisableFixedPin(SWM_FIXED_ADC9); //turn off ADC Chip_Clock_DisablePeriphClock(SYSCTL_CLOCK_SWM); // Disable the clock to the Switch Matrix to save power */ while (1) { if (test_byte == 0) { test_byte = 1; Chip_GPIO_SetPinState(LPC_GPIO_PORT, PORT0, 19, HIGH); // debug pulse Chip_GPIO_SetPinState(LPC_GPIO_PORT, PORT0, 18 , HIGH); Chip_GPIO_SetPinState(LPC_GPIO_PORT, PORT0, 20 , HIGH); } else { test_byte = 0; Chip_GPIO_SetPinState(LPC_GPIO_PORT, PORT0, 19, LOW); // debug pulse Chip_GPIO_SetPinState(LPC_GPIO_PORT, PORT0, 18 , LOW); Chip_GPIO_SetPinState(LPC_GPIO_PORT, PORT0, 20 , LOW); } } } // Set up and initialize hardware prior to call to main ------------------------ void SystemInit(void) { SCB->VTOR = VECTORS; } Re: LPC824 - SWM PINABLE0 assigns port pin to ADC at POR Hi Problem solved! Turned out to be a silly. Had some "hidden" bootloader code that got pulled in that fiddled with PINEABLE0 register. Thanks for your time. Re: LPC824 - SWM PINABLE0 assigns port pin to ADC at POR Hi Pavel. In my actual application, I want to use Port P0.19 as a straight forward port output. When I was testing my code the port pin wouldn't respond. As I investigated, it seems that that pin was assigned to ADC_7. I have not purposely assigned it to ADC_7. I did a simple test program, as posted previously, which did the same on a LPCXpresso824-MAX board using IAR EWARM 8.11 It seems that the PINENABLE0 register is (falsely?) enabling that port pin to the ADC_7 on POR. PINENABLE register, for bit 20 that controls ADC_7 at RESET should be SET to One. If set to One, this will DISABLE the link to ADC_7. My test’s indicate that bit is CLEARED to ZERO, which ENABLES ADC_7.   Documentation for PINEABLE0 states that at reset , that bit is SET to One. But my quick test program, when inspecting that register that bit is cleared to zero, which the documentation states it shouldn’t be?  I have done this by starting the application, connecting to the running target with IAR EWARM (a great feature), halting the program and inspecting the PINENABLE0 register, as previously shown. I have managed a “quick” work around by writing to the ENABLE0 register and setting that bit to One, BUT this should not need to be done. Why is it cleared to zero? Is there something obvious I am missing. Problem also affects ADC_0 , 6 and 9. I have concern that if register is not properly setting/ clearing the bits at POR, will other registers be doing wrong POR bit setting / clearing? Grab of NXP data sheet for PINEABLE0  Screen grab of what IAR EWARM is telling me of the status of PINENABLE0   So, I have not solved my issue as I don’t understand why those bits are not correct on POR. Thanks Re: LPC824 - SWM PINABLE0 assigns port pin to ADC at POR Hello, my name is Pavel, and I will be supporting our case I have some questions what is the mode you need to use GPIO or ADC? Could you elaborate further? Did you solve your issue?  Best regards, Pavel
記事全体を表示
Taplinx iOS 应用程序在标签响应时崩溃 您好,我按照UG10045.pdf 的说明创建了 iOS 应用程序。我创建了 ApduExchangeWithByteArray 方法并实现了其内容。但是,当将标签的响应发送回 Taplinx 库时,应用程序崩溃了,设备日志中显示以下内容: Time Device Name Type PID Tag Message Nov 6 20:44:31 iPhone Notice 5223 MobileFacilityApp Command Set - 1 Nov 6 20:44:31 iPhone Notice 5223 MobileFacilityApp Command Set - Native Nov 6 20:44:31 iPhone Error 0 kernel(Sandbox) Sandbox: MobileFacilityApp(5223) deny(1) sysctl-read kern.bootargs Nov 6 20:44:38 iPhone Notice 5223 MobileFacilityApp(UIKitCore) Received memory warning. Nov 6 20:44:38 iPhone Notice 5223 MobileFacilityApp(UIKitCore) Received memory warning. Nov 6 20:44:40 iPhone Notice 0 kernel EXC_RESOURCE -> MobileFacilityApp[5223] exceeded mem limit: InactiveHard 3072 MB (fatal) Nov 6 20:44:40 iPhone Notice 0 kernel memorystatus: killing process 5223 [MobileFacilityApp] in high band FOREGROUND (100) - memorystatus_available_pages: 44859 当我将空响应发回 taplinx 库(仅 TL_TagAPDUResponse 而未设置 ResponseData)时 - 应用程序不会崩溃,并且我收到有关响应不完整的错误(这是预期的)。我做错了什么? 回复:Taplinx iOS 应用程序因标签响应而崩溃 后续 - 当我将我的实现更改为使用提供的 TapLinxApduHandler 而不是提供我自己的时 - 那么 apduExchangeWithByteArray 确实符合合同 - (nullable TL_TagAPDUResponse *)apduExchangeWithByteArray:(NSData *_Nonnull)apduData; 回复:Taplinx iOS 应用程序因标签响应而崩溃 @ukcas - taplinx ios 库的哪个版本是“当前”版本?因为我使用的是 2.0.0 版本,当我从 apduExchange 方法返回 TL_TagAPDUResponse 时,它肯定会崩溃,所以它必须是 j2objc 库中的原始 IOSByteArray。我正在使用 taplinx 库的 c# 绑定,但这在这个问题上无关紧要。 回复:Taplinx iOS 应用程序因标签响应而崩溃 你好 崩溃肯定来自 taplinx 库,因为当我更改 - (可空 TL_TagAPDUResponse *)apduExchangeWithByteArray:(NSData *_Nonnull)apduData; 实际上: - (可空的IOSByteArray *)apduExchangeWithByteArray:(IOSByteArray * _Nonnull)apduData; 它开始发挥作用 回复:Taplinx iOS 应用程序因标签响应而崩溃 你好,达米安, 也许错误的原因是由于超出了内存限制而不是 TapLinx 库? MobileFacilityApp[5223] exceeded mem limit: InactiveHard 3072 MB (fatal) 集成TapLinx库的应用程序可以按如下方式使用(无需在顶层实现ApduExchange) 将委托设置为 APDUHandler let reader = TL_IOSNFCReader(uid: tag.identifier, historicalBytes: tag.historicalBytes ?? Data()) handler = TapLinxApduHandler(reader: reader) handler.delegate = self libraryManager?.setApduHandlerWithApduHandler(handler) 下一步是在应用程序内部实现协议方法 func apduExchange(withByteArray apduData: Data) -> TL_TagAPDUResponse? { var tagAPDUResponse: TL_TagAPDUResponse? if connectedTag != nil { // Send Tag Type Native of ISO and the apdu as NFCISO7816APDU executeAPDUCommandOn7816Tag(tagType: tagtype, apdu: apdu) { data in let appendedData = data tagAPDUResponse = TL_TagAPDUResponse(responseData: appendedData, tag: self.currentTag) semaphore.signal() } let _ = semaphore.wait(timeout: .now() + 3.0) } else if connectedMifareTag != nil { let semaphore = DispatchSemaphore(value: 0) print("MIFARE CAPDU 📱->💳 \(apduData.hex)") executeAPDUCommandOnMIFARETag(apdu: apduData) { data in print("RAPDU 📱<-💳 Data: \(data.hex)") tagAPDUResponse = TL_TagAPDUResponse(responseData: data, tag: self.currentTag) semaphore.signal() } let _ = semaphore.wait(timeout: .now() + 3.0) } print("Tag Response \(String(describing: tagAPDUResponse))") return tagAPDUResponse } 希望这种简化能对您有所帮助。 顺祝商祺! TapLinx团队 回复:Taplinx iOS 应用程序因标签响应而崩溃 还有一件事 - apduData 实际上也是 IOSByteArray,而不是 NSData 回复:Taplinx iOS 应用程序因标签响应而崩溃 显然 TapLinx-v2.0.0 中包含的标题都是错误的。在TapLinxApduHandler.h中我们看到声明: - (nullable TL_TagAPDUResponse *)apduExchangeWithByteArray:(NSData *_Nonnull)apduData; 但实际上我们应该返回 IOSByteArray*,否则应用程序将崩溃并出现上述症状
記事全体を表示
MPC5744P互換HSM みなさん。 MPC5744Pを使用しています。また、MCUにHSMがないことを確認します。 MPC5744P対応HSMを教えてください。 RSAやECCなどのデジタル署名を適用しようとしています。 Re:MPC5744P互換HSM 迅速な対応をありがとう。 また、NXPにアドオンHSMがあることも知りたいです。 アドオンとは、MCUに継承されず、MCUの外部に継承されることを意味します。 MCUを変更するのが難しいため、変更されている場合はHSMチップを追加したいと思います。 感謝 Re:MPC5744P互換HSM こんにちは @LCGSEMS  MPC57xxファミリの唯一のオプションは、HSMモジュールを含むMPC5748Gです。他の一部のMPC57xxデバイスには、SHE要件を満たすCSEモジュールのみがあります。そのため、RSA や ECC はサポートされていません。 ただし、HSM ファームウェアを搭載したMPC5748Gは、サポートが限られているため、承認されたお客様 (大量の注文を想定) にのみ提供されます。標準の MPC5748G デバイスには HSM ファームウェアがインストールされていないことに注意してください。HSEファームウェアを搭載したデバイスには、特別な部品番号があります。ご興味のある方は、お近くのNXP営業所までお問い合わせください。 いずれにせよ、HSEモジュールを搭載したS32K3デバイスに移行するのが、はるかに良い選択肢です。HSEファームウェアは、すべてのお客様が使用できます。RSA と ECC はサポートしています。 https://www.nxp.com/products/processors-and-microcontrollers/s32-automotive-platform/s32k-auto-general-purpose-mcus/s32k3-microcontrollers-for-automotive-general-purpose:S32K3 また、新しいデバイスであるため、保証される可用性はより長くなります。 https://www.nxp.com/products/nxp-product-information/nxp-product-programs/product-longevity:PRDCT_LONGEVITY_HM よろしく ルーカス
記事全体を表示
freeRTOS stack size configuration I am currently learning FreeRTOS on the LPC51U68 development board (OM40005). I have created 7 tasks for testing and am using the RTOS task list monitor provided by MCUXpresso IDE. I noticed that the stack sizes displayed in the task list don't match the configurations I set. Could this be related to memory alignment? Where can I check the rules for configuration differences? Below is the code I modified from the freertos_hello example. /* * Copyright (c) 2015, Freescale Semiconductor, Inc. * Copyright 2016-2017 NXP * All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ /* FreeRTOS kernel includes. */ #include "FreeRTOS.h" #include "task.h" #include "queue.h" #include "timers.h" /* Freescale includes. */ #include "fsl_device_registers.h" #include "fsl_debug_console.h" #include "pin_mux.h" #include "board.h" #include /******************************************************************************* * Definitions ******************************************************************************/ /* Task priorities. */ #define hello_task_PRIORITY (configMAX_PRIORITIES - 1) /******************************************************************************* * Prototypes ******************************************************************************/ static void task1(void *pvParameters); static void task2(void *pvParameters); static void task3(void *pvParameters); static void task4(void *pvParameters); static void task5(void *pvParameters); static void task6(void *pvParameters); static void task7(void *pvParameters); /******************************************************************************* * Code ******************************************************************************/ /*! * @brief Application entry point. */ int main(void) { /* Init board hardware. */ /* attach 12 MHz clock to FLEXCOMM0 (debug console) */ CLOCK_AttachClk(BOARD_DEBUG_UART_CLK_ATTACH); BOARD_InitBootPins(); BOARD_InitBootClocks(); BOARD_InitDebugConsole(); if (xTaskCreate(task1, "task1", configMINIMAL_STACK_SIZE + 50, NULL, hello_task_PRIORITY, NULL) != pdPASS) { PRINTF("Task creation failed!.\r\n"); while (1) ; } if (xTaskCreate(task2, "task2", configMINIMAL_STACK_SIZE + 100, NULL, hello_task_PRIORITY, NULL) != pdPASS) { PRINTF("Task creation failed!.\r\n"); while (1) ; } if (xTaskCreate(task3, "task3", configMINIMAL_STACK_SIZE + 160, NULL, hello_task_PRIORITY, NULL) != pdPASS) { PRINTF("Task creation failed!.\r\n"); while (1) ; } if (xTaskCreate(task4, "task4", configMINIMAL_STACK_SIZE + 161, NULL, hello_task_PRIORITY, NULL) != pdPASS) { PRINTF("Task creation failed!.\r\n"); while (1) ; } if (xTaskCreate(task5, "task5", configMINIMAL_STACK_SIZE + 170, NULL, hello_task_PRIORITY, NULL) != pdPASS) { PRINTF("Task creation failed!.\r\n"); while (1) ; } if (xTaskCreate(task6, "task6", configMINIMAL_STACK_SIZE + 200, NULL, hello_task_PRIORITY, NULL) != pdPASS) { PRINTF("Task creation failed!.\r\n"); while (1) ; } if (xTaskCreate(task7, "task7", configMINIMAL_STACK_SIZE + 300, NULL, hello_task_PRIORITY, NULL) != pdPASS) { PRINTF("Task creation failed!.\r\n"); while (1) ; } vTaskStartScheduler(); for (;;) ; } /*! * @brief Task responsible for printing of "Hello world." message. */ static void task1(void *pvParameters) { for (;;) { PRINTF("Hello world.\r\n"); vTaskSuspend(NULL); } } static void task2(void *pvParameters) { for (;;) { PRINTF("H\r\n"); vTaskSuspend(NULL); } } static void task3(void *pvParameters) { for (;;) { PRINTF("H\r\n"); vTaskSuspend(NULL); } } static void task4(void *pvParameters) { for (;;) { PRINTF("H\r\n"); vTaskSuspend(NULL); } } static void task5(void *pvParameters) { for (;;) { PRINTF("H\r\n"); vTaskSuspend(NULL); } } static void task6(void *pvParameters) { for (;;) { PRINTF("H\r\n"); vTaskSuspend(NULL); } } static void task7(void *pvParameters) { for (;;) { PRINTF("H\r\n"); vTaskSuspend(NULL); } } Re: freeRTOS stack size configuration Hi @Relas  In FreeRTOS, the stack size specified in xTaskCreate() is measured in words (not bytes). For the LPC51U68, which uses a 32-bit word size, each word is 4 bytes. For instance, if you specify configMINIMAL_STACK_SIZE + 50, this translates to (configMINIMAL_STACK_SIZE + 50) * 4 bytes of stack space. The alignment adjustments by FreeRTOS or the compiler can cause discrepancies between the requested stack size and the actual allocated size. BR Hang
記事全体を表示