Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 24 Jul 2012 14:16:54 -0500
From:      Peter Feger <magickal1@gmail.com>
To:        Jurgen Weber <jurgen.weber@theiconic.com.au>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: Broadcom NetXtreme bcm5720 in the 9.1 beta
Message-ID:  <CAD_3y4wAPp%2B8ZSveB6mbOF7M1Ne-zAvz4Uf=VV9quohUU23xHA@mail.gmail.com>
In-Reply-To: <500DE3A9.30802@theiconic.com.au>
References:  <500DE3A9.30802@theiconic.com.au>

next in thread | previous in thread | raw e-mail | index | archive | help
I just got done installing FreeBSD-9.0 on a Dell R720.  I can tell you
that none of the broadcom products will work.  There is no driver that
I have been able to find.  I wound up having to replace them with
Intel nics.  I used the i350 quad-port 1G  and the x520 for 10G Fiber.

I also had an issue with the perc h710 raid controller. ( it uses the
LSI SAS 2208 controller chip ) The FreeBSD hardware compatibility list
shows that it uses the mtp driver which is incorrect.


Below are the things I did to get them both to work

Track STABLE

csup /root/stable-supfile ; cd /usr/src/ && make buildworld

Time to get the new driver source code. The SVN checkout link is here,
http://svn.freebsd.org/base/projects/head_mfi/sys/dev/mfi/
 svn co http://svn.freebsd.org/base/projects/head_mfi/sys/dev/mfi/
/usr/local/src/mfi/ ; cp *.* /usr/src/sys/dev/mfi/

The new code actually added 2 new C files, so we need to add them to
one of the included make files so when we build our kernel, it will
see these new files.
Fire up vi and edit /usr/src/sys/conf/files. Find the lines with the
mfi driver files by searching for mfi, and add the following lines
after those:

dev/mfi/mfi_syspd.c     optional mfi
dev/mfi/mfi_tbolt.c     optional mfi

Now, since we are using stable source files, we will get the updated
mpt driver to get around the bug were this driver incorrectly tries to
attach to our RAID controller. To be safe we also edit the GENERIC
kernel config file and comment out the mpt driver altogether.


The x520 uses the 82599 drivers.  they too had a few small issues

The ixgbe-2.4.4 driver had this error
In file included from ixgbe_type.h:38,
                  from ixgbe_api.h:38,
                  from ixgbe.h:96,
                  from ixgbe.c:40:
ixgbe_osdep.h:104: error: conflicting types for 'bool'
@/sys/types.h:271: error: previous declaration of 'bool' was here
*** Error code 1

Stop in /usr/local/src/ixgbe-2.4.4/src

I edited the /sys/types.h

  #if __STDC_VERSION__ < 199901L && __GNUC__ < 3 &&
 !defined(__INTEL_COMPILER)
  typedef    int    _Bool;
  #endif
-typedef    _Bool    bool;
+// typedef    _Bool    bool;
  #endif /* !__bool_true_false_are_defined && !__cplusplus */


and

ixgbe_osdep.h

+#ifndef bool
  typedef boolean_t bool;
  +#endif

something buggy in the ipv6 support. My netowrk doesnt use it So i
commented out the #ifdef in ixgbe.c and the code that goes with it.


   3332 /* #ifdef INET6
   3333 *       struct ip6_hdr *ip6;
   3334 *
   3335 * #endif
   3336 */

   3359 /*
   3360 ** #ifdef INET6
   3361 **      case ETHERTYPE_IPV6:
   3362 **              if (mp->m_len < len + sizeof(struct ip6_hdr))
   3363 **                      return FALSE;
   3364 **              ip6 = (struct ip6_hdr *)(mp->m_data + ehdrlen);
   3365 ** XXX-BZ For now we do not pretend to support ext. hdrs.
   3366 **      if (ip6->ip6_nxt != IPPROTO_TCP)
   3367 **                      return FALSE;
   3368 **      ip_hlen = sizeof(struct ip6_hdr);
   3369 **      th = (struct tcphdr *)((caddr_t)ip6 + ip_hlen);
   3370 **      th->th_sum = in6_cksum_pseudo(ip6, 0, IPPROTO_TCP, 0);
   3371 **      type_tucmd_mlhl |= IXGBE_ADVTXD_TUCMD_IPV6;
   3372 **      break;
   3373 ** #endif
   3374 */

 cd /usr/local/src/ixgbe/ ; svn co
http://svn.freebsd.org/base/stable/9/sys/dev/ixgbe/
/usr/local/src/ixgbe/ ; cp *.* /usr/src/sys/dev/ixgbe/


then edited the /usr/src/sys/conf/files and make sure that the
following lines are there

dev/ixgb/ixgb_hw.c              optional ixgb
dev/ixgbe/ixgbe.c               optional ixgbe inet \
        compile-with "${NORMAL_C} -I$S/dev/ixgbe"
dev/ixgbe/ixv.c                 optional ixgbe inet \
        compile-with "${NORMAL_C} -I$S/dev/ixgbe"
dev/ixgbe/ixgbe_phy.c           optional ixgbe inet \
        compile-with "${NORMAL_C} -I$S/dev/ixgbe"
dev/ixgbe/ixgbe_api.c           optional ixgbe inet \
        compile-with "${NORMAL_C} -I$S/dev/ixgbe"
dev/ixgbe/ixgbe_common.c        optional ixgbe inet \
        compile-with "${NORMAL_C} -I$S/dev/ixgbe"
dev/ixgbe/ixgbe_mbx.c           optional ixgbe inet \
        compile-with "${NORMAL_C} -I$S/dev/ixgbe"
dev/ixgbe/ixgbe_vf.c            optional ixgbe inet \
        compile-with "${NORMAL_C} -I$S/dev/ixgbe"
dev/ixgbe/ixgbe_82598.c         optional ixgbe inet \
        compile-with "${NORMAL_C} -I$S/dev/ixgbe"
dev/ixgbe/ixgbe_82599.c         optional ixgbe inet \
        compile-with "${NORMAL_C} -I$S/dev/ixgbe"
dev/ixgbe/ixgbe_x540.c          optional ixgbe inet \
        compile-with "${NORMAL_C} -I$S/dev/ixgbe"


Built the kernel
 cd /usr/src && make buildkernel KERNCONF=GENERIC

Make the release so I can get an .iso image with everything i need to
get those things working

 cd /usr/src/release && make release

ISO file will be located here when completed
/usr/obj/usr/src/release/release.iso

>From there I open the drac console and use the virtual media to mount
that iso and install FreeBSD-9.0 and both the RAID and Intel nics
work.

Best of Luck

Pete

On Mon, Jul 23, 2012 at 6:52 PM, Jurgen Weber
<jurgen.weber@theiconic.com.au> wrote:
> Team
>
> I have a Dell PowerEdge R720xd, with the Broadcom NetXtreme bcm5720. I found
> the following thread:
>
> http://forums.freebsd.org/showthread.php?t=31769
>
> I find I am unable to use the NIC's (there are 4 on the server). When we put
> a cable into it we get a "watchdog timeout -- resetting" error, and the
> machine will pause for 5 or so seconds. IP may or may not come up randomly.
> eg. pings will work for 10 seconds and then it will pause and stop.
>
> It is hard for me to get you some decent output because no networking works.
>
> I need to get this puppy on the network, any suggestions? Will it be
> resolved in RC1, when can I expect it?
>
> Thanks
>
> Jurgen
>
>
>
> --
> Jurgen Weber
>
> Systems Engineer
> IT Infrastructure Team Leader
>
> THE ICONIC | E jurgen.weber@theiconic.com.au | www.theiconic.com.au
>
> _______________________________________________
> freebsd-stable@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAD_3y4wAPp%2B8ZSveB6mbOF7M1Ne-zAvz4Uf=VV9quohUU23xHA>