Mod-rtc

Дождался, наконец MOD-RTC из Olimex. Вставил в него батарейку, вставил его самого в UEXT1, включил питание… а счастья нет :frowning:
Нет даже никаких следов его работы… Я правильно понимаю, что дело в отсутсви драйверов? Если да, то каких, и где их взять?
Если нет, то в чем может быть причина?

P.S. WB 3.5 (N300)

Начну с того, что в очередной раз попеняю на поддержку… Четыре дня - ни ответа, ни привета :frowning:

Ну чтоже, самостоятельно выяснил, что проблема с i2c. Т.е. он вроде как есть, но на самом деле в системе его нет. Нет устройств /dev/i2c*

dmesg | grep i2c

выдает лишь

[ 1.430000] i2c /dev entries driver

Судя по тому, что люди пишут тут: Support i2c micro using 3.x kernel - Page 2 - проблема где-то в потрохах системы.

Евгений, у Вас есть какие-нибудь соображения на этот счёт?

P.S. update/upgrade/latest - всё накатил ещё во время борьбы с багом от предыдущего апдейта…

И, если дело пойдет к пересборке ядра, добавьте туда поддержку PCF8563 (из MOD-RTC).
Сейчас в /proc/config.gz видно, что # CONFIG_RTC_DRV_PCF8563 is not set

Данный форум мотивирует к самообразованию :slight_smile:

hamster, прощу прощения за задержку с ответом.

  1. i2c - это не plug&play. Для того, чтобы работать с девайсом, даже если для него есть драйвера в ядре, надо добавить его описание в device tree. У нас в вики про это есть (искать по device tree), но это не самая простая процедура.

  2. В Wiren Board Smart Home и так есть встроенный RTC, даже батарейка на плате стоит. Поддержка в софте тривиальная, добавил в wb-utils (вы похоже первый из частных клиентов, которому RTC понадобился).

Проверьте пожалуйста: http://contactless.ru/share/wb-utils_1.43_armel.deb

Если всё ок, то положу в репозиторий. Часы должны считываться из RTC автоматически при загрузке. Скрипт умышленно запускается после ntp, так что если у вас есть интернет, то время будет браться оттуда.

Да, до device tree я уже дошёл, и обнаружил, что там (по крайней мере в той версии, что лежит здесь: https://github.com/contactless/linux/blob/v3.13-imxv5-x0.1/arch/arm/boot/dts/imx23-wirenboard32.dts ) поддержка аппаратного i2c вообще выключена. По крайней мере именно так я могу трактовать закомменированный кусок описания, снабженный ремаркой “Uncomment no enable hardware i2c”.
Попытался пересобрать дерево, но на последнем этапе (при запуске dtc) получил подозрительную диагностику:

DTC: dts->dtb  on file "-"
Warning (reg_format): "reg" property in /i2c2@0/rtc@6f has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
Warning (reg_format): "reg" property in /i2c2@0/eeprom@57 has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
Warning (avoid_default_addr_size): Relying on default #address-cells value for /i2c2@0/rtc@6f
Warning (avoid_default_addr_size): Relying on default #size-cells value for /i2c2@0/rtc@6f
Warning (avoid_default_addr_size): Relying on default #address-cells value for /i2c2@0/eeprom@57
Warning (avoid_default_addr_size): Relying on default #size-cells value for /i2c2@0/eeprom@57

Смысла этих предупреждений я до конца не понимаю, и так как к прибору не было физического доступа, заливать в него результат компиляции пока не рискнул…

Прошу пояснить что надоо сделать с device tree - включить там поддкржку i2c?

Получается, MOD-RTC я зря заказывал… Прочел http://contactless.ru/forums/topic/rtc-2/ но не прочел спеки на SIM900 - ССЗБ :frowning:

Евгений, скрипт, в принципе, работает, но если TZ!=UTC то неправильно.

ags, я не возьмусь утверждать это однозначно, поскольку для меня все эти танцы с бубном вокруг ядра, драйверов, дерева устройств и прочего - своего рода квест… Пока мне кажется, что сейчас в дереве железная поддержка i2c выключена, и чтобы ее включить, нужно в упомянутом выше imx23-wirenboard32.dts раскомментировать строки 297-303, перекомментировать строки 423/423, и пересобрать дерево, как написано тут: http://contactless.ru/wiki/index.php?title=Пересборка_Device_Tree
Я застрял на этапе сборки, так как испугался появившихся при этом warning-ов

да, всё так

Евгений, а что значат предупреждения при компиляции, и насколько они фатальны?

Евгений, включите пожалуйста i2c для пользователей WB.
Или хотя бы правильно отредактируйте dts файл, чтобы неопытные (как я) ничего не испортили.

ps
Гитхаб заблокирован роскомназором, ходите через прокси.

hamster, честно говоря, я не понял.
Ругается оно на rtc и eeprom, которые в devicetree подлкючены к i2c. На их работоспособности это не сказывалось.
В WB SH 3.5 этот чип вообще не напаян, так что беспокоиться вообще не о чем.