Після заміни чергового свіча стала мережевка відмовилась підіймати лінк в автоматичному режимі (з свічами 3COM буває якась така біда) і прийшлось вносити зміни в конфіги щоб все запустилось. Тимчасове переведення карти в half-duplex допомогло прожити до ранку, а там вже і новий свіч приїхав.
За замовчуванням всі мережеві інтерфейси настроєні на автоматичне розпізнання лінку, швидкості і дуплексу. Проте в позаштатних ситуаціях ця автонастройка не спрацьовує або спрацьовує невірно, тому важливо знати як поміняти ці параметри вручну. У FreeBSD за ці налаштування відповідає утиліта ifconfig. Опція media якої задає швидкість, а mediaopt - дуплекс:
Подивимось в якому режимі працює наш адаптер:
ifconfig em0
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
ether 08:00:27:ef:b8:a5
hwaddr 08:00:27:ef:b8:a5
inet 10.0.2.15 netmask 0xffffff00 broadcast 10.0.2.255
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
бачимо тут що в нас стоїть autoselect. Тепер спробуємо його змінити на 1000 Мбіт/с full-duplex вручну:
ifconfig em0 media 1000baseTX mediaopt full-duplex
ifconfig em0
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
ether 08:00:27:ef:b8:a5
hwaddr 08:00:27:ef:b8:a5
inet 10.0.2.15 netmask 0xffffff00 broadcast 10.0.2.255
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet 1000baseT <full-duplex>
status: active
як бачимо строки autoselect більше немає, а швидкість і дуплекс такі як ми встановили вручну.
Для того щоб не втратити зміни, вносимо в rc.conf:
ifconfig_em0="media 1000baseTX mediaopt full-duplex up"
Тепер після перезагрузки сервера наша мережева карта буде сконфігурована як ми того хотіли.
P.S. Для відміни опції достатньо поставити перед нею знак "-". Наприклад:
ifconfig em0 -mediaopt full-duplex
Гарного адміністрування!
Коментарі