Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Настройка
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Форум
    RouterOS
    RB5009, RouterOS 7.9.1, USB-слот постоянно меняется

    RB5009, RouterOS 7.9.1, USB-слот постоянно меняется

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    RB5009, RouterOS 7.9.1, USB-слот постоянно меняется, RouterOS
     
    jack14
    Guest
    #1
    0
    05.06.2023 11:13:00
    Привет, у меня проблема с моим новым RB5009. Я подключаю к нему USB 3 флешку, но каждый раз после перезагрузки RB имя слота меняется с usb1 на usb2 и обратно. Также интерфейс постоянно переключается между USB 2 и USB 3. Я пробовал вручную переименовывать слот, давать ему своё имя, форматировал флешку как с роутера, так и с компьютера, пытался fat32 и ext4 — но без толку. Что можно сделать, чтобы имя слота сохранялось?
     
     
     
    kusterh
    Guest
    #2
    0
    03.01.2024 06:22:00
    Можешь сказать, какой USB-накопитель ты используешь? Возможно, проблема связана с SanDisk ultrafit, на котором работаю я. Я установил ROS 7.13 и прошивку на все свои устройства, но проблема все равно осталась.
     
     
     
    RealQuaker
    Guest
    #3
    0
    19.01.2024 21:27:00
    Могу подтвердить, что после перезагрузки проблема с постоянным переключением всё ещё сохраняется. Проверял сегодня на hAP ax3 с ROS 7.13.2.
     
     
     
    intania
    Guest
    #4
    0
    16.08.2023 03:57:00
    У меня такая же проблема с флешкой Sandisk. При перезагрузке слот постоянно меняется с usb1 на usb2. Позже попробую флешку другой марки, чтобы проверить, сохранится ли проблема.
     
     
     
    alimnette
    Guest
    #5
    0
    06.09.2023 09:55:00
    Привет, у меня такая же проблема, моя версия 7.11.
     
     
     
    cwm9
    Guest
    #6
    0
    28.09.2023 05:53:00
    Я полагаю, это происходит только с флешками, поддерживающими USB3. Насколько я понял, происходит следующее: Router OS присваивает имя слота диска каждому USB-устройству, которое сообщает драйвер xhci-hcd.  
    xhci-hcd сообщает о двух USB-устройствах для каждого физического USB-порта (/system/resource/usb):  
    – «Device: 1-0», устройство с «USB Version: 2.0» и «speed: 480»  
     ему присвоено имя USB-интерфейса «USB 2.10 480Mbps»  
     ему же присвоено имя слота диска «usb2»  
    – «Device: 2-0», устройство с «USB Version: 3.0» и «speed: 5000»  
     ему присвоено имя USB-интерфейса «USB 3.00 5000Mbps»  
     ему же присвоено имя слота диска «usb1»

    Когда флешка определяется как USB 3, она отображается на USB 3-интерфейсе xhci-hcd, и раздел флешки монтируется в «/usb1» (слот диска, назначенный этому устройству); соответственно, когда флешка определяется как USB 2, она отображается на USB 2-интерфейсе xhci-hcd, а раздел монтируется в «/usb2».  

    Проблема в том, что USB3-флешки чередуются в распознавании как USB2 или USB3, меняя состояние (почти) при каждом перезагрузке. Возможные причины:  
    – отсутствие отключения питания USB во время перезагрузки (или слишком короткий цикл), из-за чего флешка остаётся в состоянии, которого драйвер не ожидает (например, флешка уже включена и готова к работе, но драйвер пытается определить её возможности, как если бы она была только что сброшена),  
    – недостаточная задержка после перезагрузки перед определением устройства,  
    – баг в драйвере.  

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

    Итого: проблема двухсторонняя — раздел флешки монтируется не туда, куда нужно, и USB 3.0 флешка работает на скорости USB 2.1.  

    Исправление довольно простое: если устройство определили неправильно, перезагрузите роутер. Добавьте следующий скрипт в /system/scheduler под именем «Reboot_if_USB3_detected_as_USB2» и запланируйте запуск при загрузке роутера.  

    Он просто проверяет, неправильно ли устройство распознано как USB 2.1, и, если да, логирует ошибку, ждёт 60 секунд и перезагружает роутер. Скрипт пытается сделать это не более пяти раз, после чего прекращает попытки.  

    Важно: остановить уже запущенный скрипт нельзя, так что не убирайте задержку! Если после изменений в скрипт или прошивку роутера скрипт начнёт перезагружать устройство бесконечно и без задержек, вы фактически «замуруете» устройство и придётся делать NetInstall! Будьте ОЧЕНЬ осторожны с изменениями этого скрипта.  
    Проверьте код сами — я новичок в Mikrotik Scripting. Это буквально мой второй скрипт!

    #лог как ошибка, потому что автоперезагрузка сразу после запуска может сбивать с толку и — дело серьёзное.
    :log error "Ждём 20 секунд перед проверкой, не распознан ли USB3 как USB2, возможно, будет перезагрузка... (это не ошибка)"
    :delay 20s

    :log error "Проверяем, не распознан ли USB3 как USB2 (это не ошибка)"
    :local attempts 0

    # Проверяем, существует ли файл с попытками, и считываем количество
    :if ([/file find name="USB_Fix_Attempts"] != "") do={
     :set attempts [/file get [find name="USB_Fix_Attempts"] contents]
    } else {
     # Создаём файл, если его нет, и устанавливаем изначальное значение 0
     /file add name="USB_Fix_Attempts" contents="0"
    }

    :if ($attempts < 5) do={
     :foreach disk in=[/disk find] do={
       :if (([:pick [/disk get $disk interface] 0 5] = "USB 2") && [:len [/disk get $disk model]] > 0 && [:len [/disk get $disk serial]] > 0) do={
         :log error ("USB3 флешка ошибочно распознана как USB2, сделано попыток перезагрузки: " . $attempts)
         :log error ("Перезагрузка через 60 секунд!")
         :log error ("Отключите задание /system/scheduler Reboot_if_USB3_detected_as_USB2, чтобы избежать дальнейших перезагрузок!")

         :set attempts ($attempts + 1)
         # Обновляем файл с количеством попыток
         /file set USB_Fix_Attempts contents=$attempts

         :delay 60s
         :log error ("Перезагрузка")
         /system reboot
         :error "USB3 устройство ошибочно распознано как USB2, перезагружаюсь сейчас."
       }
     }
     # Успех! В следующий раз может снова сломаться, сбросим счётчик для повторения процесса.
     :log error "Всё в порядке, перезагрузка не нужна."
    } else {
     :log error "Исчерпано 5 попыток исправить USB3, распознанный как USB2... возможно, это действительно USB2. Всё равно загружаемся..."
    }

    # Сохраняем эту загрузку. В любом случае проверим снова при следующем запуске.
    :set attempts 0
    /file set USB_Fix_Attempts contents=$attempts
     
     
     
    holvoetn
    Guest
    #7
    0
    28.09.2023 06:19:00
    В целом совпадает с моими наблюдениями. Вчера утром создал тикет в поддержку, четко указав наблюдение переключения между USB3 и USB2 после перезагрузок. Пока ответа нет. Лично я бы такой скрипт не запускал. Но выполнено хорошо! Хотя сам не проверял.
     
     
     
    holvoetn
    Guest
    #8
    0
    28.09.2023 07:55:00
    Идея: разве сброс питания USB не был бы лучшим вариантом для вашего скрипта? https://wiki.mikrotik.com/wiki/Manual:USB_Features
     
     
     
    cwm9
    Guest
    #9
    0
    28.09.2023 22:56:00
    Проблема в том, что некоторые функции, например контейнеры, запускаются при старте и зависят от наличия и правильного монтирования USB-диска. Они не запустятся, если USB смонтирован в неправильном слоте. Если хотите определить каждый скрипт или контейнер, который зависит от наличия USB, и перезапускать их после сброса USB с последующей проверкой корректного подключения — тогда, конечно, можно воспользоваться функцией сброса USB.

    Кроме того, в RouterOS есть другая ошибка: при сбросе USB-диск перемещается в новый слот, но старый слот продолжает отображаться в /disk, словно диск всё ещё там смонтирован. Сомневаюсь, что это может что-то повредить, поскольку диск правильно отображается после повторного монтирования в «/file print», и очень мало что (в основном мой скрипт) зависит от информации в /disk. Похоже, это просто баг в интерфейсе — в терминале /disk и в winbox в /system/disks.
     
     
     
    kusterh
    Guest
    #10
    0
    31.12.2023 08:44:00
    У меня такая же проблема: использую Sandisk ultrafit USB3 на роутере RB5009. Есть ли, может быть, какое-то реальное решение на данный момент? Мне не хочется ставить на роутер скрипт с «авто-перезагрузкой», а сейчас половина перезагрузок приводит к тому, что система не работает, потому что USB-накопитель монтируется не в нужную папку.
     
     
     
    holvoetn
    Guest
    #11
    0
    31.12.2023 12:27:00
    Не уверен на 100%, но мне кажется, что с версии 7.13 это уже исправлено.
     
     
     
    kusterh
    Guest
    #12
    0
    20.01.2024 07:52:00
    Я только что купил еще одну USB-флешку (Kingston), и она больше не переключается между USB1 и USB2, так что, судя по всему, у меня проблема была связана с предыдущей USB-флешкой от Sandisk.
     
     
     
    4L3xN3t
    Guest
    #13
    0
    23.01.2024 10:13:00
    Уже три дня пытаюсь понять, почему контейнер вдруг перестал загружаться… И у меня точно такая же ситуация с SanDisk UltraFit. Собираюсь проверить скрипт (и, возможно, купить другую флешку!). ОБНОВЛЕНИЕ: чтобы помочь, скажу — Kingston DataTraveler Micro работает идеально.
     
     
     
    atillaeyice
    Guest
    #14
    0
    18.04.2024 05:16:00
    У меня та же проблема с Sandisk. Но сброс питания USB решает её, так что если используете контейнеры, запустите это при старте, и всё должно заработать:

    :delay delay-time=5s  
    :local containerStatus [/container get 0 value-name=status]
    :log warning message=$containerStatus  
    :if ($containerStatus = “stopped”) do={  
     :system routerboard usb power-reset duration=1s  
     :delay delay-time=3s  
     :container start number=0  
     :log warning message=“запуск контейнера.”  
    }
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры