Moral support for NIC driver installation
I have a IPCop at home, and it has worked OK and all (but not many upgrades lately). But now I have got a fiber connection with 200/200 mbit and the old computer only have one 1000Base NIC and one 100Base USB NIC. So I’m thinking about changing to a new computer and to pfSense, as it seems to have a lot of progress all the time.
The setting I’m trying this on is a HP EliteBook 2530p with an internal 1000Base NIC and a LyCOM EK-106 ExpressCard 1000Base NIC, see http://www.lycom.com.tw/EK106.htm . It seems to works more or less OK without me doing anything else but running the default i386 (32-bit) install (now upgraded from 2.1.3 to 2.1.4), all NICs are found etc.
One problem I do have is that I in the logs get a “kernel: mskc0: Uncorrectable PCI Express error”. The systems seems to still work after the message. But, if I reboot the ExpressCard is not found again and it say I have to setup Interfaces (and starts with asking about VLAN). If I turn off the computer (and remove the power cord so the NICs don’t get any electric at all) and then turn on the computer, it all works OK again.
So, I’m thinking that maybe I need a new driver. The page http://www.lycom.com.tw/EK106.htm say “DOS, Linux, Solaris, FreeBSD, NetWare, UnixWare driver support from Marvell website”. And http://www.lycom.com.tw/Drivers Download1.htm say “Part # EK-106, PE-106 , please visit "SUPPORT" section of http://www.marvell.com to find the latest drivers for 88E8053 on various OS.”. So I have gone to http://www.marvell.com/support/downloads/search.do where I choose Part Number 88E8053 and up comes “9/25/08 FreeBSD Driver for 32-bit Kernel 7 Installations 10.60.1.3”. That’s seems good.
The readme states
3.1 Installation of driver software
NOTE: root privileges are necessary to install the driver.
First of all, the package containing the driver software must be installed
1. Login as 'root'.
2. Unpack the driver installation package using the command
# tar xfvz installbsd70x86-10.60.1.3.tar.gz
# gunzip -c installbsd70x86-10.60.1.3.tar.gz | tar xfv -
After the driver installation package is unpacked, type the following
commands to start the driver installation process:
# cd DriverInstall
# pkg_add mykbsd70x86-10.60.1.3.tgz
This installs the driver binary into /boot/modules and the manpage into
In order for the system to load the driver automatically on booting, the
following line must be added to the file /boot/loader.conf:
In addition to this, the following line must be added to the /etc/rc.conf
file to configure the interface when the system is booted:
This assumes a local IP address of 192.168.100.1. You must replace this
IP address with your computer's IP address.
On reboot, the driver will be loaded and the interface configured
It is also possible to load and unload the kernel module by hand. To load
the kernel module by hand, type:
To unload the kernel module by hand, type:
But before I try this, as this is my first try with BSD, I'm wondering if you have any suggestions. Like, can I install a 7-BSD-driver on a 8-BSD. Is a "normal" backup via the GUI enough to get the new driver uninstalled if needed? What have I missed (should I try something else first)? Sorry if I have done some noob error with this post (even if I read the Forum rules, and have tried to find the answer, maybe there is a driver installation tutorial that I have missed :-\ ).
You could try adding the myk driver but the msk driver is newer and far more likely to work IMHO. Since the msk driver is built into the kernel I have no idea which driver would end up attaching to the card.
The PCI Express error is likely not causing any problems as you've found. I have spent some time trying to stop that happening and did succeed eventually but it made no difference at all.
Support for MSI in the current msk(4) driver can be buggy. You should add:
to the file /boot/loader.conf.local. Create that file if it doesn't exist yet.
The symptoms you describe seem far more likely to be a problem with the express card hardware to me. I would guess it's being put into some power saving mode from which it's not recovering correctly. There may be options in either the BIOS or the express-card driver to restrict standby power modes.