CodingBox Q&A Ask question

FreeBSD 12.1 sees a QLogic FastLinQ QL41112 SFP+ card on PCI but attaches no driver

Asked Active Viewed 138 Original language: English
1

I look after a small pool of FreeBSD boxes and I am adding 10G to one of them. The card went in, the machine boots fine, but the OS refuses to make an interface out of it.

  • Server on FreeBSD 12.1-RELEASE-p1, stock GENERIC kernel
  • QLogic FastLinQ QL41112 dual-port 10GbE SFP+ adapter
  • SFP+ optics in both cages, switch side is configured and waiting
  • Nothing custom in /boot/loader.conf beyond the defaults

The card is on the bus, and that is where it stops, identically for both functions:

pci7: <network, ethernet> at device 0.0 (no driver attached)

No interface is created, so there is nothing to configure and no way to read transceiver status at all.

What I have already done:

  • reseated the card in a different slot, same message
  • swapped the optics between the two cages in case one was dead
  • went through ifconfig looking for anything that is not lo0 or the onboard NIC

Since the PCI device is clearly enumerated I assume this is a driver problem rather than an optics problem, but I cannot work out whicch driver serves this card on this release. Which module do I need, and is it something I have to build myself?

Comments 3

Accepted answer

That card is served by qlnxe(4), and on that release it is not pulled in automatically, which is exactly why you get the PCI line and nothing after it. Put the module in the loader and reboot:

if_qlnxe_load="YES"

in /boot/loader.conf. After the reboot, check in this order, it saves a lot of guessing:

uname -a
kldstat
dmesg
pciconf -l

kldstat proves the module is really loaded and not just written into a config file, dmesg should now carry attach messages instead of no driver attached, and pciconf -l confrims the device is still where you left it. Once the interfaces exist you can go back to worrying about the optics.

One caveat: the driver covers a specific set of FastLinQ models, so read the release notes that come with the vendor driver package for your exact board rather than assuming. Someone with a 25GbE QL41000-series card loaded the driver and still had nothing, which is why the sequence above is worth running properly instead of as a formality. For a 10G QL41112 on 12.1 it is the standard fix.

3 United Arab Emirateslambdahawk88AE Original (English)

Before anything else, pin down what the machine actually sees. Post the output of

uname -a
pciconf -l

and confirm what is loaded with kldstat. On a stock GENERIC kernel there is a fair chance the answer is simply that the module for that family is not autoloaded, and a missing interface is exactly wat that looks like. Until a driver attaches, the optics are irrelevant, so stop swapping them.

1 Indiawaverunner21IN Original (English)

Fair enough. uname -a confirms 12.1-RELEASE-p1. pciconf -l lists both functions with none as the device name rather than a driver name, so nothing has claimed them. kldstat shows the kernel and the usual handful of modules, nothing that looks QLogic related. So it does look like a plain missing-driver case rather than dead hardware.

2 Mexicolaserops32MX Original (English)
Log in to comment. Log in