Subject: Re: patch for bge driver with 5751M chip
To: elmar <elmar@engel-kg.com>
From: Kurt Schreiner <ks@ub.uni-mainz.de>
List: tech-kern
Date: 06/15/2005 17:20:43
On Wed, Jun 15, 2005 at 04:51:32PM +0200, elmar wrote:
> On Wed, Jun 15, 2005 at 03:19:37PM +0200, Quentin Garnier wrote:
> > On Wed, Jun 15, 2005 at 03:03:05PM +0200, Kurt Schreiner wrote:
> > > On Tue, Jun 14, 2005 at 06:54:20PM +0200, elmar wrote:
> > > > hi all,
> > > > 
> > > > I found my NIC was not supported on my laptop (HP Compaq nx8220) but I
> > > > could make it work with the applied patch (which only adds some IDs).
> > > > 
> > > > it has been tested under -currennt (3.99.3 and 3.99.6).
> > > > 
> > > > would someone else like to test (and commit) it?
> > > Same here w/ a new IBM T43p. I did virtually the same here to get
> > > things going. Can someone commit the patch from elmar or is
> > > send-pr'ing neccessary?
> > 
> > I'd like to see the relevant dmesg(1) output first.
> 
> I attached the corresponding snippets from  dmesg  and  scanpci -v.
> although there is still the word 'unknown' in dmesg's output, the interface
> works just fine.
And here's the relevant output from my t43p:

dmesg:

bge0 at pci2 dev 0 function 0: Broadcom BCM5751M Gigabit Ethernet
bge0: interrupting at irq 11
bge0: ASIC unknown BCM5750 (0x4101), Ethernet address 00:11:25:b1:41:71
brgphy0 at bge0 phy 1: BCM5750 1000BASE-T media interface, rev. 0
brgphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto

scanpci:

pci bus 0x0002 cardnum 0x00 function 0x00: vendor 0x14e4 device 0x167d
 Broadcom Corporation NetXtreme BCM5751M Gigabit Ethernet PCI Express
 CardVendor 0x1014 card 0x0577 (IBM, Card unknown)
  STATUS    0x0010  COMMAND 0x0106
  CLASS     0x02 0x00 0x00  REVISION 0x11
  BIST      0x00  HEADER 0x00  LATENCY 0x00  CACHE 0x08
  BASE0     0x00000000a8200004  addr 0x00000000a8200000  MEM 64BIT
  MAX_LAT   0x00  MIN_GNT 0x00  INT_PIN 0x01  INT_LINE 0x0b


Btw, the t43p has an "Intel Corp. 82801FBM (ICH6M) SATA Controller":

dmesg:

pcib0: Intel product 0x2641 (rev. 0x03)
piixide0 at pci0 dev 31 function 2
piixide0: Intel 82801FBM Serial ATA Controller (ICH6) (rev. 0x03)
piixide0: bus-master DMA support present
piixide0: primary channel wired to compatibility mode
piixide0: primary channel interrupting at irq 14
atabus0 at piixide0 channel 0
piixide0: secondary channel wired to compatibility mode
piixide0: secondary channel interrupting at irq 15
atabus1 at piixide0 channel 1
...
wd0 at atabus0 drive 0: <HTS726060M9AT00>
wd0: drive supports 16-sector PIO transfers, LBA addressing
wd0: 57231 MB, 116280 cyl, 16 head, 63 sec, 512 bytes/sect x 117210240 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd0(piixide0:0:0): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA)
wd1 at atabus1 drive 0: <HTS548080M9AT00>
wd1: drive supports 16-sector PIO transfers, LBA48 addressing
wd1: 76319 MB, 155061 cyl, 16 head, 63 sec, 512 bytes/sect x 156301488 sectors
wd1: 32-bit data port
wd1: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd1(piixide0:1:0): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA)


scanpci:

pci bus 0x0000 cardnum 0x1f function 0x02: vendor 0x8086 device 0x2653
 Intel Corp. 82801FBM (ICH6M) SATA Controller
 CardVendor 0x1014 card 0x056a (IBM, Card unknown)
  STATUS    0x02b0  COMMAND 0x0005
  CLASS     0x01 0x01 0x80  REVISION 0x03
  BIST      0x00  HEADER 0x00  LATENCY 0x00  CACHE 0x00
  BASE0     0x00000001  addr 0x00000000  I/O
  BASE1     0x00000001  addr 0x00000000  I/O
  BASE2     0x00000001  addr 0x00000000  I/O
  BASE3     0x00000001  addr 0x00000000  I/O
  BASE4     0x000018c1  addr 0x000018c0  I/O
  MAX_LAT   0x00  MIN_GNT 0x00  INT_PIN 0x00  INT_LINE 0xff
  BYTE_0    0x07  BYTE_1  0xa3  BYTE_2  0x07  BYTE_3  0xa3


To get this up and running, the following tow patches (and regenerating
pcidevs.h and pcidevs_data.h) are needed:


*** /u/NetBSD/src/sys/dev/pci/pcidevs   Tue Jun 14 22:41:23 2005
--- pcidevs     Wed Jun 15 16:55:53 2005
***************
*** 1163,1168 ****
--- 1163,1169 ----
  product BROADCOM BCM5750      0x1676  BCM5750 10/100/1000 Ethernet
  product BROADCOM BCM5751      0x1677  BCM5751 10/100/1000 Ethernet
  product BROADCOM BCM5750M     0x167c  BCM5750M 10/100/1000 Ethernet
+ product BROADCOM BCM5751M     0x167d  BCM5751M 10/100/1000 Ethernet
  product BROADCOM BCM5782      0x1696  BCM5782 10/100/1000 Ethernet
  product BROADCOM BCM5788      0x169c  BCM5788 10/100/1000 Ethernet
  product BROADCOM BCM4401_B0   0x170c  BCM4401-B0 10/100 Ethernet
***************
*** 1848,1853 ****
--- 1849,1855 ----
  product INTEL 82801FB_LPC     0x2640  82801FB LPC Interface Bridge
  product INTEL 82801FB_SATA    0x2651  82801FB Serial ATA Controller
  product INTEL 82801FR_SATA    0x2652  82801FR Serial ATA Controller
+ product INTEL 82801FBM_SATA   0x2653  82801FBM Serial ATA Controller
  product INTEL 82801FB_USB_0   0x2658  82801FB/FR USB UHCI Controller
  product INTEL 82801FB_USB_1   0x2659  82801FB/FR USB UHCI Controller
  product INTEL 82801FB_USB_2   0x265a  82801FB/FR USB UHCI Controller

*** /u/NetBSD/src/sys/dev/pci/piixide.c Tue May 24 21:24:36 2005
--- piixide.c   Wed Jun 15 17:00:55 2005
***************
*** 159,164 ****
--- 159,169 ----
          "Intel 82801FR Serial ATA/Raid Controller",
          piixsata_chip_map,
        },
+       { PCI_PRODUCT_INTEL_82801FBM_SATA,
+         0,
+         "Intel 82801FBM Serial ATA Controller (ICH6)",
+         piixsata_chip_map,
+       },
        { 0,
          0,
          NULL,


Kurt