← Documents Documentation/ABI/testing/sysfs-bus-i2c-devices-m24lr GitHub 원문 ↗

Linux 6.18.37 · ABI / testing

M24LR protected EEPROM sysfs ABI

M24LR password authentication·변경, factory UID, EEPROM sector count와 sector별 binary SSS protection bytes를 설명합니다.

Source pathDocumentation/ABI/testing/sysfs-bus-i2c-devices-m24lr
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

Password authentication and update

sysfs-bus-i2c-devices-m24lr:1-43

unlock은 protected memory와 configuration의 I2C write access를 열고, new_pass는 unlock된 device의 I2C password register를 갱신합니다. 두 interface 모두 1-8자리 32bit hexadecimal string을 사용합니다.

Factory unique identifier

sysfs-bus-i2c-devices-m24lr:45-57

uid는 factory에서 program된 8byte identifier를 접두사 없는 lowercase hexadecimal string과 trailing newline으로 노출합니다.

EEPROM sector count

sysfs-bus-i2c-devices-m24lr:59-74

total_sectors는 chip에 encoding된 EEPROM sector 수를 1-2자리 hexadecimal text로 노출하며 값은 EEPROM size에 대응합니다.

Sector Security Status bytes

sysfs-bus-i2c-devices-m24lr:76-100

sss는 sector마다 한 byte를 갖는 read/write binary file입니다. Offset N은 sector N에 대응하고 write access에는 I2C password authentication이 먼저 필요합니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 What: /sys/bus/i2c/devices/<busnum>-<primary-addr>/unlock
2 Date: 2025-07-04
3 KernelVersion: 6.17
4 Contact: Abd-Alrhman Masalkhi <abd.masalkhi@gmail.com>
5 Description:
6 Write-only attribute used to present a password and unlock
7 access to protected areas of the M24LR chip, including
8 configuration registers such as the Sector Security Status
9 (SSS) bytes. A valid password must be written to enable write
10 access to these regions via the I2C interface.
11
12 Format:
13 - Hexadecimal string representing a 32-bit (4-byte) password
14 - Accepts 1 to 8 hex digits (e.g., "c", "1F", "a1b2c3d4")
15 - No "0x" prefix, whitespace, or trailing newline
16 - Case-insensitive
17
18 Behavior:
19 - If the password matches the internal stored value,
20 access to protected memory/configuration is granted
21 - If the password does not match the internally stored value,
22 it will fail silently
23
24 What: /sys/bus/i2c/devices/<busnum>-<primary-addr>/new_pass
25 Date: 2025-07-04
26 KernelVersion: 6.17
27 Contact: Abd-Alrhman Masalkhi <abd.masalkhi@gmail.com>
28 Description:
29 Write-only attribute used to update the password required to
30 unlock the M24LR chip.
31
32 Format:
33 - Hexadecimal string representing a new 32-bit password
34 - Accepts 1 to 8 hex digits (e.g., "1A", "ffff", "c0ffee00")
35 - No "0x" prefix, whitespace, or trailing newline
36 - Case-insensitive
37
38 Behavior:
39 - Overwrites the current password stored in the I2C password
40 register
41 - Requires the device to be unlocked before changing the
42 password
43 - If the device is locked, the write silently fails
44
45 What: /sys/bus/i2c/devices/<busnum>-<primary-addr>/uid
46 Date: 2025-07-04
47 KernelVersion: 6.17
48 Contact: Abd-Alrhman Masalkhi <abd.masalkhi@gmail.com>
49 Description:
50 Read-only attribute that exposes the 8-byte unique identifier
51 programmed into the M24LR chip at the factory.
52
53 Format:
54 - Lowercase hexadecimal string representing a 64-bit value
55 - 1 to 16 hex digits (e.g., "e00204f12345678")
56 - No "0x" prefix
57 - Includes a trailing newline
58
59 What: /sys/bus/i2c/devices/<busnum>-<primary-addr>/total_sectors
60 Date: 2025-07-04
61 KernelVersion: 6.17
62 Contact: Abd-Alrhman Masalkhi <abd.masalkhi@gmail.com>
63 Description:
64 Read-only attribute that exposes the total number of EEPROM
65 sectors available in the M24LR chip.
66
67 Format:
68 - 1 to 2 hex digits (e.g. "F")
69 - No "0x" prefix
70 - Includes a trailing newline
71
72 Notes:
73 - Value is encoded by the chip and corresponds to the EEPROM
74 size (e.g., 3 = 4 kbit for M24LR04E-R)
75
76 What: /sys/bus/i2c/devices/<busnum>-<primary-addr>/sss
77 Date: 2025-07-04
78 KernelVersion: 6.17
79 Contact: Abd-Alrhman Masalkhi <abd.masalkhi@gmail.com>
80 Description:
81 Read/write binary attribute representing the Sector Security
82 Status (SSS) bytes for all EEPROM sectors in STMicroelectronics
83 M24LR chips.
84
85 Each EEPROM sector has one SSS byte, which controls I2C and
86 RF access through protection bits and optional password
87 authentication.
88
89 Format:
90 - The file contains one byte per EEPROM sector
91 - Byte at offset N corresponds to sector N
92 - Binary access only; use tools like dd, Python, or C that
93 support byte-level I/O and offset control.
94
95 Notes:
96 - The number of valid bytes in this file is equal to the
97 value exposed by 'total_sectors' file
98 - Write access requires prior password authentication in
99 I2C mode
100 - Refer to the M24LR datasheet for full SSS bit layout
101

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

Password authentication and update

1-43
항목전문 번역
What/sys/bus/i2c/devices/<busnum>-<primary-addr>/unlock
Date2025-07-04
KernelVersion6.17
ContactAbd-Alrhman Masalkhi <abd.masalkhi@gmail.com>
DescriptionPassword를 제시하고 Sector Security Status(SSS) bytes 같은 configuration registers를 포함한 M24LR chip의 protected areas에 대한 access를 unlock하는 write-only attribute입니다. I2C interface를 통해 이 regions에 write access를 enable하려면 유효한 password를 써야 합니다.
unlock 규칙전문 번역
Format32bit(4byte) password를 나타내는 hexadecimal string입니다. 1-8개 hex digits를 받습니다(예: "c", "1F", "a1b2c3d4"). "0x" prefix, whitespace 또는 trailing newline이 없어야 하며 case-insensitive입니다.
Behavior: matchPassword가 내부에 저장된 값과 일치하면 protected memory/configuration access가 허용됩니다.
Behavior: mismatchPassword가 내부에 저장된 값과 일치하지 않으면 조용히 실패합니다.
항목전문 번역
What/sys/bus/i2c/devices/<busnum>-<primary-addr>/new_pass
Date2025-07-04
KernelVersion6.17
ContactAbd-Alrhman Masalkhi <abd.masalkhi@gmail.com>
DescriptionM24LR chip을 unlock하는 데 필요한 password를 갱신하는 write-only attribute입니다.
new_pass 규칙전문 번역
Format새로운 32bit password를 나타내는 hexadecimal string입니다. 1-8개 hex digits를 받습니다(예: "1A", "ffff", "c0ffee00"). "0x" prefix, whitespace 또는 trailing newline이 없어야 하며 case-insensitive입니다.
Behavior: writeI2C password register에 저장된 현재 password를 덮어씁니다.
Behavior: prerequisitePassword를 변경하기 전에 device가 unlock되어 있어야 합니다.
Behavior: lockedDevice가 locked 상태이면 write가 조용히 실패합니다.

Factory unique identifier

45-57
항목전문 번역
What/sys/bus/i2c/devices/<busnum>-<primary-addr>/uid
Date2025-07-04
KernelVersion6.17
ContactAbd-Alrhman Masalkhi <abd.masalkhi@gmail.com>
DescriptionFactory에서 M24LR chip에 program한 8byte unique identifier를 노출하는 read-only attribute입니다.
Format64bit 값을 나타내는 lowercase hexadecimal string입니다. 1-16개 hex digits를 사용합니다(예: "e00204f12345678"). "0x" prefix는 없고 trailing newline을 포함합니다.

EEPROM sector count

59-74
항목전문 번역
What/sys/bus/i2c/devices/<busnum>-<primary-addr>/total_sectors
Date2025-07-04
KernelVersion6.17
ContactAbd-Alrhman Masalkhi <abd.masalkhi@gmail.com>
DescriptionM24LR chip에서 사용할 수 있는 EEPROM sectors의 전체 수를 노출하는 read-only attribute입니다.
Format1-2개 hex digits를 사용합니다(예: "F"). "0x" prefix는 없고 trailing newline을 포함합니다.
Notes값은 chip에 의해 encoding되며 EEPROM size에 대응합니다. 예를 들어 M24LR04E-R에서 3은 4kbit를 뜻합니다.

Sector Security Status bytes

76-100
항목전문 번역
What/sys/bus/i2c/devices/<busnum>-<primary-addr>/sss
Date2025-07-04
KernelVersion6.17
ContactAbd-Alrhman Masalkhi <abd.masalkhi@gmail.com>
DescriptionSTMicroelectronics M24LR chips의 모든 EEPROM sectors에 대한 Sector Security Status(SSS) bytes를 나타내는 read/write binary attribute입니다. 각 EEPROM sector에는 하나의 SSS byte가 있으며, protection bits와 선택적 password authentication을 통해 I2C 및 RF access를 제어합니다.
sss 규칙전문 번역
FormatFile은 EEPROM sector마다 한 byte를 포함합니다. Offset N의 byte는 sector N에 대응합니다. Binary access만 지원하므로 byte-level I/O와 offset 제어를 지원하는 dd, Python 또는 C 같은 도구를 사용합니다.
Valid length이 file의 유효한 bytes 수는 total_sectors file이 노출하는 값과 같습니다.
Write prerequisiteWrite access에는 I2C mode에서의 사전 password authentication이 필요합니다.
Bit layout전체 SSS bit layout은 M24LR datasheet를 참조하십시오.