Odm_lock 不能烧录0xFF

hello 550399056,

I’m not sure why you need to program this into fuse variable.
there’s already a sysnode for serial number,
for instance, $ cat /proc/device-tree/serial-number

root@iking:/sys/firmware/devicetree/base# cat /sys/firmware/devicetree/base/serial-number
cat: /sys/firmware/devicetree/base/serial-number: No such file or directory

没有这个节点

hello 550399056,

you may try.. sudo find / -name "serial-number"

root@iking:/sys/firmware/devicetree/base# sudo find / -name “serial-number”
find: ‘/run/user/1000/gvfs’: Permission denied
root@iking:/sys/firmware/devicetree/base#

没有找到

hello 550399056,

let’s have an alternative ways for checking serial number via module eeprom.
for example, $ sudo i2cdump -f -y 2 0x50
developer guide, Jetson EEPROM Layout — NVIDIA Jetson Linux Developer Guide 1 documentation

BTW, were you using the native Jetpack public release?
here’s see-also discussion thread, Topic 226129, it could be customer’s device tree to have /delete-node/ or /delete-property/ to remove this node by accident.

root@iking:/sys/firmware/devicetree/base# sudo i2cdump -f -y 2 0x50
No size specified (using byte-data access)
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
10: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
20: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
30: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
40: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
50: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
60: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
70: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
80: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
90: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
a0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
b0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
c0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
d0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
e0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
f0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX

hello 550399056,

is it Orin NX developer kit?

you may try other i2c bus, such as bus-0.
here’s eeprom dump for your reference, it’s 1421123047005 as serial number,

$ sudo i2cdump -f -y 0 0x50
No size specified (using byte-data access)
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: 02 00 fe 00 00 00 00 00 00 00 00 ff 00 00 00 00    ?.?.............
10: 00 01 00 01 36 39 39 2d 31 33 37 36 37 2d 30 30    .?.?699-13767-00
20: 30 30 2d 33 30 30 20 4a 2e 31 00 00 00 00 00 00    00-300 J.1......
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
40: b0 48 00 00 d6 de e9 2d b0 48 31 34 32 31 31 32    ?H..???-?H142112
50: 33 30 34 37 30 30 35 00 00 00 00 00 00 00 00 00    3047005.........
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
90: 00 00 00 00 00 00 4e 56 43 42 00 ff 4d 31 00 00    ......NVCB..M1..
a0: 00 00 00 00 00 00 00 00 00 00 00 00 d6 de e9 2d    ............???-
b0: b0 48 01 00 00 00 00 00 00 00 00 00 00 00 00 00    ?H?.............
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0a    ...............?

it’s same as read by sysnode,
$ sudo cat /proc/device-tree/serial-number
1421123047005

root@iking:~/fisheyes# sudo i2cdump -f -y 0 0x50
No size specified (using byte-data access)
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: 02 00 fe 00 00 00 00 00 00 00 00 ff 00 00 00 00 ?.?..
10: 00 01 00 01 36 39 39 2d 31 33 37 36 37 2d 30 30 .?.?699-13767-00
20: 30 30 2d 33 30 33 20 42 2e 31 00 00 00 00 00 00 00-303 B.1…
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
40: b0 48 00 00 03 dc a3 66 6d 3c 31 34 32 32 34 32 ?H..???fm<142242
50: 35 30 35 30 39 31 39 00 00 00 00 00 00 00 00 00 5050919…
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
90: 00 00 00 00 00 00 4e 56 43 42 00 ff 4d 31 00 00 …NVCB..M1..
a0: 00 00 00 00 00 00 00 00 00 00 00 00 03 dc a3 66 …???f
b0: 6d 3c 01 00 00 00 00 00 00 00 00 00 00 00 00 00 m<?..
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 71 …q 然后呢?

so, there’s serial number, why you need fuse burning to write the same onto the module.

因为我们还需要防篡改功能

hello 550399056,

see-also Jetson Orin Fuse Specification, you should use OdmId fuse variable for an OEM-assigned device serial number on Orin NX.

as mentioned by Fuses and Security, Once a fuse bit is set to 1, you cannot change its value back to 0. For example, a fuse value of 1 (0x01) can be changed to 3 (0x03) or 5 (0x05), but not to 4 (0x4) because bit 0 is already programmed to 1.
all additional fuse write requests will be blocked when SecurityMode is burned with a value of 0x1.

note, fuse burning operations are high-risk because they cannot be reversed.

你好, /sys/firmware/devicetree/base/serial-number这个节点怎么弄出来,然后怎么修改这个节点的值

it came from eeprom, please see-also edk2-nvidia/Silicon/NVIDIA/Library/DxeDtPlatformDtbLoaderLib/DxeDtPlatformDtbKernelLoaderLib.c at main · NVIDIA/edk2-nvidia · GitHub

这个只能在uefi的程序里面修改吗?我能在应用层去操作i2c eeprom吗? 还有我的文件系统中看不到/sys/firmware/devicetree/base/serial-number 这个节点

hello 550399056,

actually, your question is different from your forum titles now.
in order to avoid confusion, please start a new topic with proper description for following up.