Мы — долго запрягаем, быстро ездим, и сильно тормозим.
www.lissyara.su —> статьи —> FreeBSD —> Шелезяки —> D-Link DGE530T

Прикручиваем сетевуху D-Link DGE530T rev-B1 под FreeBSD 6.1-RELEASE-p10

Автор: lissyara.


    Прикупили в сервак сетевуху - D-Link DGE530T. В списке поддерживаемого железа она была. Тока вот определяться не захотела :).
/usr/home/lissyara/>dmesg | grep "ethernet"
pci5: <network, ethernet> at device 0.0 (no driver attached)
/usr/home/lissyara/>
/usr/home/lissyara/>pciconf -lv | \
? grep --after-context=2 --before-context=1 "D-Link System Inc"
none5@pci5:1:0: class=0x020000 card=0x4b011186 chip=0x4b011186 rev=0x11 hdr=0x00
    vendor   = 'D-Link System Inc'
    class    = network
    subclass = ethernet
/usr/home/lissyara/>

   Негусто. Неизвестный науке девайс... Почему - понял довольно быстро, поддержка была для D-Link DGE530T, а у меня была D-Link DGE530T rev-B1. Гугление и яндексение дало ссылку. Правда патч не подходил. У меня была:
/usr/home/lissyara/>uname -a
FreeBSD router.local 6.1-RELEASE-p10 FreeBSD 6.1-RELEASE-p10
#0: Fri Oct 27 19:06:39 MSD 2006     
root@router.local:/usr/obj/usr/src/sys/main-smp  i386
/usr/home/lissyara/>

а там был первый релиз. Файлики успели поменяться. Поэтому пришлось сделать тоже самое руками, итог такой:
/usr/src/sys/pci/>diff -Naur if_sk.c.orig if_sk.c
--- if_sk.c.orig        Mon Oct 30 10:17:35 2006
+++ if_sk.c     Mon Oct 30 10:23:06 2006
@@ -175,6 +175,11 @@
                DEVICEID_DLINK_DGE530T,
                "D-Link DGE-530T Gigabit Ethernet"
        },
+       {
+               VENDORID_DLINK,
+               DEVICEID_DLINK_DGE530T_B1,
+               "D-Link DGE-530T Gigabit Ethernet, Rev.B1"
+       },
        { 0, 0, NULL }
 };

@@ -1723,6 +1728,9 @@
        case SK_PMD_1000BASETX:
                sc->sk_pmd = IFM_1000_T;
                break;
+       case DLGE_PMD_1000BASETX:
+               sc->sk_pmd = IFM_1000_T;
+               break;
        default:
                printf("skc%d: unknown media type: 0x%x\n",
                    sc->sk_unit, sk_win_read_1(sc, SK_PMDTYPE));
@@ -1738,6 +1746,7 @@
        case DEVICEID_3COM_3C940:
        case DEVICEID_LINKSYS_EG1032:
        case DEVICEID_DLINK_DGE530T:
+       case DEVICEID_DLINK_DGE530T_B1:
                /* Stay with VPD PN. */
                pname = sc->sk_vpd_prodname;
                break;
/usr/src/sys/pci/>

/usr/src/sys/pci/>diff -Naur if_skreg.h.orig if_skreg.h
--- if_skreg.h.orig     Sun Nov  6 19:00:54 2005
+++ if_skreg.h  Mon Oct 30 10:41:03 2006
@@ -117,7 +117,7 @@
  * D-Link gigabit ethernet device ID
  */
 #define DEVICEID_DLINK_DGE530T 0x4c00
-
+#define DEVICEID_DLINK_DGE530T_B1      0x4b01
 /*
  * GEnesis registers. The GEnesis chip has a 256-byte I/O window
  * but internally it has a 16K register space. This 16K space is
@@ -427,6 +427,8 @@
 #define SK_PMD_1000BASESX      0x53
 #define SK_PMD_1000BASECX      0x43
 #define SK_PMD_1000BASETX      0x54
+#define DLGE_PMD_1000BASETX    0x31
+

 /* GPIO bits */
 #define SK_GPIO_DAT0           0x00000001
/usr/src/sys/pci/>

   После пересборки ядра (он у меня не модулем, а в ядре) и перезагрузки, обнаружился новый девайс:
/usr/home/lissyara/>dmesg | grep --after-context=6 "D-Link DGE-530T"
skc0: <D-Link DGE-530T Gigabit Ethernet, Rev.B1> port 0x8000-0x80ff
mem 0xf0400000-0xf0403fff irq 22 at device 1.0 on pci5
skc0: DGE-530T Gigabit Ethernet Adapter rev. (0x9)
sk0: <Marvell Semiconductor, Inc. Yukon> on skc0
sk0: Ethernet address: 00:17:9a:06:0a:36
miibus2: <MII bus> on sk0
e1000phy0: <Marvell 88E1000 Gigabit PHY> on miibus2
e1000phy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX-FDX, auto
/usr/home/lissyara/>
/usr/home/lissyara/>pciconf -lv | \
? grep --after-context=2 --before-context=1 "D-Link System Inc"
skc0@pci5:1:0:  class=0x020000 card=0x4b011186 chip=0x4b011186 rev=0x11 hdr=0x00
    vendor   = 'D-Link System Inc'
    class    = network
    subclass = ethernet
/usr/home/lissyara/>
/usr/home/lissyara/>ifconfig sk0
sk0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        ether 00:17:9a:06:0a:36
        media: Ethernet autoselect (none)
        status: no carrier
/usr/home/lissyara/>

   Ну и всё :) Будем надеяться, что поддержку скоро добавят в драйвер официально.



размещено: 2006-10-30,
последнее обновление: 2008-06-18,
автор: lissyara


Toptyg, 2006-11-28 в 19:13:53

Спасибо, помогло Ж)
Только несразу понял что у меня ривизия...только когда на саморй глянул.
Пашет и стабильно.

Dorlas, 2006-11-29 в 17:51:56

Что то я не понял - как правильно наложить эти патчи?

Yefimov Gleb V., 2006-12-07 в 6:57:19

Мир.
У меня такая же проблема только  сетевуха intel PRO1000? внутренняя. Блин замучился я сней.
В этой статье не могу понять  - когда ты сравниваешь  
diff -Naur if_sk.c.orig if_sk.c
diff -Naur if_skreg.h.orig if_skreg.h
что за параметр -Naur
и что за файлы *.orig

lissyara, 2006-12-07 в 10:03:59

*.orig - это оригинальный файл - родной. А что касается патча - я делал всё руками - чего и вам советую. :))
=======================================
а про diff - просто для сравнения - что править...

Yefimov Gleb V., 2006-12-08 в 2:02:05

Я понимаю что это оригинал :-Е
Где его взять?

lissyara, 2006-12-08 в 11:22:43

он там уже лещит. Это копия файла if_sk.c или if_skreg.h
========
И вообще - с такими вопросами - на форум.

br0, 2006-12-20 в 0:31:50

Большое спасибо! Помогло!

Simpson, 2007-01-16 в 18:22:46

Верно надеялся в 6.2 там уже само все подхватывает =)

Но все равно спасибо когда поднимал 6.1 и все поднялось было приятно =)

playnet, 2007-12-25 в 22:23:54

Орфография по прежненему хромает.. :)
Я пытался наложить патчи для сетевухи в гигабайте P35 на 6.2, бился 2 суток, обломался и поставил 7.0 бета 4. Заработало сразу. Вот что мешало создателям из 7 в 6.2 патчики кинуть?.. Пришлось на бете остаться.

DM, 2008-02-22 в 23:00:52

Сетевка с марвеловским чипом, можна было утянуть их драйвер... и поднять на нем ...



 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.0621 секунд
Из них PHP: 30%; SQL: 70%; Число SQL-запросов: 77 шт.
Исходный размер: 24763; Сжатая: 6703