How to know which drivers you may need when configuring your Kernel
Follow @ggarronI ran into this problem.
I upgraded my Gentoo kernel and suddenly my Eth stop working it was continously saying that there was no driver for the NIC, actually it said, there is no NIC at all.
That was a driver problem, the way the gentoo community helped me on the mailing list to solve this problem is applicable to any other similar situacion, and not only on gentoo but on any other distro you are tying to configure and compile your own kernel.
First to know which drivers you need, start with a Live CD, like Ubuntu, Knoppix or any other.
then run:
sudo lspci -v
This is part of the output of my system:
00:00.0 Host bridge: Intel Corporation 82P965/G965 Memory Controller Hub (rev 02)
Subsystem: Intel Corporation Device 514d
Flags: bus master, fast devsel, latency 0
Capabilities: [e0] Vendor Specific Information >
00:01.0 PCI bridge: Intel Corporation 82P965/G965 PCI Express Root Port (rev 02) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
Memory behind bridge: 90000000-91ffffff
Prefetchable memory behind bridge: 0000000080000000-000000008fffffff
Capabilities: [88] Subsystem: Intel Corporation Device 514d
Capabilities: [80] Power Management version 3
Capabilities: [90] Message Signalled Interrupts: Mask- 64bit- Count=1/1 Enable+
Capabilities: [a0] Express Root Port (Slot+), MSI 00
Capabilities: [100] Virtual Channel >
Capabilities: [140] Root Complex Link >
Kernel driver in use: pcieport-driver
00:03.0 Communication controller: Intel Corporation 82P965/G965 HECI Controller (rev 02)
Subsystem: Intel Corporation Device 514d
Flags: bus master, fast devsel, latency 0, IRQ 11
Memory at 92226100 (64-bit, non-prefetchable) [size=16]
Capabilities: [50] Power Management version 3
Capabilities: [8c] Message Signalled Interrupts: Mask- 64bit+ Count=1/1 Enable-
00:19.0 Ethernet controller: Intel Corporation 82566DC Gigabit Network Connection (rev 02)
Subsystem: Intel Corporation Device 0001
Flags: bus master, fast devsel, latency 0, IRQ 216
Memory at 92200000 (32-bit, non-prefetchable) [size=128K]
Memory at 92224000 (32-bit, non-prefetchable) [size=4K]
I/O ports at 20e0 [size=32]
Capabilities: [c8] Power Management version 2
Capabilities: [d0] Message Signalled Interrupts: Mask- 64bit+ Count=1/1 Enable+
Kernel driver in use: e1000e
00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 02) (prog-if 00 [UHCI])
Subsystem: Intel Corporation Device 514d
Flags: bus master, medium devsel, latency 0, IRQ 16
I/O ports at 20c0 [size=32]
Kernel driver in use: uhci_hcd
00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 02) (prog-if 00 [UHCI])
Subsystem: Intel Corporation Device 514d
Flags: bus master, medium devsel, latency 0, IRQ 21
I/O ports at 20a0 [size=32]
Kernel driver in use: uhci_hcd
As you can see there is a common line at the end of each block of text, which is the kernel driver you are using, now you can go to Gentoo, and configure your kernel according to the Gentoo Handbook and use the info you got from lspci on the Live CD to know which modules activate on your Kernel config, that way you should end with a small kernel, but all your hardware should work, provided that the Live CD had detected all your hardware.
Hope it helps.