Opened 5 weeks ago

Closed 5 weeks ago

Last modified 5 weeks ago

#737 closed задача (готово)

"Откат" ПО платы SW-01

Reported by: san Owned by: alx
Priority: средний Milestone: 1 очередь
Component: sw Keywords:
Cc:

Description

Пользователи, по опыту работы с различными системами других производителей, просят в плате SW-01 возможность "отката прошивки", после обновления, на случай выявления каких-то критичных багов в новом ПО.
А в плате SW-01 откат изменений - это сложная процедура и, иногда, почти не возможная.
При каждом знакомстве новых пользователей с нашей аппаратурой я получаю вопрос есть ли такая функция и предложение её реализовать.

Кроме того, иногда бывает, что пользователи ломают что-нибудь сами в ПО и им хочется вернуться на "заводскую прошивку".

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

Я подобную функцию представляю так: у нас на сайте хранятся "стабильные образы" ПО платы SW-01, сохранённые с некоторой периодичностью. При возникновении проблемы с новым ПО, пользователь может залить образ в плату, в результате он получит SW-01 в "заводском программном состоянии".

p.s. по моей статистике, такая функция не необходимость для работы, а скорее нужна для успокоения пользователей, но тем не менее, я считаю, что она нам нужна и повысит "привлекательность" нашей аппаратуры.

Change History (11)

in reply to:  description comment:1 by alx, 5 weeks ago

Replying to san:

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

На этот вопрос я ответить не могу, так как ты не написал, какой же именно функционал желают пользователи (есть только название функции - "откат прошивки", из которого я затрудняюсь догадаться, что конкретно пользователи хотят). Уточни, пожалуйста, о каком именно функционале твой вопрос (в чем конкретно этот функционал заключается).

Я подобную функцию представляю так: у нас на сайте хранятся "стабильные образы" ПО платы SW-01,

Что такое "стабильные образы"?

сохранённые с некоторой периодичностью.

Что ты подразумеваешь под словом "сохраненные"?

При возникновении проблемы с новым ПО, пользователь может залить образ в плату, в результате он получит SW-01 в "заводском программном состоянии".

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

Last edited 5 weeks ago by alx (previous) (diff)

comment:2 by san, 5 weeks ago

Уточни, пожалуйста, о каком именно функционале твой вопрос (в чем конкретно этот функционал заключается)

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

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

Это один из вариантов решения задачи.

Что такое "стабильные образы"?

ПО платы SW-01, которое некоторое время проверялось и в нём не было обнаружено критичных багов.

Что ты подразумеваешь под словом "сохраненные"?

Ммм... записанные на жёсткий диск нашего сервера.
Сейчас на производстве, при программировании платы, в неё записывается готовый набор ПО в виде образа, ты этот образ периодически обновляешь, вот что-то похожее и имел в виду: хранить у нас исторический набор таких образов, чтобы пользователь мог залить любой в свою плату. Только вот пользователю нужен удобный и простой способ для записи этого образа в плату.

in reply to:  2 comment:3 by alx, 5 weeks ago

Replying to san:

Пользователям хочется иметь возможность в случае возникновения каких-то проблем с новой прошивкой иметь возможность вернуть ПО к состоянию где этих ошибок не было.

Спасибо за уточнение. Однако ты уточнил только что такое "откат". Это мне и так было более-менее понятно. Непонятно, что ты называешь "прошивкой". Поясни это, пожалуйста.

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

Это один из вариантов решения задачи.

Если так, то ответ на твой вопрос - нет. Насколько я знаю (я вчера провел соответствующее исследование), для файловых систем jffs2 и ubifs нет надежных средств делать backup/restore.

Что ты подразумеваешь под словом "сохраненные"?

Ммм... записанные на жёсткий диск нашего сервера.

Хм... Значит я догадался неправильно - я думал, что сохранять должны пользователи...

Сейчас на производстве, при программировании платы, в неё записывается готовый набор ПО в виде образа, ты этот образ периодически обновляешь, вот что-то похожее и имел в виду: хранить у нас исторический набор таких образов, чтобы пользователь мог залить любой в свою плату. Только вот пользователю нужен удобный и простой способ для записи этого образа в плату.

Если этот образ файловой системы ты и называешь "прошивкой", то ответ на твой вопрос очевиден: такой функционал уже реализован.

comment:4 by alx, 5 weeks ago

Я ответил на твой вопрос? Тикет можно закрыть?

comment:5 by san, 5 weeks ago

Я ответил на твой вопрос? Тикет можно закрыть?

Не совсем.
Сейчас, чтобы записать в плату образ фс, нужно подключиться к плате через RS-232, для этого сделать специфический шнурок, чтобы подключиться нужно достать плату из блока и через Uboot залить образ. Это довольно неудобные для пользователя операции. Можно ли что-нибудь придумать чтобы сделать этот процесс проще?

in reply to:  5 comment:6 by alx, 5 weeks ago

Replying to san:

Можно ли что-нибудь придумать чтобы сделать этот процесс проще?

Нет, насколько я понимаю, нельзя.

Ну, разве что готовый шнурок мы можем поставлять в комплекте с платой (но это не имеет отношения к ПО, поэтому выходит за рамки тикета)...

Last edited 5 weeks ago by alx (previous) (diff)

comment:7 by san, 5 weeks ago

Resolution: готово
Status: newclosed

Нет, насколько я понимаю, нельзя.

Хорошо, тогда будем довольствоваться тем что есть

in reply to:  7 comment:8 by alx, 5 weeks ago

Replying to san:

Хорошо, тогда будем довольствоваться тем что есть

Вообще-то есть другой вариант - откатывать не "прошивку", а программные пакеты. Этот вариант лишен практически всех перечисленных тобой выше недостатков - специальный шнур не требуется, доставать плату не требуется, загружаться в u-boot не требуется, и вообще все можно сделать удаленно. Я не понимаю, почему ты (как мне показалось) не рассматриваешь такой вариант... Единственное, что требуется чтобы дать пользователям эту возможность - это выложить не только последние версии пакетов, но и предыдущие (устаревшие) тоже.

Это не подойдет разве что в случае "...ломают что-нибудь сами в ПО" - тогда да, лучше переписать образ FS целиком...

Last edited 5 weeks ago by alx (previous) (diff)

comment:9 by san, 5 weeks ago

Вообще-то есть другой вариант - откатывать не "прошивку", а программные пакеты.

Я подозреваю что тут могут возникнуть проблемы с зависимостями.

in reply to:  9 comment:10 by alx, 5 weeks ago

Replying to san:

Я подозреваю что тут могут возникнуть проблемы с зависимостями.

Ты прав. Даже не знаю, что бы я предпочел на месте пользователя, которому opkg выдал сообщение о неудовлетворенной зависимости - не вставая с места повторить команду, добавив недостающий пакет(ы), или спаять специальный шнур, поехать к месту установки блока, подключиться к плате терминалом и перезаписать всю FS.... шутка! :) НЕТ, КОНЕЧНО ЖЕ Я ЗНАЮ, какой вариант я бы выбрал... :) Но все люди разные...

Last edited 5 weeks ago by alx (previous) (diff)

comment:11 by san, 5 weeks ago

все люди разные

Это точно. Для варианта перезаписи фс мы можем выдать пользователю универсальную и простую инструкцию, которая сработает в 99% случаев и не требует квалифицированного персонала (если шнурок и терминал уже приготовлены заранее).

Я не понимаю, почему ты (как мне показалось) не рассматриваешь такой вариант

Я просто не рассматриваю его, как основной вариант. В качестве альтернативного - да, я согласен, для некоторых пользователей это может быть удобнее.

Единственное, что требуется чтобы дать пользователям эту возможность - это выложить не только последние версии пакетов, но и предыдущие (устаревшие) тоже.

Давай будем оставлять и предыдущие версии в репозитории, я только за.

Note: See TracTickets for help on using tickets.