Вот решил очередной ребус. Как было дело. Поставил samba на одни из компов в сети. Конфиг скопировал с рабочей машины, переписал шару, пробую залить – скорость нормальная (для меня – сеть 100Мбит/с скорость передачи 8 мегабайт в секунду). Пробую скачать – скорость samba низкая – буквально 1 мегабайт в секунду и постоянно падает! При этом заливается все на нее со скоростью в 8 раз быстрее!

Сказать, что я удивился – мало что сказать :) . Но пару дней я это мужественно терпел, так как я там был единственный пользователь. Потом достало. Обновил самбу при помощи portupgrade с samba-3.3.2 до samba-3.3.4

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

Решил все же посмотреть на ifconfig

bce0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=1bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4>
ether 00:19:bb:2b:ed:fc
inet 10.1.7.100 netmask 0xffffff00 broadcast 10.1.7.255
media: Ethernet autoselect (1000baseTX <full-duplex>)
status: active
bce1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=1bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4>
ether 00:19:bb:2b:ed:8e
inet 10.1.1.1.58 netmask 0xfffffff8 broadcast 10.1.1.63
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000

Мой проблемный интерфейс bce0:

интересует строка

media: Ethernet autoselect (1000baseTX <full-duplex>)

где наша не пропадала, ставлю режим работы руками, а не автовыбор,
сеть у меня 100 Мбит/с, а карта работает в режиме 1Гбит/с.

Определяю режим руками

hotfreebsd# ifconfig bce0 media 100baseTX mediaopt full-duplex

Строка определяет скорость сетевой карты как 100 Мбит/с и полный дуплекс.
Работал по ssh и отвалился, секунда на 10-15, пришлось подключаться заново.

Проверяю работу samba – и низкой скорости как не бывало! 8 мегабайт и на загрузку и на скачивание. Может это кому-то поможет. Ну а для себя сделал очередной вывод не надеяться на автоопределение сетевых настроек и прописывать все руками, даже если оборудование может быстрее, все равно нужно привести к актуальной скорости всей сети.

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

Правим /etc/rc.conf:

ifconfig_em0=”inet 10.1.7.100  netmask 255.255.255.0  media 100baseTX mediaopt full-duplex”

Сохраняем изменения и идем радоваться нормальной скорости самбы! Вообще я читал, что на 100 Мбит/с людям удавалось поднять скорость до 12 Мегабайт в секунду, на досуге и я попробую, но про это в другой раз.