нашел в чём дело.
редкость - но дело было в железе, а я программист - ни при чём =)
там два питания, батарейка и Vcc. и если разница между Vcc и батарекйо меньше 1.25 вольта - i2c часть микрухи отключается просто, видимо энергосбережение.
Написано в мануале, но сразу не увидишь.
На дивайсе что мне дали два Vcc 3 и 5, на ds было подано 3 =)
ну и батарейка стояла литиевая, на 3.3....
поправили это дело - и всё ожило.