Копаю дальше. Физически подключаю единственным модуль DI-WD-14, который нормально заработал. Вывод программы i2cdetect после подключения →
i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: – – – – – – – – – – – – –
10: – – – – – – – – – – – – – – – –
20: – – – – – – – 27 – – – – – – – –
30: – – – – – – – – – – – – – – – –
40: – – – – – – – – – – – – – – – –
50: – – – – – – – – – – – – – – – –
60: – – – – – – – – – – – – – – – –
70: – – – – – – – –
Добавляю модуль DI-WD-14 в устройства через веб-интерфейс. Вывод i2cdetect
i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: – – – – – – – – – – – – –
10: – – – – – – – – – – – – – – – –
20: – – – – – – – UU – – – – – – – –
30: – – – – – – – – – – – – – – – –
40: – – – – – – – – – – – – – – – –
50: – – – – – – – – – – – – – – – –
60: – – – – – – – – – – – – – – – –
70: – – – – – – – –
Видно, что драйвер использует адрес 27. Модуль нормально заработал, кнопки видит. Физически подключаю проблемный модуль AO-10V-8
i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: – – – – – – – – – – – – –
10: – – – – – – – – – – – – – – – –
20: – – – – – – – UU – – – – – – – –
30: – – – – – – – – – – – – – – – –
40: – – – – – – – – – – – – – – – –
50: – – – – – – – – – – – – – – – –
60: – – – – – – – – – – – – – – – –
70: – – – 73 – – – –
На шине добавляется новое устройство с адресом 73. Добавляю модуль в устройства через веб-интерфейс (с последующей ручной правкой конфига “iio_device”: 1)
i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: – – – – – – – – – – – – –
10: – – – – – – – – – – – – – – – –
20: – – – – – – – UU – – – – – – – –
30: – – – UU – – – – – – – – – – – –
40: – – – – – – – – – – – – – – – –
50: – – – – – – – – – – – – – – – –
60: – – – – – – – – – – – – – – – –
70: – – – 73 – – – –
Драйвер пытается использовать адрес 33, адрес 73 остаётся свободным.
Может, это как-то проясняет ситуацию?