iGold
05.Декабрь.2022 06:39:14
1
Продолжая обсуждение из темы Прошивка WBE2R-R-ZIGBEE v.2 :
Здравствуйте!
Обсуждали с вами возможность обновления прошивки на новом Zigbee модуле, вы хотели опубликовать программу и написать инструкцию. Но что-то пока ни того, ни другого. Хотя новые прошивки уже вышли, в последней (20221102) добавили, например, возможность управлять мощностью передатчика.
Когда примерно можно ждать приложение и инструкции?
Добрый день.
Благодарю за напоминание, сейчас пакет, именно пакет для комфортной установки пока не готов, займемся.
iGold
05.Декабрь.2022 09:52:21
4
Спасибо!
Как сделаете — напишите, пожалуйста, хотелось бы разобраться, как это работает с новым модулем, да попробовать обновить прошивку.
Для прошивки модуль переводится в соответствующий режим, подачей импульсов на один из контактов разьема, затем запускается питон-скрипт, который уже и загружает прошивку. Да, напишем.
iGold
02.Февраль.2023 07:59:43
6
Здравствуйте!
В вышедшем на днях релизе zigbee2mqtt рекомендуется обновить прошивку координатора до версии 20221226
.
По этому поводу хочу напомнить вам о необходимости выпуска пакета для прошивки вашего zigbee модуля второй версии.
1 лайк
Здравствуйте. Спасибо. Уже подготовили, в течение пары дней заедет в тестинг и можно будет пользоваться.
1 лайк
Заехало в тестинг на булсае, поставить можно так:
apt update && apt install wb-cc2652p-flasher
Скачиваете файл прошивки и кладёте его на контроллер. Потом запускаете:
wb-cc2652p-flasher <module number> <firmware file>
Пример, где 4 — номер слота, куда вставлен модуль:
wb-cc2652p-flasher 4 CC1352P2_CC2652P_other_coordinator_20220219.hex
В Вики инструкцию добавим в начале недели.
iGold
06.Февраль.2023 04:37:53
9
Спасибо большое, оперативно вы!
Попробую запустить на стейбле, тестинга нет нигде.
Добавлено:
Всё получилось! (см. ниже)
Установилось из .deb файла, зависимости в стейбле подошли, запустилось и успешно отработало:
# wb-cc2652p-flasher 4 CC1352P2_CC2652P_other_coordinator_20221226.hex
Using RTS_GPIO 270
Opening port /dev/ttyMOD4, baud 500000
Reading data from CC1352P2_CC2652P_other_coordinator_20221226.hex
Your firmware looks like an Intel Hex file
Connecting to target...
CC1350 PG2.0 (7x7mm): 352KB Flash, 20KB SRAM, CCFG.BL_CONFIG at 0x00057FD8
Primary IEEE Address: 00:12:4B:00:25:90:77:1A
Performing mass erase
Erasing all main bank flash sectors
Erase done
Writing 360448 bytes starting at address 0x00000000
Write 104 bytes at 0x00057F980
Write done
Verifying by comparing CRC32 calculations.
Verified (match: 0x9e47be44)
В журнале zigbee2mqtt:
Coordinator firmware version: '{"meta":{"maintrel":1,"majorrel":2,"minorrel":7,"product":1,"revision":20221226,"transportrev":2},"type":"zStack3x0"}'
iGold
06.Февраль.2023 05:49:47
10
Поспешил порадоваться, что получилось всё. Успешно отработало только на WB7, на WB6 контроллерах программа не находит нужный GPIO (команда gpiofind возвращает пустую строку).
Может что-то подгрузить/запустить надо, чтобы начало возвращать корректный GPIO? Могу, конечно, и вручную их прописать, но это не так надёжно, да и всё равно как-то узнать их надо.
Для первого WB6 контроллера карточка System показывает такую информацию (тут подключено в MOD3):
Batch No 6.6.0B 3G 393
Для второго (там MOD4):
Batch No 6.7.2D 450
Ещё есть такая информация в /sys/class/gpio/
WB7:
# ll /sys/class/gpio/
итого 0
--w------- 1 root root 4096 дек 26 19:18 export
lrwxrwxrwx 1 root root 0 фев 6 10:20 gpio133 -> ../../devices/platform/soc/1c20800.pinctrl/gpiochip0/gpio/gpio133
lrwxrwxrwx 1 root root 0 фев 6 10:20 gpio134 -> ../../devices/platform/soc/1c20800.pinctrl/gpiochip0/gpio/gpio134
lrwxrwxrwx 1 root root 0 фев 6 10:20 gpio135 -> ../../devices/platform/soc/1c20800.pinctrl/gpiochip0/gpio/gpio135
lrwxrwxrwx 1 root root 0 фев 6 10:20 gpio136 -> ../../devices/platform/soc/1c20800.pinctrl/gpiochip0/gpio/gpio136
lrwxrwxrwx 1 root root 0 фев 6 10:20 gpio139 -> ../../devices/platform/soc/1c20800.pinctrl/gpiochip0/gpio/gpio139
lrwxrwxrwx 1 root root 0 фев 6 09:42 gpiochip0 -> ../../devices/platform/soc/1c20800.pinctrl/gpio/gpiochip0
--w------- 1 root root 4096 фев 6 10:20 unexport
WB6 (6.6.0):
# ll /sys/class/gpio/
итого 0
--w------- 1 root root 4096 дек 12 14:43 export
lrwxrwxrwx 1 root root 0 фев 6 10:51 gpio119 -> ../../devices/platform/soc/2000000.bus/20a8000.gpio/gpiochip3/gpio/gpio119
lrwxrwxrwx 1 root root 0 фев 6 10:51 gpio87 -> ../../devices/platform/soc/2000000.bus/20a4000.gpio/gpiochip2/gpio/gpio87
lrwxrwxrwx 1 root root 0 фев 6 10:51 gpiochip0 -> ../../devices/platform/soc/2000000.bus/209c000.gpio/gpio/gpiochip0
lrwxrwxrwx 1 root root 0 фев 6 10:51 gpiochip128 -> ../../devices/platform/soc/2000000.bus/20ac000.gpio/gpio/gpiochip128
lrwxrwxrwx 1 root root 0 фев 6 10:51 gpiochip32 -> ../../devices/platform/soc/2000000.bus/20a0000.gpio/gpio/gpiochip32
lrwxrwxrwx 1 root root 0 фев 6 10:51 gpiochip64 -> ../../devices/platform/soc/2000000.bus/20a4000.gpio/gpio/gpiochip64
lrwxrwxrwx 1 root root 0 фев 6 10:51 gpiochip96 -> ../../devices/platform/soc/2000000.bus/20a8000.gpio/gpio/gpiochip96
--w------- 1 root root 4096 дек 12 14:43 unexport
WB6 (6.7.2):
# ls -l /sys/class/gpio/
итого 0
--w------- 1 root root 4096 дек 12 13:47 export
lrwxrwxrwx 1 root root 0 фев 6 10:52 gpio116 -> ../../devices/platform/soc/2000000.bus/20a8000.gpio/gpiochip3/gpio/gpio116
lrwxrwxrwx 1 root root 0 фев 6 10:52 gpio119 -> ../../devices/platform/soc/2000000.bus/20a8000.gpio/gpiochip3/gpio/gpio119
lrwxrwxrwx 1 root root 0 фев 6 10:52 gpio128 -> ../../devices/platform/soc/2000000.bus/20ac000.gpio/gpiochip4/gpio/gpio128
lrwxrwxrwx 1 root root 0 фев 6 10:52 gpio130 -> ../../devices/platform/soc/2000000.bus/20ac000.gpio/gpiochip4/gpio/gpio130
lrwxrwxrwx 1 root root 0 фев 6 10:52 gpio23 -> ../../devices/platform/soc/2000000.bus/209c000.gpio/gpiochip0/gpio/gpio23
lrwxrwxrwx 1 root root 0 фев 6 10:52 gpiochip0 -> ../../devices/platform/soc/2000000.bus/209c000.gpio/gpio/gpiochip0
lrwxrwxrwx 1 root root 0 фев 6 10:52 gpiochip128 -> ../../devices/platform/soc/2000000.bus/20ac000.gpio/gpio/gpiochip128
lrwxrwxrwx 1 root root 0 фев 6 10:52 gpiochip32 -> ../../devices/platform/soc/2000000.bus/20a0000.gpio/gpio/gpiochip32
lrwxrwxrwx 1 root root 0 фев 6 10:52 gpiochip64 -> ../../devices/platform/soc/2000000.bus/20a4000.gpio/gpio/gpiochip64
lrwxrwxrwx 1 root root 0 фев 6 10:52 gpiochip96 -> ../../devices/platform/soc/2000000.bus/20a8000.gpio/gpio/gpiochip96
--w------- 1 root root 4096 фев 6 10:52 unexport
Вывод gpioinfo c WB 6.6.0. Впечатление, что GPIO на контроллерах 6.х не промаркированы.
# gpioinfo
gpiochip0 - 32 lines:
line 0: unnamed "wb-mqtt-gpio" input active-low [used]
line 1: unnamed unused input active-high
line 2: unnamed unused input active-high
line 3: unnamed unused input active-high
line 4: unnamed unused input active-high
line 5: unnamed unused input active-high
line 6: unnamed unused input active-high
line 7: unnamed unused input active-high
line 8: unnamed unused input active-high
line 9: unnamed unused input active-high
line 10: unnamed "mod2_sda_pullup" input active-low [used]
line 11: unnamed "onewire_w1" output active-high [used open-drain]
line 12: unnamed unused input active-high
line 13: unnamed "pu" output active-high [used]
line 14: unnamed unused output active-high
line 15: unnamed unused output active-high
line 16: unnamed unused input active-high
line 17: unnamed unused input active-high
line 18: unnamed unused input active-high
line 19: unnamed unused input active-high
line 20: unnamed unused input active-high
line 21: unnamed unused input active-high
line 22: unnamed "rts" output active-high [used]
line 23: unnamed unused input active-high
line 24: unnamed unused input active-high
line 25: unnamed unused input active-high
line 26: unnamed "rts" output active-high [used]
line 27: unnamed "wb-mqtt-gpio" output active-high [used]
line 28: unnamed unused input active-high
line 29: unnamed unused input active-high
line 30: unnamed "scl" output active-high [used open-drain]
line 31: unnamed "sda" input active-high [used]
gpiochip1 - 32 lines:
line 0: unnamed unused input active-high
line 1: unnamed unused input active-high
line 2: unnamed unused input active-high
line 3: unnamed unused input active-high
line 4: unnamed unused input active-high
line 5: unnamed unused input active-high
line 6: unnamed unused input active-high
line 7: unnamed unused input active-high
line 8: unnamed unused input active-high
line 9: unnamed unused input active-high
line 10: unnamed unused input active-high
line 11: unnamed unused input active-high
line 12: unnamed unused input active-high
line 13: unnamed unused input active-high
line 14: unnamed unused input active-high
line 15: unnamed unused input active-high
line 16: unnamed "i2c_rtc" output active-high [used open-drain]
line 17: unnamed "i2c_rtc" output active-high [used open-drain]
line 18: unnamed unused input active-high
line 19: unnamed "watchdog" output active-high [used]
line 20: unnamed unused input active-high
line 21: unnamed unused input active-high
line 22: unnamed unused input active-high
line 23: unnamed unused input active-high
line 24: unnamed unused input active-high
line 25: unnamed unused input active-high
line 26: unnamed unused input active-high
line 27: unnamed unused input active-high
line 28: unnamed unused input active-high
line 29: unnamed unused input active-high
line 30: unnamed unused input active-high
line 31: unnamed unused input active-high
gpiochip2 - 32 lines:
line 0: unnamed unused input active-high
line 1: unnamed unused input active-high
line 2: unnamed "rts" output active-high [used]
line 3: unnamed "i2c_eeprom1" output active-high [used open-drain]
line 4: unnamed "eth2_yellow" output active-low [used]
line 5: unnamed unused input active-high
line 6: unnamed "i2c_eeprom2" output active-high [used open-drain]
line 7: unnamed "i2c_eeprom2" output active-high [used open-drain]
line 8: unnamed "wb-mqtt-gpio" input active-high [used]
line 9: unnamed "wb-mqtt-gpio" output active-high [used]
line 10: unnamed "regulators:regulator@2" output active-high [used]
line 11: unnamed unused input active-high
line 12: unnamed "i2c_eeprom1" output active-high [used open-drain]
line 13: unnamed unused input active-high
line 14: unnamed unused input active-high
line 15: unnamed "wb-mqtt-gpio" output active-high [used]
line 16: unnamed "wb-mqtt-gpio" output active-high [used]
line 17: unnamed "wb-mqtt-gpio" output active-high [used]
line 18: unnamed "wb-mqtt-gpio" output active-high [used]
line 19: unnamed unused input active-high
line 20: unnamed unused input active-high
line 21: unnamed unused input active-high
line 22: unnamed unused input active-high
line 23: unnamed "sysfs" output active-high [used]
line 24: unnamed unused input active-high
line 25: unnamed unused input active-high
line 26: unnamed unused input active-high
line 27: unnamed unused input active-high
line 28: unnamed unused input active-high
line 29: unnamed unused input active-high
line 30: unnamed unused input active-high
line 31: unnamed unused input active-high
gpiochip3 - 32 lines:
line 0: unnamed unused input active-high
line 1: unnamed unused input active-high
line 2: unnamed unused input active-high
line 3: unnamed unused input active-high
line 4: unnamed unused input active-high
line 5: unnamed unused input active-high
line 6: unnamed unused input active-high
line 7: unnamed unused input active-high
line 8: unnamed unused input active-high
line 9: unnamed unused input active-high
line 10: unnamed unused input active-high
line 11: unnamed "regulators:regulator@1" output active-high [used]
line 12: unnamed "onewire_w2" output active-high [used open-drain]
line 13: unnamed "wb-mqtt-gpio" input active-low [used]
line 14: unnamed "wb-mqtt-gpio" input active-low [used]
line 15: unnamed "wb-mqtt-gpio" input active-low [used]
line 16: unnamed "pu" output active-high [used]
line 17: unnamed unused input active-high
line 18: unnamed unused input active-high
line 19: unnamed unused input active-high
line 20: unnamed unused input active-high
line 21: unnamed unused input active-high
line 22: unnamed unused input active-high
line 23: unnamed "sysfs" output active-high [used]
line 24: unnamed unused input active-high
line 25: unnamed unused input active-high
line 26: unnamed unused input active-high
line 27: unnamed unused input active-high
line 28: unnamed unused input active-high
line 29: unnamed unused input active-high
line 30: unnamed unused input active-high
line 31: unnamed unused input active-high
gpiochip4 - 32 lines:
line 0: unnamed unused input active-high
line 1: unnamed "phy-reset" output active-high [used]
line 2: unnamed unused input active-high
line 3: unnamed unused input active-high
line 4: unnamed unused input active-high
line 5: unnamed unused input active-high
line 6: unnamed unused input active-high
line 7: unnamed unused input active-high
line 8: unnamed unused input active-high
line 9: unnamed unused input active-high
line 10: unnamed unused input active-high
line 11: unnamed unused input active-high
line 12: unnamed unused input active-high
line 13: unnamed unused input active-high
line 14: unnamed unused input active-high
line 15: unnamed unused input active-high
line 16: unnamed unused input active-high
line 17: unnamed unused input active-high
line 18: unnamed unused input active-high
line 19: unnamed unused input active-high
line 20: unnamed unused input active-high
line 21: unnamed unused input active-high
line 22: unnamed unused input active-high
line 23: unnamed unused input active-high
line 24: unnamed unused input active-high
line 25: unnamed unused input active-high
line 26: unnamed unused input active-high
line 27: unnamed unused input active-high
line 28: unnamed unused input active-high
line 29: unnamed unused input active-high
line 30: unnamed unused input active-high
line 31: unnamed unused input active-high
iGold
06.Февраль.2023 07:45:15
11
Видимо, в каком-то из новых ядер маркировка появится, но пока что ядро в стейбл идёт без названий для линий GPIO. Нашёл у вас соответствующий коммит на GH.
Чтобы не ждать новое ядро, решил в скрипт вшить нужные переменные. Тем более, что ранее через эти же GPIO перезагружал подвисавшие zigbee модули первой ревизии (была как-то проблема в одной из версий прошивок координатора).
Для справки, вот что прописал:
для WB 6.6 MOD3 (GPIO 75)
RTS_CHIP="gpiochip2"
RTS_GPIO="11"
для WB 6.7 MOD4 (GPIO 64)
RTS_CHIP="gpiochip2"
RTS_GPIO="0"
После этого оба модуля обновились успешно.
Добрый день. WB6 имеет какой релиз?
На контроллере WB6 нет gpiofind.
Подставка gpio вручную, решает “здесь и сейчас”.
iGold
06.Февраль.2023 08:50:20
13
Здравствуйте!
BrainRoot:
WB6 имеет какой релиз?
На обоих WB6:
# wb-release
Wirenboard release wb-2207 (as stable), target wb6/stretch
Может изначально и нет, но пакет gpiod в stable доступен для установки (из вашего репозитория), и автоматически для флешера подтянулся по зависимостям.
# dpkg -S gpiofind
gpiod: /usr/bin/gpiofind
# apt-cache showpkg gpiod
Package: gpiod
Versions:
1.2-3 (/var/lib/apt/lists/deb.wirenboard.com_wb6_stretch_dists_stable_main_binary-armhf_Packages) (/var/lib/dpkg/status)
Description Language:
File: /var/lib/apt/lists/deb.wirenboard.com_wb6_stretch_dists_stable_main_binary-armhf_Packages
MD5: 9751b0d5a5fb84b3e5932cd199c5f5be
Reverse Depends:
wb-cc2652p-flasher,gpiod
Dependencies:
1.2-3 - libc6 (2 2.16) libgpiod2 (2 1.2)
Provides:
1.2-3 -
Reverse Provides:
Согласен, именно для «здесь и сейчас» их и прописал. В ядре ревизии wb125+ должны появиться метки, и можно будет пользоваться прошивальщиком штатно, с автоопределением.
У меня на контроллере на котором проверял была ошибка в репозиториях.
Да, поставить можно.
system
Закрыл(а) тему
13.Февраль.2023 12:17:21
15
Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.