Jump to content
Калькуляторы

Intel PRO/1000 PT Quad Port Bypass Adapter на FreeBSD 7.0 помогите завести 4-х головую сетевую на FreeBSD

Появилась сетевая Intel® PRO/1000 PT Quad

разъем PCI-E 4x, вставил в PCI-E 16x

 

ОС

# uname -a
FreeBSD maskarad.hol.net.ua 7.0-RELEASE FreeBSD 7.0-RELEASE #0: Sun Nov  9 15:42:07 EET 2008     root@maskarad.hol.net.ua:/usr/src/sys/i386/compile/MASKARAD  i386

 

Сетевая не завелась

none1@pci0:4:0:0:       class=0x020000 card=0x10a08086 chip=0x10a08086 rev=0x06 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82571EB PRO/1000 AT Quad Port Bypass Adapter'
    class      = network
    subclass   = ethernet
none2@pci0:4:0:1:       class=0x020000 card=0x10a08086 chip=0x10a08086 rev=0x06 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82571EB PRO/1000 AT Quad Port Bypass Adapter'
    class      = network
    subclass   = ethernet
none3@pci0:5:0:0:       class=0x020000 card=0x10a08086 chip=0x10a08086 rev=0x06 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82571EB PRO/1000 AT Quad Port Bypass Adapter'
    class      = network
    subclass   = ethernet
none4@pci0:5:0:1:       class=0x020000 card=0x10a08086 chip=0x10a08086 rev=0x06 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82571EB PRO/1000 AT Quad Port Bypass Adapter'
    class      = network
    subclass   = ethernet

Явно не хватает драйверов. решил их обновить. Скачал их с офф. сайта

Прочил readme, распаковал архив , начал установку

# make
Warning: Object directory not changed from original /usr/home/xxx/EM/em-6.9.21/src
@ -> /usr/src/sys
machine -> /usr/src/sys/i386/include
cc -O2 -fno-strict-aliasing -pipe  -D_KERNEL -DKLD_MODULE -std=c99 -nostdinc   -I. -I@ -I@/contrib/altq -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-common  -mno-align-long-strings -mpreferred-stack-boundary=2  -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -ffreestanding -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions -c if_em.c
if_em.c: In function 'em_ioctl':
if_em.c:1268: error: 'IFCAP_WOL' undeclared (first use in this function)
if_em.c:1268: error: (Each undeclared identifier is reported only once
if_em.c:1268: error: for each function it appears in.)
if_em.c:1270: error: 'IFCAP_WOL_MCAST' undeclared (first use in this function)
if_em.c:1272: error: 'IFCAP_WOL_MAGIC' undeclared (first use in this function)
if_em.c: In function 'em_setup_interface':
if_em.c:3169: error: 'IFCAP_WOL' undeclared (first use in this function)
if_em.c: In function 'em_enable_wakeup':
if_em.c:5010: error: 'IFCAP_WOL_MAGIC' undeclared (first use in this function)
if_em.c:5013: error: 'IFCAP_WOL_MCAST' undeclared (first use in this function)
if_em.c:5035: error: 'IFCAP_WOL' undeclared (first use in this function)
*** Error code 1

Stop in /usr/home/hedg/EM/em-6.9.21/src.

 

Почему не хотят собираться драйвера?

Share this post


Link to post
Share on other sites

Расчитаны скорее всего на код 7.2-STABLE. Может стоит обновить систему?

Share this post


Link to post
Share on other sites

Так и сделаю, а потом отпишусь.

Share this post


Link to post
Share on other sites

Обновился до 7.2 Stable. После чего драйвера скомпилировались нормально.

Толку от этого мало, т.к. драйвера на сетевые так и не встали.

 

Погуглил очень плотно и выяснил....

Карты с chip=0x10a08086 являются инженерными образцами и не должны продоваться где либо. Была куплена "левую" карточка и разработчики Intel не включили её поддержку в свой драйвер.

Для того чтобы ее завести можно воспользоваться патчем, который добавит новый device id..

 

Вот содержимое патча(на всякий случай):

 Index: src/sys/dev/em/e1000_api.c
===================================================================
RCS file: /ncvs/src/sys/dev/em/e1000_api.c,v
retrieving revision 1.7
diff -u -b -p -r1.7 e1000_api.c
--- src/sys/dev/em/e1000_api.c    25 Apr 2008 21:19:39 -0000    1.7
+++ src/sys/dev/em/e1000_api.c    2 Jul 2008 09:31:06 -0000
@@ -200,6 +200,7 @@ s32 e1000_set_mac_type(struct e1000_hw *
    case E1000_DEV_ID_82571EB_SERDES_DUAL:
    case E1000_DEV_ID_82571EB_SERDES_QUAD:
    case E1000_DEV_ID_82571EB_QUAD_COPPER:
+    case E1000_DEV_ID_82571EB_QUAD_COPPER_A0:
    case E1000_DEV_ID_82571PT_QUAD_COPPER:
    case E1000_DEV_ID_82571EB_QUAD_FIBER:
    case E1000_DEV_ID_82571EB_QUAD_COPPER_LP:
Index: src/sys/dev/em/e1000_hw.h
===================================================================
RCS file: /ncvs/src/sys/dev/em/e1000_hw.h,v
retrieving revision 1.7
diff -u -b -p -r1.7 e1000_hw.h
--- src/sys/dev/em/e1000_hw.h    25 Apr 2008 21:19:40 -0000    1.7
+++ src/sys/dev/em/e1000_hw.h    2 Jul 2008 09:31:06 -0000
@@ -85,6 +85,7 @@ struct e1000_hw;
#define E1000_DEV_ID_82571EB_SERDES_DUAL      0x10D9
#define E1000_DEV_ID_82571EB_SERDES_QUAD      0x10DA
#define E1000_DEV_ID_82571EB_QUAD_COPPER      0x10A4
+#define E1000_DEV_ID_82571EB_QUAD_COPPER_A0   0x10A0
#define E1000_DEV_ID_82571PT_QUAD_COPPER      0x10D5
#define E1000_DEV_ID_82571EB_QUAD_FIBER       0x10A5
#define E1000_DEV_ID_82571EB_QUAD_COPPER_LP   0x10BC
Index: src/sys/dev/em/if_em.c
===================================================================
RCS file: /ncvs/src/sys/dev/em/if_em.c,v
retrieving revision 1.194
diff -u -b -p -r1.194 if_em.c
--- src/sys/dev/em/if_em.c    21 May 2008 21:06:17 -0000    1.194
+++ src/sys/dev/em/if_em.c    2 Jul 2008 09:31:06 -0000
@@ -161,6 +161,8 @@ static em_vendor_info_t em_vendor_info_a
                        PCI_ANY_ID, PCI_ANY_ID, 0},
    { 0x8086, E1000_DEV_ID_82571EB_QUAD_COPPER,
                        PCI_ANY_ID, PCI_ANY_ID, 0},
+    { 0x8086, E1000_DEV_ID_82571EB_QUAD_COPPER_A0,
+                        PCI_ANY_ID, PCI_ANY_ID, 0},
    { 0x8086, E1000_DEV_ID_82571EB_QUAD_COPPER_LP,
                        PCI_ANY_ID, PCI_ANY_ID, 0},
    { 0x8086, E1000_DEV_ID_82571EB_QUAD_FIBER,
@@ -765,6 +767,7 @@ em_attach(device_t dev)
        break;
    case E1000_DEV_ID_82546GB_QUAD_COPPER_KSP3:
    case E1000_DEV_ID_82571EB_QUAD_COPPER:
+    case E1000_DEV_ID_82571EB_QUAD_COPPER_A0:
    case E1000_DEV_ID_82571EB_QUAD_FIBER:
    case E1000_DEV_ID_82571EB_QUAD_COPPER_LP:
                 /* if quad port adapter, disable WoL on all but port A */

 

P.S. патч написал butcher, за что ему огромное спасибо!

P.P.S. ссылки по этой же теме : opennet1 и opennet2

P.P.P.S. Пропатчил новые драйвера(em-6.9.21) установил модулем на FreeBSD_7.2 - все завелось.

На другом компе с FreeBSD_7.0 пропатчил родные дрова (/usr/src/sys/dev/em) пересобрал ядро, все побежало.

Всем СПАСИБО!

Edited by HEDG

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this