Проблема с обновлением MikroTik RouterOS на роутерах с 16MB FLASH



    Недавно ребята из MikroTik накосячили (опять?) и мой любимый «hAP lite» перестал обновляться. С версии 6.45.1 на 6.45.2 не обновлялся, писал, что недостаточно места. Косяк заметили и в версии 6.45.3 для архитектуры SMIPS уменьшили размер пакета, выкинув из него «лишнее» (smips — reduced RouterOS main package size (disabled LTE modem, dot1x and SwOS support)). Теперь пакет скачивается, места ему хватает, но… После перезагрузки версия остаётся 6.45.1 а в логе видим сообщение «no enough space for upgrade». Факир был пьян и фокус не удался.

    Окей, гугл, mikrotik no enough space for upgrade
    На forum.mikrotik.com узнаём, что проблема давняя, первое упоминание аж в 2017 году по версии 6.40.4. Похоже в компании есть проблемы с тестированием, печально.
    Находим рекомендацию использовать fix_space.npk, скачиваем, закидываем на роутер, перезагружаем его и… Мне не помогло.

    Дальше, наконец-то, находим полезную статью. Вкратце:

    • обновления ставятся пакетами
    • по умолчанию пакеты наследуются от мета-пакета (в моём случае «routeros-smips»)
    • удалить (деинсталлировать) наследованные пакеты нельзя, ведь информация о них содержится в мета-пакете
    • при обновлении обновляется мета-пакет и его наследники, даже отключенные
    • постоянная память роутера разделена на разделы — скрытый системный и доступный для пользователя
    • для обновления нужный пакет/мета-пакет необходимо закинуть в пользовательский раздел и перезагрузиться
    • если делать обновление из winbox, web-интерфейса или terminal, нужный мета-пакет автоматически скачивается в пользовательский раздел и роутер перезагружается
    • при перезагрузке, если в пользовательском разделе есть пакеты, то из системного раздела удаляются все установленные пакеты и устанавливаются те, что находятся на пользовательском разделе, после чего они удаляются из пользовательского раздела

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



    Роутер бюджетный, поэтому в основном используется дома либо в мелких офисах, значит вряд ли нам нужны пакты advanced-tools, hotspot, ipv6, mpls, routing. Подробнее о пакетах читайте на официальной wiki, выбирайте, какие вам нужны, а какие нет. Например на данном роутере ipv6 отключен, а вот дома я его использую. Будьте внимательны, если забыть поставить нужный пакет, то обновление удаленного роутера — к дальней поездке.



    Как видим пользовательская раздел пуст, всего занято 8.5MB



    При попытке обновления ругается на отсутствие места. На самом деле скриншот «нарисован», ругалось на версии 6.45.2, с версией 6.45.3 места хватает для загрузки, поэтому пришлось схитрить, но в данном случае мы просто эмулируем похожую ситуацию.



    Качаем с офсайта Extra packages для нужной архитектуры, для SMIPS, так как проблема вроде только на ней. Распаковываем и закидываем нужные пакеты на пользовательский раздел. Перезагружаемся.





    Вуаля! Обновление прошло успешно, мета-пакет со всеми наследниками удалён, установлены только нужные пакеты.



    Пользовательский раздел пуст, всего занято 8MB, т.е. 0.5MB мы высвободили.

    Будут ли теперь работать автоматические обновления? Будут. Для проверки, на другом роутере я обновил вручную до версии 6.45.2 а после автоматически обновил до 6.45.3

    Ребятам из MikroTik хочется пожелать быть более внимательными, но кто не без греха.
    с ошибками и замечаниями прошу в личку

    Средняя зарплата в IT

    120 000 ₽/мес.
    Средняя зарплата по всем IT-специализациям на основании 9 284 анкет, за 1-ое пол. 2021 года Узнать свою зарплату
    Реклама
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее

    Комментарии 36

      +2
      Вот чем мне нравится mikrotik — всегда можно найти способ и выкрутится.
        0
        чем мне нравится НЕ микротик: не нужно искать способ и выкручиваться.
          +4
          Ага, там только сразу выкидывать железку, если вдруг что. Ну, если там нет возможности выкручиваться.
            +4
            А, ну да. Там (у НЕ микротиков) просто роутер, выпущенный в 2012 (например) перестаёт обновляться в 2013. И вот уже 2019 — а ни одного обновления так и нет (несмотря на все уязвимости, найденные в модели).
            А так, выкручиваться не нужно. Нет обновлений — нет проблем (ipv6, кстати, тоже нет и не будет).
              +1
              С OpenWRT не перестаёт. Но её разработчики тоже периодически любят что-нибудь сломать, так что в этом плане перед MikroTik преимуществ нет.
                0
                C ddwrt он кирпичился, кстати =) А openwrt не было вообще.
          0

          А если вы находитесь рядом с роутером можно забекапить его. Скинуть бак на комп. Сбросить конфигурацию роутера тогда места на нем будет полно, обновить и залить бекап назад. ;) Профит?

            0
            Если вы находитесь рядом с роутером, то можно и через netinstall перешить, там даже кнопочка есть для сохранения конфига
            +1
            С этими роутерами (с этой архитектурой) эта проблема, как и это решение, с местом была с момента их появления. Уж не знаю является ли это багом, фича скорее, имхо.
              0

              Висит один такой, 6.45.3 с 3 кликов в винбоксе и никаких нехваток памяти. Что я делаю не правильно?

                0

                Пэкеджес покажите свой и станет понятнее, скорее всего Вы все делаете правильно

                  0

                  Только что обновил с 6.40 до последней. Модель с 16 метрами. Обновилась без шаманства. Может пофиксили?


                  Фоткен

                  image

                    0
                    Шаманство, чистой воды шаманство.

                    Пару недель назад столкнулся с той же проблемой с hAP lite, что и автор. Пакеты скачались, а апгрейд не проходил.

                    А тут специально для ответа на ваш комментарий сделал ещё одну попытку обновления,… и удалось!
                    Причём точно помню, что я не смог обновиться до 6.45.3, а сейчас он встал как миленький.

                    Подозреваю, что Mikrotik'и втихую чуть-чуть подрезали дистрибутив без обновления номера версии.
              0
              Люди добрые, сами мы не местные, помогите чем могЁте… Дома имею hAP lite TC, тоже столкнулся с этой проблемой, сделал так: бэкап конфига, полный сброс, залил 6.45.2, обновил (кое как), восстановил бэкап. Теперь же эта метода не прокатывает с 6.45.3.
              По инструкциям в инете никак не получается обновить его по netinstall — не видит утилита его и всё хоть тресни. Зажимал кнопку ресета, держал пока пальцы не отвалятся, подключался и в 1й и в последний порт. нифига. Как его победить?
                +1

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

                  0

                  Если дома стоит, то вряд ли вы пользуетесь всеми пакетами, mpls, ipv6, hotspot и т.д. Скачиваем эктра package, достаём нужное из него и закидываем кучей это все в роутер и перезагружаемся. Для дома хватает обычно — system(ну это понятно), ppp, routing, dhcp, wireless, security, advanced tools.

                    +1
                    routing-то вам дома зачем?))
                      0

                      Блокировочки по bgp обходить…

                  +1

                  А по моему это жлобство в наше время ставить в роутеры 16 Мб памяти

                    0
                    А по моему, жлобство, это, когда у тебя есть выбор взять роутер с 16, 32, 64, 128 МБ памяти, и ты выбираешь 16МБ, а потом возмущаешься, что это жлобство со стороны производителя.

                    Я вообще хочу на mikrotik OpenBSD поставить, а эти «жлобы» так мало памяти в него суют. Как жить-то?
                    0

                    Можно добавить о том что — при таком способе обновления нельзя обновлять только пакет system.npk, есть категория людей толковых, не админы, а так, для дома могут настроить и вот уже второй человек так обжигается, логика такова — обновлю system.npk а потом остальные пакеты. Нет. Так это не работает.

                      0
                      Однако! Не знал, не знал…
                      0

                      Как вариант можно было установить через netinstall и почти наверняка проблемы бы не было

                        0
                        а лонгтерм может использовать? последняя 6.44.5
                        на ней такие же проблемы?
                          0

                          Извиняюсь за дилетантский вопрос, но почему в Микротики ставят так мало постоянной памяти? Вроде бы уже не дефицит.

                            0
                            Зачем ставить лишнее, удорожая тем самым железяку? Вы же хотите MikroTik конкурентного с простеньким домашним роутером, вот и получаете, аналогичный по памяти постоянной и по памяти оперативной. Ктати, у моего Linksys X1000 оперативной памяти ещё больше чем MikroTik hAP lite, а вот с завидной регулярностью зависает с PPPoE к Ростелекому. При том, что MikroTik прекрасно держит это же PPPoE и переподключает его в случае отваливания и прочих неурядиц.
                              +1
                              Ранее в MikroTik ставили NAND память, её много и она дешевая.
                              Но затем по какой-то причине они перешли к более традиционному решению для SOHO устройств с использованием NOR памяти, которая существенно дороже и меньше по объему, но более надежна, проста в обращении и выдерживает наибольшее количество циклов перезаписи.

                              Распространенные чипы NOR памяти как правило сейчас имеют объем 4-32 мегабайта. Разумеется есть и специализированные решения вплоть до 2ГБ, к примеру у Micron, но стоят неоправданно дорого для использования в подобных устройствах.
                              –2
                              А куда этим бездельникам из MikroTik писать, чтобы критику высказать, и предложить реально нужную вещь. А то всякого туда понасували, а ходовые вещи, реализовывать приходится скриптами — жесть какая-то.
                              Вообще их продукция вызывает неистовую радость, когда пересаживаешься с домашних роутеров вроде D-Link, TP-Link и прочих, а потом чуть разобравшись, что нужно для мелкоофисной инфраструктуры, неистово плачешь, потому что в нём есть масса вещей, которые в большинстве случаев не востребованы, но они есть, а есть такие вещи, которые, прям, обязательно в сети нужно, а они так себе реализованы. Я про dhcp, dns и их увязку. В результате, проще поставить nettop самый дешёвый и сделать самому маршрутизатор, так чтобы он закрывал это всё без экзотики.
                              В своё время купил два по сходной цене радовался как ребёнок, а сейчас вообще не понимаю зачем они мне. Потому как нормально dns кэширующий сделать, это вообще не вариант, если несколько сеток во VPN сделать к домашней, то dns гладко адресующий к dns нужным сетям тоже не отстроить в нём. Я конечно понимаю, что «DNS — это устаревшая технология, ей уже ни кто не пользуется, все напрямую адресуют в ipv6 адресах, ну особо привередливые статично им нужное переписывают, это же не сложно в корпоративную сетку прописать все 100500 хостов, и админу этой сетки сказать, чтобы отписывался каждый раз, как задумает сменить dns-записи», но всё же, хорошо бы было иметь что-то более вменяемое.
                                0
                                На форуме написать можно о своих хотелках, на support@mikrotik.com, ну или прийти на MUM, который будет в сентябре, и высказать этим бездельникам все в лицо.
                                  0
                                  Я дико извиняюсь, но, как мне думается, Вы немного путаете кислое с холодным. Речь ведь идет о маршрутизаторе, априори уст-ве, предназначенном для 2-4 уровня стека TCP/IP. Он никак не предназначен для DHCP/DNS etc. Его задача быстро и однозначно пересылать пакеты с одного интерфейса на другой (и особенно хорошо, что таких инт-сов много есть), читая/изменяя заголовки, капсулируя/декапсулируя и т.д. Но производители хотят привлечь покупателя вкусняшками и добавляют в ОС все что можно и нельзя. И тут Вы правы — нужны сервисы — нужно брать ОС и платформу, заточенные для их предоставления. Ведь аппетиты скорее всего вырастут — проверка контента на вирусы, сбор статистики, сбор логов и т.д.
                                  0
                                  Мне кажется, эту ошибку можно «взять измором» — переключение по stable/beta/devel веткам вместе с несколькими подряд попытками установки в итоге мне давали нужный результат. Я еще не мог понять, почему старичок 750й обновляется с первого раза (у него 128 памяти), а с остальными (962/952/wAP) приходится шаманить. В логи не лез, потому что после 2-3 попытки таки все обновлялось.
                                    0
                                    Есть еще второй вариант, чуть проще.

                                    В понедельник обновил hAP lite со старой RouterOS 6.38.5 на 6.44.5 (long-term). Сначала удалил всё бекапы с флеша и выбрал channel=bugfix, который теперь называется long-term и всё обновилось. Даже не пришлось удалять пакет «multicast». Всё старые настройки подхватились и всё завелось, ничего не поправлял.

                                    То есть обновляйтесь по методу автора статьи или на long-term (bugfix), а с неё уже на stable.

                                    Может пофиксили?

                                    What's new in 6.45.3 (2019-Jul-29 12:11):

                                    *) smips — reduced RouterOS main package size (disabled LTE modem, dot1x and SwOS support);
                                      0

                                      Косячить они начали когда, начали ставить на микротики 16MB FLASH!

                                        0
                                        Ну вот попытался обновить этим методом — вышел болт. Влезли все нужные пакеты, исключил только Ipv6 и hotspot. После перезагрузки версия как была 6.46.4, так и осталась. Обновиться пытался на 6.47.2
                                        Железка — hAP Lite (smips)
                                          0
                                          После перезагрузки версия как была 6.46.4, так и осталась.


                                          Попробуйте так.
                                            0
                                            Вот спасибо! Успешно обновил с 6.46.3 на 6.47.4 описанным способом и, насколько я понимаю, избавил себя от этой проблемы в ближайшем будущем.

                                            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                            Самое читаемое