How to get Orin FAB in system?

hi,
目前我们有Orin 64G模组其中有两个生产批次,由于PCN2010100导致FAB由500变更为501,
那有更好的办法从ubuntu系统里面直接读取获取FAB值吗?或者有没有更好的方法在orin系统运行时区分是否是新批次模组?
之前都是通过flash.sh看日志输出,但是这个方法并不方便。

sudo i2cdump -y 0 0x50

我是建議直接升級BSP比起用這種方法實際…

升级BSP? 现在已经使用JetPack5.1.3了

那你要把module做區分的目的是?

主要是massflash刷机包的生成方法使用不同FAB数值,这也意味着新旧批次的模组用生成两个massflash package

Hi,

FAB 500跟501在35.5應該是可以用同一包mfi package的

那都用FAB500还是FAB501?

hi,
在JetPack5.1.3中,我用了massflash package为FAB500在新批次模组(FAB501)上烧录,结果发现烧录失败,失败日志如下

Waiting for target to boot-up...
Waiting for target to boot-up...
Waiting for device to expose ssh ......RTNETLINK answers: File exists
RTNETLINK answers: File exists
Waiting for device to expose ssh ...Run command: flash on fc00:1:1:0::2
SSH ready
blockdev: cannot open /dev/mmcblk0boot0: No such file or directory
[ 0]: l4t_flash_from_kernel: Serial Number: 1422024345338
[ 0]: l4t_flash_from_kernel: Starting to create gpt for emmc
Active index file is /mnt/internal/flash.idx
Number of lines is 76
max_index=75
writing item=59, 1:3:primary_gpt, 512, 19968, gpt_primary_1_3.bin, 16896, fixed-<reserved>-0, 1ef8334aa7936d5327920f5cab6231c79829e8cb
Writing primary_gpt partition with gpt_primary_1_3.bin
Offset is not aligned to K Bytes, no optimization is applied
dd if=/mnt/internal/gpt_primary_1_3.bin of=/dev/mmcblk0 bs=1 skip=0  seek=512 count=16896
16896+0 records in
16896+0 records out
16896 bytes (17 kB, 16 KiB) copied, 0.0185727 s, 910 kB/s
Writing primary_gpt partition done
Error: Invalid argument during seek for read on /dev/mmcblk0
[ 28]: l4t_flash_from_kernel: Error: partprobe failed. This indicates that:
 -   the xml indicates the gpt is larger than the device storage
 -   the xml might be invalid
 -   the device might have a problem.
 Please make correction.
Flash failure
Cleaning up...

后来发现p3701.conf.common文件中有对新批次FAB501的修改

update_local_cfgfile()
{
        # Update "num_sectors" in local cfgfile for the device
        # with FAB=501 and BOARDSKU=0004/0005
        local local_cfgfile="${1}"

        if [ "${board_FAB}" == "501" ] && [[ "${board_sku}" == "0004" || "${board_sku}" == "0005" ]]; then
                sed -i 's/num_sectors=\"124321792\"/num_sectors=\"124190720\"/' "${local_cfgfile}"
        fi
}

然后使用FAB501的massflash package就可以成功对新批次FAB501进行烧录了。

我尝试使用FAB501的massflash package对模组为FAB500进行烧录

发现massflash烧录日志中出现如下信息,但是这个error不会导致刷机失败。

Error: The backup GPT table is corrupt, but the primary appears OK, so that will be used.
Warning: Not all of the space available to /dev/mmcblk0 appears to be used, you can fix the GPT to use all of the space (an extra 131072 blocks) or continue with the current setting? 
Writing secondary_gpt partition with gpt_secondary_1_3.bin
Offset is not aligned to K Bytes, no optimization is applied
dd if=/mnt/internal/gpt_secondary_1_3.bin of=/dev/mmcblk0 bs=1 skip=0  seek=63585631744 count=16896
16896+0 records in
16896+0 records out
16896 bytes (17 kB, 16 KiB) copied, 0.0303894 s, 556 kB/s
Writing secondary_gpt partition done
Fix/Ignore? Fix                                                           
Warning: Not all of the space available to /dev/mmcblk0 appears to be used, you can fix the GPT to use all of the space (an extra 131072 blocks) or continue with the current setting? 
Model: MMC G1M15M (sd/mmc)
Disk /dev/mmcblk0: 63.7GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name                Flags
 2      20.5kB  134MB   134MB                A_kernel            msftdata
 3      134MB   135MB   786kB                A_kernel-dtb        msftdata
 4      135MB   168MB   33.2MB               A_reserved_on_user  msftdata
 5      168MB   302MB   134MB                B_kernel            msftdata
 6      302MB   303MB   786kB                B_kernel-dtb        msftdata
 7      303MB   336MB   33.2MB               B_reserved_on_user  msftdata
 8      336MB   420MB   83.9MB               recovery            msftdata
 9      420MB   421MB   524kB                recovery-dtb        msftdata
10      421MB   488MB   67.1MB  fat32        esp                 boot, esp
11      488MB   572MB   83.9MB               recovery_alt        msftdata
12      572MB   572MB   524kB                recovery-dtb_alt    msftdata
13      572MB   639MB   67.1MB               esp_alt             msftdata
14      639MB   1059MB  419MB                UDA                 msftdata
15      1059MB  1562MB  503MB                reserved            msftdata
 1      1562MB  63.6GB  62.0GB  ext4         APP                 msftdata

完整日志如下
flash_3-2.3_0_20240808-155923.log (42.8 KB)

FAB501和FAB500模组的差异主要就在sectors大小上面,所以我也不清楚能否可以直接同用一个mfi package,希望您可以给个答复,谢谢!

Hi,

請你直接把那段檢查拿掉之後重新建mfi package.

總之就是讓不論FAB=500 或是501都要執行 sed -i ‘s/num_sectors="124321792"/num_sectors="124190720"/’ “${local_cfgfile}”

這個執行完之後用同一包就能燒錄了

好的,也就是FAB500或者FAB501的模组都可以用num_sectors="124190720"这个分区大小就可以哈?

這一段加入的原因是因為FAB501使用的emmc density沒有FAB 500的大所造成

所以如果統一都用小一點的size的話就可以通用

好的,在请教一个问题,除了这个emmc density的差异之外
FAB501这个参数,在做包的时候相对比与FAB500,还有其他差异吗?

理論上是沒有

您看一下我这个日志,我在FAB500的模组上用小一点的size(FAB501 mfi pakage),会有这样的情况

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.