Продолжу.
доработал схему: активную подтяжку и другие мелочи.
Выяснил что когда слэйвов много на длинных кабелях не находится физически ближайшее к мастеру устройство. Удаленные находятся включая оконечное.
Заменил штатные кабели длиной 3-5м на каждый слэйв на отрезки по 5 см. Заработало как часы.
Стал разбираться что портит кабель. Подключал поочередно длинные отрезки вместо коротких и контролировал осциллографом сигнал.
Конфигурация у меня такая:
М - мастер
С - слэйв
- кабель длиной 3-5м
М-С1-С2-С3-...-С10-С11
В итоге выявил нехороший момент:
когда мастер читает данные и самый дальний слэйв висящий на длинном проводе выдает "0" просаживая линию в ноль на стороне мастера возникает выброс. почему возникает выброс понятно: индуктивность длинной линии. иллюстрации на модели

-

-

Амплитуда выброса находятся значительно выше уровня лог. нуля для DS2438 а длительность близка к Trec. Таким образом ближайший к мастеру слэйв может воспринять выброс как начало следующего бита, что приведет к сбою. Это особенно критично именно при поиске когда после инверсии слэйв принимает бит решения.
Теперь бы придумать как обойти данный эффект.