Okay, so Dell wasn’t that much a mistake…

You might remember that a couple of years ago I ranted about my choice of a Dell laptop — I have not found the time until now to write a full retraction of that post, but you might have guessed that I’m not that bothered by the laptop anymore.

Indeed, after a few rough months, the laptop is working quite nicely nowadays; not only the issues with PME I reported were solved a version of the kernel in or two, but also nowadays gentoo-sources have a (patched) experimental driver for the touchpad that lets me disable it exactly like I wish to. After a firmware upgrade (which is unfortunately only available for Windows, but it’s a small price to pay), both the contactful and the contactless smartcard reader interfaces work fine, the SD card reader works nicely with modern kernel, and so does the soundcard (both speakers and microphones). Even the HSDPA modem (that I bought last year, separately, and was quite easy to set up!) works fine on Linux, even though I haven’t found a way to set up the GPS, or to read/send SMS, not that I care about the latter.

Indeed I haven’t run Windows in there for quite a bit, especially since last time I tried to repartition it I couldn’t get grub2 and Windows 7 to play well together, so I just let it “rotting” for the moment, and I’m now honestly considering whether I want to keep Windows 7 in there – it has a few uses for me at customers’, other than updating BIOS and various devices’ firmware – or just install an SSD and be done with it. Third option would be to find an HDD-in-Optical-Bay adapter and get an SSD for Linux and a (pluggable) HDD for Windows 7.

Anyway, after all this I’m pretty happy with Dell, to the point that I both started suggesting it for my customers, and got a few more things from them (namely a Vostro 3750 laptop to use for Windows development, and an U2711 monitor). Why did I change my mind so completely? Mostly because I have seen how other vendors seem to make it more and more inconvenient to use them for anything but looking at facebook.

Take HP: I had to downgrade a laptop for a customer last week, from Vista to XP. It was not the first time I did that, and not the first time I had to do so to an HP laptop.. but this time it got even worse than usual. Let’s ignore the fact that HP pretends that a ton of their “softpaq” packages only work on Vista (while they contain the XP drivers as well); at the end of the day, the BIOS is enforcing some stupid policy on the HDA-based soundcard… I was able to get it running by using the devcon.exe command from Microsoft and making it reset the PCI ID of the soundcard at each Windows startup, which makes it work nicely.

Or take Gigabyte, which usually has a decent support for Linux: yesterday I built a computer for a friend of mine, with a Gigabyte GA-970A-UD3 motherboard; he’s running Windows 7 there, but as usual I wanted to write down the list of components and settings with lshw, so I plugged in my usual SysRescueCD thumbdrive and … it didn’t boot. The same goes for the CD-Rom version; FreeDOS and Windows 7 boot cleanly, so my first guess is that there is something wrong, or at least different, in the way Syslinux boots. Contrarily to the kind of replies I received on twitter, I don’t think that Gigabyte is “not supporting Linux” given that they do list Linux support on their website for this board, more likely there is something funky with SysLinux.

But today’s hall of shame entry is quite enraging: Packard Bell (which has been bought by Acer a few years back) has a netbook line that is called “dot”; an acquaintance of mine received a “dot S” device that is actually a DOT_SE3/W-100IT, which comes with 1GB of RAM, and he asked me if I could get more RAM on it. Sure usually I can — in this case the maximum available is 2GB. He brought the device to me and I tried to find how to open it…

There are no instructions, it’s hard to find anything; DuckDuckGo does not find anything useful, while Google’s “did you mean?” feature made it impossible to find something related to SE3, with many more sources for SE2 and simple S instructions. It goes without saying that neither is anywhere near similar to this one. At the end of the day it seems like the only way you have to access the backside panel under which the memory is, is to disassemble almost the whole motherboard. Not going to.

Lesson learnt: flashrom is not for the faint of heart

I have recently written about using FreeDOS to perform BIOS updates and I stated that before going that route I have been using flashrom – coming out of the coreboot project – that allows for hot update of BIOS without requiring booting into DOS at all.

The project in the past months started supporting pretty well a long list of motherboards, including one for which I added support myself (an ASUS Pentium 4 board I had to update for a customer, one where USB support didn’t seem to work properly without a BIOS update), but the other day I hit a very nasty problem linked to it.

I wanted to update the BIOS of the small frontend system I use as a desktop (Yamato is now working headless), even though the only thing that it would improve is USB 3 support and I have no USB 3 device (yet); on the board (ASUS based on nVidia ION platform) flashrom worked quite fine, so I flashed the BIOS, restarted, removed the backup and… just then I noticed I had no network.

The problem is that the Realtek 8169 integrated on the board reads its MAC address from somewhere in the BIOS flash; when updating with the ASUS tools it would have been preserved, but when using flashrom, well, it doesn’t know what it shouldn’t erase and rewrite. This caused the MAC address on that box to be overwritten with garbage. Luckily it doesn’t really matter, for that system, since I simply used the mac_eth0 setting to change the mac address to the one it used before, so that the same IP addresses would be used.

Speaking with the developers of the software suggested me that there are many ways in which the mac address could be encoded into the BIOS, and also noted that the same is true for DMI and SMBIOS data, which is no issue for me most of the time, since I don’t have any (I am my own OEM), but can be quite a problem for customer’s computers.

Also, clumsiness ants that I were to delete the backup file I read from the previously-used BIOS before I noticed the lack of network access, otherwise I would have been able to compare it with the stock BIOS (for the same version) provided by ASUS; looking for the new mac address as a binary string in the data as read back by flashrom, with the help of bgrep (which is not in Portage, does anybody know if there is something like that in Portage already or if I should rather add that one?) does not yield any useful result, either, so I can’t seem to be able to find where it’s actually stored.

This probably also explains why Yamato reports 88:aa:99:bb:dd:ee and 60:50:40:30:20:10 as mac addresses.. and I thought it was the BMC’s fault! I guess I should re-flash the Tyan firmwares and see if I can reprogram the network cards (if I remember correctly, their utilities allow to do a permanent change of mac address). Could possibly make the BMC-over-LAN access more reliable, it doesn’t seem to be much right now.

At any rate, I’m not going to suggest against the use of flashrom, but definitely I suppose I learnt to trust it a bit less, and be more wary about it than I was before; I’m happy it happened with a box of mine and not a customer’s, that could have been quite an issue.

Making everything a computer: an upgrade odyssey

We’re all used to software upgrades. Gentoo users has to update their tree daily and they’ll probably find something new, unless they are running a full stable system. Windows users have to upgrade their stuff regularly, too, and Mac users the same (almost, having all three operating systems in my office at the moment shows me that Windows update are the most painful, as they require a lot more restarts, and they appear gradually, like after I installed Nokia’s software, Windows Update decided to show me some more upgrades from 2006 and early 2007).

Nowadays a lot of “hardware” that we used to consider absolutely unconcerned with the idea of upgrades started to need those upgrades too, like they were jealous of computers and their operating systems that can upgrade. Or more likely because they started to move from being microcontrollers to full-fledged minicomputers.

So nowadays you update the firmware of your cellphones: Sunday I updated my brother-in-law’s Nokia E61i to the last version of the firmware, that solved a few problems it had. I had to update the firmware of my E61 last year, to fix a SIP connection problem, and to see if that helped my problem of self signed certificates (it didn’t). My VoIP phone also needed three upgrades since I bought it, the first right out of the box, and two later on. My router has had three upgrades (and its software still sucks, I keep it only because it has a nice hardware capable to connect me to the network with as much noise as I have here, which is something that I was unable to find from any other router).

Don’t even try to look at the MacBookPro! It required firmware upgrades to the machine itself, to the_keyboard_, the optical drive, and twice already to the battery! Still in Apple’s house, the Airport Express takes care of its upgrades on its own luckily, while the AppleTV would be quite easy to upgrade if only… let’s not get there now though, ok?

BIOS upgrades on workstation start to be quite common, especially to fix processors’ issues and to support new processors. And speaking of processors, microcode updates are also quite common nowadays, which is something nobody would have guessed when we were still stuck with 80486.

GPS navigation systems have obvious need to update their firmware and their maps but it starts to be ridiculous for me that I, although not owning any, have to keep three of them updated!

I was impressed by the way PSP updates its firmware by the way, just try to play a newer game and boom! it asks you to upgrade the firmware from the UMD itself. Nice way to force people not to limit themselves to older crackable firmwares, indeed.

And now this came to the area from which my considerations started to write this blog: the PlayStation 3 had a firmware upgrade today. A quite long one because I was messing with the network settings at the time and didn’t consider it would have restarted from the beginning to download the new firmware. The funny thing is that i bought it less than two weeks ago, and this is already the second firmware upgrade (the first was out of the box). Slick, uh?

Add to that the new router I’ve made a friend of mine buy today (his old router was a crappy 11b one, a very bad one in many aspects, and he wanted something nice and working): it needed a firmware upgrade right away or it was unable to forward ports through NAT. Ridiculous!

And in all this, I still haven’t been able to play with my DVD writer’s firmware .

I just wonder how much time I’ll have to spend upgrading and upgrading and upgrading.

Autoconf debacle, part two

So, after talking about the autoconf debacle yesterday, I’m still working on cleaning it up.

Right now, the packages not working are limited, although there are a lot of extra warnings and noise on many packages, for once, makefiles not respecting —datarootdir option, whatever that means.

Luckily, I’m using AMD64 devbox, Pitr, to do most of the work, instead of melting down my system, as this is just a matter of compiling, not of run testing multimedia programs – that, alas, is what I usually do so I can’t rely on devboxes for that.

Talking about my box, I was thinking last night if it might be the case of upgrade it, but I’m not that tempted right now. The graphics card I hoped to replace, so to use GPL drivers on that box, is now suspended to a date to be defined, as the motherboard has no PCI express slots, just an AGP slot, and newer motherboards does not carry AGP anymore; changing the graphics card would be somthing limited to that computer and I won’t be able to move it somewhere else.

The same applies for the CPU, I have a socket 939 board, but 939 CPU seems to be about to cease production and selling, so not sure if it would be worth to update it. And buying a new motherboard, plus memory, plus graphic card, plus CPU… will simply cost me too much right now. So unless I find a way to make easy money, I’ll be doomed to spend hours compiling and recompiling :P

On a totally unrelated note instead, although I used to be a VIM user, lately I feel a bit.. overwhelmed by the time required to build it and a few issues I’m finding with UTF-8 text, and in general complications that made me wonder. So thanks to exg and mkennedy, I’ll be experimenting now to pass to use emacs as Kate’s help instead of vim :) I used to use emacs a few years ago, when I was still running Mandrake, that is, maybe now it’s time for me to return to that :P

But to use it decently, I’m probably going to add to my overlay a patched Konsole with 256 colours support….