Stig Thormodsrud wrote: > Below is the ethtool output after a disconnect: > > r...@vdut:~# ethtool eth1 > Settings for eth1: > Supported ports: [ TP ] > Supported link modes: 10baseT/Half 10baseT/Full > 100baseT/Half 100baseT/Full > 1000baseT/Full > Supports auto-negotiation: Yes > Advertised link modes: 10baseT/Half 10baseT/Full > 100baseT/Half 100baseT/Full > 1000baseT/Full > Advertised auto-negotiation: Yes > Speed: 1000Mb/s > Duplex: Full > Port: Twisted Pair > PHYAD: 0 > Transceiver: internal > Auto-negotiation: on > Supports Wake-on: d > Wake-on: d > Current message level: 0x00000007 (7) > Link detected: yes > > r...@vdut:~# ethtool -i eth1 > driver: e1000 > version: 7.3.21-k3-NAPI > firmware-version: N/A > bus-info: 0000:00:11.0 > > > r...@vdut:~# ethtool -d eth1 > MAC Registers > ------------- > 0x00000: CTRL (Device control register) 0x00C00249 > Endian mode (buffers): little > Link reset: reset > Set link up: 1 > Invert Loss-Of-Signal: no > Receive flow control: disabled > Transmit flow control: disabled > VLAN mode: disabled > Auto speed detect: disabled > Speed select: 1000Mb/s > Force speed: no > Force duplex: no > 0x00008: STATUS (Device status register) 0x0000CB83 > Duplex: full > Link up: link config > TBI mode: disabled > Link speed: 1000Mb/s > Bus type: PCI > Bus speed: 66MHz > Bus width: 32-bit > 0x00100: RCTL (Receive control register) 0x00048002 > Receiver: enabled > Store bad packets: disabled > Unicast promiscuous: disabled > Multicast promiscuous: disabled > Long packet: disabled > Descriptor minimum threshold size: 1/2 > Broadcast accept mode: accept > VLAN filter: enabled > Canonical form indicator: disabled > Discard pause frames: filtered > Pass MAC control frames: don't pass > Receive buffer size: 2048 > 0x02808: RDLEN (Receive desc length) 0x00001000 > 0x02810: RDH (Receive desc head) 0x0000006B > 0x02818: RDT (Receive desc tail) 0x00000069 > 0x02820: RDTR (Receive delay timer) 0x00000000 > 0x00400: TCTL (Transmit ctrl register) 0x0103F0FA > Transmitter: enabled > Pad short packets: enabled > Software XOFF Transmission: disabled > Re-transmit on late collision: enabled > 0x03808: TDLEN (Transmit desc length) 0x00001000 > 0x03810: TDH (Transmit desc head) 0x00000000 > 0x03818: TDT (Transmit desc tail) 0x00000000 > 0x03820: TIDV (Transmit delay timer) 0x00000008 > PHY type: M88 >
Based on the information provided I would say the problem lies in the vmware emulation layer. Our driver is checking the link status and the registers in the emulation layer are reporting that the link is up which implies that we should be able to transmit. Below is the bit I was concerned with from the registers as the status register is stating the link is up. 0x00008: STATUS (Device status register) 0x0000CB83 Duplex: full Link up: link config TBI mode: disabled Link speed: 1000Mb/s I suspect that when the vmware emulation layer is disconnected that the transmit doesn't actually do anything and so to the driver everything appears to be hung. You might try checking with vmware to see if they can provide you with any additional information on their emulation layer since that seems to be where things are going wrong. Thanks, Alex ------------------------------------------------------------------------------ _______________________________________________ E1000-devel mailing list E1000-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/e1000-devel