I set out to build myself a new desktop and HTPC. I chose a Ultra Black MicroFly case to put everything in. There are a lot of mATX boards out now, so I decided to try an EVGA e-7100/630i board ($60 at Amazon.com), as I have no experience with them and love to try new stuff.
I typically don’t install removable media (floppy, CD-ROM/DVD-ROM, etc.) in my machines. I use external DVD writers, and everything is networked so I just rip ISOs and access them over the network if need be. So, typically when I set up a new machine, I netboot it to start the OS install. This is where I ran into my first hurdle with the EVGA board–it can’t netboot using the on-board NIC. It supports booting off “Legacy LAN” but I didn’t have a spare PCI ethernet card handy to slap in it. Luckily, it can also boot off USB devices, so I just made a Ubuntu Live USB image of Hardy AMD64 and used that to kickstart the OS install.
After I completed the initial Ubuntu install, I went to pull down any updates using apt-get, and the machine locked up hard. I repeated this a few times and each time, it would lock up requiring a physical reboot. Curious as to what was going on, I looked at lspci to see what hardware was on this board. Sadly, I found this:
03:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8056 PCI-E Gigabit Ethernet Controller (rev 14)
Aww, crap. Not another Marvell piece of crap. Only recently I dealt with an Intel DP35DPM board that had a Marvell 88SE6101 PATA IDE chip. When I say “support for Marvell chips under Linux is poor,” that’s being very kind. I was able to find this thread on kerneltrap.org where folks complained about the Marvell Yukon support in Linux as far back as September 2006 through April 2008.
Unfortunately, the sky2 module that ships with Ubuntu Hardy still doesn’t work completely. In dmesg output, I see:
[ 39.437272] sky2 eth0: Link is up at 100 Mbps, full duplex, flow control both [ 43.785585] eth0: no IPv6 routers present [ 430.085997] sky2 eth0: rx error, status 0x740002 length 116 [ 430.372344] sky2 eth0: rx error, status 0x780002 length 120 [ 430.374110] sky2 eth0: rx error, status 0x760002 length 118 [ 430.544242] sky2 eth0: rx error, status 0x760002 length 118 [ 431.856916] sky2 eth0: rx error, status 0x700002 length 112 [ 431.861653] sky2 eth0: rx error, status 0x740002 length 116 [ 432.072037] sky2 eth0: rx error, status 0x520002 length 82 [ 437.143385] sky2 eth0: rx error, status 0x4a0002 length 74 [ 437.989254] sky2 eth0: rx error, status 0x560002 length 86 [ 438.736323] sky2 eth0: rx error, status 0x520002 length 82 [ 438.769120] sky2 eth0: rx error, status 0x740002 length 116 ...
This results in corrupted packets in user space. It’s probably the cause of the hard lock-ups I had been experiencing: if I avoid using the network, the machine runs just fine and doesn’t hang!
I’m going to pick up another PCI ethernet card and disable the on-board NIC until the Marvell drivers are usable. It’s really a pity to have do it, but the board is essentially unusable with Linux because of the Marvell NIC.
Throughout all of this, I had asked EVGA customer support various questions via their online support web form, and was seriously impressed by their fast response time, usually within minutes! Even though I’m disappointed by the product’s poor on-board NIC, their friendly and responsive support definitely makes it an attractive company to do business with. If you have a problem with an EVGA product, I highly recommend you try contacting their customer support to see if they can help.