Не вижу среди пакетов cc2538-bsl

Продолжая обсуждение из темы Прошивка WBE2R-R-ZIGBEE v.2:

Здравствуйте!

Обсуждали с вами возможность обновления прошивки на новом Zigbee модуле, вы хотели опубликовать программу и написать инструкцию. Но что-то пока ни того, ни другого. Хотя новые прошивки уже вышли, в последней (20221102) добавили, например, возможность управлять мощностью передатчика.

Когда примерно можно ждать приложение и инструкции?

Добрый день.

Благодарю за напоминание, сейчас пакет, именно пакет для комфортной установки пока не готов, займемся.

Спасибо!

Как сделаете — напишите, пожалуйста, хотелось бы разобраться, как это работает с новым модулем, да попробовать обновить прошивку.

Для прошивки модуль переводится в соответствующий режим, подачей импульсов на один из контактов разьема, затем запускается питон-скрипт, который уже и загружает прошивку. Да, напишем.

Здравствуйте!

В вышедшем на днях релизе 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

В Вики инструкцию добавим в начале недели.

Спасибо большое, оперативно вы!

Попробую запустить на стейбле, тестинга нет нигде.

Добавлено:

Всё получилось! (см. ниже)

Установилось из .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"}'

Поспешил порадоваться, что получилось всё. Успешно отработало только на 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 

Видимо, в каком-то из новых ядер маркировка появится, но пока что ядро в стейбл идёт без названий для линий 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 вручную, решает “здесь и сейчас”.

Здравствуйте!

На обоих 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+ должны появиться метки, и можно будет пользоваться прошивальщиком штатно, с автоопределением.

У меня на контроллере на котором проверял была ошибка в репозиториях.
Да, поставить можно.

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.