IMHO для начала надо определить, видно ли устройство на шине вообще. Для этого можно использовать i2cdetect.
На SO нашёлся как раз вопрос, в котором с примерами команд товарищ не может найти батарейку на шине.
http://stackoverflow.com/questions/1211 ... t-detectedВообще с i2c устройствами можно работать как минимум двумя способами.
Номер раз - без использования специфического драйвера - через устройство /dev/i2c-x (/dev/i2c-1, /dev/i2c-2 и тaк далее)
Открывается файл, вызовами ioctl/read/write читаешь/пришешь регистры устройства.
Я в своё время нашёл пример работы с акселерометром MPU6050 на форуме RPI и адаптировал для виртурилки.
Код лежит тут
https://github.com/eagafonov/mpu6050-demo (Осторожной, С++).
Обёртка для работы с i2c - в файлах i2c.{cpp,h}
Остальное - специфика для MPU6050 и различные конкретный примеры работы с этим модулем.
Второй способ - через ядрёный драйвер, который скрывает всю i2c-шную подноготную протокола и выдаёт пользователю протокол, специфичный для устройства. Не знаю, есть ли в ядре драйвер для батарейки, вроде через ACPI всё управление питанием идёт.
По опыту ковыряния драйвера для той же MPU6050 то ещё удовольствие, особенно без опыта kernel-development'а.
Хотя level-up можно получить в случае успеха
Как-то так.
Суммируя: должно работать но надо проверять.