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

Комментарии (31)


  1. lebedinskiy
    16.08.2019 11:47

    Вот чем мне нравится mikrotik — всегда можно найти способ и выкрутится.


    1. Shumsky90
      16.08.2019 13:41

      чем мне нравится НЕ микротик: не нужно искать способ и выкручиваться.


      1. Am0ralist
        16.08.2019 13:54

        Ага, там только сразу выкидывать железку, если вдруг что. Ну, если там нет возможности выкручиваться.


      1. inkvizitor68sl
        16.08.2019 15:48

        А, ну да. Там (у НЕ микротиков) просто роутер, выпущенный в 2012 (например) перестаёт обновляться в 2013. И вот уже 2019 — а ни одного обновления так и нет (несмотря на все уязвимости, найденные в модели).
        А так, выкручиваться не нужно. Нет обновлений — нет проблем (ipv6, кстати, тоже нет и не будет).


        1. iDm1
          16.08.2019 21:06

          С OpenWRT не перестаёт. Но её разработчики тоже периодически любят что-нибудь сломать, так что в этом плане перед MikroTik преимуществ нет.


          1. inkvizitor68sl
            17.08.2019 01:47

            C ddwrt он кирпичился, кстати =) А openwrt не было вообще.


  1. nec_k
    16.08.2019 12:10

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


    1. Gurturok
      16.08.2019 12:15

      Если вы находитесь рядом с роутером, то можно и через netinstall перешить, там даже кнопочка есть для сохранения конфига


  1. WinstonVrn
    16.08.2019 12:42

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


    1. whileDo
      17.08.2019 15:39

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


      1. WinstonVrn
        17.08.2019 17:38

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


        1. daggert
          17.08.2019 19:43

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


          Фоткен

          image


          1. vp7
            19.08.2019 19:45

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

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

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

            Подозреваю, что Mikrotik'и втихую чуть-чуть подрезали дистрибутив без обновления номера версии.


  1. Xz-01
    17.08.2019 15:39

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


    1. WinstonVrn
      17.08.2019 17:40

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


    1. WiseUA
      18.08.2019 21:41

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


      1. WinstonVrn
        18.08.2019 22:05
        +1

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


        1. WiseUA
          19.08.2019 16:54

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


  1. grib69
    17.08.2019 15:40

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


    1. zurapa
      18.08.2019 14:31

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

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


  1. WiseUA
    17.08.2019 15:40

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


    1. zurapa
      18.08.2019 14:38

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


  1. Riot_riot
    17.08.2019 15:40

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


  1. Chugumoto
    17.08.2019 20:47

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


  1. Rivera
    18.08.2019 07:56

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


    1. zurapa
      18.08.2019 14:37

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


    1. iDm1
      18.08.2019 19:05
      +1

      Ранее в MikroTik ставили NAND память, её много и она дешевая.
      Но затем по какой-то причине они перешли к более традиционному решению для SOHO устройств с использованием NOR памяти, которая существенно дороже и меньше по объему, но более надежна, проста в обращении и выдерживает наибольшее количество циклов перезаписи.

      Распространенные чипы NOR памяти как правило сейчас имеют объем 4-32 мегабайта. Разумеется есть и специализированные решения вплоть до 2ГБ, к примеру у Micron, но стоят неоправданно дорого для использования в подобных устройствах.


  1. zurapa
    18.08.2019 14:55

    А куда этим бездельникам из MikroTik писать, чтобы критику высказать, и предложить реально нужную вещь. А то всякого туда понасували, а ходовые вещи, реализовывать приходится скриптами — жесть какая-то.
    Вообще их продукция вызывает неистовую радость, когда пересаживаешься с домашних роутеров вроде D-Link, TP-Link и прочих, а потом чуть разобравшись, что нужно для мелкоофисной инфраструктуры, неистово плачешь, потому что в нём есть масса вещей, которые в большинстве случаев не востребованы, но они есть, а есть такие вещи, которые, прям, обязательно в сети нужно, а они так себе реализованы. Я про dhcp, dns и их увязку. В результате, проще поставить nettop самый дешёвый и сделать самому маршрутизатор, так чтобы он закрывал это всё без экзотики.
    В своё время купил два по сходной цене радовался как ребёнок, а сейчас вообще не понимаю зачем они мне. Потому как нормально dns кэширующий сделать, это вообще не вариант, если несколько сеток во VPN сделать к домашней, то dns гладко адресующий к dns нужным сетям тоже не отстроить в нём. Я конечно понимаю, что «DNS — это устаревшая технология, ей уже ни кто не пользуется, все напрямую адресуют в ipv6 адресах, ну особо привередливые статично им нужное переписывают, это же не сложно в корпоративную сетку прописать все 100500 хостов, и админу этой сетки сказать, чтобы отписывался каждый раз, как задумает сменить dns-записи», но всё же, хорошо бы было иметь что-то более вменяемое.


    1. WinstonVrn
      18.08.2019 22:08

      На форуме написать можно о своих хотелках, на support@mikrotik.com, ну или прийти на MUM, который будет в сентябре, и высказать этим бездельникам все в лицо.


    1. vviz
      18.08.2019 23:23

      Я дико извиняюсь, но, как мне думается, Вы немного путаете кислое с холодным. Речь ведь идет о маршрутизаторе, априори уст-ве, предназначенном для 2-4 уровня стека TCP/IP. Он никак не предназначен для DHCP/DNS etc. Его задача быстро и однозначно пересылать пакеты с одного интерфейса на другой (и особенно хорошо, что таких инт-сов много есть), читая/изменяя заголовки, капсулируя/декапсулируя и т.д. Но производители хотят привлечь покупателя вкусняшками и добавляют в ОС все что можно и нельзя. И тут Вы правы — нужны сервисы — нужно брать ОС и платформу, заточенные для их предоставления. Ведь аппетиты скорее всего вырастут — проверка контента на вирусы, сбор статистики, сбор логов и т.д.


  1. Nomad1
    19.08.2019 10:56

    Мне кажется, эту ошибку можно «взять измором» — переключение по stable/beta/devel веткам вместе с несколькими подряд попытками установки в итоге мне давали нужный результат. Я еще не мог понять, почему старичок 750й обновляется с первого раза (у него 128 памяти), а с остальными (962/952/wAP) приходится шаманить. В логи не лез, потому что после 2-3 попытки таки все обновлялось.