| What:           /sys/bus/i2c/devices/<busnum>-<primary-addr>/unlock | 
 | Date:           2025-07-04 | 
 | KernelVersion:  6.17 | 
 | Contact:        Abd-Alrhman Masalkhi <abd.masalkhi@gmail.com> | 
 | Description: | 
 |                 Write-only attribute used to present a password and unlock | 
 |                 access to protected areas of the M24LR chip, including | 
 |                 configuration registers such as the Sector Security Status | 
 |                 (SSS) bytes. A valid password must be written to enable write | 
 |                 access to these regions via the I2C interface. | 
 |  | 
 |                 Format: | 
 |                   - Hexadecimal string representing a 32-bit (4-byte) password | 
 |                   - Accepts 1 to 8 hex digits (e.g., "c", "1F", "a1b2c3d4") | 
 |                   - No "0x" prefix, whitespace, or trailing newline | 
 |                   - Case-insensitive | 
 |  | 
 |                 Behavior: | 
 |                   - If the password matches the internal stored value, | 
 |                     access to protected memory/configuration is granted | 
 |                   - If the password does not match the internally stored value, | 
 |                     it will fail silently | 
 |  | 
 | What:           /sys/bus/i2c/devices/<busnum>-<primary-addr>/new_pass | 
 | Date:           2025-07-04 | 
 | KernelVersion:  6.17 | 
 | Contact:        Abd-Alrhman Masalkhi <abd.masalkhi@gmail.com> | 
 | Description: | 
 |                 Write-only attribute used to update the password required to | 
 |                 unlock the M24LR chip. | 
 |  | 
 |                 Format: | 
 |                   - Hexadecimal string representing a new 32-bit password | 
 |                   - Accepts 1 to 8 hex digits (e.g., "1A", "ffff", "c0ffee00") | 
 |                   - No "0x" prefix, whitespace, or trailing newline | 
 |                   - Case-insensitive | 
 |  | 
 |                 Behavior: | 
 |                   - Overwrites the current password stored in the I2C password | 
 |                     register | 
 |                   - Requires the device to be unlocked before changing the | 
 |                     password | 
 |                   - If the device is locked, the write silently fails | 
 |  | 
 | What:           /sys/bus/i2c/devices/<busnum>-<primary-addr>/uid | 
 | Date:           2025-07-04 | 
 | KernelVersion:  6.17 | 
 | Contact:        Abd-Alrhman Masalkhi <abd.masalkhi@gmail.com> | 
 | Description: | 
 |                 Read-only attribute that exposes the 8-byte unique identifier | 
 |                 programmed into the M24LR chip at the factory. | 
 |  | 
 |                 Format: | 
 |                   - Lowercase hexadecimal string representing a 64-bit value | 
 |                   - 1 to 16 hex digits (e.g., "e00204f12345678") | 
 |                   - No "0x" prefix | 
 |                   - Includes a trailing newline | 
 |  | 
 | What:           /sys/bus/i2c/devices/<busnum>-<primary-addr>/total_sectors | 
 | Date:           2025-07-04 | 
 | KernelVersion:  6.17 | 
 | Contact:        Abd-Alrhman Masalkhi <abd.masalkhi@gmail.com> | 
 | Description: | 
 |                 Read-only attribute that exposes the total number of EEPROM | 
 |                 sectors available in the M24LR chip. | 
 |  | 
 |                 Format: | 
 |                   - 1 to 2 hex digits (e.g. "F") | 
 |                   - No "0x" prefix | 
 |                   - Includes a trailing newline | 
 |  | 
 |                 Notes: | 
 |                   - Value is encoded by the chip and corresponds to the EEPROM | 
 |                     size (e.g., 3 = 4 kbit for M24LR04E-R) | 
 |  | 
 | What:           /sys/bus/i2c/devices/<busnum>-<primary-addr>/sss | 
 | Date:           2025-07-04 | 
 | KernelVersion:  6.17 | 
 | Contact:        Abd-Alrhman Masalkhi <abd.masalkhi@gmail.com> | 
 | Description: | 
 |                 Read/write binary attribute representing the Sector Security | 
 |                 Status (SSS) bytes for all EEPROM sectors in STMicroelectronics | 
 |                 M24LR chips. | 
 |  | 
 |                 Each EEPROM sector has one SSS byte, which controls I2C and | 
 |                 RF access through protection bits and optional password | 
 |                 authentication. | 
 |  | 
 |                 Format: | 
 |                   - The file contains one byte per EEPROM sector | 
 |                   - Byte at offset N corresponds to sector N | 
 |                   - Binary access only; use tools like dd, Python, or C that | 
 |                     support byte-level I/O and offset control. | 
 |  | 
 |                 Notes: | 
 |                   - The number of valid bytes in this file is equal to the | 
 |                     value exposed by 'total_sectors' file | 
 |                   - Write access requires prior password authentication in | 
 |                     I2C mode | 
 |                   - Refer to the M24LR datasheet for full SSS bit layout |