Порой мне кажется я проклят этой шиной, потому что с ней постоянно приходится сталкиваться. Вот сейчас тоже.
Понадобилось мне в рабочих нуждах подключить по шине i2c, а точнее smbus некое устройство (блок питания, но посложнее чем просто БП). В качестве жертвенной материнки используется Supermicro X8DTL-i, да, да,
именно та на которой я делал комп. Потому, что могу, потому что дёшево и потому, что не жалко сжечь.
Теперь внимание вопрос: где на серверной материнской плате есть i2c (smbus)?
На матери есть разъём PMBUS, для подключения блока питания.
Разъём реально классный для того, чтобы оперативно что-то цеплять по шине i2c, но проблема в том, что на этой же шине живут и другие устройства на материнке. И к большому сожалению, устройства по адресу пересеклись с моим. На своей железке, по бюрократическим причинам поменять адрес не могу, на матери тоже думал передвинуть, но оказался ядрёный контроллер вентиляторов и тоже не удалось (да, я так жёстко упорот). Едем дальше, где же ещё взять i2c?
Разъём PMBUS.
Следом можно найти i2c на шине PCI, PCI-e. Для этого надо замкнуть соответствующие джампера. Но, к большому сожалению оказалось что это та же самая шина, что и pmbus, и там же точно так же буду иметь пересечение адресов. Осталось самое страшное, i2c в разъёме VGA. И это, на самом деле, вполне рабочий варик оказался.
Где искать i2c в разъёме VGA.
Как оказалось, это вполне себе отдельная шина, на которой, кроме монитора вообще ничего и не было. Всё адресное пространство твоё.
Жертвенная плата.
Как можно видеть, у меня есть некоторый тестовый шилд для i2c, который я вешаю на PCI и другие шины. Этот шилд с успехом определился на VGA и даже радостно взял с него питание.
user@user-X8DTL:~$ i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- 1e --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- 53 -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- 69 -- -- -- -- -- --
70: -- -- -- -- -- -- -- 77
Так, что если вам надо где-то быстро взять шину i2c в вашем компе, вы знаете что делать. Туда же всякие hdmi, dvi и прочее.