Attempting to us 2.0 with a Silicom PXG4BPi - Quad Port Copper Gigabit Ethernet
-
Does pfSense 2.0 beta support the PXG4BPi - Quad Port Copper Gigabit Ethernet PCI-X Bypass Server Adapter Intel based yet, will it?
Architecture:
Dual Intel 3.2Ghz processors
1GB Ram
Mirrored 9GB 320 Ultra Fast SCSI
two embedded NICs
PXG4BPi in the PCI Express slotdmesg:
[2.0-BETA5][root@pfSense.localdomain]/root(224): dmesg
Copyright 1992-2010 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 8.1-RELEASE-p2 #0: Sat Jan 15 13:45:02 EST 2011
sullrich@FreeBSD_8.0_pfSense_2.0-snaps.pfsense.org:/usr/obj.pfSense/usr/pfSensesrc/src/sys/pfSense_SMP.8 i386
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Xeon(TM) CPU 3.20GHz (3200.13-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0xf41 Family = f Model = 4 Stepping = 1
Features=0xbfebfbff <fpu,vme,de,pse,tsc,msr,pae,mce,cx8,apic,sep,mtrr,pge,mca,cmov,pat,pse36,clflush,dts,acpi,mmx,fxsr,sse,sse2,ss,htt,tm,pbe>Features2=0x641d <sse3,dtes64,mon,ds_cpl,cnxt-id,cx16,xtpr>AMD Features=0x20100000 <nx,lm>TSC: P-state invariant
real memory = 1073152000 (1023 MB)
avail memory = 1031356416 (983 MB)
ACPI APIC Table: <ptltd ="" apic ="">FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
FreeBSD/SMP: 2 package(s) x 1 core(s) x 2 HTT threads
cpu0 (BSP): APIC ID: 0
cpu1 (AP/HT): APIC ID: 1
cpu2 (AP): APIC ID: 6
cpu3 (AP/HT): APIC ID: 7
ioapic0 <version 2.0="">irqs 0-23 on motherboard
ioapic1 <version 2.0="">irqs 24-47 on motherboard
ioapic2 <version 2.0="">irqs 48-71 on motherboard
wpi: You need to read the LICENSE file in /usr/share/doc/legal/intel_wpi/.
wpi: If you agree with the license, set legal.intel_wpi.license_ack=1 in /boot/loader.conf.
module_register_init: MOD_LOAD (wpi_fw, 0xc09529d0, 0) error 1
ipw_bss: You need to read the LICENSE file in /usr/share/doc/legal/intel_ipw/.
ipw_bss: If you agree with the license, set legal.intel_ipw.license_ack=1 in /boot/loader.conf.
module_register_init: MOD_LOAD (ipw_bss_fw, 0xc075dcc0, 0) error 1
wlan: mac acl policy registered
ipw_ibss: You need to read the LICENSE file in /usr/share/doc/legal/intel_ipw/.
ipw_ibss: If you agree with the license, set legal.intel_ipw.license_ack=1 in /boot/loader.conf.
module_register_init: MOD_LOAD (ipw_ibss_fw, 0xc075dd80, 0) error 1
ipw_monitor: You need to read the LICENSE file in /usr/share/doc/legal/intel_ipw/.
ipw_monitor: If you agree with the license, set legal.intel_ipw.license_ack=1 in /boot/loader.conf.
module_register_init: MOD_LOAD (ipw_monitor_fw, 0xc075de40, 0) error 1
kbd1 at kbdmux0
cryptosoft0: <software crypto="">on motherboard
padlock0: No ACE support.
acpi0: <ptltd rsdt="">on motherboard
acpi0: [ITHREAD]
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1008-0x100b on acpi0
cpu0: <acpi cpu="">on acpi0
cpu1: <acpi cpu="">on acpi0
cpu2: <acpi cpu="">on acpi0
cpu3: <acpi cpu="">on acpi0
pcib0: <acpi host-pci="" bridge="">port 0xcf8-0xcff on acpi0
pci0: <acpi pci="" bus="">on pcib0
pci0: <unknown>at device 0.1 (no driver attached)
pci0: <base peripheral=""> at device 1.0 (no driver attached)
pcib1: <acpi pci-pci="" bridge="">irq 16 at device 2.0 on pci0
pci1: <acpi pci="" bus="">on pcib1
pcib2: <acpi pci-pci="" bridge="">at device 0.0 on pci1
pci2: <acpi pci="" bus="">on pcib2
pcib3: <pci-pci bridge="">at device 1.0 on pci2
pci3: <pci bus="">on pcib3
pci3: <network, ethernet="">at device 4.0 (no driver attached)
pci3: <network, ethernet="">at device 4.1 (no driver attached)
pci3: <network, ethernet="">at device 6.0 (no driver attached)
pci3: <network, ethernet="">at device 6.1 (no driver attached)
ahd0: <adaptec aic7902="" ultra320="" scsi="" adapter="">port 0x2400-0x24ff,0x2000-0x20ff mem 0xdd200000-0xdd201fff irq 32 at device 2.0 on pci2
ahd0: [ITHREAD]
aic7902: Ultra320 Wide Channel A, SCSI Id=7, PCI-X 101-133MHz, 512 SCBs
ahd1: <adaptec aic7902="" ultra320="" scsi="" adapter="">port 0x2c00-0x2cff,0x2800-0x28ff mem 0xdd202000-0xdd203fff irq 33 at device 2.1 on pci2
ahd1: [ITHREAD]
aic7902: Ultra320 Wide Channel B, SCSI Id=7, PCI-X 101-133MHz, 512 SCBs
pcib4: <acpi pci-pci="" bridge="">at device 0.2 on pci1
pci4: <acpi pci="" bus="">on pcib4
em0: <intel(r) 1000="" pro="" legacy="" network="" connection="" 1.0.3="">port 0x4000-0x403f mem 0xdd400000-0xdd41ffff irq 54 at device 2.0 on pci4
em0: [FILTER]
em1: <intel(r) 1000="" pro="" legacy="" network="" connection="" 1.0.3="">port 0x4040-0x407f mem 0xdd420000-0xdd43ffff irq 55 at device 2.1 on pci4
em1: [FILTER]
pcib5: <acpi pci-pci="" bridge="">irq 16 at device 4.0 on pci0
pci5: <acpi pci="" bus="">on pcib5
pcib6: <acpi pci-pci="" bridge="">irq 16 at device 6.0 on pci0
pci6: <acpi pci="" bus="">on pcib6
uhci0: <intel 82801eb="" (ich5)="" usb="" controller="" usb-a="">port 0x1400-0x141f irq 16 at device 29.0 on pci0
uhci0: [ITHREAD]
usbus0: <intel 82801eb="" (ich5)="" usb="" controller="" usb-a="">on uhci0
uhci1: <intel 82801eb="" (ich5)="" usb="" controller="" usb-b="">port 0x1420-0x143f irq 19 at device 29.1 on pci0
uhci1: [ITHREAD]
usbus1: <intel 82801eb="" (ich5)="" usb="" controller="" usb-b="">on uhci1
uhci2: <intel 82801eb="" (ich5)="" usb="" controller="" usb-c="">port 0x1440-0x145f irq 18 at device 29.2 on pci0
uhci2: [ITHREAD]
usbus2: <intel 82801eb="" (ich5)="" usb="" controller="" usb-c="">on uhci2
uhci3: <intel 82801eb="" (ich5)="" usb="" controller="" usb-d="">port 0x1460-0x147f irq 16 at device 29.3 on pci0
uhci3: [ITHREAD]
usbus3: <intel 82801eb="" (ich5)="" usb="" controller="" usb-d="">on uhci3
ehci0: <intel 82801eb="" r="" (ich5)="" usb="" 2.0="" controller="">mem 0xdd001000-0xdd0013ff irq 23 at device 29.7 on pci0
ehci0: [ITHREAD]
usbus4: EHCI version 1.0
usbus4: <intel 82801eb="" r="" (ich5)="" usb="" 2.0="" controller="">on ehci0
pcib7: <acpi pci-pci="" bridge="">at device 30.0 on pci0
pci7: <acpi pci="" bus="">on pcib7
vgapci0: <vga-compatible display="">port 0x5000-0x50ff mem 0xde000000-0xdeffffff,0xdd500000-0xdd500fff irq 17 at device 1.0 on pci7
isab0: <pci-isa bridge="">at device 31.0 on pci0
isa0: <isa bus="">on isab0
pci0: <serial bus,="" smbus="">at device 31.3 (no driver attached)
acpi_button0: <power button="">on acpi0
atrtc0: <at realtime="" clock="">port 0x70-0x77 irq 8 on acpi0
atkbdc0: <keyboard controller="" (i8042)="">port 0x60,0x64 irq 1 on acpi0
atkbd0: <at keyboard="">irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
atkbd0: [ITHREAD]
psm0: <ps 2="" mouse="">irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: [ITHREAD]
psm0: model IntelliMouse Explorer, device ID 4
uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
uart0: [FILTER]
uart1: <16550 or compatible> port 0x2f8-0x2ff irq 3 on acpi0
uart1: [FILTER]
fdc0: <floppy drive="" controller="">port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on acpi0
fdc0: [FILTER]
pmtimer0 on isa0
orm0: <isa option="" roms="">at iomem 0xc0000-0xc7fff,0xc8000-0xc8fff pnpid ORM0000 on isa0
sc0: <system console="">at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <generic isa="" vga="">at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
ata0 at port 0x1f0-0x1f7,0x3f6 irq 14 on isa0
ata0: [ITHREAD]
ata1 at port 0x170-0x177,0x376 irq 15 on isa0
ata1: [ITHREAD]
ppc0: parallel port not found.
p4tcc0: <cpu frequency="" thermal="" control="">on cpu0
p4tcc1: <cpu frequency="" thermal="" control="">on cpu1
p4tcc2: <cpu frequency="" thermal="" control="">on cpu2
p4tcc3: <cpu frequency="" thermal="" control="">on cpu3
Timecounters tick every 1.000 msec
IPsec: Initialized Security Association Processing.
usbus0: 12Mbps Full Speed USB v1.0
usbus1: 12Mbps Full Speed USB v1.0
usbus2: 12Mbps Full Speed USB v1.0
usbus3: 12Mbps Full Speed USB v1.0
usbus4: 480Mbps High Speed USB v2.0
ugen0.1: <intel>at usbus0
uhub0: <intel 1="" 9="" uhci="" root="" hub,="" class="" 0,="" rev="" 1.00="" 1.00,="" addr="">on usbus0
ugen1.1: <intel>at usbus1
uhub1: <intel 1="" 9="" uhci="" root="" hub,="" class="" 0,="" rev="" 1.00="" 1.00,="" addr="">on usbus1
ugen2.1: <intel>at usbus2
uhub2: <intel 1="" 9="" uhci="" root="" hub,="" class="" 0,="" rev="" 1.00="" 1.00,="" addr="">on usbus2
ugen3.1: <intel>at usbus3
uhub3: <intel 1="" 9="" uhci="" root="" hub,="" class="" 0,="" rev="" 1.00="" 1.00,="" addr="">on usbus3
ugen4.1: <intel>at usbus4
uhub4: <intel 1="" 9="" ehci="" root="" hub,="" class="" 0,="" rev="" 2.00="" 1.00,="" addr="">on usbus4
uhub0: 2 ports with 2 removable, self powered
uhub1: 2 ports with 2 removable, self powered
uhub2: 2 ports with 2 removable, self powered
uhub3: 2 ports with 2 removable, self powered
uhub4: 8 ports with 8 removable, self powered
ugen4.2: <hlds inc.="">at usbus4
umass0: <hlds 0="" 2="" inc.="" super="" multi="" rewriter,="" class="" 0,="" rev="" 2.00="" 0.00,="" addr="">on usbus4
umass0: SCSI over Bulk-Only; quirks = 0x0000
umass0:2:0 Attached to scbus2
(probe6:ahd0:0:6:0): TEST UNIT READY. CDB: 0 0 0 0 0 0
(probe6:ahd0:0:6:0): CAM status: SCSI Status Error
(probe6:ahd0:0:6:0): SCSI status: Check Condition
(probe6:ahd0:0:6:0): SCSI sense: UNIT ATTENTION asc:29,0 (Power on, reset, or bus device reset occurred)
ses0 at ahd0 bus 0 scbus0 target 6 lun 0
ses0: <super 0="" gem318="">Fixed Processor SCSI-2 device
ses0: 3.300MB/s transfers
ses0: SAF-TE Compliant Device
da0 at ahd0 bus 0 scbus0 target 0 lun 0
da0: <compaq bd00962373="" bcje="">Fixed Direct Access SCSI-2 device
da0: 160.000MB/s transfers (80.000MHz DT, offset 63, 16bit)
da0: Command Queueing enabled
da0: 8678MB (17773524 512 byte sectors: 255H 63S/T 1106C)
cd0 at umass-sim0 bus 0 scbus2 target 0 lun 0
cd0: <hl-dt-st dvdram="" gsa-e30l="" ve01="">Removable CD-ROM SCSI-0 device
cd0: 40.000MB/s transfers
cd0: cd present [50290 x 2048 byte records]
da1 at ahd0 bus 0 scbus0 target 1 lun 0
da1: <compaq bd00962a66="" b007="">Fixed Direct Access SCSI-2 device
da1: 160.000MB/s transfers (80.000MHz DT, offset 127, 16bit)
da1: Command Queueing enabled
da1: 8678MB (17773524 512 byte sectors: 255H 63S/T 1106C)
SMP: AP CPU #3 Launched!
SMP: AP CPU #1 Launched!
SMP: AP CPU #2 Launched!
Trying to mount root from cd9660:/dev/iso9660/pfSense
md0.uzip: 2449 x 65536 blocks
pflog0: promiscuous mode enabled
pid 42515 (php), uid 0 inumber 2120 on /tmp: filesystem full
pid 42515 (php), uid 0 inumber 2120 on /tmp: filesystem full
pid 42515 (php), uid 0 inumber 2120 on /tmp: filesystem full
pid 42515 (php), uid 0 inumber 2120 on /tmp: filesystem full
pid 42515 (php), uid 0 inumber 2120 on /tmp: filesystem full
pid 42515 (php), uid 0 inumber 2120 on /tmp: filesystem full
pid 42515 (php), uid 0 inumber 2120 on /tmp: filesystem full
pid 42515 (php), uid 0 inumber 2120 on /tmp: filesystem full
pid 42515 (php), uid 0 inumber 2120 on /tmp: filesystem full
pid 42515 (php), uid 0 inumber 2120 on /tmp: filesystem full
pid 42515 (php), uid 0 inumber 2120 on /tmp: filesystem full
pid 42515 (php), uid 0 inumber 2120 on /tmp: filesystem full
pid 42515 (php), uid 0 inumber 2120 on /tmp: filesystem full
pid 42515 (php), uid 0 inumber 2120 on /tmp: filesystem full
pid 42515 (php), uid 0 inumber 2120 on /tmp: filesystem full
pid 42515 (php), uid 0 inumber 2120 on /tmp: filesystem full
pid 42515 (php), uid 0 inumber 2120 on /tmp: filesystem full
pid 42515 (php), uid 0 inumber 2120 on /tmp: filesystem full
pid 42515 (php), uid 0 inumber 2120 on /tmp: filesystem full
pid 42515 (php), uid 0 inumber 2120 on /tmp: filesystem full
pid 42515 (php), uid 0 inumber 2120 on /tmp: filesystem full
pid 42515 (php), uid 0 inumber 2120 on /tmp: filesystem full
pid 42515 (php), uid 0 inumber 2120 on /tmp: filesystem full
pid 42515 (php), uid 0 inumber 2120 on /tmp: filesystem full
pid 42515 (php), uid 0 inumber 2120 on /tmp: filesystem full
pid 42515 (php), uid 0 inumber 2120 on /tmp: filesystem full
pid 42515 (php), uid 0 inumber 2120 on /tmp: filesystem full
pid 42515 (php), uid 0 inumber 2120 on /tmp: filesystem full
pid 42515 (php), uid 0 inumber 2120 on /tmp: filesystem full
pid 42515 (php), uid 0 inumber 2120 on /tmp: filesystem full
pid 42515 (php), uid 0 inumber 2120 on /tmp: filesystem full
pid 42515 (php), uid 0 inumber 2120 on /tmp: filesystem full
pid 42515 (php), uid 0 inumber 2120 on /tmp: filesystem full
pid 42515 (php), uid 0 inumber 60 on /tmp: filesystem full
[2.0-BETA5][root@pfSense.localdomain]/root(225):</compaq></hl-dt-st></compaq></super></hlds></hlds></intel></intel></intel></intel></intel></intel></intel></intel></intel></intel></cpu></cpu></cpu></cpu></generic></system></isa></floppy></ps></at></keyboard></at></power></serial></isa></pci-isa></vga-compatible></acpi></acpi></intel></intel></intel></intel></intel></intel></intel></intel></intel></intel></acpi></acpi></acpi></acpi></intel(r)></intel(r)></acpi></acpi></adaptec></adaptec></network,></network,></network,></network,></pci></pci-pci></acpi></acpi></acpi></acpi></unknown></acpi></acpi></acpi></acpi></acpi></acpi></ptltd ></software></version></version></version></ptltd ></nx,lm></sse3,dtes64,mon,ds_cpl,cnxt-id,cx16,xtpr></fpu,vme,de,pse,tsc,msr,pae,mce,cx8,apic,sep,mtrr,pge,mca,cmov,pat,pse36,clflush,dts,acpi,mmx,fxsr,sse,sse2,ss,htt,tm,pbe> -
pci3: <network, ethernet="">at device 4.0 (no driver attached)
pci3: <network, ethernet="">at device 4.1 (no driver attached)
pci3: <network, ethernet="">at device 6.0 (no driver attached)
pci3: <network, ethernet="">at device 6.1 (no driver attached)</network,></network,></network,></network,>Guess these are your networkports. Could be you just need to add the device ID to the right driver?
output from "pciconf -vlb" would be handy i guess.
-
That should show using the em driver as it's Intel based. However PFSense uses a custom kernel which may not include it so then you would have to alter loader.conf to get it to work. That particular card has been supported since about the end of 2007 in FreeBSD.
You can find the man page for em(5) on the freebsd site if you need to know exactly what you can and can't do with that card. -
That particular card has been supported since about the end of 2007 in FreeBSD.
It sometimes happens that a newer chip revision gets used in the card but the model number doesn't get changed. If the chip revision is very new the appropriate driver may not recognise it.
As previously suggested, it would be useful to have the output of the pfSense shell command pciconf -vlb
-
Well, I really need to get the machine up, so I found a different Intel card and used it. But I do want to get a resolution to this, so I moved the PXG4BPi to a HP DL360 I have.
New architecture:
HP DL360
1 2.8Ghz Processor
2GB ram
Mirrored 75GB drives
2 embedded NICs
PXG4BPiThe attached files show the dmesg for this device and the output from pciconf -vlb.
Thank you for your help on this.
-
There are 4 devices like this:
none2@pci0:2:4:0: class=0x020000 card=0x002c1374 chip=0x002c1374 rev=0x03 hdr=0x00
class = network
subclass = ethernetThis device identifies itself as Vendor = 0x1374 (Silicom) and Vendor's Id = 0x2c (Quad port Copper Giga Ethernet 546GB Bypass Server Adapter (PXG4BPI)). (Interpretation of numeric IDs taken from pci.ids file on Ubuntu 10.04)
This is not recognisable as an Intel device without additional information.
I took a look at the product page at http://www.silicom-usa.com/default.asp?contentID=667
Perhaps the FreeBSD support means the driver can be downloaded from the silicom dwnloads page.
A case blind search of the .c and .h files in the FreeBSD sources failed to turn up any instance of Silicom in any of the files I recognised as a LAN driver and failed to find any occurrence of pxg4bpi. I also failed to find any instance of pxg4bpi in the FreeBSD 8.1 hardware release notes. -
I have located a CD with FreeBSD drivers on it. It looks like I have to compile them. The questions I have are: 1) will I be able to compile them under the beta version of pfSense, and 2) where do I put them after they are compiled?
Or should I place a copy of the source code on the forum to be included in a future release of the 2.0 Beta?
![4x - File Browser_002.png](/public/imported_attachments/1/4x - File Browser_002.png)
![4x - File Browser_002.png_thumb](/public/imported_attachments/1/4x - File Browser_002.png_thumb)
![src - File Browser_003.png](/public/imported_attachments/1/src - File Browser_003.png)
![src - File Browser_003.png_thumb](/public/imported_attachments/1/src - File Browser_003.png_thumb) -
I have located a CD with FreeBSD drivers on it. It looks like I have to compile them. The questions I have are: 1) will I be able to compile them under the beta version of pfSense, and 2) where do I put them after they are compiled?
- pfSense is a firewall so it doesn't include any build tools. Best do this on a FreeBSD 8.1 system.
- The driver build should generate one or more kernel modules (.ko files) which should be copied to /boot/kernel/ on the pfSense box.
Or should I place a copy of the source code on the forum to be included in a future release of the 2.0 Beta?
You probably don't want to do that unless you know you have permission of the copyright owners. One or more of the source files will probably identify the copyright owners.
-
- pfSense is a firewall so it doesn't include any build tools. Best do this on a FreeBSD 8.1 system.
- The driver build should generate one or more kernel modules (.ko files) which should be copied to /boot/kernel/ on the pfSense box.
Ok, so I guess this could be with FreeBSD running as a VM right?
When I do the install, are there any special packages to install to compile the drivers, or does the install include the development tools?You probably don't want to do that unless you know you have permission of the copyright owners. One or more of the source files will probably identify the copyright owners.
Better off not sharing them then.
Thank you for all of your help, I will reply when I get the drivers built and copied onto the pfSense box.
-
Ok, so I guess this could be with FreeBSD running as a VM right?
Standalone or as VM - either should work. I run FreeBSD on VirtualBox on Ubuntu. From what I have read in the forums others have successfully used VMs on VMWARE
When I do the install, are there any special packages to install to compile the drivers, or does the install include the development tools?
Install is a bit different from a typical Linux distribution: select the appropriate install options. From memory, I usually choose something like developer, no X. There are a few chapters describing the install process in the FreeBSD Handbook at http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/
-
So I built a FreeBSD 8.1 VM, copied the driver source files, compiled the 7.x verison of the driver. Copied the .ko and .kld files to the new pfSense firewalls /boot/kernel directory. Rebooted and it looks like the driver is not loading. I ran kldload and rebooted, same thing, no driver loaded.
Attached are the latest dmesg and pciconf -vlb listings.
I am begining to think this will not work.
-
Woot!!!!
Other than running kldload, the /boot/loader.conf had to have the line if_silbpi_load="YES" added to it.
The driver for the board has loaded and should be accessible to the system.
Testing now.
Thank you for your help.
-
Congratulations on your success.
You might care to note that /boot/loader.conf is not guaranteed to survive a firmware upgrade, /boot/loader.conf.local is supposed to survive a firmware upgrade (and has survived all my recent firmware upgrades).
-
Congratulations on your success.
You might care to note that /boot/loader.conf is not guaranteed to survive a firmware upgrade, /boot/loader.conf.local is supposed to survive a firmware upgrade (and has survived all my recent firmware upgrades).
Yup, sort of noticed that when I upgraded to the latest Beta release. I will take a look at the loader.conf.local file and add the proper info there.
Thank you for your help.