Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: обновление прошивки в 100500 vs 100..500 девайсах
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Страницы: 1, 2
Огурцов
давайте обсудим логику работы системы и самого процесса
исходя из того, что как обновлять прошивку в 100..500 девайсах вопросов не вызывает
scifi
У меня сейчас можно заливать через веб-интерфейс. Не вижу препятствий заскриптовать это дело: центральный сервер легко может сделать всё сам, нужен лишь список айпишников и файл прошивки.
Слышал, делают так, что по команде через SNMP устройство само ломится на TFTP сервер и вытягивает новую прошивку самостоятельно. Вот и один из заказчиков такое просит. Придётся делать.
x893
Проблема надуманная.
Только если заняться нечем, то можно обсуждать.
Огурцов
Цитата(x893 @ Dec 8 2017, 11:47) *
Только если заняться нечем, то можно обсуждать.

вы и занятой, и я вас не заставляю

Цитата(scifi @ Dec 8 2017, 11:36) *
нужен лишь список айпишников

в том и проблема, как я буду собирать, хранить и поддерживать список в 100500 адресов ? для этого ещё 100 человек потребуется

Цитата(scifi @ Dec 8 2017, 11:36) *
через SNMP устройство само ломится на TFTP сервер

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

Цитата(scifi @ Dec 8 2017, 11:36) *
и вытягивает новую прошивку самостоятельно

шустрые пронырливые китайцы подсуетятся, вытянут прошивку и нарисуют ещё 100500000 девайсов
Baser
Цитата(Огурцов @ Dec 8 2017, 14:31) *
не везде есть подключение к интеренту, я бы не закладывался - файл лучше, для того кому нужно будет обновиться

А чего обсуждать - вот оно и решение. Все как сейчас у всех: кому надо, достают файл и обновляются. Кому не надо, и так хорошо.

Цитата
шустрые пронырливые китайцы подсуетятся, вытянут прошивку и нарисуют ещё 100500000 девайсов

Бутлодер с шифрованием. Тоже типовое решение.
Огурцов
Цитата(Baser @ Dec 8 2017, 12:52) *
Бутлодер с шифрованием. Тоже типовое решение.

поддержка 100500 ключей не сильно отличается от поддержки 100500 адресов, и к тому же не в лучшую сторону
AlexandrY
Цитата(Огурцов @ Dec 8 2017, 12:50) *
давайте обсудим логику работы системы и самого процесса
исходя из того, что как обновлять прошивку в 100..500 девайсах вопросов не вызывает

Это теперь в IoT называется deployment.
Смотрите технологию AWS Greengrass
Ключевые протоколы - TCP, TSL, JSON, MQTT, Greengrass
Ну а все это счастье теперь получаете с Amazon FreeRTOS
Baser
Цитата(Огурцов @ Dec 8 2017, 14:59) *
поддержка 100500 ключей не сильно отличается от поддержки 100500 адресов, и к тому же не в лучшую сторону

Не понял мысли о 100500 ключах. Зачем? Ключ один, в бутлодере. Он закрыт и не обновляется. Или вы хотите и бутлодер перепрошивать удаленно? cool.gif
gosha-z
Цитата(Baser @ Dec 8 2017, 16:50) *
Не понял мысли о 100500 ключах. Зачем? Ключ один, в бутлодере. Он закрыт и не обновляется. Или вы хотите и бутлодер перепрошивать удаленно? cool.gif

В бутлодере публичный ключ, прошивка подписана приватным. Если не верифицируется - не обновляемся и не грузимся.
Огурцов
Цитата(Baser @ Dec 8 2017, 13:50) *
Не понял мысли о 100500 ключах. Зачем? Ключ один, в бутлодере. Он закрыт и не обновляется.

так системы шифрования не строят - скомпрометируется один девайс и все последующие версии прошивки будут скомпрометированы

Цитата(Baser @ Dec 8 2017, 13:50) *
Или вы хотите и бутлодер перепрошивать удаленно? cool.gif

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



Цитата(gosha-z @ Dec 8 2017, 13:54) *
В бутлодере публичный ключ, прошивка подписана приватным. Если не верифицируется - не обновляемся и не грузимся.

и в чём смысл ? ключ публичный, а значит любой может сделать аналогичный девайс и залить в туда мою прошивку
а задача - ровно обратная
gosha-z
Цитата(Огурцов @ Dec 8 2017, 17:10) *
и в чём смысл ? ключ публичный, а значит любой может сделать аналогичный девайс и залить в туда мою прошивку
а задача - ровно обратная

Да у вас, милейший, с пониманием принципов PKI проблема. Гугл в помощь...
Огурцов
Цитата(gosha-z @ Dec 8 2017, 14:23) *
Да у вас, милейший, с пониманием принципов PKI проблема

а не могли бы вы пояснить, что вы имели в виду ?
иначе может оказаться, что вместо хранения 100500 закрытых ключей придется хранить 100500 открытых ключей или сертификатов и плюсом к тому иметь удостоверяющий центр
gosha-z
Цитата(Огурцов @ Dec 8 2017, 17:39) *
а не могли бы вы пояснить, что вы имели в виду ?
иначе может оказаться, что вместо хранения 100500 закрытых ключей придется хранить 100500 открытых ключей или сертификатов и плюсом к тому иметь удостоверяющий центр

Читать сюда, для начала, особенно раздел Digital signatures. Ну и гуглить туда же на тему Code signing.
100500 сертификатов и ключей вам нужно будет хранить в случае, если вы хотите для каждого из 100500 девайсов делать уникальную прошивку, которая будет работать только на данном конкретном экземпляре устройства.
Если вам нужно только удостовериться в факте того, что прошивка получена из надежного источника - обходимся одной парой private/public keys, подписываем прошивку приватным ключом, при загрузке публичным ключом проверяем сигнатуру, если валидна (поверка хеша публичным ключом пройдена) - подпись верна, поехали.
Приватный ключ хранится в тяжелом сейфе с толстыми стенками и в открытом виде нигде не появляется. Точнее, появляется, но на очень короткое время (собственно, на время генерации подписи, потом он должен исчезнуть из памяти, иначе СКЗИ сертифицировано не будет, но это уже лирика). Вы же упоминали термин "компрометация"- это как раз "уход" приватного ключа по тем или иным причинам. Из приватного ключа можно сделать публичный, наоборот - нет, на этой идее вся PKI и строится.
Огурцов
Цитата(gosha-z @ Dec 8 2017, 14:55) *
Если вам нужно только удостовериться в факте того, что прошивка получена из надежного источника

нет и ещё раз нет
т.е. это конечно хорошая фича, но далеко не главная
главное - удостовериться, что прошивка ушла в надёжный приёмник
а в случае, если приёмник станет ненадёжным (прошивка от него ушла в мир), иметь возможность прекратить иметь с ним дело, сохранив, однако, возможность поддержки других клиентов
хотя бы как вариант - не этой, но следующей версией
gosha-z
Цитата(Огурцов @ Dec 8 2017, 18:02) *
нет и ещё раз нет
т.е. это конечно хорошая фича, но далеко не главная
главное - удостовериться, что прошивка ушла в надёжный приёмник

Это называется Mutual authentication, и тогда, действительно, тянет за собой понятия CA, SCEP/CMPv2, CRL и т.д. и т.п.
amiller
У меня проблем слишком большого количества клиентов нет, но в принципе считаю, что проблемы обновления миллиона прошивок лучше переложить на миллион клиентов.
Есть загрузчик, содержащий ключи шифрования, в устройстве, залоченном на предприятии.
И есть сайт, на котором публикуется актуальная программа для прошивки девайсов, а также последние прошивки (естественно зашифрованные) с информацией об изменениях в них.
Клиенты сами всё это скачивают и заливают. Для особо одаренных есть видеоролик с пояснениями.
Так как в расшифрованном виде прошивка восстанавливается только внутри залоченного девайса, то защита интеллектуальной собственности сводится к обычным правилам безопасности на предприятии.
А задача публичной программы для прошивки - передать загрузчику зашифрованную прошивку без каких либо преобразований.
adnega
Цитата(amiller @ Dec 8 2017, 18:37) *
У меня проблем слишком большого количества клиентов нет, но в принципе считаю, что проблемы обновления миллиона прошивок лучше переложить на миллион клиентов.
Есть загрузчик, содержащий ключи шифрования, в устройстве, залоченном на предприятии.
И есть сайт, на котором публикуется актуальная программа для прошивки девайсов, а также последние прошивки (естественно зашифрованные) с информацией об изменениях в них.
Клиенты сами всё это скачивают и заливают. Для особо одаренных есть видеоролик с пояснениями.
Так как в расшифрованном виде прошивка восстанавливается только внутри залоченного девайса, то защита интеллектуальной собственности сводится к обычным правилам безопасности на предприятии.
А задача публичной программы для прошивки - передать загрузчику зашифрованную прошивку без каких либо преобразований.

+1
mantech
Цитата(Огурцов @ Dec 8 2017, 17:10) *
так системы шифрования не строят - скомпрометируется один девайс и все последующие версии прошивки будут скомпрометированы


Ну дак займитесь культурой производства, чтоб прошивка не гуляла по предприятию, сделайте спецпрограмматор с аутентификацией по усб-токену, подсчету прошитых устройств и выдавайте его под роспись...
Огурцов
Цитата(amiller @ Dec 8 2017, 15:37) *
Есть загрузчик, содержащий ключи шифрования, в устройстве, залоченном на предприятии.

предлагаете прошить одинаковый ключ во все девайсы ?

Цитата(mantech @ Dec 8 2017, 18:20) *
Ну дак займитесь культурой производства, чтоб прошивка не гуляла по предприятию, сделайте спецпрограмматор с аутентификацией по усб-токену, подсчету прошитых устройств и выдавайте его под роспись...

я тут каким боком ? я про клиента-злоумышленника говорю


в общем, я тут поразмышлял и решил, что в заданных ограничениях задача неразрешима
mantech
Цитата(Огурцов @ Dec 8 2017, 22:21) *
я тут каким боком ? я про клиента-злоумышленника говорю


Используйте контроллеры с механизмом подписи с встроенным криптобутом. Я пока не слышал о взломе таких МК.
amiller
Цитата(Огурцов @ Dec 8 2017, 22:21) *
предлагаете прошить одинаковый ключ во все девайсы ?

Если речь идёт о ключе шифрования, то да, я использую один сложный ключ для всех устройств, в которых предусмотрен механизм удаленной замены прошивки.
Алгоритм шифрования выбирал вынужденно. Устройства выпускаю на разных процессорах, поэтому нужен был чисто программный алгоритм. В свое время удалось найти только AES, на нем и остановился (AES-256).
Используется уже более 5 лет (около двух десятков видов устройств общим тиражом тысяч тридцать, наверное) и пока о случаях взлома ничего неизвестно.
Но кроме ключа шифрования есть ещё различные опции, которые характеризуют устройства и версию ПО.
Это идентификатор устройства, версия ПО, идентификатор клиента и ещё некоторые опции специализации.
Такая же информация находится в заголовке прошивки, который не зашифрован, но защищен от изменения зашифрованным ключом.
Заголовок использует программа загрузки, которая реализует интерфейс с пользователем, и принимает предварительное решение о том, подходит ли данная прошивка для данного устройства/клиента.
А окончательное решение о возможности заливки ПО принимает уже загрузчик в устройстве.

Arjun
Цитата(Огурцов @ Dec 8 2017, 13:50) *
обновление прошивки в 100500 vs 100..500 девайсах
давайте обсудим логику работы системы и самого процесса
исходя из того, что как обновлять прошивку в 100..500 девайсах вопросов не вызывает

А в чем проблема-то?
Вы её не озвучили. Тогда что обсуждать?
AlexandrY
Цитата(Arjun @ Dec 9 2017, 12:23) *
А в чем проблема-то?
Вы её не озвучили. Тогда что обсуждать?

Проблема как бы ясна.
Человек никогда не программировал больше тысячи дивайсов и сам хочет узнать о проблемах возникающих при программировавнии сотен тысяч.
Тут сложность в необходимости иметь базу данных, историю, планировать и редактировать график апгрейдов, технологию защищенных каналов, работать в реальном времени и параллельно и все это сделать не выходя за границы наработанных шаблонов и не меняя платформы.
В такой постановке задача действительно не решается.
Amazon для этого предлагает выделенный локальный сервер на сложном стеке с поддержкой в облаках и собственный фреймворк, но разработчику придется сильно напрячься.
Огурцов
Цитата(amiller @ Dec 9 2017, 10:55) *
Если речь идёт о ключе шифрования, то да, я использую один

и не сможете отключить клиентов выборочно от обновления
даже если это не злоумышленник
Baser
Цитата(Огурцов @ Dec 8 2017, 17:02) *
Цитата(gosha-z @ Dec 8 2017, 16:55) *
нужно только удостовериться в факте того, что прошивка получена из надежного источника
нет и ещё раз нет
т.е. это конечно хорошая фича, но далеко не главная
главное - удостовериться, что прошивка ушла в надёжный приёмник
а в случае, если приёмник станет ненадёжным (прошивка от него ушла в мир), иметь возможность прекратить иметь с ним дело, сохранив, однако, возможность поддержки других клиентов
хотя бы как вариант - не этой, но следующей версией

Цитата(Огурцов @ Dec 9 2017, 12:47) *
и не сможете отключить клиентов выборочно от обновления
даже если это не злоумышленник

И при этом вы говорили, что желательно без on-line канала связи, прошивка в виде файла на локальном носителе.

В такой постановке вопроса это совершенно не реализуемо.
Урезайте хотелки sm.gif

В бутлодере нереально хранить много ключей.
И нужно иметь ввиду, что стоимость чтения вашего бутлодера прямо с кристалла обычного контроллера нынче всего несколько кило$
И он будет скомпроментирован. Надо плясать отсюда. Уровень "параноидальной" безопасности очень сложен и дорог.

Лучше всего быть подобным Неуловимому Джо, который нафиг никому не нужен biggrin.gif
amiller
Цитата(Огурцов @ Dec 9 2017, 13:47) *
и не сможете отключить клиентов выборочно от обновления
даже если это не злоумышленник

По моему мнению шифрование предназначено:
1. Для предотвращения копирования устройств третьими лицами.
2. Для обеспечения невозможности внесения несанкционированных изменений в ПО.
Идентификация клиентов и, соответственно, индивидуальное обновление ПО определяется другими параметрами.
Эти параметры всегда можно прочитать с устройства и эти же параметры входят в заголовок прошивки.
Идентификация по заголовку как минимум обеспечивает:
1. Прошивка одного клиента не подходит другому клиенту.
2. Прошивка для одного типа устройств не подходит к другому типу устройств.
Т.е. возможность не выпускать новое обновление для конкретного клиента существует.
Но мне в этом плане проще, так как у меня клиентов меньше десятка. Это достаточно крупные компании, закупающие наше оборудование.
Если бы пришлось заниматься розничными продажами, возможно подход был бы другой.

Цитата(Baser @ Dec 9 2017, 15:33) *
Лучше всего быть подобным Неуловимому Джо, который нафиг никому не нужен biggrin.gif

+1
Не ломите цены и постоянно развивайте функционал. Если стоимость вхождения в бизнес высока, а потенциальная прибыль невелика, то никто к Вам и не полезет и взламывать не будет.
А если где то цены космические, то я и взламывать ничего не буду, а разработаю аналогичное устройство, напишу софт с нуля, и выйду на рынок.
Огурцов
Цитата(Baser @ Dec 9 2017, 13:33) *
В бутлодере нереально хранить много ключей.

допустим, в одном бутлоадере можно хранить ключей на 1000 клиентов
вот только не понятно, зачем, поясните ?

Цитата(Baser @ Dec 9 2017, 13:33) *
И нужно иметь ввиду, что стоимость чтения вашего бутлодера прямо с кристалла обычного контроллера нынче всего несколько кило$
И он будет скомпроментирован.

тогда в чём противоречие ? скомпрометировался один клиент - ну и чорт с ним, мы его вычеркнули и забыли про него
хотите скомпрометировать дальше - платите ещё несколько тысяч баксов, наздоровье
Baser
Цитата(Огурцов @ Dec 9 2017, 15:47) *
допустим, в одном бутлоадере можно хранить ключей на 1000 клиентов
вот только не понятно, зачем, поясните ?

Так это вы сами в начале темы об этом говорили. Это мне надо вас спрашивать.

Цитата
тогда в чём противоречие ? скомпрометировался один клиент - ну и чорт с ним, мы его вычеркнули и забыли про него
хотите скомпрометировать дальше - платите ещё несколько тысяч баксов, наздоровье

Тогда кроме варианта с уникальными ключами и уникальным бутлодером для каждого клиента я ничего и не вижу.
Если хотите реализовать желание: "этому дала, этому дала, а этому не дала".
Kabdim
Цитата(amiller @ Dec 8 2017, 18:37) *
Клиенты сами всё это скачивают и заливают.

Класная позиция пока у вас в устройстве нет линукса, девайсы не гуляют в ретейле и применение девайсов умеренно безответственное. Если продажи 100500 и большая часть из списка выше неверна - обновления должны быть принудительными.
amiller
Цитата(Kabdim @ Dec 11 2017, 11:15) *
Класная позиция пока у вас в устройстве нет линукса, девайсы не гуляют в ретейле и применение девайсов умеренно безответственное. Если продажи 100500 и большая часть из списка выше неверна - обновления должны быть принудительными.

Даже Microsoft до последнего времени оставляла клиентам возможность выбора, обновляться или нет. В десятке обновления отключить сложнее, но можно. А кто я такой, чтобы навязывать обновление своих устройств?
Версии с критическими ошибками во внешний мир не уходят. А исправление мелочей и добавление функционала - личное дело каждого.
Kabdim
Вы так и не указали какие условия для ваших железок, предполагаю что всё же большая часть списка (не линукс, не ретейл, без большой ответственности) для вашего железа справедлива. Но вот почему вы утверждаете что ваш подход единственно верный мне странно.
Ruslan1
Цитата(scifi @ Dec 8 2017, 14:36) *
Слышал, делают так, что по команде через SNMP устройство само ломится на TFTP сервер и вытягивает новую прошивку самостоятельно. Вот и один из заказчиков такое просит. Придётся делать.

У меня в одном приборе так сделано- FTP клиент проверяет наличие новой прошивки на FTP сервере. Если нашел, то скачивает-устанавливает.
Огурцов
Цитата(Ruslan1 @ Dec 12 2017, 13:38) *
Если нашел, то скачивает-устанавливает.

самолёт заходит на посадку, а тут ваш датчик решил зайти на фтп и скачать новую прошивку, ага
amiller
Цитата(Kabdim @ Dec 12 2017, 12:35) *
Вы так и не указали какие условия для ваших железок, предполагаю что всё же большая часть списка (не линукс, не ретейл, без большой ответственности) для вашего железа справедлива. Но вот почему вы утверждаете что ваш подход единственно верный мне странно.

Не совсем понятно, с кем Вы сейчас общаетесь. Если со мной, то:
1. Я нигде не утверждал, что предложенный мною подход, единственно верный.
2. Просто предложил свой способ, как один из многих.
3. Более того, в разных проектах раньше я использовал разные способы обновления ПО, в том числе и централизованные.
4. По моему мнению, если процесс обновления ПО организован грамотно, то он никак не влияет на степень надежности ПО для устройства, как и на его другие характеристики.
5. Но для ответственных применений решение о том, как и когда обновлять ПО, должна принимать сервисная служба клиента с соответствующими полномочиями, а не сервер за 1000 км.
И процесс должен быть документально оформлен, а оборудование должно быть протестировано.
Так что насчёт оборудования "без большой ответственности" Вы попали с точностью до наоборот.
Ну и ещё один аргумент против централизованной системы обновления ПО. Интернет всё ещё есть далеко не везде.
Например много оборудования стоит на предприятиях, где внешний интернет запрещен или сильно ограничен.
mantech
Цитата(Огурцов @ Dec 12 2017, 16:54) *
самолёт заходит на посадку, а тут ваш датчик решил зайти на фтп и скачать новую прошивку, ага


Согласен. Вообще решение обновлять или нет прошивку должен принимать оператор, за исключением удаленных устройств (нефтяная скважина или космос).

ЗЫ. Тут с космосом вообще отожгли наши чинари, когда в ракете что-то заглючило и она курс поменяла. Вот там явно что-то не учли, хоть бы ручное управление и загрузку координат предусмотрели biggrin.gif
AlexandrY
Цитата(mantech @ Dec 15 2017, 10:46) *
Согласен. Вообще решение обновлять или нет прошивку должен принимать оператор, за исключением удаленных устройств (нефтяная скважина или космос).

Ага, забыли спросить кто кому должен.
Во всех авиадвигателях GE на боингах стоят IoT модули и обновляются без всякого оператора.
Kabdim
Ну да, нужно отдать обновление на откуп армии операторов, которые тупят, косячат, а потом пытаются скрыть свои косяки. Решение бесспорно гениальное. :D А техподдержка будет горячо благодарить за необходимость поддерживать 100500 версий прошивок, ну и тоже косячить, потому что все мы люди. И на всю эту веселую кутерьму будут накладываться разборки кто виноват и кому сколько и за чьи косяки надо заплатить.
ЗЫ На предприятиях кончено обновление не из инета. Но опять же его стоит сделать централизованным и дистанционным, с сервера.
amiller
Если честно, я не понимаю, как можно накосячить в процессе прошивки.
Интерфейсная программа в совокупности с загрузчиком не допустит записи несоответствующей прошивки.
В сомнительных случаях задаст дополнительные вопросы.
Мне кажется как раз в случае ответственных применений предприятие не допустит ситуацию, когда какой то девайс сам обновляется.
Я не говорю о выборе времени, а о возможности в принципе что-то удаленно менять.
А вдруг разработчика обидели и он превратил в кирпичи устройства по всей стране? Это нельзя исключать, если такая возможность имеется.
Новая версия ПО должна поступать по официальному каналу связи от предприятия к предприятию. А при обновлении не помешает акт с парой подписей.
Телевизоры можно и по вайфаю обновлять, а когда речь о жизнях людей, то извините.
Поэтому про боинг что-то не очень верится. Если только они не положили на аборигенов большой болт.
Kabdim
Цитата(amiller @ Dec 15 2017, 13:26) *
Если честно, я не понимаю, как можно накосячить в процессе прошивки.

Начиная с банального сказал что обновил, а на самом деле не обновил. И наоборот.
mantech
Цитата(Kabdim @ Dec 15 2017, 14:31) *
Начиная с банального сказал что обновил, а на самом деле не обновил. И наоборот.


Ну дак, а моя-то какакя проблема? Не хочешь, чтоб работало - дак и не обновляй...
А если про предприятие, так есть сисадмин для таких вещей.

Если уж честно, так сам редко, когда чего-то обновляю, и уж точно ничего не трогаю, когда текущая конфигурация работает как надо. Здесь лучшее враг хорошего очень часто бывает.
Ruslan1
Цитата(Огурцов @ Dec 12 2017, 15:54) *
самолёт заходит на посадку, а тут ваш датчик решил зайти на фтп и скачать новую прошивку, ага

Какие еще недоговоренности в техзадании есть, кроме "самолетоориентированности"? Нужен фейсконтроль? колоризация интерфейса?
Если в каких-то ситуациях что-то невозможно, то это всегда описывается в локальном алгоритме, и называется ограничениями или правилами. Именно список "этих их" и определяет поведение прибора, в том числе и то, можно ли уже проверять наличие обновления или все-таки он "будет подождать" до безлунной полуночи в безветренную погоду.

Цитата(amiller @ Dec 12 2017, 17:15) *
Ну и ещё один аргумент против централизованной системы обновления ПО. Интернет всё ещё есть далеко не везде.
Например много оборудования стоит на предприятиях, где внешний интернет запрещен или сильно ограничен.

Ну так речь не про Интернет, а про какой-нибудь канал связи, например, LAN. И локальный ресурс, с которого новая прошивка раздается или забирается, например , FTP. Если уж совсем канала связи нет, то ни про какую доставку прошивки в принципе не может быть и речи.
Kabdim
Цитата(mantech @ Dec 15 2017, 15:03) *
Ну дак, а моя-то какакя проблема?

Нервы-то будут трепать и тебе, даже если позже выяснится что трепальщики "самидураки". Узко эгоистичная проблема в этом. Хотя опять же я не говорю что это единственно правильный путь для всех и во всех случаях. Но если устройств реально 100500 и они не тривиальные на мой взгляд стоит заложится на централизованный подход. В том числе потому как сдеградировать его до "самостоятельного обновления" проще простого, а вот наоборот - фиг.
Огурцов
Цитата(Ruslan1 @ Dec 15 2017, 14:33) *
Какие еще недоговоренности в техзадании есть, кроме "самолетоориентированности"?

это не тз, а пример, почему так делать нельзя от слова никогда
решение обновлять или нет и контроль осуществляет пользователь
исключение - только если не можете избавиться от желания лететь через всю страну, чтобы поднимать кирпичи
juvf
Цитата(amiller @ Dec 15 2017, 15:26) *
Если честно, я не понимаю, как можно накосячить в процессе прошивки.
Легко. Скачал прошивку, положил в одно место (папка, флешка, карман), при прошивки взял из другого (вплоть до того, то при скачивании пользователя спросит "Переписать существующий файл?", он нажмёт "Нет" и будет думать, что прошивку свежую скачал).
А в остальном я с вами согласен. Вообще вопрос риторический: зачем в эмбеддед обновлять ПО? Только если криворукий автор накосячил. Что-то я очень сомневаюсь, что бониг обновляет прошивки в двигателях.
mantech
Цитата(juvf @ Dec 18 2017, 11:56) *
Вообще вопрос риторический: зачем в эмбеддед обновлять ПО? Только если криворукий автор накосячил. Что-то я очень сомневаюсь, что бониг обновляет прошивки в двигателях.


Тут не всегда в криворукости дело, чаще бывает, все сделали, работает... Но манагеры возьмут да придумают какую-нить плюшку ради "удобства клиентов" и понеслось...
Огурцов
Цитата(mantech @ Dec 18 2017, 17:34) *
Тут не всегда в криворукости дело, чаще бывает, все сделали, работает... Но манагеры возьмут да придумают какую-нить плюшку ради "удобства клиентов" и понеслось...

манагеры, но неа, не угадали - чаще бывает "уже всё продали и бабло пропили и даже девайсы может установили на объекте, но ещё не работает, а делать софт так даже ещё и не начинали"
типичное уяк, уяк и в продакшн, так его в так
mantech
Цитата(Огурцов @ Dec 18 2017, 21:55) *
манагеры, но неа, не угадали - чаще бывает "уже всё продали и бабло пропили и даже девайсы может установили на объекте, но ещё не работает, а делать софт так даже ещё и не начинали"
типичное уяк, уяк и в продакшн, так его в так

Это так бывает, когда железо делает один, а софт другой. У меня все в одном лице, а вот манагеры иногда портят картину sad.gif
Ruslan1
Цитата(Огурцов @ Dec 18 2017, 21:55) *
манагеры, но неа, не угадали - чаще бывает "уже всё продали и бабло пропили и даже девайсы может установили на объекте, но ещё не работает, а делать софт так даже ещё и не начинали"
типичное уяк, уяк и в продакшн, так его в так

Довольно популярный путь, вполне себе имеющий право на жизнь. Называется тайм-то маркет и захват целевой аудитории. По простому: пока фирма А вылизывает софт и железо, фирма Б уже выпустила на рынок похожее по заявленной функциональности устройство, успело собрать рекламации, успело исправить ошибки, успело заслужить славу шустрых ребят, которые могут быстро поправить и наконец-то все работает как надо, успело привязать к себе всех заинтересованных в данном продукте клиентов в доступной части обозримого космоса.
Тем временем фирма А все еще доделывает продукт. Но продавать уже некому- никому не интересен продукт от неизвестной конторы, к которому опять привыкать. Да еще и вдвое дороже (потому что так как долго делали- оказалось много по себестоимости). И никто не гарантирует, что у А не будет тех же заморочек, с которыми Б уже гарантированно справилась.

Конечно, речь не идет о проблемах, "не совместимых с жизнью".

Но это все- в условиях дикого рынка. В плановой экономике можно и по-другому. Особенно если сбыт гарантирован.

P.S. И какое-то тут в обсуждении пренебрежительное отношение к менеджерам проскакивает. Неужто кто-то действительно думает, что обеспечить стабильный сбыт и прогнозировать направление развития это "как два пальца об асфальт"?
mantech
Цитата(Ruslan1 @ Dec 19 2017, 22:44) *
P.S. И какое-то тут в обсуждении пренебрежительное отношение к менеджерам проскакивает. Неужто кто-то действительно думает, что обеспечить стабильный сбыт и прогнозировать направление развития это "как два пальца об асфальт"?


Пренебрежение не к менеджерам, а к системе потребкультуры, где главное не качество, а скорость выброса на рынок, причем непроверенного и того, что и 3 года не прослужит, причем, так и задумано.
Огурцов
Цитата(Ruslan1 @ Dec 19 2017, 20:44) *
Конечно, речь не идет о проблемах, "не совместимых с жизнью".

конечно идёт
а как может быть иначе, если 31 ещё не все микроконтроллеры запаяны, 1 - поезд, а 2 - сдача заказчику ?
так что говнософт рождается где-то между 31 и 2 - 1го, очевидно
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.