Ubuntu 9.10 + сетевуха на чипе r8169 (проблемы сборки драйвера)

Ethernet card, Wi-Fi, Bluetooth, IrDA, ADSL-модемы, модемы

Модератор: Модераторы разделов

Zelgadis
Сообщения: 2
ОС: Windows XP, Ubuntu server 9.10

Ubuntu 9.10 + сетевуха на чипе r8169

Сообщение Zelgadis »

Имеется Ubuntu server 9.10. Недавно купил сетевую карточку TP-Link TG-3269 (риалтековский чипсет r8169) с целью перевода сети со 100мбит на гбит. Сервер служит в сети файлохранилищем (+небольшие дополнительные сервисы типа БД для экспериментов, торрентокачалки, хоста виртуальных машин) для доступа к которому используется samba. После установки карты и запуска, обнаружилась досадная особенность: при коннекте к серверу с машины у которой установлена гигабитная карточка скорость скачки не превышает 4 мбайта/с, тогда как с машин у которых 100 мбитные сетевые карточки скорость держится на уровне 8-9.5 мбайт/с (скачка). Примерно на таком же уровне была скорость закачки файлов на сервер, может чуть больше.
Почитав форумы, сначала решил, что проблема в конфиге самбы. По данному документу поправил некоторые параметры. В результате скорость закачки фалов на сервер возросла до 45-50 мбайт/с (что на мой взгляд достаточно неплохая скорость для гигабитной сети и возможно уже жесткий диск служит ограничением). Скорость скачки осталась практически неизменной (не превышает 5мбайт/с).
Поискав о таких проблемах с самбой наткнулся на некоторых англоязычных форумах на ветки с обсуждением данной проблемы. Как пишет там народ, это связано с некорректной работой сетевух на чипсете r8169 в режиме 1гбит при передаче файлов по smb. У некоторых скорость выше 1мбайта/сек не поднималась.
Попробовал собрать драйвера шедшие на диске с сетевой картой. Успехом это не увенчалось и вылилось в огромное число сообщений об ошибках компиляции. У меня складывается впечатление что с драйвером для линукса они накосячили (в ридми описание вообще не соответсвовало действительности, упоминались какие-то левые файлы которых на диске не было).
В паре сообщений (в ветках о проблемах с самбой) люди говорили что в дровах предоставляемых риалтеком на их сайте баг исправлен, и после их сборки и замены стандартного модуля ядра всё работает хорошо. С сайта риалтека были скачаны драйвера r8169-6.011.00.tar.bz2. При попытке скомпилировать их также возникли ошибки компиляции (но уже значительно меньше):

Код: Выделить всё

margo@ws:~/r8169-6.011.00$ make modules
 make -C src/ modules
 make[1]: Вход в каталог `/home/margo/r8169-6.011.00/src'
 make -C /lib/modules/2.6.31-14-generic-pae/build SUBDIRS=/home/margo/r8169-6.011.00/src modules
 make[2]: Вход в каталог `/usr/src/linux-headers-2.6.31-14-generic-pae'
   CC [M]  /home/margo/r8169-6.011.00/src/r8169_n.o
 /home/margo/r8169-6.011.00/src/r8169_n.c: In function 'rtl8169_init_one':
 /home/margo/r8169-6.011.00/src/r8169_n.c:2629: error: 'struct net_device' has no member named 'do_ioctl'
 /home/margo/r8169-6.011.00/src/r8169_n.c:2639: error: 'struct net_device' has no member named 'open'
 /home/margo/r8169-6.011.00/src/r8169_n.c:2640: error: 'struct net_device' has no member named 'hard_start_xmit'
 /home/margo/r8169-6.011.00/src/r8169_n.c:2641: error: 'struct net_device' has no member named 'get_stats'
 /home/margo/r8169-6.011.00/src/r8169_n.c:2643: error: 'struct net_device' has no member named 'stop'
 /home/margo/r8169-6.011.00/src/r8169_n.c:2644: error: 'struct net_device' has no member named 'tx_timeout'
 /home/margo/r8169-6.011.00/src/r8169_n.c:2645: error: 'struct net_device' has no member named 'set_multicast_list'
 /home/margo/r8169-6.011.00/src/r8169_n.c:2649: error: 'struct net_device' has no member named 'change_mtu'
 /home/margo/r8169-6.011.00/src/r8169_n.c:2650: error: 'struct net_device' has no member named 'set_mac_address'
 /home/margo/r8169-6.011.00/src/r8169_n.c:2658: error: 'struct net_device' has no member named 'vlan_rx_register'
 /home/margo/r8169-6.011.00/src/r8169_n.c:2665: error: 'struct net_device' has no member named 'poll_controller'
 make[3]: *** [/home/margo/r8169-6.011.00/src/r8169_n.o] Ошибка 1
 make[2]: *** [_module_/home/margo/r8169-6.011.00/src] Ошибка 2
 make[2]: Выход из каталога `/usr/src/linux-headers-2.6.31-14-generic-pae'
 make[1]: *** [modules] Ошибка 2
 make[1]: Выход из каталога `/home/margo/r8169-6.011.00/src'
 make: *** [modules] Ошибка 2

Поиск особых результатов не дал.

Буду рад, если кто нибудь подскажет как побороть эту проблему.
P.S. я не исключаю варианта простой замены сетевухи на какую-нибудь другую с другим чипсетом, если эту исправить не удастся. Хотелось бы узнать какую лучше модель гигабитной сетевой карточки взять, чтобы избежать описанных проблем?
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian

Re: Ubuntu 9.10 + сетевуха на чипе r8169

Сообщение rm_ »

Как пишет там народ, это связано с некорректной работой сетевух на чипсете r8169 в режиме 1гбит при передаче файлов по smb.

А у меня "сетевуха на чипсете r8169 в режиме 1гбит при передаче файлов по smb" работает абсолютно корректно, скорость до 60-80 мбайт/сек в любую сторону. Так что не помешала бы ссылочка на "пишет там народ". Почитал бы, разобрался, что именно я делаю не так.

Попробовал собрать драйвера шедшие на диске с сетевой картой. Успехом это не увенчалось и вылилось в огромное число сообщений об ошибках компиляции. У меня складывается впечатление что с драйвером для линукса они накосячили (в ридми описание вообще не соответсвовало действительности, упоминались какие-то левые файлы которых на диске не было).

Вкратце - да, это абсолютно верно, и не только с этой железкой, но и вообще, в 99% случаев. Поэтому пользоваться ими, и вообще какими-либо драйверами "от производителя", "с диска" и т.д, ни в коем случае не следует. Девайс должен работать с драйвером из состава ядра. Если не работает, или работает плохо - это баг, и о нём нужно сообщить на bugzilla.kernel.org.
Спасибо сказали:
Zelgadis
Сообщения: 2
ОС: Windows XP, Ubuntu server 9.10

Re: Ubuntu 9.10 + сетевуха на чипе r8169

Сообщение Zelgadis »

rm_ писал(а):
30.11.2009 08:37
А у меня "сетевуха на чипсете r8169 в режиме 1гбит при передаче файлов по smb" работает абсолютно корректно, скорость до 60-80 мбайт/сек в любую сторону. Так что не помешала бы ссылочка на "пишет там народ". Почитал бы, разобрался, что именно я делаю не так.

Рад за вас, но как то слишком едко, отвечаете. Если мой стиль изложения вас не устраивает, можно сказать об этом прямо а не заниматься копипастой исходного поста в виде неоформленных цитат.
По поводу ссылок:
1, 2, 3
Спасибо сказали: