# [pfSense] BCM5719 on FreeBSD 8.1 -RELEASE



## kelsen (Aug 29, 2013)

Hi guys,

I'm trying to use this NIC Broadcom BCM5719 - http://h18004.www1.hp.com/products/servers/networking/331T/ but FreeBSD doesn't seem to recognize it. I found a source for this bge module http://code.metager.de/source/xref/freebsd/sys/dev/bge/ and tried to compile one, but it's giving me a lot of errors.


```
make
Warning: Object directory not changed from original /usr/src/sys/modules/bge
awk -f @/tools/makeobjops.awk @/dev/mii/miibus_if.m -h
awk -f @/tools/miidevs2h.awk @/dev/mii/miidevs
awk -f @/tools/makeobjops.awk @/kern/device_if.m -h
awk -f @/tools/makeobjops.awk @/kern/bus_if.m -h
awk -f @/tools/makeobjops.awk @/dev/pci/pci_if.m -h
cc -O2 -pipe -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE -nostdinc   -I. -I@ -I@/contrib/altq -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-common  -fno-omit-frame-pointer -mcmodel=kernel -mno-red-zone  -mfpmath=387 -mno-sse -mno-sse2 -mno-sse3 -mno-mmx -mno-3dnow  -msoft-float -fno-asynchronous-unwind-tables -ffreestanding -fstack-protector -std=iso9899:1999 -fstack-protector -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions -c if_bge.c
if_bge.c: In function 'bge_miibus_statchg':
if_bge.c:931: error: 'IFM_ETH_TXPAUSE' undeclared (first use in this function)
if_bge.c:931: error: (Each undeclared identifier is reported only once
if_bge.c:931: error: for each function it appears in.)
if_bge.c:936: error: 'IFM_ETH_RXPAUSE' undeclared (first use in this function)
if_bge.c: In function 'bge_sig_pre_reset':
if_bge.c:1312: error: 'BGE_SOFTWARE_GENCOMM' undeclared (first use in this function)
if_bge.c:1312: error: 'BGE_MAGIC_NUMBER' undeclared (first use in this function)
if_bge.c: In function 'bge_stop_fw':
if_bge.c:1365: error: 'BGE_SOFTWARE_GENCOMM_FW' undeclared (first use in this function)
if_bge.c:1365: error: 'BGE_FW_PAUSE' undeclared (first use in this function)
if_bge.c:1366: error: 'BGE_CPU_EVENT' undeclared (first use in this function)
if_bge.c: In function 'bge_chipinit':
if_bge.c:1501: error: 'BGE_DMA_SWAP_OPTIONS' undeclared (first use in this function)
if_bge.c: In function 'bge_dma_alloc':
if_bge.c:2551: error: 'BGE_DMA_BNDRY' undeclared (first use in this function)
if_bge.c: In function 'bge_attach':
if_bge.c:2931: error: 'BGE_MISCCFG_BOARD_ID' undeclared (first use in this function)
if_bge.c:2938: error: 'BMSR_DEFCAPMASK' undeclared (first use in this function)
cc1: warnings being treated as errors
if_bge.c:2991: warning: implicit declaration of function 'pci_find_cap'
if_bge.c:2991: warning: nested extern declaration of 'pci_find_cap'
if_bge.c:3076: error: 'BGE_SOFTWARE_GENCOMM_SIG' undeclared (first use in this function)
if_bge.c:3077: error: 'BGE_MAGIC_NUMBER' undeclared (first use in this function)
if_bge.c:3078: error: 'BGE_SOFTWARE_GENCOMM_NICCFG' undeclared (first use in this function)
if_bge.c:3236: warning: implicit declaration of function 'mii_attach'
if_bge.c:3236: warning: nested extern declaration of 'mii_attach'
if_bge.c:3237: error: 'MII_OFFSET_ANY' undeclared (first use in this function)
if_bge.c: In function 'bge_reset':
if_bge.c:3430: error: 'BGE_SOFTWARE_GENCOMM' undeclared (first use in this function)
if_bge.c:3430: error: 'BGE_MAGIC_NUMBER' undeclared (first use in this function)
if_bge.c:3584: error: 'BGE_DMA_SWAP_OPTIONS' undeclared (first use in this function)
if_bge.c: In function 'bge_asf_driver_up':
if_bge.c:4095: error: 'BGE_SOFTWARE_GENCOMM_FW' undeclared (first use in this function)
if_bge.c:4096: error: 'BGE_FW_DRV_ALIVE' undeclared (first use in this function)
if_bge.c:4097: error: 'BGE_SOFTWARE_GENNCOMM_FW_LEN' undeclared (first use in this function)
if_bge.c:4098: error: 'BGE_SOFTWARE_GENNCOMM_FW_DATA' undeclared (first use in this function)
if_bge.c:4099: error: 'BGE_CPU_EVENT' undeclared (first use in this function)
if_bge.c: In function 'bge_ifmedia_upd_locked':
if_bge.c:4959: warning: implicit declaration of function 'PHY_RESET'
if_bge.c:4959: warning: nested extern declaration of 'PHY_RESET'
if_bge.c: In function 'bge_add_sysctl_stats_regs':
if_bge.c:5698: warning: implicit declaration of function 'SYSCTL_ADD_UQUAD'
if_bge.c:5698: warning: nested extern declaration of 'SYSCTL_ADD_UQUAD'
*** Error code 1

Stop in /usr/src/sys/modules/bge.
```
What can I do to have this NIC working on this version of FreeBSD? On 8.3, it's working, but I can't use it.


----------



## SirDice (Aug 29, 2013)

FreeBSD 8.1 has been end-of-life since July 2012 and is not supported anymore. 

[thread=40469]Topics about unsupported FreeBSD versions[/thread]


----------



## DutchDaemon (Aug 29, 2013)

http://forums.freebsd.org/showthread.php?t=40469#EOL

FreeBSD 8.1 was end of life well over a year ago. You will have to try to move to a supported version.


----------



## kelsen (Aug 29, 2013)

Very well, so there is no support and even a chance to have it working on 8.1.


----------



## DutchDaemon (Aug 29, 2013)

You could contact the maintainer of the bge(4) driver, but that's about it. If the source code of the driver did not support this specific chipset/type in the 8-1 era, it will have to be added by hand. It shouldn't be too difficult to upgrade your machine to 8.3 or 8-STABLE, though.


----------



## kelsen (Aug 29, 2013)

And that is the response!



> Of all the gin joints in all the towns in all the world, Kelsen Faria had to
> walk into mine at 09:42:33 on Thursday 29 August 2013 and say:
> 
> > Hello Bill Paul,
> ...



I didn't tell you all the truth, actually this is a pfSense 2.0.3 which uses FreeBSD 8.1, there is a pfSense 2.1, but it is RC, that is why I didn't upgrade it yet. Looks like I will have to wait to be able to use this NIC.


----------



## SirDice (Aug 30, 2013)

[thread=7290]PC-BSD DesktopBSD FreeNAS NAS4Free m0N0WALL *pfSense* ArchBSD kFreeBSD JabirOS topics[/thread]


----------



## Terry_Kennedy (Sep 5, 2013)

kelsen said:
			
		

> I found a source for this bge module http://code.metager.de/source/xref/freebsd/sys/dev/bge/ and tried to compile one, but it's giving me a lot of errors.


As others have said, your best bet is to move to a supported FreeBSD release.

However, the URL you said you fetched the code from seems to be tracking FreeBSD-CURRENT (which will eventually become FreeBSD 10.0). So you're trying to build a driver intended for a much newer system.

You may find something that compiles with fewer error messages here: http://svnweb.freebsd.org/base/stable/8/sys/dev/bge/

Of course, this sort of "mix and match" is completely unsupported.


----------



## kelsen (Sep 5, 2013)

Thank you for your reply, unfortunately the same result.

```
# make
Warning: Object directory not changed from original /usr/src/sys/dev/bge
awk -f @/tools/makeobjops.awk @/dev/mii/miibus_if.m -h
awk -f @/tools/miidevs2h.awk @/dev/mii/miidevs
awk -f @/tools/makeobjops.awk @/kern/device_if.m -h
awk -f @/tools/makeobjops.awk @/kern/bus_if.m -h
awk -f @/tools/makeobjops.awk @/dev/pci/pci_if.m -h
cc -O2 -pipe -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE -nostdinc   -I. -I@ -I@/contrib/altq -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-common  -fno-omit-frame-pointer -mcmodel=kernel -mno-red-zone  -mfpmath=387 -mno-sse -mno-sse2 -mno-sse3 -mno-mmx -mno-3dnow  -msoft-float -fno-asynchronous-unwind-tables -ffreestanding -fstack-protector -std=iso9899:1999 -fstack-protector -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions -c if_bge.c
if_bge.c:518: error: 'DEVMETHOD_END' undeclared here (not in a function)
if_bge.c: In function 'bge_miibus_statchg':
if_bge.c:1288: error: 'IFM_ETH_TXPAUSE' undeclared (first use in this function)
if_bge.c:1288: error: (Each undeclared identifier is reported only once
if_bge.c:1288: error: for each function it appears in.)
if_bge.c:1288: error: invalid operands to binary &
if_bge.c:1290: error: 'IFM_ETH_RXPAUSE' undeclared (first use in this function)
if_bge.c:1290: error: invalid operands to binary &
cc1: warnings being treated as errors
if_bge.c: In function 'bge_mbox_reorder':
if_bge.c:3183: warning: implicit declaration of function 'nitems'
if_bge.c:3183: warning: nested extern declaration of 'nitems'
if_bge.c: In function 'bge_attach':
if_bge.c:3463: error: 'BMSR_DEFCAPMASK' undeclared (first use in this function)
if_bge.c:3463: warning: assignment makes integer from pointer without a cast
if_bge.c:3528: error: 'PCIER_DEVICE_CAP' undeclared (first use in this function)
if_bge.c:3528: warning: passing argument 2 of 'pci_read_config' makes integer from pointer without a cast
if_bge.c:3529: error: 'PCIEM_CAP_MAX_PAYLOAD' undeclared (first use in this function)
if_bge.c:3529: error: invalid operands to binary &
if_bge.c:3529: error: invalid operands to binary <<
if_bge.c:3529: warning: assignment makes integer from pointer without a cast
if_bge.c:3807: warning: implicit declaration of function 'mii_attach'
if_bge.c:3807: warning: nested extern declaration of 'mii_attach'
if_bge.c:3808: error: 'MII_OFFSET_ANY' undeclared (first use in this function)
if_bge.c:3809: error: 'MIIF_FORCEPAUSE' undeclared (first use in this function)
if_bge.c:3809: error: invalid operands to binary |
if_bge.c: In function 'bge_reset':
if_bge.c:4077: error: 'PCIER_DEVICE_CTL' undeclared (first use in this function)
if_bge.c:4077: warning: passing argument 2 of 'pci_read_config' makes integer from pointer without a cast
if_bge.c:4079: error: 'PCIEM_CTL_RELAXED_ORD_ENABLE' undeclared (first use in this function)
if_bge.c:4080: error: 'PCIEM_CTL_NOSNOOP_ENABLE' undeclared (first use in this function)
if_bge.c:4080: error: invalid operands to binary |
if_bge.c:4080: error: wrong type argument to bit-complement
if_bge.c:4080: error: invalid operands to binary &
if_bge.c:4080: error: incompatible types in assignment
if_bge.c:4080: warning: statement with no effect
if_bge.c:4082: warning: passing argument 2 of 'pci_write_config' makes integer from pointer without a cast
if_bge.c:4085: error: 'PCIER_DEVICE_STA' undeclared (first use in this function)
if_bge.c:4086: error: 'PCIEM_STA_CORRECTABLE_ERROR' undeclared (first use in this function)
if_bge.c:4087: error: 'PCIEM_STA_NON_FATAL_ERROR' undeclared (first use in this function)
if_bge.c:4087: error: invalid operands to binary |
if_bge.c:4087: error: 'PCIEM_STA_FATAL_ERROR' undeclared (first use in this function)
if_bge.c:4087: error: invalid operands to binary |
if_bge.c:4088: error: 'PCIEM_STA_UNSUPPORTED_REQ' undeclared (first use in this function)
if_bge.c:4088: error: invalid operands to binary |
if_bge.c:4088: warning: passing argument 2 of 'pci_write_config' makes integer from pointer without a cast
if_bge.c:4088: warning: passing argument 3 of 'pci_write_config' makes integer from pointer without a cast
*** Error code 1

Stop in /usr/src/sys/dev/bge.
```


----------



## Terry_Kennedy (Sep 6, 2013)

kelsen said:
			
		

> Thank you for your reply, unfortunately the same result.


As I mentioned, "mix and match" is unsupported. You'll need to track down where each of the undefined symbols. For example, all of this:
	
	



```
if_bge.c: In function 'bge_miibus_statchg':
if_bge.c:1288: error: 'IFM_ETH_TXPAUSE' undeclared (first use in this function)
if_bge.c:1288: error: (Each undeclared identifier is reported only once
if_bge.c:1288: error: for each function it appears in.)
if_bge.c:1288: error: invalid operands to binary &
if_bge.c:1290: error: 'IFM_ETH_RXPAUSE' undeclared (first use in this function)
if_bge.c:1290: error: invalid operands to binary &
cc1: warnings being treated as errors
```
is coming from a missing definition in /usr/include/net/if_media.h:
	
	



```
#define     IFM_ETH_RXPAUSE 0x00000200      /* receive PAUSE frames */
#define     IFM_ETH_TXPAUSE 0x00000400      /* transmit PAUSE frames */
```
Of course, if you replace that file, you may have problems compiling other modules which depend on the unaltered version.


----------



## kelsen (Sep 9, 2013)

Thank you again, @Terry_Kennedy, this is too demanding, I'll wait for the next pfSense 2.1 release.


----------

