| « Ubuntu Studio 8.10 | Failing hardware part 4 » |
Hardware success!
That's right, no longer will I be writing a series of failed hardware posts. No, now I've had some successes on the hardware front. I've slowly started coming back to my usual Gentoo work. Still not all the way back yet, but I'm almost there.
Revamping the desktop
First: it was a dead motherboard, possibly also a dead PSU. The motherboard for sure didn't work; tried it with the rest of my new hardware but got nowhere. I'm not willing to risk my new hardware with a possibly faulty PSU, so I won't be doing any further testing there.
Anyway, I went to Fry's a few weeks ago and purchased an ASUS M3N78-VM motherboard. It's a microATX motherboard, so already all the slots are used up (the graphics card takes three slots, and the PCI sound card has the last). Now I have a reasonable upgrade path, as this is an AM2+ board. Phenoms and their successors are now available to me!
Even though the board does have an nVidia chipset, its storage system has a working AHCI implementation, so all my drives work just fine. Except that for some reason, the Samsung RAID array doesn't have NCQ enabled, while the single Seagate storage drive does. A minor bit of lame, but I didn't have working NCQ with sata_nv anyway. The SATA optical drive that's been gathering dust in the closet for a few months now works, too. Score for AHCI.
The BIOS is fairly limited in terms of doing anything with processor frequency or voltage at stock or lower speeds. Yes, I would have liked to undervolt the CPU to save a bit of power and heat, but unlike the MSI motherboard this one can't do that. It's only setup for overclocking, not under.
The BIOS is easy to update -- just toss the file onto a USB stick, reboot, select it from the BIOS menu. Alas, this board isn't one of the midrange/higher-end models, so it does not have ExpressGate installed -- it's funny, but I would have to use the DVD to install it, and that's designed only for Windows Vista. Yes, you read that right. If I want ExpressGate, a Linux-based operating system, I have to use the Windows Installer CD on a Windows System to install it to the hard drive. This motherboard is a bit more budget; it doesn't have onboard flash for ExpressGate.
Graphically challenged
That new ATI graphics card I liked so much? Well, it seemed to have a few problems even on the new board. Framerates were terrible; UT2004 was a constant stutter-fest, and that was with DRI enabled and working correctly. This card should have been running circles around the old nVidia 7600GT. So either the hardware was defective, or ATI's Catalyst drivers still suck assballs. Probably both, but I still sent the card in for a refund.
The motherboard has an nVidia 8200 IGP, but I decided to plug in the old 7600GT. Presto, it works! The card never went bad, after all. Was just the crap 'board it was on. So I'm now back to nVidia -- I won't be buying any ATI products in the near future, either. Also, using nVidia makes kernel configuration much simpler; no need to enable crazy stuff in the "Kernel debugging" section just to use the Catalyst drivers.
Hacking the routers
Just when I was starting to get the last of the hardware issues fixed, my router finally craps out. Really, I should have replaced it 3 months ago, when it first started flickering. I finally threw in the towel after I was power-cycling it 7+ times per day. Crappy D-Link firmware.
Bought myself an ASUS WL-500g Premium v2. Same price as the new Linksys WRT-54GL Linux-based router, but the ASUS has at least twice the hardware specs, and it's just as friendly to flashing with Linux. I should know -- it arrived earlier today, and a few hours later I had it successfully flashed with the latest DD-WRT. Used a custom mini-USB version pulled from SVN, actually, as suggested in the installation instructions.
I couldn't use the default ASUS web interface to load the flash, and I lacked a Windows computer to use their included flash tool. I ended up doing a few trial-and-error experiments to TFTP the DD-WRT firmware onto the machine. Which reminds me: I hate tftp-hpa, for the sole reason that there's no tab-completion. I expected the experience to be more shell-like? Darned retyping every command . . . and apparently I was doing it wrong with the options listed in the manpage. Ah, well. The result was the same in the end.
The last thing I needed to do was setup the print server, which was accomplished with minimal fuss. So now I have a working print server. Plugged in our printer, and now we can print from any machine in the house. Wireless printing is pretty sweet. Still have one more free USB port on the router, too. Gosh, the possibilities....
I'd run Gentoo on the router, but it seems like too much work, if it's possible at all. Besides, it's hard to beat the attractiveness of prepackaged firmware that needs next to no configuration.
I was about to toss out the old router, a D-Link DI-624 rev. E1 (apparently NewEgg sold me the European model a few years ago?). However, I discovered that D-Link released source code for it. Apparently, this crappy firmware that's required periodic resets and many, many reboots since I purchased it is actually Linux-based. D-Link had been violating the GPL for some time and only just released the source last year. No wonder they never released a single firmware update; the product was EOLed not long after I bought it.
Anyway, the thing comes with some variety of MIPS R4600 chip, and included in the source tarball is the stuff for doing a full cross-toolchain compile, ending up with a kernel and a firmware image. Internet reports via Google are a little sketchy about whether or not custom images will actually work, since I think the device only has about 2MB flash. That's probably too small, though somehow D-Link made it work. This is a fun stretch of my embedded hacking skills, at least. I'm going to make the effort to get my own firmware on the thing. Anything's gotta be more reliable than what was originally on there.
* * *
Update: I did some searching of manufacturer product pages, and I think this particular DI-624 has way more flash than I'd allowed for; the chip seems to be the 32MB variety.
Also, and this totally floored me: the router runs on Gentoo. I kid you not. Gentoo. All the source code is setup for building another Gentoo image, too. It's got Portage 2.0.51-r15, and a few of our initscripts. The rest is altered a fair amount, but not unrecognisably so.
I now have Gentoo firmware for the Atheros AR2316 SoC at the heart of the router. Time to see if I can successfully flash this MIPS critter.
Gentoo: it powers rockets, the backbone of the internet, lighting and HVAC controls (go read the GMN), and common home routers such as the DI-624 and DI-524 (same source for both.) Who knows how many other D-Link products are powered by Gentoo Linux? Only way to find out is to grab the source code from the manufacturer.
Trackback address for this post
Trackback URL (right click and copy shortcut/link location)
6 comments
2) Coolness about the new router. Sounds neat.
I already use cpufreq to run "ondemand" the whole time. However, that's not the same as getting lower heat and saving a bit of energy regardless of frequency, which can be accomplished by lowering the voltage to the CPU.
On the old motherboard, I dropped the voltage from the default 1.35V (IIRC) all the way to 1.150. Could have gone a bit lower, judging by other success stories, but I decided not to push my luck. As it was, I saw about ~5C decrease in temps regardless of load.
@energyman:
I already knew about that before I even installed the drivers, so I made sure to have PAT disabled in my kernel config ahead of time. Didn't make a difference.
afaik the problem is that when pat is turned on by the kernel and the driver there is some bad interaction. Pat support in kernel, deactivated at command line and turned on by the driver works well (for me...)