Bug 263046 - drivers for BCM57504 NetXtreme-E quad-port NICs ? bnxt
Summary: drivers for BCM57504 NetXtreme-E quad-port NICs ? bnxt
Status: In Progress
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 13.1-RELEASE
Hardware: Any Any
: --- Affects Only Me
Assignee: Warner Losh
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-04-04 19:04 UTC by Kurt Jaeger
Modified: 2025-02-18 19:55 UTC (History)
9 users (show)

See Also:


Attachments
patch-if_bnxt.c (991 bytes, patch)
2022-06-27 08:28 UTC, Kurt Jaeger
no flags Details | Diff
dmesg output from 14-CURRENT 2023-06-08 (331.02 KB, image/jpeg)
2023-06-13 18:44 UTC, Michael Dexter
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Kurt Jaeger freebsd_committer freebsd_triage 2022-04-04 19:04:07 UTC
Is there a driver for BCM57504 NetXtreme-E quad-port NICs ?

pciconf -lvb has this:

none24@pci0:24:0:0:     class=0x020000 rev=0x11 hdr=0x00 vendor=0x14e4 device=0x1751 subvendor=0x14e4 subdevice=0x4250
    vendor     = 'Broadcom Inc. and subsidiaries'
    device     = 'BCM57504 NetXtreme-E 10Gb/25Gb/40Gb/50Gb/100Gb/200Gb Ethernet'
    class      = network
    subclass   = ethernet
    bar   [10] = type Memory, range 64, base rxbb630000, size 65536, enabled
    bar   [18] = type Prefetchable Memory, range 64, base rx201fffd00000, size 1048576, enabled
    bar   [20] = type Prefetchable Memory, range 64, base rx201fffe06000, size 8192, enabled
Comment 1 Kurt Jaeger freebsd_committer freebsd_triage 2022-06-24 10:37:13 UTC
I found drivers here:

  https://www.broadcom.com/products/ethernet-connectivity/network-adapters/p425g

testbuilding on 13.1 right now.
Comment 2 Kurt Jaeger freebsd_committer freebsd_triage 2022-06-24 12:52:20 UTC
After I disabled -Werror, it builds, but:

link_elf_obj: symbol if_multiaddr_count undefined

Building out from the CURRENT tree does not find that function 8-(
Comment 3 Kurt Jaeger freebsd_committer freebsd_triage 2022-06-27 08:28:10 UTC
Created attachment 234968 [details]
patch-if_bnxt.c

With this patch the driver from broadcom compiles, if Werror is disabled.

The interfaces are then detected as bnxt0 to bnxt3. TODO: needs testing
Comment 4 Kurt Jaeger freebsd_committer freebsd_triage 2022-06-27 08:48:48 UTC
(In reply to Kurt Jaeger from comment #3)
insta-crash after

  ifconfig bnxt0 192.168.12.12/24

At least, adding a 25g optic detects a 25g link 8-)

But: The driver does not provide transceiver data with -v ?

This is was an 'ifconfig -v ix0' reports for the transceiver:
        plugged: SFP/SFP+/SFP28 10G Base-SR (LC)
        vendor: SOLID-OPTICS PN: EX-SFP-10G-SR-SO SN: SOP850SXK306 DATE: 2017-09-07
        module temperature: 42.00 C voltage: 3.25 Volts
        lane 1: RX power: 0.61 mW (-2.12 dBm) TX bias: 6.31 mA
Comment 5 Kurt Jaeger freebsd_committer freebsd_triage 2022-06-27 09:43:48 UTC
(In reply to Kurt Jaeger from comment #4)
Case#CS00012251577 from Broadcom says:

The driver only supports 12.2. Newer drivers expected end of 2022 or
beginning of 2023.
Comment 6 stephen 2022-08-25 16:03:29 UTC
wow this is a super bummer - i assume all this testing was done with the 222.0.74.0 driver? i may have to explore going with 12.2 instead of 13.1 for now...
Comment 7 Andy Gospodarek 2022-09-06 12:25:23 UTC
Support for this hardware should be included with the patch series recently posted. Specifically this patch:

https://reviews.freebsd.org/D36438
Comment 8 stephen 2022-09-06 14:29:34 UTC
(In reply to Andy Gospodarek from comment #7)
excellent! thanks for posting this update. will follow the progress on this patch.
Comment 9 Kurt Jaeger freebsd_committer freebsd_triage 2022-09-06 16:27:03 UTC
(In reply to Andy Gospodarek from comment #7)
Does this patch apply to a current src tree or to the 13.1 src tree ?
Or does it apply to the downloadable driver ?
Comment 10 Warner Losh freebsd_committer freebsd_triage 2022-11-04 23:00:19 UTC
I just pushed all the changes through that were in review (in addition to the one listed here). They all build and are fine. The commit is 75217c2b4700a1954971b1ec3722c39dd934e287 but I can't test it for lack of hardware. 

Can someone boot -current to see if that works...

Or do a git cherry-pick 0e3b0045a895..75217c2b4700 on stable/13 (it should work, but the 64-bit only patch may conflict, but the fixup is obvious if so)
Comment 11 Michael Dexter freebsd_triage 2023-06-13 18:44:45 UTC
Created attachment 242765 [details]
dmesg output from 14-CURRENT 2023-06-08

I tried this on a BCM57504 with the June 8th snapshot:

FreeBSD-14.0-CURRENT-amd64-20230608-653738e895ba-263444-disc1.iso

Note the attached dmesg output for the errors reported.
Comment 12 Mark Linimon freebsd_committer freebsd_triage 2025-02-18 17:45:30 UTC
^Triage: assign to committer.

To commenters: is there anything further to be done on this PR?