> Date: Sat, 7 Jul 2012 23:34:05 +0200
> From: Stefan Sperling <[email protected]>
>
> My laptop has a chip which the Linux brcm80211 driver calls
> #define BCM43224_D11N_ID_VEN1 0x0576 /* Vendor specific 43224 802.11n db
> */
The Linux people aren't know for their consistent naming of PCI device
IDs. So usually not a god place to look for inspiration.
Wonder if this is just a vendor screwup where they programmed the
wrong value in an EEPROM. Seems to happen all the time :(
> Diff below adds the PCI id. ok?
>
> pcidump output:
> 1:0:0: Broadcom unknown
> 0x0000: Vendor ID: 14e4 Product ID: 0576
> 0x0004: Command: 0006 Status ID: 0010
> 0x0008: Class: 02 Subclass: 80 Interface: 00 Revision: 01
> 0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size: 08
> 0x0010: BAR mem 64bit addr: 0x00000000f0200000/0x00004000
> 0x0018: BAR empty (00000000)
> 0x001c: BAR empty (00000000)
> 0x0020: BAR empty (00000000)
> 0x0024: BAR empty (00000000)
> 0x0028: Cardbus CIS: 00000000
> 0x002c: Subsystem Vendor ID: 14e4 Product ID: 0576
> 0x0030: Expansion ROM Base Address: 00000000
> 0x0038: 00000000
> 0x003c: Interrupt Pin: 01 Line: 0a Min Gnt: 00 Max Lat: 00
> 0x0040: Capability 0x01: Power Management
> 0x0058: Capability 0x09: Vendor Specific
> 0x0048: Capability 0x05: Message Signaled Interrupts (MSI)
> 0x00d0: Capability 0x10: PCI Express
> Link Speed: 2.5 / 2.5 GT/s Link Width: x1 / x1
>
>
> Index: pcidevs
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/pcidevs,v
> retrieving revision 1.1649
> diff -u -p -r1.1649 pcidevs
> --- pcidevs 5 Jul 2012 10:22:08 -0000 1.1649
> +++ pcidevs 7 Jul 2012 21:25:52 -0000
> @@ -1652,6 +1652,7 @@ product BROADCOM BCM4322 0x432b BCM4322
> product BROADCOM SERIAL 0x4333 Serial
> product BROADCOM SERIAL_GC 0x4344 Serial
> product BROADCOM BCM43224 0x4353 BCM43224
> +product BROADCOM BCM43224_VEN1 0x0576 BCM43224
> product BROADCOM BCM43225 0x4357 BCM43225
> product BROADCOM BCM43227 0x4358 BCM43227
> product BROADCOM BCM4401 0x4401 BCM4401
> Index: pcidevs.h
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/pcidevs.h,v
> retrieving revision 1.1646
> diff -u -p -r1.1646 pcidevs.h
> --- pcidevs.h 5 Jul 2012 10:23:31 -0000 1.1646
> +++ pcidevs.h 7 Jul 2012 21:25:53 -0000
> @@ -1657,6 +1657,7 @@
> #define PCI_PRODUCT_BROADCOM_SERIAL 0x4333 /* Serial */
> #define PCI_PRODUCT_BROADCOM_SERIAL_GC 0x4344 /* Serial */
> #define PCI_PRODUCT_BROADCOM_BCM43224 0x4353 /* BCM43224 */
> +#define PCI_PRODUCT_BROADCOM_BCM43224_VEN1 0x0576 /*
> BCM43224 */
> #define PCI_PRODUCT_BROADCOM_BCM43225 0x4357 /* BCM43225 */
> #define PCI_PRODUCT_BROADCOM_BCM43227 0x4358 /* BCM43227 */
> #define PCI_PRODUCT_BROADCOM_BCM4401 0x4401 /* BCM4401 */
> Index: pcidevs_data.h
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/pcidevs_data.h,v
> retrieving revision 1.1641
> diff -u -p -r1.1641 pcidevs_data.h
> --- pcidevs_data.h 5 Jul 2012 10:23:31 -0000 1.1641
> +++ pcidevs_data.h 7 Jul 2012 21:25:53 -0000
> @@ -4820,6 +4820,10 @@ static const struct pci_known_product pc
> "BCM43224",
> },
> {
> + PCI_VENDOR_BROADCOM, PCI_PRODUCT_BROADCOM_BCM43224_VEN1,
> + "BCM43224",
> + },
> + {
> PCI_VENDOR_BROADCOM, PCI_PRODUCT_BROADCOM_BCM43225,
> "BCM43225",
> },