Дисклеймер

Внимание: в этом блоге могут описываться события, явления и факты при помощи ненормативной лексики. Убедитесь, что Вы готовы к этому.

вторник, 23 декабря 2014 г.

Настройка TF-3200 в Gentoo Linux

Предыстория: вышел из строя порт LAN на чипе Realtek RTL 8111, пришлось срочным образом искать замену. Выбор пал на карточку TF-3200 от TP-Link.
Дёшево и сердито, всё как и нужно настоящему джедаю.
В коробке присутствует диск с драйверами под все основные ОС, кроме freeBSD. Вот вывод ls директории с драйверами:
  1. Linux  
  2. Windows 2000  
  3. Windows 7 32bit  
  4. Windows 7 64bit  
  5. Windows Vista 32bit  
  6. Windows Vista 64bit  
  7. Windows XP_2003  
  8. Windows XP 64bit
Линуксовый драйвер называется sundance (звучит неплохо), в menuconfig именуется как Sundance Alta support и находится в секции:
-> Device Drivers
--> Network device support (NETDEVICES [=y])
----> Ethernet driver support (ETHERNET [=y])
-----> D-Link devices (NET_VENDOR_DLINK [=y])

Примечание: параметр зависит от: NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_DLINK [=y] && PCI [=y]. Соответственно, если эти опции выключены, то параметр Sundance Alta support не будет показан.

Включаем драйвер (как модуль, или же встроенным в ядро), собираем ядро.

Теперь нужно добавить правила Udev.
Для начала посмотрим на выхлоп ifconfig -a с целью выяснения mac-адреса новой карточки.
В моём случае было так:
(...)
ether e8:de:27:a8:ba:8a  txqueuelen 1000  (Ethernet)
(...)
Следовательно, в файлик /etc/udev/rules.d/70-net.rules нужно добавить следующее:
# PCI TP-LINK TF-3200
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="e8:de:27:a8:ba:8a", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
Очевидно, что строка с комментарием (начинается с #) не обязательна, и что остальные данные (начинается с SUBSYSTEM) должны быть добавлены одной строкой.

Перезагружаемся с новым ядром, и если всё сделано правильно, то наслаждаемся работающим инетом.

К слову, в дружелюбных линукс-дистрибутивах всё должно работать "из коробки". Например, в Ubuntu 14.04 драйвер уже включён как модуль:
root@pc:/# cat /boot/config-3.13.0-29-generic | grep -i "sundance"
CONFIG_SUNDANCE=m
И всё работает сразу, ничего никуда прописывать не нужно, и не нужно ничего собирать.

В Windows 7 настройка происходит через диспетчер устройств в несколько кликов - просто указываем путь к драйверу на диске, соглашаемся установить непротестированный / неподписанный драйвер и всё.

P.S. производительность устройства вполне достойная, как можно видеть по представленным замерам: до 85 мбит/с вниз и до 76 мбит/с вверх.

Больше мне всё равно провайдер не даёт, да и роутер на пределе возможностей работает, скорее всего, так что можно с уверенностью сказать, что свои 330 рублей карточка отрабатывает.

Комментариев нет:

Отправить комментарий