Автор Тема: Периодические обрывы связи с интернетом  (Прочитано 1099 раз)

Оффлайн kessys

  • Завсегдатай
  • *
  • Сообщений: 624
Вот тут и фишка при перезагрузке пк, он меняет местами адаптер и из-за того может не включаться по умолчанию
Имена вида enp6s1 придуманы, как раз, для того, чтобы быть постоянными.
Не веришь мне сам попробуй.
Имена ты прав постоянными являются, а вот закрепляемые за ним интерфейсы при наличии больше 1, они могут меняться местами
О подпись)
Жизнь с kde не так плоха, Но без ssd, это жестоко грустно.

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 099
Вот тут и фишка при перезагрузке пк, он меняет местами адаптер и из-за того может не включаться по умолчанию
Имена вида enp6s1 придуманы, как раз, для того, чтобы быть постоянными.
Не веришь мне сам попробуй.
Имена ты прав постоянными являются, а вот закрепляемые за ним интерфейсы при наличии больше 1, они могут меняться местами
В общем случае не могут. Они могут меняться только при изменении версий ядер иногда, либо при изменении аппаратной конфигурации (добавлении/удалении плат расширения).

Оффлайн kessys

  • Завсегдатай
  • *
  • Сообщений: 624
Вот тут и фишка при перезагрузке пк, он меняет местами адаптер и из-за того может не включаться по умолчанию
Имена вида enp6s1 придуманы, как раз, для того, чтобы быть постоянными.
Не веришь мне сам попробуй.
Имена ты прав постоянными являются, а вот закрепляемые за ним интерфейсы при наличии больше 1, они могут меняться местами
В общем случае не могут. Они могут меняться только при изменении версий ядер иногда, либо при изменении аппаратной конфигурации (добавлении/удалении плат расширения).

https://bugzilla.altlinux.org/45273
О подпись)
Жизнь с kde не так плоха, Но без ssd, это жестоко грустно.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
... Они могут меняться только при изменении версий ядер иногда, либо при изменении аппаратной конфигурации (добавлении/удалении плат расширения).

Такая логика, в принципе неверна.
Такие взбрыки, характерны например udev.
При замене беспроводного адаптера (мотивация: ядерный баг #203709), старая конфигурация для аппаратно несуществующего адаптера, не удаляется, к старой добавляется новая, а к имени интерфейса добавляется единица:
# grep -r 'wlan0\|wlan1' ./etc/
./etc/udev/rules.d/70-persistent-net.rules:SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:xx:xx:xx:xx:xx", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"
./etc/udev/rules.d/70-persistent-net.rules:SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:xx:xx:xx:xx:xx", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"
./etc/udev/rules.d/70-persistent-net.rules:SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="yy:yy:yy:yy:yy:yy", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan1"

Что в принципе неверно.
А udev вообще в курсе, что устройство "xx:xx:xx:xx:xx:xx", аппаратно не существует?
Нупуркуа ему вдруг понадобился ещё один интерфейс wlan1?
« Последнее редактирование: 10.05.2023 07:17:23 от Speccyfighter »

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 099
https://bugzilla.altlinux.org/45273
И где тут про enp* ? Тут про ethX. А про ethX давно известно. Такие имена сейчас нельзя использовать в системах с более, чем одной сетевой картой: https://bugzilla.altlinux.org/29280
« Последнее редактирование: 10.05.2023 08:40:19 от asy »

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 099
А udev вообще в курсе, что устройство "xx:xx:xx:xx:xx:xx", аппаратно не существует?
Пока правило соответствующее кто-нибудь не напишет, будет не в курсе.

Оффлайн kessys

  • Завсегдатай
  • *
  • Сообщений: 624
https://bugzilla.altlinux.org/45273
И где тут про enp* ? Тут про ethX. А про ethX давно известно. Такие имена сейчас нельзя использовать в системах с более, чем одной сетевой картой: https://bugzilla.altlinux.org/29280
А в каких продуктах альта используется enp?
Честно даже ещё не мог предполагать чего-то иного если есть.
О подпись)
Жизнь с kde не так плоха, Но без ssd, это жестоко грустно.

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 099
https://bugzilla.altlinux.org/45273
И где тут про enp* ? Тут про ethX. А про ethX давно известно. Такие имена сейчас нельзя использовать в системах с более, чем одной сетевой картой: https://bugzilla.altlinux.org/29280
А в каких продуктах альта используется enp?
Честно даже ещё не мог предполагать чего-то иного если есть.
Понятия не имею, но в этой теме обсуждается именно enp в параметрах ethtool. Значит где-то есть.

Я обычно ставлю пакет udev-rule-generator-net и настраиваю его на формирование имён etherX: https://bugzilla.altlinux.org/32167

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
А udev вообще в курсе, что устройство "xx:xx:xx:xx:xx:xx", аппаратно не существует?
Пока правило соответствующее кто-нибудь не напишет, будет не в курсе.

Правил навалом. Код неправильный. Он только добавляет правило для нового адаптера. При этом повышая номер интерфейса на единицу. Но перед этим, он не удаляет правило для переставшего существовать адаптера. Грубо говоря, если набрать мешок адатеров из всех которые поддерживает ядро и по-очереди менять их с перезагрузкой, то rules распухнет до невменяемых размеров. Накапливая правила несуществующих адаптеров. А номер интерфейса дорастёт до 147 или больше.
Проще парсить 'ip a', ifconfig или в /sys. И руками править рулез, в котором нагородил udev.
« Последнее редактирование: 10.05.2023 14:52:36 от Speccyfighter »

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 099
А udev вообще в курсе, что устройство "xx:xx:xx:xx:xx:xx", аппаратно не существует?
Пока правило соответствующее кто-нибудь не напишет, будет не в курсе.
Правил навалом. Код неправильный. Он только добавляет правило для нового адаптера. При этом повышая номер интерфейса на единицу. Но перед этим, он не удаляет правило для переставшего существовать адаптера. Грубо говоря, если набрать мешок адатеров из всех которые поддерживает ядро и по-очереди менять их с перезагрузкой, то rules распухнет до невменяемых размеров. Накапливая правила несуществующих адаптеров. А номер интерфейса дорастёт до 147 или больше.
Эта логика тоже имеет право на существование. Поменял железки - поправь persistent-net.rules.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
... А номер интерфейса дорастёт до 147 или больше.
Эта логика тоже имеет право на существование. Поменял железки - поправь persistent-net.rules.

Идея udev в автонастройке. Без шаманства для обычного пользователя и ручной правки конфигов. И с таким же успехом можно было бы продолжать использовать devfs и kudzu.

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 099
... А номер интерфейса дорастёт до 147 или больше.
Эта логика тоже имеет право на существование. Поменял железки - поправь persistent-net.rules.
Идея udev в автонастройке. Без шаманства для обычного пользователя и ручной правки конфигов. И с таким же успехом можно было бы продолжать использовать devfs и kudzu.
У любых прравил бывают исклюения. И сетевые карты - это именно те исключения.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
... А номер интерфейса дорастёт до 147 или больше.
Эта логика тоже имеет право на существование. Поменял железки - поправь persistent-net.rules.
Идея udev в автонастройке. Без шаманства для обычного пользователя и ручной правки конфигов. И с таким же успехом можно было бы продолжать использовать devfs и kudzu.
У любых прравил бывают исклюения. И сетевые карты - это именно те исключения.

Нет.
$interface(N+1) растёт бесконечно при смене адаптера, потому шо алгоритм неправильный.
При правильном алгоритме, $interfaceN расти не будет. И необходимости ручной правки persistent-net.rules тоже не будет. Правила для несуществующих интерфейсов, должны удаляться.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Идея udev в автонастройке. Без шаманства для обычного пользователя и ручной правки конфигов. И с таким же успехом можно было бы продолжать использовать devfs и kudzu.
У любых прравил бывают исклюения. И сетевые карты - это именно те исключения.

Аппаратно существует и может существовать, только один адаптер этого типа:
# NETWORK=$(lspci -nn | grep Network | awk '{print $1}'); \
> NETW_PATH=$(find /sys -type d -name "*$NETWORK*"); \
> grep . $NETW_PATH/{uevent,net/*/uevent}
/sys/devices/pci0000:00/0000:00:1c.3/0000:03:00.0/uevent:DRIVER=rtl8723be
/sys/devices/pci0000:00/0000:00:1c.3/0000:03:00.0/uevent:PCI_CLASS=28000
/sys/devices/pci0000:00/0000:00:1c.3/0000:03:00.0/uevent:PCI_ID=10EC:B723
/sys/devices/pci0000:00/0000:00:1c.3/0000:03:00.0/uevent:PCI_SUBSYS_ID=17AA:B736
/sys/devices/pci0000:00/0000:00:1c.3/0000:03:00.0/uevent:PCI_SLOT_NAME=0000:03:00.0
/sys/devices/pci0000:00/0000:00:1c.3/0000:03:00.0/uevent:MODALIAS=pci:v000010ECd0000B723sv000017AAsd0000B736bc02sc80i00
/sys/devices/pci0000:00/0000:00:1c.3/0000:03:00.0/net/wlan0/uevent:DEVTYPE=wlan
/sys/devices/pci0000:00/0000:00:1c.3/0000:03:00.0/net/wlan0/uevent:INTERFACE=wlan0
/sys/devices/pci0000:00/0000:00:1c.3/0000:03:00.0/net/wlan0/uevent:IFINDEX=3

А сие означает:
- Независимо от количества смен адаптера, ни при каких условиях, wlanN не должен быть больше нуля.
И ни при каких условиях, при условии что аппаратно адаптер может быть только один, N не должен расти. При этих условиях, интерфейс должен обязан быть всегда wlan0. Не wlan1, не wlan2, - wlan0. И нет никакого смысла, для аппаратно несуществующих адаптеров, коллекционировать правила в persistent-net.rules. После каждой замены адаптера, повышая N интерфейса. Рост N, это ошибка в алгоритме.

Оффлайн Александр Ерещенко

  • Завсегдатай
  • *
  • Сообщений: 1 153
Глупый вопрос.
Есть ещё usb-сетевухи. Их можно втыкать по мере необходимости, т.е. отсутствующий адаптер - не означает, что он убран навсегда.