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:


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 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.