요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
Factory unique identifier
sysfs-bus-i2c-devices-m24lr:45-57uid는 factory에서 program된 8byte identifier를 접두사 없는 lowercase hexadecimal string과 trailing newline으로 노출합니다.
EEPROM sector count
sysfs-bus-i2c-devices-m24lr:59-74total_sectors는 chip에 encoding된 EEPROM sector 수를 1-2자리 hexadecimal text로 노출하며 값은 EEPROM size에 대응합니다.
Sector Security Status bytes
sysfs-bus-i2c-devices-m24lr:76-100sss는 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 <[email protected]>
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.
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
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
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 <[email protected]>
28
Description:
29
Write-only attribute used to update the password required to
30
unlock the M24LR chip.
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
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
45
What: /sys/bus/i2c/devices/<busnum>-<primary-addr>/uid
46
Date: 2025-07-04
47
KernelVersion: 6.17
48
Contact: Abd-Alrhman Masalkhi <[email protected]>
49
Description:
50
Read-only attribute that exposes the 8-byte unique identifier
51
programmed into the M24LR chip at the factory.
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
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 <[email protected]>
63
Description:
64
Read-only attribute that exposes the total number of EEPROM
65
sectors available in the M24LR chip.
67
Format:
68
- 1 to 2 hex digits (e.g. "F")
69
- No "0x" prefix
70
- Includes a trailing newline
72
Notes:
73
- Value is encoded by the chip and corresponds to the EEPROM
74
size (e.g., 3 = 4 kbit for M24LR04E-R)
76
What: /sys/bus/i2c/devices/<busnum>-<primary-addr>/sss
77
Date: 2025-07-04
78
KernelVersion: 6.17
79
Contact: Abd-Alrhman Masalkhi <[email protected]>
80
Description:
81
Read/write binary attribute representing the Sector Security
82
Status (SSS) bytes for all EEPROM sectors in STMicroelectronics
83
M24LR chips.
85
Each EEPROM sector has one SSS byte, which controls I2C and
86
RF access through protection bits and optional password
87
authentication.
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.
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
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
Password authentication and update
1-43| 항목 | 전문 번역 |
|---|---|
| What | /sys/bus/i2c/devices/<busnum>-<primary-addr>/unlock |
| Date | 2025-07-04 |
| KernelVersion | 6.17 |
| Contact | Abd-Alrhman Masalkhi <[email protected]> |
| Description | Password를 제시하고 Sector Security Status(SSS) bytes 같은 configuration registers를 포함한 M24LR chip의 protected areas에 대한 access를 unlock하는 write-only attribute입니다. I2C interface를 통해 이 regions에 write access를 enable하려면 유효한 password를 써야 합니다. |
| unlock 규칙 | 전문 번역 |
|---|---|
| Format | 32bit(4byte) password를 나타내는 hexadecimal string입니다. 1-8개 hex digits를 받습니다(예: "c", "1F", "a1b2c3d4"). "0x" prefix, whitespace 또는 trailing newline이 없어야 하며 case-insensitive입니다. |
| Behavior: match | Password가 내부에 저장된 값과 일치하면 protected memory/configuration access가 허용됩니다. |
| Behavior: mismatch | Password가 내부에 저장된 값과 일치하지 않으면 조용히 실패합니다. |
| 항목 | 전문 번역 |
|---|---|
| What | /sys/bus/i2c/devices/<busnum>-<primary-addr>/new_pass |
| Date | 2025-07-04 |
| KernelVersion | 6.17 |
| Contact | Abd-Alrhman Masalkhi <[email protected]> |
| Description | M24LR 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: write | I2C password register에 저장된 현재 password를 덮어씁니다. |
| Behavior: prerequisite | Password를 변경하기 전에 device가 unlock되어 있어야 합니다. |
| Behavior: locked | Device가 locked 상태이면 write가 조용히 실패합니다. |
Factory unique identifier
45-57| 항목 | 전문 번역 |
|---|---|
| What | /sys/bus/i2c/devices/<busnum>-<primary-addr>/uid |
| Date | 2025-07-04 |
| KernelVersion | 6.17 |
| Contact | Abd-Alrhman Masalkhi <[email protected]> |
| Description | Factory에서 M24LR chip에 program한 8byte unique identifier를 노출하는 read-only attribute입니다. |
| Format | 64bit 값을 나타내는 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 |
| Date | 2025-07-04 |
| KernelVersion | 6.17 |
| Contact | Abd-Alrhman Masalkhi <[email protected]> |
| Description | M24LR chip에서 사용할 수 있는 EEPROM sectors의 전체 수를 노출하는 read-only attribute입니다. |
| Format | 1-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 |
| Date | 2025-07-04 |
| KernelVersion | 6.17 |
| Contact | Abd-Alrhman Masalkhi <[email protected]> |
| Description | STMicroelectronics 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 규칙 | 전문 번역 |
|---|---|
| Format | File은 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 prerequisite | Write access에는 I2C mode에서의 사전 password authentication이 필요합니다. |
| Bit layout | 전체 SSS bit layout은 M24LR datasheet를 참조하십시오. |
Password authentication and update
sysfs-bus-i2c-devices-m24lr:1-43unlock은 protected memory와 configuration의 I2C write access를 열고, new_pass는 unlock된 device의 I2C password register를 갱신합니다. 두 interface 모두 1-8자리 32bit hexadecimal string을 사용합니다.