gnu/linux on the acer 340t
I won't burden you with the details of why I chose the 340T. It
seemed like a pretty kickass machine for the price, compared to
the others in its class. I was a bit worried about the lack of
direct information on running gnu/linux on it, but there seemed
enough anecdotal evidence that similar hardware worked to take
This is the information I was looking for to soothe my fears
when I was making the decision. Let me say in advance, it all
worked out pretty darn well. So far I have everything working
that I need, all with very little hassle.
note: This info is quite a bit
out of date at this point. Peter Favrholdt has put up a
great wiki with
his more recent experiences. It includes such fun as kernel
configs for versions 2.4 and 2.6, XFree 4.3 (with three buttons!),
and things like bluetooth connections to cell phones and wlan cards.
Give it a look (and contribute!)
If you want to dual boot with win98, before repartitioning
with fdisk or partition magic or what-have-you, you must
disable the Windows SleepMgr and remove its datafile.
It is a hidden file, and is likely called
temporarily makes it impossible to suspend to disk in
windows but after partitioning the drive for linux, you can
reenable it. The datafile exists as a hidden file at the
end of the default windows partiton, and will be deleted by
fips if it is not removed. This will cause SleepMgr to
complain. Best to be proactive.
I won't go into the entire process, as that's covered better elsewhere.
I'll note anything that seemed out of the ordinary or specific
to the Acer.
I chose the Debian
distribution, version 2.2 (potato). The Debian project has
close ties to the Free
Software Foundation, and aside from the idealogical appeal
its a solid product. Note: I'm now using
Woody (Debian version 3.0). Everything is nifty.
It's well suited to someone who already knows the ropes of
installing gnu/linux. This is to say it doesn't have as much
handholding as other distributions might. For more
newbie-friendly alternatives, I'd suggest SUSE Linux or the everpresent RedHat.
Bernard Piller <bernard(at)bmpsystems.com> reports
SuSE 6.x works well for him.
At least with Debian, you'll be prompted during the early
stages of installation for additional kernel modules to load.
As I was doing a network install of all but the base packages,
it was pretty necessary to have the built in ethernet
This was put up or shut up time. I was banking on the ethernet
being simply a stock Intel EtherExpress 10/100 PCI card, like it
showed up in win98. No funny stuff. As it turned out, it was.
The eepro100 module with no parameters specified worked first
time, like a charm. Big win. When I built a new kernel
(2.2.13) I compiled this driver in, so no mucking about with
It complains at boot time when initializing: "eth0: Invalid
EEPROM checksum 0x5238, check settings before activating this
device!" but I've had no problems, so it seems this can be ignored.
Not everyone gets this error, so maybe I'm just unlucky. Shrug.
When it came time to make the boot floppy, the disk format
failed initially. There was a message to add 'drive0:
deviation=2080' to the file /etc/driveprm. I tried a second
time and it worked fine. I've since used both the floppy and
cdrom drive with no problems, so I'm chalking it up as a fluke.
I added the line as specified just to ward off evil spirits.
Breakthrough! <aris(at)cathedrallabs.org> writes that
a hotswappable combo drive is a reality. With just a little
magic incantation of the 'hdparm' command, the secondary IDE bus
gets rescanned and the cd drive gets re-recognized.
He's written a shell script to
facilitate this. Invocation is like: 'idectl 1 rescan'.
(Remember to umount any filesystems you have mounted from
the drive before removing it!)
For normal operation, booting with the drive attached has
always worked. I've mounted plenty of music, windows, and
iso9660 CDs without problems. It's great to hear that it's
no longer necessary to keep the combo drive attached at all
times. If anyone wants to write a little gnome applet to do
basically the same thing, it'd be a nice little project. I
may have to do that m'self, now that the hard work is done
Booting the new kernel to finish the install, it hung at the
line 'Starting PCMCIA services: modules'. I rebooted using
the installer kernel and disabled the PCMCIA subsystem: 'rm
/target/etc/rc2.d/S11pcmcia'. Rebooting using the default
installed kernel worked fine. You can boot to single user mode
("linux single" at the LILO prompt) to accomplish the same.
Elias Balaras tells me he found a workaround for the PCMCIA hang
problem, as explained in the PCMCIA
HOWTO. Basically he added the line
/etc/sysconfig/pcmcia and rebooted. That's a little
more graceful than my solution :) Other reports agree on
this. On my debian system, the file is
I finally got around to getting a compact flash adapter for
the digicam, so now I have a reason to get PCMCIA working.
I installed the pcmcia-source package since I'm using a custom
2.2.15 kernel. A short compilation later, start the pcmcia
service, and it worked like a charm. APM seems to work fine
as well. I'm a believer.
The pc card slot works also with the 3com 589 ethernet card
(so I hear). I'd expect pretty full compatability from the slot
at this point.
After some initial problems upgrading to
XFree86 4.0, I finally sat down to work it
all out. The result is that things are
working with a minimum of tweaking. The
main problem was that I needed to disable
the framebuffer device by adding
Option "UseFBDev" "false"
Device section and
change the driver to
Here is my
current XF86Config-4 file.
Here is the old information from XFree 3.3.6:
The Debian potato release currently includes XFree86 version
3.3.5, which supports the Trident Cyber 9525 chip via the SVGA
server. XF86Setup was unable to probe the correct timings for
the LCD display, so a little hunting was
required to find other folks using the chip at 800x600
resolution. I had to manually edit the /etc/X11/XF86Config file
to add the proper horizontal sync and vertical refresh rates.
Here is my current setup.
I'm running at 16bpp. 32 bits slowed things down a little too much
for my tastes. It runs plenty fast now, and I don't miss the
extra bits of color depth at all.
There are two entries for the 800x600 resolution, because I've
found that it is necessary to switch resolutions (via
Ctrl-Alt-NumPadPlus and Ctrl-Alt-NumPadMinus, which is really
Ctrl-Fn-Alt-; and Ctrl-Fn-Alt-p) when switching to an external
monitor. This means that the external monitor gets driven at
800x600. This is good for dual display. I imagine 1280x1024
or 1024x768 could be set up for an external monitor as well.
The external PS/2 mouse is reported to work as well. I haven't
tried this myself. The keyboard works fine.
When I compiled a custom kernel, used the following options for
[*] Advanced Power Management BIOS support
[ ] Ignore USER SUSPEND
[ ] Enable PM at boot time
[*] Make CPU Idle calls when idle
[ ] Enable console blanking using APM
[*] Power off on shutdown
[*] Ignore multiple suspend
[*] Ignore multiple suspend/resume cycles
[ ] RTC stores time in GMT
[ ] Allow interrupts during APM BIOS calls
Things worked great right off the bat. Apmd is running, naturally.
Closing the lid suspends the machine properly, and 'halt -p'
powers the machine off as it should.
The 340T uses the ESS Solo 1 (ES1938) chipset. Version
2.2.13 of the linux kernel includes experimental support for
this device. You'll need to enable the following options to get
it to work:
[*] Prompt for development and/or incomplete code/drivers
<*> Sound card support
<*> ESS Solo1 (Experimental)
Bernard Piller <bernard(at)bmpsystems.com> has gotten the card
to work with the ALSA driver, using info from
site, so that's an option too. Thanks Bernard!
<aris(at)cathedrallabs.org> mentions that the ALSA driver
can operate in full duplex mode, whereas the OSS one doesn't.
It also works better under heavy load. Less audible artifacts
and such. I'm looking forward to trying this out myself.
The builtin modem is a Lucent
winmodem, as shown with a
For debian, you can download precompiled versions
of the latest Lucent driver for all recent kernels
The main info page is here.
is a good resource as well.
is great. I won't get into the touchpad/nipplemaus debate, but
it's clear on which side I lie :) I'd only come across one
occasional problem: periodically when X would start, the mouse
would act erratically, jumping all over the screen. It would
take a reboot to clear this. I guess the pad was getting
initialized wrong at boot time. Bruce Kall's touchpad driver solves
this. I run it at boot time before X or gpm starts like so. You may want different options. I like
I added the kernel patch to my 2.2.13 kernel
and rebuilt. Patching took a little manual massaging since the
patched file has changed since the original patch was made.
Here's a patch to the 2.2.13 kernel.
Update: I recently upgraded to 2.2.15, and the same patch works
fine. I'm not positive you need it however, but it's there if
you want it.
Update: Success! The third button is now
working! Thanks to a pointer from Anna
and some hunting
down by Chun-Chung Chen
<cjj(at)u.washington.edu>, here is
what I found:
Newer versions of gpm (I have 1.19.6)
include support for the third button
automatically. To get it running, I edited
your mouse configured like so:
Option "Device" "/dev/gpmdata"
Option "Protocol" "MouseSystems"
(Don't forget to disable three button
GPM has an annoying feature called toss
mode, which was enabled for me by default.
I disabled it by creating
with the contents:
And things work peachy. Boy am I stoked!
From Cristian Othon Martinez Vera <cfuga(at)itam.mx>:
I've activated the IrDA device, following the instructions from
The device is an FIR (Fast IR) NSC PC87338, supported by the
Linux IrDA project.
The support for this device is in version 2.2.15 and up of the
kernel. The stock kernel must be recompiled with the serial
driver as a module to make it work, because the device uses the
0x2f8 port. With 'make menuconfig', the option is
<M> Standard/generic (dumb) serial support
in the 'Character devices' menu.
Straight quoted from <aris(at)cathedrallabs.org>:
ALi chipset (OHCI), fully compatible with linux and tested with
kernels 2.2 and 2.4. Have some problems with hotplug because
sometimes it just doesn't notify linux that usb device was
Overall: works and well.
Awesome. I can't wait to buy something usb (a digicam? :)
and try it out. I've read similar success stories
from others as well.
Thanks to the following folks who have contributed information
- Bernard Piller <bernard(at)bmpsystems.com> for info on
- Cristian Othon
Martinez Vera <cfuga(at)itam.mx> for lots of
good info on IrDA and more.
- Gary Murphy for his Acer TravelMate 330T and Linux 2.2 page.
- mmb, for an XF86Config for the Trident 9525 chip.
- Jonas Lofwander's
for ESS-SOLO-1 / kernel 2.2.10 page gives info on getting
the ALSA driver working with the 340T.
- Bruce Kall's Linux
TouchPad Driver allows you to set many options on the pad.
- Ville U Hautakangas for confirmation on the 3com PCMCIA ethernet
card and modem driver.
- <aris(at)cathedrallabs.org> for tons of solid info
about USB, APM, sound, framebuffer support,
and the combo drive.
- Anna Gerber <agerber(at)dstc.edu.au>
and Chun-Chung Chen
<cjj(at)u.washington.edu> for finally
getting to the bottom of the third button issue.
last modified: 27 mar 02