Martin Michlmayr <[EMAIL PROTECTED]> :
[...]
> Sorry, to pester you, but I was wondering if you had a chance to look
> at the register dump.

No problem. It would have been easier with a decoded output of the register
dump though (see Lennert dump below).

Lines prefixed by '>' come from Realtek's driver. I have outlined the
differences which seem relevant to me.

0x00: MAC Address                      00:14:fd:10:27:74
> 00    0x00
> 01    0x14
> 02    0xfd
> 03    0x10
> 04    0x27
> 05    0x74

> 06    0x00
> 07    0x00

0x08: Multicast Address Filter     0x00000000 0x00000000
> 08    0x00
> 09    0x00
> 10    0x00
> 11    0x80
          ^^
/me scratches head

> 12    0x00
> 13    0x00
> 14    0x00
> 15    0x00

0x10: Dump Tally Counter Command   0xd7bbfec0 0xfb74b6fb
> 16    0xc0
> 17    0xfe
> 18    0xbb
> 19    0xdf

> 20    0x7b
> 21    0xb6
> 22    0x74
> 23    0xff

> 24    0x00
> 25    0x00
> 26    0x00
> 27    0x00

> 28    0x00
> 29    0x00
> 30    0x00
> 31    0x00

0x20: Tx Normal Priority Ring Addr 0x00000000 0x00000000
> 32    0x00
> 33    0x80
> 34    0x20
> 35    0x07

> 36    0x00
> 37    0x00
> 38    0x00
> 39    0x00

0x28: Tx High Priority Ring Addr   0xfffc3f00 0xfef7f6ad
> 40    0x00
> 41    0x3f
> 42    0xfc
> 43    0xff

> 44    0xac
> 45    0xf7
> 46    0xf7
> 47    0xfe

0x30: Flash memory read/write                 0x00000000
> 48    0x00
> 49    0x00
> 50    0x00
> 51    0x00

0x34: Early Rx Byte Count                              0
> 52    0x00
> 53    0x00

0x36: Early Rx Status                               0x00
> 54    0x08

0x37: Command                                       0x00
      Rx off, Tx off
> 55    0x0c
          ^^ -> CmdRxEnb | CmdTxEnb

If ChipCmd is not set, the driver will hardly work.

Lennert, your dump was taken while the kernel driver was down, right ?

> 56    0x00
> 57    0x00
> 58    0x00
> 59    0x00

0x3C: Interrupt Mask                              0x0000
> 60    0x7f
          ^^
> 61    0x00

        RxFIFOOver = 0x40,
        LinkChg    = 0x20,
        RxOverflow = 0x10,
        TxErr      = 0x08,
        TxOK       = 0x04,
        RxErr      = 0x02,
        RxOK       = 0x01,

0x0000 is typical of rtl8169_irq_mask_and_ack().
The device seems down.

0x3E: Interrupt Status                            0x0000
> 62    0x00
> 63    0x00

0x40: Tx Configuration                        0x10000000
> 64    0x00
> 65    0x07
          ^^
Realtek's driver uses an unlimited DMA burst (7) instead
of 1024 (6, see TX_DMA_BURST). Probably harmless.

> 66    0x00
> 67    0x13

0x44: Rx Configuration                        0x00000002
> 68    0x0e
          ^^
These bit should be set by the kernel driver through
rtl8169_set_rx_mode() when the device is brought up

The exact same value would require to replace (in rtl8169_set_rx_mode):
                rx_mode = AcceptBroadcast | AcceptMyPhys;
by:
                rx_mode = AcceptBroadcast | AcceptMulticast | AcceptMyPhys;


> 69    0xe7
> 70    0x00
> 71    0x00

0x48: Timer count                             0x95887845
> 72    0x24
> 73    0x57
> 74    0xaf
> 75    0x31

0x4C: Missed packet counter                     0x000000
> 76    0x00
> 77    0x00
> 78    0x00
> 79    0x00

0x50: EEPROM Command                                0x00
> 80    0x00

0x51: Config 0                                      0x04
> 81    0x04

0x52: Config 1                                      0x1f
> 82    0x1f

0x53: Config 2                                      0x10
> 83    0x10

0x54: Config 3                                      0x20
> 84    0x20

0x55: Config 4                                      0x80
> 85    0x80

0x56: Config 5                                      0x01
> 86    0x03
> 87    0x00

0x58: Timer interrupt                         0x00000000
> 88    0x00
> 89    0x00
> 90    0x00
> 91    0x00

0x5C: Multiple Interrupt Select                   0x0000
> 92    0x00
> 93    0x00

> 94    0x10
> 95    0x00

0x60: PHY access                              0x80001000
> 96    0x6d
> 97    0x79
> 98    0x01
> 99    0x80

0x64: TBI control and status                  0x00000000
> 100   0x00
> 101   0x00
> 102   0x00
> 103   0x00

0x68: TBI Autonegotiation advertisement (ANAR)    0x0000
> 104   0x00
> 105   0x00

0x6A: TBI Link partner ability (LPAR)             0x0000
> 106   0x00
> 107   0x00

0x6C: PHY status                                    0x6b
> 108   0x6b

> 109   0x00
> 110   0x00
> 111   0x00
> 112   0xff
> 113   0xfd
> 114   0xfb
> 115   0xff
> 116   0xfc
> 117   0x03
> 118   0x00
> 119   0x00
> 120   0x00
> 121   0xff
> 122   0xff
> 123   0xff
> 124   0x00
> 125   0x00
> 126   0x00
> 127   0x00
> 128   0x00
> 129   0x00
> 130   0x00
> 131   0x00

0x84: PM wakeup frame 0            0xbcfeef7f 0xdffffe9f
> 132   0x7f
> 133   0xef
> 134   0xfe
> 135   0xfc
> 136   0x9f
> 137   0xfe
> 138   0xff
> 139   0xdf

0x8C: PM wakeup frame 1            0xabf7cf3f 0xfffbdbbf
> 140   0x3f
> 141   0xcf
> 142   0xf7
> 143   0xab
> 144   0xbf
> 145   0xdb
> 146   0xfb
> 147   0xff

0x94: PM wakeup frame 2 (low)      0xdfbbfedf 0xbfbffffd
> 148   0xdf
> 149   0xff
> 150   0xfa
> 151   0xdf
> 152   0xfd
> 153   0xbf
> 154   0xbf
> 155   0xbf

0x9C: PM wakeup frame 2 (high)     0xaa75befc 0xcb5feaf9
> 156   0xfc
> 157   0xbe
> 158   0x75
> 159   0xaa
> 160   0xf9
> 161   0xea
> 162   0x5f
> 163   0xcb

0xA4: PM wakeup frame 3 (low)      0xbbdf6fdf 0xff7e75b7
> 164   0xdf
> 165   0x6f
> 166   0xdf
> 167   0xfb
> 168   0xb7
> 169   0x75
> 170   0x7e
> 171   0xff

0xAC: PM wakeup frame 3 (high)     0xbbdffbf9 0xfbfcffff
> 172   0xfd
> 173   0xfb
> 174   0xdf
> 175   0xbb
> 176   0xff
> 177   0xff
> 178   0x7c
> 179   0xff

0xB4: PM wakeup frame 4 (low)      0x7f3bde9f 0x3bbffa7f
> 180   0x9f
> 181   0xde
> 182   0x3b
> 183   0x7f
> 184   0x7f
> 185   0xfa
> 186   0xbf
> 187   0xbb

0xBC: PM wakeup frame 4 (high)     0xae9fbdcd 0x32c8bbff
> 188   0xcd
> 189   0xfd
> 190   0x9f
> 191   0xae
> 192   0xff
> 193   0xbb
> 194   0xc8
> 195   0x36

0xC4: Wakeup frame 0 CRC                          0x9aff
> 196   0xef
> 197   0xda
0xC6: Wakeup frame 1 CRC                          0xfdbf
> 198   0xff
> 199   0xff
0xC8: Wakeup frame 2 CRC                          0xaeff
> 200   0xff
> 201   0xae
0xCA: Wakeup frame 3 CRC                          0x6bfe
> 202   0xfe
> 203   0x6a
0xCC: Wakeup frame 4 CRC                          0xdc2f
> 204   0x2f
> 205   0xdc

> 206   0x00
> 207   0x00
> 208   0x00
> 209   0x00
> 210   0x00
> 211   0x00
> 212   0x00
> 213   0x00
> 214   0x00
> 215   0x00
> 216   0x00
> 217   0x00

0xDA: RX packet maximum size                      0x3fff
> 218   0xf2
          ^^
> 219   0x05
          ^^
Probably harmless: 1522 bytes max instead of max jumbo.

> 220   0x00
> 221   0x00
> 222   0x00
> 223   0x00

0xE0: C+ Command                                  0x2028
      RX checksumming
      PCI Multiple RW
> 224   0x08

Rx checksum is disabled in Realtek's driver. Probably harmless.

> 225   0x20

0xE2: Interrupt Mitigation                        0x0000
      TxTimer:       0
      TxPackets:     0
      RxTimer:       0
      RxPackets:     0
> 226   0x00
> 227   0x00

0xE4: Rx Ring Addr                 0x07bd4000 0x00000000
> 228   0x00
> 229   0x00
> 230   0x79
> 231   0x07

> 232   0x00
> 233   0x00
> 234   0x00
> 235   0x00

0xEC: Early Tx threshold                            0x3f
> 236   0x3f

> 237   0x00
> 238   0x00
> 239   0x00
> 240   0x00
> 241   0x80
> 242   0x00
> 243   0x00
> 244   0x00
> 245   0x00
> 246   0x00
> 247   0x00
> 248   0x02
> 249   0x00
> 250   0x00
> 251   0x00
> 252   0x00
> 253   0x00
> 254   0x00
> 255   0x00

-- 
Ueimor
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to