Linux on the Acer n30
I went and bought myself an Acer n30 with the ultimate goal of
getting Linux running on it. This page contains my notes on this.
More information about other devices with the same processor:
News
- 9 Jan 2006
- Lots of stuff. I've managed to get suspend to ram working
reasonably well and I should get the same standby times as WinCE does.
Just about everything works even it is a bit shaky (USB device is
still very unstable).
- 19 Dec 2005
- I found out why the display seems to flicker, it's because when
booting directly from flash, the CPU frequency is only 200MHz instead
of 270MHz as it is in Windows. That results in a refresh rate of 45Hz
instead of 60Hz as it should be. I've added some code to the prepare
code that changes the CPU frequency before Linux boots.
- 19 Dec 2005
- I've been looking at power management by poking at a bunch of
registers and measuring the power consumption before and after. It's
should be possible to get the power consumption down to below 20mA
without having to suspend to ram.
- 17 Dec 2005, a lot later
- I've got nand write support working with a really ugly hack. I
have some new patches and new build scripts that allowed me to put
GPE in the internal flash.
- 17 Dec 2005
- Finally had some time to hack on the n30 again, so I've rebased my
patches on the current H1940 patches. A lot more stuff works now.
I've also put up my scripts to assemble a file that can be downloaded
into flash on the n30.
- 19 Mar 2005
- Figured out the GPIO pin that controls the NAND write protect pin.
Managed to write some data to the flash from Linux.
- 18 Mar 2005
- Got a new touch driver from rtp and made it work with a few
modifications.
- 6 Mar 2005
- Moved a lot of documentation to the handhelds.org
wiki.
- 25 Feb 2005
- Configured the GPIO pins when booting from flash. I've got a
working display and MMC card now.
- 24 Feb 2005
- Wrote a USB firwmare updater from Linux. Managed to get the Linux
kernel booting directly from flash. The display is dark and the MMC
card can't be seen but that's hopefully just some initialisation code
that's missing.
- 23 Feb 2005
- Managed to use the WinCE boot loader to place a Linux kernel in
flash. I've written a few python scripts to assemble a .ubi file that
can be downloaded using the USB firmware updater from Acer. The
firmware updater can also put back WinCE again if I want to do
that.
- 25 Feb 2005
- Got the NAND driver up and running. Added a flash page. Tried
out a lot of different jtag applications.
- 21 Feb 2005
- Got USB gadget working. What was needed was to disable the USB
device in the boot loader, otherwise it would hang during the Linux
boot. Second, the USB driver needed to configure the USB device and
maybe take it out of suspend. The driver isn't perfect, if I connect
with the CDCEthernet driver to my PC the connection hangs in a few
minutes. Unplugging and then replugging the cable brings the
connection back up. This could be a problem with my PC or with the
n30 so this needs more examination.
- 20 Feb 2005
- Watched the i2c communications with msp430. It turns out that
only one command is used and that command returns the battery charge
left. Ben Dooks pointed me in the right direction to get brightness
control working.
- 19 Feb 2005
- Got BlueTooth working. The sense of the PARODD bit in the serial
driver was inverted, so the BT chip ignored anything i tried to send
to it. After fixing the serial driver it worked on the first try with
the kernel driver and bluez-utils.
- 17 Feb 2005
- Built a root filesystem using buildroot from the busybox
project.
- 16 Feb 2005
- It finally works. The bootloader didn't flush the caches properly
or something like that. After adding a dozen of lines from HaRET
everythinig started working.
- 15 Feb 2005
- Bootloader rewritten to use a configuration file which is similar
to the configuration file for HaRET. Theoretically this bootloader
should work on a Ipaq H1940 too. Now I just need someone to test it
so that I can see if my initrd problems are bootloader related or if
there is something else going on.
- 12 Feb 2005
- It's alive. Added some code to the bootloader to stop all DMA and
disable all interrupts and after this Linux boots all the way. It
even says that it the initrd. The initrd itself seems to be dead
though. Added the USB driver from the OpenTom project so that I can
use my USB keyboard with the n30.
- 12 Feb 2005
- Managed to boot Linux and it mounts the initrd. The initrd itself
seems to be dead.
- 12 Feb 2005
- Managed to boot Linux far enough to show the penguin before it
hangs. There's probably still a DMA transfer going on that corrupts
memory.
- 11 Feb 2005
- Failed to get HaRET running. Started writing a bootloader.
- 10 Feb 2005
- Mailed the linux-arm-kernel list asking for help. Wrote a WinCE
application to dump register contents.
- 3 Feb 2005
- Managed to build a Windows CE binary using the VoxWare
compiler.
- 29 Jan 2005
- Picked the n30 apart and took some photos of it. Tried to find
data sheets for most of the components.