9-STABLE: Chelsio t4nex0: failed to pre-process config file: 2.

Alfred Perlstein bright at mu.org
Mon Jun 3 02:18:16 UTC 2013


This looks like the result of forgetting to include the actual firmware 
in the kernel config and/or the firmware device itself.

Can you check if you've included all the needed extra modules in the 
kernel config such as firmware(4) and the module for the card firmware 
itself?

A trick you can use is to run "kldstat" after loading the module, you'll 
see which additional modules were needed for the device to work.  
Unfortunately the kernel can't autoload those modules while booting.

I'm not sure if loader(8) picks up the deps either.

-Alfred


On 6/2/13 6:22 PM, John wrote:
> Hi Folks,
>
>     I have a pair of Chelsio T4 cards installed in a new HP DL380
> system. The driver does not load at boot time, failing with the
> message:
>
> t4nex0: failed to pre-process config file: 2.
>
>     After the system has finished booting, if I then issue a
> 'kldload if_cxgbe' command, the driver loads correctly. Note,
> the driver loads correctly from the command prompt with or
> without the if_cxgbe_load in /boot/loader.conf.
>
>     The message is coming from t4_main.c:partition_resources().
> I don't see anything obvious that would cause this:
>
>          rc = cfg ? upload_config_file(sc, cfg, &mtype, &maddr) : ENOENT;
>          if (rc != 0) {
>                  mtype = FW_MEMTYPE_CF_FLASH;
>                  maddr = t4_flash_cfg_addr(sc);
>          }
>          
>          bzero(&caps, sizeof(caps));
>          caps.op_to_write = htobe32(V_FW_CMD_OP(FW_CAPS_CONFIG_CMD) |
>              F_FW_CMD_REQUEST | F_FW_CMD_READ);
>          caps.cfvalid_to_len16 = htobe32(F_FW_CAPS_CONFIG_CMD_CFVALID |
>              V_FW_CAPS_CONFIG_CMD_MEMTYPE_CF(mtype) |
>              V_FW_CAPS_CONFIG_CMD_MEMADDR64K_CF(maddr >> 16) | FW_LEN16(caps));
>          rc = -t4_wr_mbox(sc, sc->mbox, &caps, sizeof(caps), &caps);
>          if (rc != 0) {
>                  device_printf(sc->dev,
>                      "failed to pre-process config file: %d.\n", rc);
>                  return (rc);
>          }
>
>     Has anyone run into this?
>
> Thanks,
> John
>
> ps: And the output from loading the driver module by hand:
>
> t4nex0: <Chelsio T440-CR> mem 0xf7cc0000-0xf7cfffff,0xf7000000-0xf77fffff,0xf6ff0000-0xf6ff1fff irq 26 at device 0.4 on pci7
> t4nex0: installing firmware 1.8.4.0 on card.
> cxgbe0: <port 0> on t4nex0
> cxgbe0: Ethernet address: 00:07:43:11:e9:00
> cxgbe0: 16 txq, 8 rxq
> cxgbe1: <port 1> on t4nex0
> cxgbe1: Ethernet address: 00:07:43:11:e9:08
> cxgbe1: 16 txq, 8 rxq
> cxgbe2: <port 2> on t4nex0
> cxgbe2: Ethernet address: 00:07:43:11:e9:10
> cxgbe2: 16 txq, 8 rxq
> cxgbe3: <port 3> on t4nex0
> cxgbe3: Ethernet address: 00:07:43:11:e9:18
> cxgbe3: 16 txq, 8 rxq
> t4nex0: PCIe x8, 4 ports, 34 MSI-X interrupts, 101 eq, 33 iq
> t4nex1: <Chelsio T440-CR> mem 0xfbcc0000-0xfbcfffff,0xfb000000-0xfb7fffff,0xfaff0000-0xfaff1fff irq 58 at device 0.4 on pci36
> t4nex1: installing firmware 1.8.4.0 on card.
> cxgbe4: <port 0> on t4nex1
> cxgbe4: Ethernet address: 00:07:43:11:e6:a0
> cxgbe4: 16 txq, 8 rxq
> cxgbe5: <port 1> on t4nex1
> cxgbe5: Ethernet address: 00:07:43:11:e6:a8
> cxgbe5: 16 txq, 8 rxq
> cxgbe6: <port 2> on t4nex1
> cxgbe6: Ethernet address: 00:07:43:11:e6:b0
> cxgbe6: 16 txq, 8 rxq
> cxgbe7: <port 3> on t4nex1
> cxgbe7: Ethernet address: 00:07:43:11:e6:b8
> cxgbe7: 16 txq, 8 rxq
> t4nex1: PCIe x8, 4 ports, 34 MSI-X interrupts, 101 eq, 33 iq
>
>
>
>
> _______________________________________________
> freebsd-net at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
>



More information about the freebsd-net mailing list