How do I pin a driver version?

I’m running unstable and a while back an update completely killed my wifi drivers. I just rolled back and decided to wait and see if they get fixed. It’s been quite a while now and they still don’t work on latest so I decided to try and just figure out how to pin the old version instead. I’ve been googling a bit and cannot figure out how to do this though.

lspci calls it: Network controller: Broadcom Inc. and subsidiaries BCM4360 802.11ac Wireless Network Adapter (rev 03) and I’ve thrown the box away so no manuals or further details.

So my questions are:

  1. How do I figure out what the actual package in question is?
  2. How do I pin that without pinning all other packages on my system?

EDIT: Switching back to that kernel version didn’t help and on Pop the wifi driver was a separate package, so I don’t think switching kernel versions will help.

Aren’t wifi drivers usually built right into the kernel?

I think so, here is an example of how you can use a newer kernel:

That was my first reaction too, but switching back to that kernel version didn’t do anything and on the previous distro I used, Pop (Ubuntu based) it wasn’t in the kernel and required a separate package.

If you use pass -v to lspci, what does it say the driver for it is?

01:00.0 Network controller: Broadcom Inc. and subsidiaries BCM4360 802.11ac Wireless Network Adapter (rev 03)
	Subsystem: ASUSTeK Computer Inc. Device 85df
	Flags: bus master, fast devsel, latency 0, IRQ 16
	Memory at df400000 (64-bit, non-prefetchable) [size=32K]
	Memory at df200000 (64-bit, non-prefetchable) [size=2M]
	Capabilities: [48] Power Management version 3
	Capabilities: [58] MSI: Enable- Count=1/1 Maskable- 64bit+
	Capabilities: [68] Vendor Specific Information: Len=44 <?>
	Capabilities: [ac] Express Endpoint, MSI 00
	Capabilities: [100] Advanced Error Reporting
	Capabilities: [13c] Device Serial Number 04-d9-00-ff-ff-00-00-00
	Capabilities: [150] Power Budgeting <?>
	Capabilities: [160] Virtual Channel
	Capabilities: [1b0] Latency Tolerance Reporting
	Capabilities: [220] Physical Resizable BAR
	Kernel driver in use: wl
	Kernel modules: bcma, wl

Oh, wl seems to come from the broadcom_sta package. Not sure how you’d go about downgrading that.

But that doesn’t make any sense, that package hasn’t had any real updates since January 2021. Why would that break now? That doesn’t seem to follow either the idea of Nix’s isolation or the kernel’s idea of never breaking userspace