Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Пропадает USB ethernet после перезагрузки

    Scheduled Pinned Locked Moved Russian
    22 Posts 4 Posters 1.2k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • werterW
      werter
      last edited by werter

      Добрый.

      @he11kern
      Все же правильнее не ребутить.

      Как я вижу это дело:
      Проверить "наличие" IP на свистке -> если нет, то откл. usb -> пауза -> вкл. usb -> пауза -> проверить "наличие" IP на свистке

      И так в цикле на N-е кол-во опыток. И только после делать ребут. Иначе можно железку ребутами "залюбить" (

      Зы. Лучше в скрипте указывать или PATH=... или полные пути к командам usbconfig и др.

      Зы2. Попробуйте http://wiki.lissyara.su/wiki/Usbconfig

      1. "Жесткий" вариант. Будет дергать питание usb, пока на свистке IP не появится.

      Сперва узнаем ID usb хаба через usbconfig

      #!/bin/sh
      IP_ADDR=$(/путь/usbconfig list | grep "AX88179" | cut -c5-7)
      while [ -z "$IP_ADDR" ]
      do
        /путь/usbconfig -d <ID-usb-хаба> set_config 255
        /путь/sleep 5
        /путь/usbconfig -d <ID-usb-хаба> set_config 0
        /путь/sleep 5
        IP_ADDR=$(/путь/usbconfig list | grep "AX88179" | cut -c5-7)
      done
      

      или (в linux такое работает, как в bsd - я хз)

      #!/bin/sh
      while ! /путь/usbconfig list | grep "AX88179" | cut -c5-7
      do
        /путь/usbconfig -d <ID-usb-хаба> set_config 255
        /путь/sleep 5
        /путь/usbconfig -d <ID-usb-хаба> set_config 0
        /путь/sleep 5
      done
      
      1. Вариант на определенное кол-во попыток:
      #!/bin/sh
      counter=0
      while [ $counter -lt 5 ]
      do
        IP_ADDR=$(/путь/usbconfig list | grep "AX88179" | cut -c5-7)
        if [ -z "$IP_ADDR" ]
        then
          /путь/usbconfig -d <ID-usb-хаба> set_config 255
          /путь/sleep 5
          /путь/usbconfig -d <ID-usb-хаба> set_config 0
          /путь/sleep 5
        else
          exit 0
        fi
        counter=$(expr $counter + 1)
        [ $counter -ge 5 ] && /путь/reboot
      done
      

      За правильность синтаксиса не ручаюсь - проверяйте.

      Зы. В IP_ADDR=... лучше awk пользовать https://www.lissyara.su/doc/programming/awk/ . Получается на 1 команду меньше:

      IP_ADDR=$(/путь/usbconfig list | awk '/AX88179/ {print $<номер-позиции-с-IP-адресом>}')
      

      Зы2. Может правильнее на usb повесить ЛАН, а встроенную сетевую пользовать как ВАН? Иначе, если у провайдера проблемы, то ваш роутер будет в "вечном" ребуте\передергивании usb из-за невозможности получить ip на свистке.

      H 1 Reply Last reply Reply Quote 1
      • H
        he11kern @werter
        last edited by

        @werter said in Пропадает USB ethernet после перезагрузки:

        ы2. Может правильнее на usb повесить ЛАН, а встроенную сетевую пользовать как ВАН? Иначе, если у провайдера проблемы, то ваш роутер будет в "вечном" ребуте\передергивании usb из-за невозможности получить ip на свистке.

        Тaк и сделал, повесил на USB lan.

        По вашему решению: Я не совсем уверен что вырубать хаб поможет делу, вручную я так и не смог заставить работать сеть через usbconfig, а вот перезагрузка решает проблему. Кончено я понимаю что это не продакшин решение, так как мой скрип зациклен. НО для теста этого хватило. Сейчас возникла другая проблема, насколько я понял через время отпадает интернет на роутере. Железка работает, индикация на USB карте работает, но вот инет становитсья не доступен (( пока дело не дошло до логов. Буду смотреть дальше...

        1 Reply Last reply Reply Quote 0
        • First post
          Last post
        Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.