BREAKING NEWS!!! Mikrotik обосрались с подливой!
Правильно, не все же мне конфузиться по поводу псевдо Live трансляций с ютуба.
Проблема касается RB4011 и как минимум прошивок 6.43.2, 6.43.7, 6.44.2.
Выражается внешне в том, что то ли не работает вайфай, то ли глючит SFP.
Морозят уже больше трех месяцев, а мне понадобилось две секунды чтобы понять в чем дело. Знающие люди уже тоже все поняли =D
Подробности ниже.
Короче, дело обстоит так. Купил парень RB4011 для нужд вайфаизации. Перенес свой конфиг иии… Что-то пошло не так. Он отписал на
официальный форум вот сюда. К проблеме подключились другие специалисты, в том числе и "специалисты", но ни детальный разбор логов, ни обновление прошивки, ни какая-либо другая магия не помогли. К слову, товарищи перепробовали все что можно и проверили десятки гипотез от “попробуй понизить мощность вайфай” до “поиграй с SSID именами точек”. Так бывает, когда нет понимания сути и навыков траблшутинга.
И вот, в какой-то момент товарищ с ником TimurA обратил внимание форумчан на то, что MAC адреса WLAN и SFP интерфейсов СОВПАДАЮТ!!!. СОВПАДАЮТ, КАРЛ!
Очевидно, что это совсем не норма. Баг переходит от версии к версии и никак не чинится. Очевидно, тестами не покрыт и с тестированием прошивок у Mikrotik все плохо.
Собственно, так как я плотно копаюсь последнее время в исходниках и патчах различных вендоров, мне суть проблемы ясна. Дело в том, что инициализация большинства интерфейсов на роутерах зависит от единственного заводского MAC адреса, прошитого в специальном разделе. То есть, если последний октет равен 46, то WLAN0 может считаться как 46 + 1, WLAN1 как 46 + 2, SFP1 как 46 + 3 и так далее. Стандартная практика, все так делают. Но в таком случае легко совершить ошибку, если в твоем штате работают не особо внимательные программисты и делают много копипасты (Mikrotik в этом плане просто показательный случай). Поскольку, параметры инициализации интерфейсов в коде у них идентичные или очень похожие, достаточно невнимательно скопипастить параметры для другого похожего устройства и MAC АДРЕСА БУДУТ ИНИЦИАЛИЗИРОВАТЬСЯ ПО УМОЛЧАНИЮ НЕПРАВИЛЬНО! Ниже я приведу пример кода инициализации устройства и попробуйте оценить сами вероятность допуска подобной ошибки.
Решение проблемы:
Слава яйцам, для WLAN интерфейсов можно сменить MAC адрес руками и таким вот костылем исправить ситуацию. Но, я думаю, тем кто постоянно работает с Mikrotik это даже и костылем не покажется =))
Ну и остается только ждать пока гордые ребята из Латвии признают баг и поправят его (надеюсь).