Доброго дня.
Вопрос в теме. Почему возник - нахожусь в командировке, плату перешить полностью условия не позволяют. DS3231 подцепил, i2cdetect отображает как положено на 0x68 адресе.
Можно как-то без пересборки ядра собрать модуль, положить его в файловую систему и прописать в каких-то конфигах, чтобы вместо встроенного RTC использовать, который батарейку садит весьма быстро.
можно как внешний модуль собрать но нужен конфиг и заголовки от сборки ядра которое установлено или целиком собранные исходники от установленного ядра.
Может проще через i2cget прочитать время и установить через date ?
Да это всё было на ноуте, даже собрал и подсунул модуль, он не грузится через modprobe , а вот через insmod вполне загрузился.
Но потом время вышло.
(собирается просто: make linux-menuconfig потом найти драйвер в rtc и пробелом можно переключать "нет" - "модуль" - "встроен")
Дома собрал ядро с встроенным драйвером, но общаться с драйвером не могу: само устройство не появилось в /dev/rtc* и в /sys/ тоже не отсвечивает. Вывод dmesg искал grep, его там нет по 'ds13'.
Последнее, что пробовал:
искал в /sys/ по "rtc" и по "ds13" - глухо
нашел действующие udevadm info /dev/rtc0 - там номер драйвера, у меня 254
Вопрос: если драйвер загружен ( insmod выдаёт Error: Driver 'rtc-ds1307' is already registered, aborting... ) как найти номер драйвера? По i2cdetect -y 1 выдало на своём адресе цифру, а не "UU" как должно быть для устройств.
Как я понимаю: устройство не зарегистрировало события в udevd - как побороть?
Нет, сейчас полезу копать, что да как.
помогла команда, вычитанная у пользователей Raspberry Pi echo ds1307 0x68 > /sys/bus/i2c/devices/i2c-1/new_device
У них другая, но я по дереву sys полазил, поправил.
А где в дереве каталогов искать это? В моём случае ядро 4.1.15. Или где в BuildRoot-е это искать? grep по всем файлам?...
У меня в U-Boot используется с imx6dl-sodimm.dtb
sasamy, разобрался, спасибо! Теперь в системе 2-е часов, ссылка /dev/rtc указывает на /dev/rtc1 как и хотел. Но при загрузке системы всё равно команда date выдаёт 1970 год.
Посмотрел - а они местами поменялись: rtc0 теперь ds1307, а rtc1 - snvs
PS: С какого ядра поддерживается ds3231?
PPS: И чтобы два раза не вставать: есть ли в тех сборках поддержка imx6s-sodimm и как бы заполучить? Или это уже к Павлу?