Документация по ОС FreeBSD Воскресенье, 05.05.2024, 01:36
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Мои статьи [0]
Установка и настройка [281]
X Window [25]
Man pages [30]
Ports & Packages [26]
cvs [18]
Multimedia [20]
Нововсти в мире Unix [0]
RFC [4]
RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
Безопасность [52]
Работа с железом [58]
Книги по FreeBSD [17]
Сеть [505]
Программирование [40]
FireWall [58]
Темы экзамена BSDA [14]
Официальные темы экзамена BSDA, включая подробноые описания и советы по обучению.

Главная » Статьи » Работа с железом

Прикручиваем сетевуху D-Link DGE530T rev-B1 под FreeBSD 6.1-RELEASE-p10 [2008]
Прикупили в сервак сетевуху - 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/>

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



Источник: http://www.lissyara.su/?id=1271
Категория: Работа с железом | Добавил: oleg (19.06.2008) | Автор: lissyara
Просмотров: 1199 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024