LINUX.ORG.RU

Как назначить Duplex: Full, Speed: 100Mb/s для проводного интерфейса в Debian 12?

 ,


0

1

Здравствуйте! Возникла проблема автосогласования скорости через интерфейс enp3s0f0. Нужно отключить автосогласование и назначить интерфейсу полный дуплекс, скорость 100мбит. Как это сделать в Debian 12, чтобы после перезагрузки настройки интерфейса сохранялись?

Нашел ответы в интернете, но думаю, что они не совсем подходят для Debian. Например https://www.shellhacks.com/change-speed-duplex-ethernet-card-linux/ Тут путь /etc/sysconfig/network-scripts/ В Debian нет папки /etc/sysconfig

Пожалуйста, подскажите, буду благодарен за любую помощь.



Последнее исправление: Sugar412351 (всего исправлений: 1)

Возникла проблема автосогласования скорости через интерфейс

Может в эту сторону стоит покопать? В моём случае на ноутбуке переключатель WiFi/Ethernet был в положении «WiFi».

forest22
()
Ответ на: комментарий от router

Всем спасибо, решение найдено! Напишу для тех, у кого возникнут похожие проблемы:

1) Если после загрузки системы через интерфейс соединение не установлено, а минут через 5 чудесным образом подключается, то проверьте настройки интерфейса до и после через команду:

 ethtool <Имя интерфейса> 
Скорость или дуплекс до подключения и после не совпадают, включено автосоглосование? Тогда идём дальше...

2) Проверьте, появиться ли соединение сразу после команды:

 ethtool -s enp3s0f0 speed <ваша скорость в мегабитах> duplex <ваш дуплекс> autoneg off 
Если да, то осталось внести изменение подключения в настройки, чтобы они работали после перезагрузки.

3) Если ваше подключение настроено через NetworkManager, то настроить можно путем изменения файла /etc/NetworkManager/system-connections/<Имя соединения> В фаил следует внести строчки:

[ethernet]
auto-negotiate=false
duplex=<ваш дуплекс>
speed=<ваша скорость в kb> 

4) Теперь проверьте, как работает, переподключившись командой:

 nmcli connection up <Имя Соединения> 

P.S. Параметры, которые можно использовать в настройках соединения указаны тут: https://developer-old.gnome.org/NetworkManager/stable/settings-802-3-ethernet... Также вы можете редактировать фаил с настройками соединения от имени пользователя командой:

 nmcli connection modify <Имя Соединения> 802-3-ethernet.auto-negotiate no 802-3-ethernet.speed <Скорость в kb> 802-3-ethernet.duplex <Ваш дуплекс> 
Однако учтите, что данная команда не отключает автосогласование, то есть не вносит строчку auto-negotiate=false в настройки соединения. После перезагрузки автосогласование останется включенным и собьет настройки.

Sugar412351
() автор топика
Ответ на: комментарий от d00fy

Я относительно недавно сталкивался с аналогичной проблемой, когда гигабитная сатевая карта (dlink dub-1312) не хотела поднимать линк на 4-x проводном кабеле. Правда я не знаю что с другой стороны у провайдера.

vel ★★★★★
()
Ответ на: комментарий от vel
sudo lshw | grep Eth
description: Ethernet interface
product: JMC250 PCI Express Gigabit Ethernet Controller 

Роутер MW301r

До подключения: https://ibb.co/JzB1jJc

После подключения: https://ibb.co/gDgq0cX (Хм, странно, что там Link detected no, сейчас yes https://ibb.co/Dg4h4Nf Подключается, пингуются сайты сразу же)

Sugar412351
() автор топика
Последнее исправление: Sugar412351 (всего исправлений: 3)
Ответ на: комментарий от Sugar412351

JMC250 PCI Express Gigabit Ethernet Controller - это очень старая поделка.

В те времена таких проблем было много.

У драйвера есть опции force_pseudohp,no_pseudohp,no_extplug

возможно кто-то из них может сделать работоспособной сетевуху.

PS А ты кабель не пробовал заменить?

vel ★★★★★
()
Ответ на: комментарий от vel

У драйвера есть опции force_pseudohp,no_pseudohp,no_extplug

Не разбираюсь в этом :\

А ты кабель не пробовал заменить?

Нет, другого подходящего кабеля сейчас нет. Может быть попробую.

Напишу другое решение с пункта 3 через systemd для тех, у кого не NetworkManager настраивает соединение или по иным причинам не работает:

3) Создаём два файла. Скрипт connect:

#!/bin/bash
 ethtool -s enp3s0f0 speed <ваша скорость в мегабитах> duplex <ваш дуплекс> autoneg off 

И юнит ethernet.service:

[Unit]
Description=Solving connection problems

[Service]
ExecStart=<Путь до файла connect, например в /home/ИмяПользователя/bin/connect>

[Install]
WantedBy=network-online.target

4) Копируем ethernet.service в /etc/systemd/system/ Включаем юнит:

sudo systemctl enable ethernet

Sugar412351
() автор топика