A new laptop – Acer Aspire 1690


My old IBM iSeries 2611-412 finallybit the dust today. Strange that I was looking into buying a new laptop anyway, but right after I decided not to buy one, the PCMCIA slots died. While I might eventually get these working again, this system is 6+ years old and ready to be replaced.

So I bought an Acer Aspire 1690 (AS1691WLM). This has a 1280×800 WXGA display, Broadcom Nextreme Gigabit Ethernet, intel Pro/Wireless 2200GB 802.11b/g builtin wireless support, and ATI Mobility Radeon X600 graphics chip. It also has a dvd RW/CDRW combo and a 4/1 card reader (for those digital camera flash cards). It even comes with TV/S-video out and 3 USB ports. All of this appears to be supported by linux, though not directly from the fedora Core 3 distribution I'm using (which is actually KRUD, a security enhanced version of FC3). With an 80GB hard disk I have plenty of space for full software installs (which I need to experiment with packages to write articles, which is the main point of using a laptop for me). It also comes with 512MB DDR memory, double what I had in the my old iSeries. The processor is an Intel Pentium M 730 @ 1.6GHz, which beats the P3 @ 350MHz I was running. In other words, this laptop should last at least as long as my last one, if not longer. And at $999, it was cheaper than the last one too.

The first problem I encountered was the video not being supported via installation. But ATI has downloadable RPMs that should cover this. I'll deal with this issue after installation completes.

The second issue was a bigger problem. I kept getting the following error during setup for install:

Assertion (heads > 0) at disk_dos.c:485 in function probe_partition_for_geom() failed. Assertion (sectors

I found a blog describing how to get around this situation. I booted the KRUD CD and entered rescue mode. At the command prompt I typed:

sfdisk -d /dev/hda | sfdisk –no-reread -H255 /dev/hda

Jim (the blogger) said he needed to use –force with the second sfdisk command, but I didn't have to do that. I also didn't need to specify the number of cylinders (ie I didn't need the -C option, just the -H option).

Once the partition table was fixed up, I started installing. I'm wiping Windows from the box – I don't do Windows at all, so dual boot issues aren't a problem. I did keep the first partition intact – this partition has some Compaq diagnostic tools on it apparently. I thought it wouldn't hurt to leave it in place until I figure out if they can be used later. Interesting that the tools are listed as Compaq diags instead of Acer diags….

The install is running now. After it completes, I'll try updating the X server and see how that goes.

—-

Not going well so far. The core is running and X comes up with the vesa driver. I had no luck getting the wireless working. Apparently I need to get a utility called acerhk which is a driver module that allows me to turn on the wireless hardware using software. But it's not clear if this will actually work. What's worse is the web site is inaccessible right now. So the wireless is currently on hold until I can find the driver source from somewhere. I google'd for it, but only the main site has it.

I also can't find the right driver for the video. “lspci” shows the controller to be the Intel Mobile Graphics version and not the ATI version. But the intel driver doesn't install because the kernel doesn't have AGP installed. And I don't have the kernel souce for some reason (where did this go? It used to be on the CDs.)

—-

I managed to get Video working at 1280×800. The RPM from Intel doesn't install under Fedora (and I couldn't find a Fedora version – and was too lazy to patch the install script) so I had to unpack the dri rpm using

rpm2cpio dri…rpm | cpio -ivd

then copying the dripkg/i915/i915_dri.so file to /usr/X11R6/lib/modules/dri and the dripkg/i915/i810_drv.so to /usr/X11R6/lib/modules/drivers. Then change the /etc/x11/xorg.conf file to look like this. In order to get the 1280×800 resolution, you need to make a patch to the video bios that adds that mode option. You can do this with the 855resolution tool. Follow the directions just like it says in the README in this package. It's almost a no brainer. After running this and having made the xorg.conf configuration the X server should come up at the right resolution.

I still don't have DRI working. The kernel module for the i915 wasn't built with the original kernel build so you have to grab the kernel source, copy in /boot/config* to /usr/src/linux*/.config, then run make gconfig (when running under X) or make menuconfig (if running under a console login) and enable the drivers/character/direct rendering/intel i915 entry. Save this and rebuild. This is the process I'm trying now. I'll know in a bit if this works.

—-
Found the acerhk source on a mirror site. I've downloaded it but haven't installed it. I'm rebuilding the kernel and modules (including the i915 drm module) using the Pentium M processor type for optimization. Note: it didn't seem to do anything useful when I got it running.

—-
The kernel rebuild got the drm module but the dri still doesn't load. I don't really care at this point since X is running as it should. One drawback is that the graphical boot doesn't work right now because it starts before rc.local is run so the video bios hasn't been updated to support the X configuration. I can fix this by moving the video bios fix to a higher level in the init scripts.

I didn't get the integrated wireless working so fell back to a Belkin card I already had. This doesn't have a Linux driver but fortunately it works fine the ndiswrapper driver from Novell. The card has to be brought up manually as far as I can tell – it doesn't come up easily with the ifconfig scripts – but that is easily solved with a little shell script. I won't go into detail on how I did this because the ndiswrapper wiki page has good install instructions for this card.

All that's left is the 4-in-1 smart card reader. That isn't supported yet as far as I can tell but I haven't done much research on it yet. I don't need to use it yet so I'll worry about it later. I also haven't tried the CD/DVD burner but again, I don't use that much yet. I'll worry about it later. I expect to have this laptop for about 6-7 years. So there is plenty of time to find support for all the other hardware.

Now that I think about it, there some other things I haven't tested yet:
TV/SVideo out – I'll try that later with a DVD disk.
USB – should work fine
Modem – no need for that
External VGA – should work but haven't tried

The Synaptics keypad didn't work quite right until I turned off emulate 3 buttons in the xorg.conf file and added option SHMConfig “on”. I still get messages at boot about not being able to reset the synaptics pad but this is probably a bad config in the initrd I created with this new kernel. I still need to use the synclient tool to play with configuration of the pad so I can stop accidently tapping it with my palm as well as adjust the sensitivity of the taps and drags. The nice thing about it is that I can tap on the pad in the upper right corner for button three and lower right for button 2. Additionally, the middle button acts soft of like a mousewheel – push the top of the button to scroll up and bottom to scroll down. Tap, hold and slide on the right side scrolls up and down. Ditto along the bottom scrolls horizontally. That's a lot of functionality for that little pad!

One other problem: the battery level panel applet doesn't work under gnome. Apparently it causes some APCI errors. I may need to boot the kernel with apci=noirq or similar (there is a message at boot time suggesting an option that might help) to fix this, but then maybe it just doesn't work with this laptop. If I figure that out, I'll make another entry in the blog.