Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 02 Jun 2013 19:18:07 -0700
From:      Alfred Perlstein <bright@mu.org>
To:        John <jwd@FreeBSD.org>
Cc:        freebsd-net <freebsd-net@freebsd.org>
Subject:   Re: 9-STABLE: Chelsio t4nex0: failed to pre-process config file: 2.
Message-ID:  <51ABFCDF.8040308@mu.org>
In-Reply-To: <20130603012206.GA46126@FreeBSD.org>
References:  <20130603012206.GA46126@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"
>




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?51ABFCDF.8040308>