Решил я установить на вновь полученные железяки FreeBSD 7.1. Ну, всё как полагается, скачал образ, правда, на этот раз DVD, так сказать, первый опыт не CD (-: Всё прошло без каких-либо проблем и неожиданностей.
Последние начались уже при последующей доводке системы, ну вы понимаете: пересборка мира, своё ядро, обновление портов и т.п. Так вот после очередной перезагрузки обнаружил, что потерялась сетевуха )-: Что я уже только не передумал: и ядро собрал неправильно, и сетевуха битая, и руки-то у меня кривые и много чего ещё.
Дальше начались исследования. Собственно, вот что выдавалось при загрузке системы:
# dmesg | grep re0
re0: <RealTek 8101E/8102E/8102EL PCIe 10/100baseTX> port 0xd800-0xd8ff mem 0xfdfff000-0xfdffffff,0xfdfe0000-0xfdfeffff irq 17 at device 0.0 on pci2
re0: Using 1 MSI messages
re0: Chip rev. 0×24800000
re0: MAC rev. 0×00000000
re0: PHY write failed
re0: PHY write failed
re0: MII without any phy!
device_attach: re0 attach returned 6
В тоже время:
# pciconf -lv
re0@pci0:2:0:0: class=0×020000 card=0×23081565 chip=0x813610ec rev=0×02 hdr=0×00
vendor = ‘Realtek Semiconductor’
device = ‘RTL8139/810x Family Fast Ethernet NIC’
class = network
subclass = ethernet
re1@pci0:3:1:0: class=0×020000 card=0×43001186 chip=0×43001186 rev=0×10 hdr=0×00
vendor = ‘D-Link System Inc’
device = ‘dlg10028 Used on DGE-528T Gigabit adaptor’
class = network
subclass = ethernet
Как нетрудно заметить, потерялась именно реалтековская сетевая карта. Когда не знаешь, что делать, надо спросить того, кто всё знает (-: В подобных случаях я спрашиваю у Google (-:
Выяснилось, что такая же проблема не только у меня. Проблема эта вообще с реалтековскими драйверами в FreeBSD 7.х. В попытках найти решение данной загвоздки, нашёл вот эту ссылку. У кого не лады с английским, хотя я не могу представить админа без знания оного, достаточного для чтения мануалов, приведу краткую последовательность действий.
Качаем вот эти файлы: if_re.c, if_rl.с, if_rlreg.h.
Копируем каждый файл по своему назначению:
- cp /ваш_путь/if_re.c /usr/src/sys/dev/re/
- cp /ваш_путь/if_rl.c /usr/src/sys/pci
- cp /ваш_путь/if_rlreg.h /usr/src/sys/pci
После этого пересобираем ядро и всё должно отличненько работать.
Вот на такие неожиданные грабли я наступил (-:
Март 3rd, 2009 by none | 4 комментария