Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Wireshark-users: [Wireshark-users] tcpdump/wireshark don't see my ethernet card

From: "Jim McNamara" <jim.mcnamara@xxxxxxxxx>
Date: Mon, 28 Apr 2008 18:47:38 -0400
Hello all. I've taken some time to search your list archives, and didn't easily find what I was looking for. I have a brand new HP dv9820us laptop. The ethernet card is built in, and the whole motherboard has the nvidia chipset. I'm running Debian Sid with the 2.6.24-1 kernel which was part of the default Debian install. The installer found the ethernet card without issue, and correctly inserts the 'forcedeth' module to use it. The card works fine for generic activities like wired internet access, but neither the tcpdump software nor wireshark sees the card as a possible interface. Here's some data:

jim@jimslaptop:~$ lspci
00:00.0 RAM memory: nVidia Corporation MCP67 Memory Controller (rev a2)
00:01.0 ISA bridge: nVidia Corporation MCP67 ISA Bridge (rev a2)
00:01.1 SMBus: nVidia Corporation MCP67 SMBus (rev a2)
00:01.2 RAM memory: nVidia Corporation MCP67 Memory Controller (rev a2)
00:01.3 Co-processor: nVidia Corporation MCP67 Co-processor (rev a2)
00:02.0 USB Controller: nVidia Corporation MCP67 OHCI USB 1.1 Controller (rev a2)
00:02.1 USB Controller: nVidia Corporation MCP67 EHCI USB 2.0 Controller (rev a2)
00:04.0 USB Controller: nVidia Corporation MCP67 OHCI USB 1.1 Controller (rev a2)
00:04.1 USB Controller: nVidia Corporation MCP67 EHCI USB 2.0 Controller (rev a2)
00:06.0 IDE interface: nVidia Corporation MCP67 IDE Controller (rev a1)
00:07.0 Audio device: nVidia Corporation MCP67 High Definition Audio (rev a1)
00:08.0 PCI bridge: nVidia Corporation MCP67 PCI Bridge (rev a2)
00:09.0 IDE interface: nVidia Corporation MCP67 AHCI Controller (rev a2)
00:0a.0 Ethernet controller: nVidia Corporation MCP67 Ethernet (rev a2)
00:0c.0 PCI bridge: nVidia Corporation MCP67 PCI Express Bridge (rev a2)
00:0d.0 PCI bridge: nVidia Corporation MCP67 PCI Express Bridge (rev a2)
00:12.0 VGA compatible controller: nVidia Corporation GeForce 7150M (rev a2)
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
02:05.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 05)
02:05.1 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22)
02:05.2 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 12)
02:05.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 12)
02:05.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 12)
03:00.0 Network controller: Broadcom Corporation BCM4328 802.11a/b/g/n (rev 03)

Here's the ethernet controller under lspci -vvv as root:
00:0a.0 Ethernet controller: nVidia Corporation MCP67 Ethernet (rev a2)
        Subsystem: Hewlett-Packard Company Unknown device 30cf
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0 (250ns min, 5000ns max)
        Interrupt: pin A routed to IRQ 20
        Region 0: Memory at f2588000 (32-bit, non-prefetchable) [size=4K]
        Region 1: I/O ports at 30f8 [size=8]
        Region 2: Memory at f2589c00 (32-bit, non-prefetchable) [size=256]
        Region 3: Memory at f2589800 (32-bit, non-prefetchable) [size=16]
        Capabilities: [44] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [50] Message Signalled Interrupts: Mask+ 64bit+ Queue=0/3 Enable-
                Address: 0000000000000000  Data: 0000
                Masking: 00000000  Pending: 00000000
        Capabilities: [6c] HyperTransport: MSI Mapping Enable- Fixed+
        Kernel driver in use: forcedeth
        Kernel modules: forcedeth

Both tcpdump and wireshark see my wireless card which is powered by the ndiswrapper module, but neither detects eth0, my wired NIC. To check if maybe the hardware was at fault, I rebooted, installed wireshark into Windows Vista and it was able to detect ethernet traffic and capture it. I believe the forcedeth module is part of the mainline kernel (I didn't have to install or compile it myself, and this is Debian, so it isn't going to give me closed source kernel modules without warning me).

I rely on wireshark all the time at work, so I'm hoping there is a simple fix for this. If there isn't, I'm more than willing to compile SVN software to test out support for this card if that helps any. Here's the exact error messages I get from each piece of software:

tcpdump:
jimslaptop:/home/jim# tcpdump -ieth0
tcpdump: bind: Network is down

wireshark (as root):
The capture session could not be initiated (bind: Network is down).
Please check to make sure you have sufficient permissions, and that you have the proper interface or pipe specified

Thanks,
Jim