Двух процессорная мать и Broadcom 5704

Здравствуйте, многоуважаемое собрание.

В поисках достойного Linux'а поставил Current ветку gentu на Tyan Thunder K8SRE (S2891). На ней вся перефирия, кроме сетевых чипов подсоединена к nForce4, а сетевые чипы подключены к PCI-X шине через bridge на AMD8131. И nForce4 и AMD8131 подключены к процессору каждый по своему каналу HyperTransport.

Действовал в соответствии с инструкцией по установке. Дошёл до перезагрузки и после означенной процедуры у меня пропала сеть. В поисках сетевой карты обнаружил интересное, на мой взгляд, отличие между Minimal install(то что на CD было) и "моим Linux":

Minimal install# lspci

0000:00:00.0 Memory controller: nVidia Corporation CK804 Memory Controller (rev a3)
0000:00:01.0 ISA bridge: nVidia Corporation CK804 ISA Bridge (rev a3)
0000:00:01.1 SMBus: nVidia Corporation CK804 SMBus (rev a2)
0000:00:02.0 USB Controller: nVidia Corporation CK804 USB Controller (rev a2)
0000:00:02.1 USB Controller: nVidia Corporation CK804 USB Controller (rev a3)
0000:00:06.0 IDE interface: nVidia Corporation CK804 IDE (rev f2)
0000:00:07.0 IDE interface: nVidia Corporation CK804 Serial ATA Controller (rev f3)
0000:00:08.0 IDE interface: nVidia Corporation CK804 Serial ATA Controller (rev f3)
0000:00:09.0 PCI bridge: nVidia Corporation CK804 PCI Bridge (rev a2)
0000:00:0e.0 PCI bridge: nVidia Corporation CK804 PCIE Bridge (rev a3)
0000:00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
0000:00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
0000:00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
0000:00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
0000:00:19.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
0000:00:19.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
0000:00:19.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
0000:00:19.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
0000:01:07.0 VGA compatible controller: ATI Technologies Inc Rage XL (rev 27)
0000:08:0a.0 PCI bridge: Advanced Micro Devices [AMD] AMD-8131 PCI-X Bridge (rev 12)
0000:08:0a.1 PIC: Advanced Micro Devices [AMD] AMD-8131 PCI-X IOAPIC (rev 01)
0000:08:0b.0 PCI bridge: Advanced Micro Devices [AMD] AMD-8131 PCI-X Bridge (rev 12)
0000:08:0b.1 PIC: Advanced Micro Devices [AMD] AMD-8131 PCI-X IOAPIC (rev 01)
0000:0a:09.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5704 Gigabit Ethernet (rev 03)
0000:0a:09.1 Ethernet controller: Broadcom Corporation NetXtreme BCM5704 Gigabit Ethernet (rev 03)

мой Linux# lspci

00:00.0 Memory controller: nVidia Corporation CK804 Memory Controller (rev a3)
00:01.0 ISA bridge: nVidia Corporation CK804 ISA Bridge (rev a3)
00:01.1 SMBus: nVidia Corporation CK804 SMBus (rev a2)
00:02.0 USB Controller: nVidia Corporation CK804 USB Controller (rev a2)
00:02.1 USB Controller: nVidia Corporation CK804 USB Controller (rev a3)
00:06.0 IDE interface: nVidia Corporation CK804 IDE (rev f2)
00:07.0 IDE interface: nVidia Corporation CK804 Serial ATA Controller (rev f3)
00:08.0 IDE interface: nVidia Corporation CK804 Serial ATA Controller (rev f3)
00:09.0 PCI bridge: nVidia Corporation CK804 PCI Bridge (rev a2)
00:0e.0 PCI bridge: nVidia Corporation CK804 PCIE Bridge (rev a3)
00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
00:19.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
00:19.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
00:19.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
00:19.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
01:07.0 VGA compatible controller: ATI Technologies Inc Rage XL (rev 27)

Ядро не видит PCI-X bridge на AMD8131 и всё что за ним!!!

Кто виноват? - очевидно, это я: где-то что-то не так прописал.
А вот что делать? Хочется разобраться.

Если кто знает что посмотреть, подкрутить - откликнитесь.

ЗЫ В Linux мире я недавно, а посему говорите не только что делать, но ещё и как.

-------------------------------
Дополнение :

Minimal install# dmesg
...
NET: Registered protocol family 16
PCI: Using configuration type 1
mtrr: v2.0 (20020519)
ACPI: Subsystem revision 20050309
ACPI: Interpreter enabled
ACPI: Using IOAPIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (0000:00)
PCI: Probing PCI hardware (bus 00)
Boot video device is 0000:01:07.0
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P2P0._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.XVR0._PRT]
...
ACPI: PCI Root Bridge [PCI2] (0000:08)
PCI: Probing PCI hardware (bus 08)
ACPI: PCI Interrupt Routing Table [\_SB_.PCI2.G0PA._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI2.G0PB._PRT]
...
мой Linux# dmesg
...
NET: Registered protocol family 16
ACPI: bus type pci registered
PCI: Using configuration type 1
PCI: Using MMCONFIG at e0000000
ACPI: Subsystem revision 20050902
ACPI: Interpreter enabled
ACPI: Using IOAPIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (0000:00)
PCI: Probing PCI hardware (bus 00)
ACPI: Assume root bridge [\_SB_.PCI0] bus is 0
Boot video device is 0000:01:07.0
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P2P0._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.XVR0._PRT]
...
ACPI: PCI Root Bridge [PCI2] (0000:08)
PCI: Probing PCI hardware (bus 08)
ACPI: Assume root bridge [\_SB_.PCI0] bus is 0
...

Ядро

версия ядра?
_________________
Главное не забыть mount /dev/hands

2.6.15-gentoo-r7

2.6.15-gentoo-r7

Вероятно, Вы

Вероятно, Вы собрали ядро без поддержки PCI Express.
Запустите конфигурирование и установку ядра:

# genkernel all --menuconfig --makeopts=-j8 --debuglevel=4

Выставите поддержку PCI Express:

...
Bus options (PCI, PCMCIA, EISA, MCA, ISA)  --->
          [*]   PCI Express support

Уже пробовал, не помогает :(

Только немного другим способом:
(Я руками собирал ядро)

#cd /usr/src/linux
#make menuconfig

Bus options (PCI etc.) --->
[*] PCI Express support
...

#make
#make modules_install
#cp arch/x86_64/boot/bzImage /boot/mykernel
#

Возьмите

Возьмите конфиг от ядра с livecd и соберитесь с ним.
Брать его надо из /proc/config.gz

Дополнительная информация

Я считал, что устанавливать Gentoo можно с любого дистрибутива, хоть с кнопикса. У меня был Gentoo_2005.1_AMD64: он мои сетевые карты нормально обнаруживает. С него я и устанавливал 2006 Current. Вчера я всё же выкачал Gentoo_2006_Current_AMD64, и он НЕ ОБНАРУЖИЛ СЕТЕВЫЕ КАРТЫ!!! Не отходя от кассы, сразу же написал скрипт на PERL'е и сравнил config2005 и config2006, см. ниже. Там сначала перечислены новые и изменённые ключи, потом ключи, которые исчезли в 2006 версии, и в конце приведена программа сравнения.
Что делать дальше?

----------------config2005 <=> config2006
----------------(+) - New key
----------------(#) - Not equal value (key 2005 2006)
+CONFIG_SEMAPHORE_SLEEPERS y
+CONFIG_ARCH_MAY_HAVE_PC_FDC y
+CONFIG_ARCH_MAY_HAVE_PC_FDC y
+CONFIG_INIT_ENV_ARG_LIMIT 32
+CONFIG_LOCALVERSION_AUTO y
+CONFIG_BASE_SMALL 0
+CONFIG_STOP_MACHINE y
+CONFIG_LBD y
+CONFIG_DEFAULT_DEADLINE y
+CONFIG_DEFAULT_IOSCHED "deadline"
+CONFIG_DEFAULT_IOSCHED "deadline"
+CONFIG_PREEMPT_NONE y
+CONFIG_ARCH_FLATMEM_ENABLE y
+CONFIG_SELECT_MEMORY_MODEL y
+CONFIG_FLATMEM_MANUAL y
+CONFIG_FLATMEM y
+CONFIG_FLAT_NODE_MEM_MAP y
+CONFIG_SPLIT_PTLOCK_CPUS 4
+CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID y
+CONFIG_X86_PM_TIMER y
+CONFIG_GART_IOMMU y
+CONFIG_SWIOTLB y
+CONFIG_PHYSICAL_START 0x100000
+CONFIG_HZ_1000 y
+CONFIG_HZ 1000
+CONFIG_GENERIC_PENDING_IRQ y
+CONFIG_GENERIC_PENDING_IRQ y
+CONFIG_PM_LEGACY y
+CONFIG_ACPI_HOTKEY m
+CONFIG_ACPI_CONTAINER m
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE m
+CONFIG_X86_ACPI_CPUFREQ m
+CONFIG_X86_SPEEDSTEP_LIB m
+CONFIG_PCMCIA_LOAD_CIS y
+CONFIG_PCMCIA_IOCTL y
+CONFIG_CARDBUS y
+CONFIG_PCCARD_NONSTATIC m
+CONFIG_UID16 y
+CONFIG_NET y
+CONFIG_IP_FIB_HASH y
+CONFIG_TCP_CONG_BIC y
+CONFIG_BT_HIDP m
+CONFIG_IEEE80211 m
+CONFIG_IEEE80211_CRYPT_WEP m
+CONFIG_IEEE80211_CRYPT_CCMP m
+CONFIG_IEEE80211_CRYPT_TKIP m
+CONFIG_IEEE80211_CRYPT_TKIP m
+CONFIG_PARPORT_1284 y
+CONFIG_PNPACPI y
+CONFIG_PARIDE_PARPORT m
+CONFIG_PARIDE_PG m
+CONFIG_BLK_DEV_IDE y
+CONFIG_RAID_ATTRS m
+CONFIG_SCSI_PROC_FS y
+CONFIG_CHR_DEV_SCH m
+CONFIG_CHR_DEV_SCH m
+CONFIG_SCSI_SAS_ATTRS m
+CONFIG_SCSI_SAS_ATTRS m
+CONFIG_MEGARAID_SAS m
+CONFIG_SCSI_SATA_MV m
+CONFIG_SCSI_PDC_ADMA m
+CONFIG_SCSI_SATA_SIL24 m
+CONFIG_SCSI_SATA_INTEL_COMBINED y
+CONFIG_SCSI_QLA24XX m
+CONFIG_PCMCIA_SYM53C500 m
+CONFIG_BLK_DEV_DM_BBR m
#CONFIG_FUSION m y
+CONFIG_FUSION_SPI m
+CONFIG_FUSION_FC m
+CONFIG_FUSION_SAS m
#CONFIG_FUSION_MAX_SGE 40 128
+CONFIG_FUSION_LAN m
+CONFIG_IEEE1394 m
+CONFIG_IEEE1394_OHCI1394 m
+CONFIG_I2O_EXT_ADAPTEC y
+CONFIG_I2O_EXT_ADAPTEC_DMA64 y
+CONFIG_I2O_CONFIG_OLD_IOCTL y
+CONFIG_I2O_BUS m
+CONFIG_I2O_PROC m
+CONFIG_NET_SB1000 m
+CONFIG_CASSINI m
+CONFIG_TYPHOON m
+CONFIG_ULI526X m
+CONFIG_NET_POCKET y
+CONFIG_ATP m
+CONFIG_DE600 m
+CONFIG_DE620 m
+CONFIG_DE620 m
+CONFIG_SIS190 m
+CONFIG_SKY2 m
+CONFIG_BNX2 m
+CONFIG_CHELSIO_T1 m
+CONFIG_ABYSS m
+CONFIG_NET_RADIO y
+CONFIG_PCMCIA_NETWAVE m
+CONFIG_PCMCIA_RAYCS m
+CONFIG_IPW2100 m
+CONFIG_IPW2100_MONITOR y
+CONFIG_IPW2200 m
+CONFIG_AIRO m
+CONFIG_PCI_ATMEL m
+CONFIG_PCMCIA_WL3501 m
+CONFIG_HOSTAP m
+CONFIG_HOSTAP_FIRMWARE y
+CONFIG_HOSTAP_PLX m
+CONFIG_HOSTAP_PCI m
+CONFIG_HOSTAP_CS m
+CONFIG_NET_WIRELESS y
+CONFIG_PCMCIA_AXNET m
+CONFIG_HDLC_PPP y
+CONFIG_SBNI_MULTILINE y
+CONFIG_PPP_MPPE m
+CONFIG_ISDN m
+CONFIG_ISDN_CAPI_CAPIFS m
+CONFIG_ISDN_DRV_AVMB1_C4 m
+CONFIG_ISDN_DIVAS_MAINT m
+CONFIG_INPUT y
+CONFIG_SERIAL_8250_RSA y
+CONFIG_DTLK m
+CONFIG_AGP y
+CONFIG_AGP_AMD64 y
+CONFIG_FONT_8x16 y
+CONFIG_FB_SPLASH y
+CONFIG_SPEAKUP_TXPRT y
+CONFIG_SPEAKUP_DEFAULT "none"
+CONFIG_SOUND y
+CONFIG_USB_SL811_CS m
+CONFIG_USB_STORAGE_JUMPSHOT y
+CONFIG_USB_HIDDEV y
+CONFIG_USB_ACECAD m
+CONFIG_USB_ITMTOUCH m
+CONFIG_USB_YEALINK m
+CONFIG_USB_NET_AX8817X m
+CONFIG_USB_NET_CDCETHER m
+CONFIG_USB_NET_GL620A m
+CONFIG_USB_NET_NET1080 m
+CONFIG_USB_NET_PLUSB m
+CONFIG_USB_NET_RNDIS_HOST m
+CONFIG_USB_NET_ZAURUS m
+CONFIG_USB_USS720 m
+CONFIG_USB_SERIAL_ANYDATA m
+CONFIG_USB_SERIAL_OMNINET m
+CONFIG_USB_CXACRU m
+CONFIG_USB_XUSBATM m
+CONFIG_USB_XUSBATM m
+CONFIG_MMC_WBSD m
+CONFIG_INFINIBAND_USER_MAD m
+CONFIG_INFINIBAND_USER_ACCESS m
+CONFIG_INFINIBAND_SRP m
+CONFIG_INFINIBAND_SRP m
+CONFIG_DELL_RBU m
+CONFIG_DCDBAS m
+CONFIG_DCDBAS m
+CONFIG_UDF_NLS y
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE 3
+CONFIG_NFS_COMMON y
+CONFIG_NLS_UTF8 y
+CONFIG_DETECT_SOFTLOCKUP y
+CONFIG_CRYPTO_AES_X86_64 m
+CONFIG_CRC16 m
----------------keys, that config2005 has, but config2006 has not
CONFIG_TMPFS_SECURITY y
CONFIG_USB_AUDIO m
CONFIG_ACPI_BOOT y
CONFIG_ACPI_PCI y
CONFIG_USB_PL2301 y
CONFIG_USB_ALI_M5632 y
CONFIG_PREEMPT y
CONFIG_SCSI_QLOGIC_1280_1040 y
CONFIG_TMPFS_XATTR y
CONFIG_HAVE_DEC_LOCK y
CONFIG_BT_HCIUART_BCSP_TXCRC y
CONFIG_USB_BELKIN y
CONFIG_ACPI_INTERPRETER y
CONFIG_USB_AN2720 y
CONFIG_USB_CDCETHER y
CONFIG_USB_KC2190 y
CONFIG_DUMMY_IOMMU y
CONFIG_USB_NET1080 y
CONFIG_IP_TCPDIAG y
CONFIG_SERIAL_8250_MULTIPORT y
CONFIG_DEBUG_PREEMPT y
CONFIG_ACPI_BUS y
CONFIG_FB_SOFT_CURSOR y
CONFIG_TCIC m
CONFIG_USB_GENESYS y
CONFIG_USB_AX8817X y
--------------------------Perl Script
#!/usr/bin/perl
open(F5,"config2005");
open(F6,"config2006");
while() {
next if substr($_,0,1) eq '#';
/^\s*(.+)\=(.+)\s*/;
next if length($1.$2)==0;
$c5{$1}=$2;
}
print("----------------config2005 <=> config2006\n");
print("----------------(+) - New key\n");
print("----------------(#) - Not equal value (key 2005 2006)\n");
while() {
next if substr($_,0,1) eq '#';
$s=$_;
/^\s*(.+)\=(.+)\s*/;
next if length($1.$2)==0;
if(exists($c5{$1})) {
if($c5{$1} ne $2) {
print("#$1 $c5{$1} $2\n");
}
delete($c5{$1});
} else {
print("+$1 $2\n");
}
}
close(F5);
close(F6);
print("----------------keys, that config2005 has, but config2006 has not\n");
while(($key,$val) = each %c5) {
print("$key $val\n");
}

_________________
just make

"Тихо сам с собою я веду беседу"==Solved

С радостью спешу сообщить, что проблема решена!!!
Виноват был BIOS компьютера. Скачал с сайта и установил новую прошивку и сетевые карточки сразу начали нормально определяться.
По перварительным данным, дело было в неправильной работе ACPI на материнской плате.
_________________
just make

P.S. Для интересующихся сообщаю что пофиксили разработчики в версии 2.02 по сравнению с предыдущей.

TYAN Thunder K8SRE (S2891) V2.02
New features and Fixes :
* Updated nVidia SATA RAID firmware to v5.53.07
* Memory clock adjustment is possible now to fix the cmos
checksum issue
* Memory clock auto-downgrade has been optimizied to fit all
the 2G modules
* Setting timing to 2T and disable bank interleave when 4 Rank
dimm present
* Fixed an issue where the LAN's would not show up during a
cold boot
* WHQL PCI complaincy test pass by update the ACPI MCFG
table
* 40/80 pin detection added, now 40 pin cable will be limited at
UDMA mode 2
* Add rf IPMI Boot option support (*Boot to PXE support and
Boot to BIOS support)
* Updated 8254 IO interrupt override setting in MPtable
* BIOS will perform ADT intialization whether BMC is present or
not
* Fixed the BCM LAN yellow mark issue by upgrating IOAPIC
bar address to match the new cpu feats
* Add unreported IO into motherboard resource when BMC
present for WHQL testing
* Using Tcae as the auto fan control input
* Added nVidia nForce RAID 5 support

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".