I would need some help to understand why I can't write to an DS2433 eeprom.
System information:
BBB Industrial board
Debian 10 (Buster IoT Image 2020-04-06)
Hardware attached are DS2482 i2c to w1 interface and DS2433 eeprom.
Commands executed to set-up system:
$ modprobe ds2482
$ echo ds2482 0x18 > /sys/bus/i2c/devices/i2c-1/new_device
$ modprobe wire
I can read the eeprom by executing
$ cd /sys/bus/w1/devices/23-000002eddd9b
$ cat eeprom | hexdump
Getting this far I assume hardware is correct and drivers are loaded correctly.
debian@beaglebone:/sys/bus/w1/devices/23-000002eddd9b$ ls
driver eeprom id name power subsystem uevent
Should here be a directory called w1_slave?
I see such a directory on some web pages searching for similar problems with w1.
Now to the problem.
Executing the following command will fail:
debian@beaglebone:/sys/bus/w1/devices/23-000002eddd9b$ sudo cat /home/debian/file > eeprom
[sudo] password for debian:
cat: write error: Invalid argument
To me the error looks like the device doesn't have a write function implemented,
however looking at the source it looks like it does.
$ dmesg | grep w1
[2329228.747219] w1_master_driver w1_bus_master1: Attaching one wire slave 23.000002eddd9b crc c8
[2493821.327176] w1_slave_driver 23-000002eddd9b: invalid offset/count off=0 cnt=140
[2514308.615437] w1_slave_driver 23-000002eddd9b: invalid offset/count off=0 cnt=140
Is there some kind of write protect that needs to be handled?