Compaq Armada 4120  Installation of debian on a Compaq Armada 4120.

1   Hardware

See the agate information page for hardware information.

2   Basic installation

Get the disks like you should do. I used the compact driver (one driver disc).

2.1   Partitioning

2.1.1   Original disc

I have a 1 Gb hard disc so I preserved the Compaq rom partition /dev/hda3, deleted the windows partition and then installed two new ones. A linux ext2 partition (984 Mb), and a swap partiotion (99 Mb).

2.1.2   With bigger disc

When I installed a new disc, because the old one have broken down I partitioned it a bit different.

/dev/hda1 (/boot) 32 Mb
/dev/hda2 (swap)  96 Mb
/dev/hda3 (/) ~ 1900 Mb

I also skipped the compaq setup tools that took up some space. I do not remember how much and you could not do very much with it anyway...

2.2   Disks

You have to have the rescue disk, root disc and the extra driver disc for the system to be properly installed on the hard disk. Choose /dev/fd0 it you install them from the floppy.

2.3   PCMCIA

2.3.1   Potato

Configuring PCMCIA was a bit tricky, but went out fine. The trick was to use the i82365 driver and then add the fast_pci option. This will probably depend on what hardware you have but I'm not sure.

2.3.2   Woody

On a woody system the pcmcia was an easy task. Just select to configure the pcmcia adapter and everything was working fine.

2.3.3   Network adapter

After PCMCIA was installed, the installation of the network adapter was a extremely easy task. It autodetected and I only have to say YES to the question "This network device seems to be a PCMCIA-device, is that correct?". Wow!

One problem when rebooting the system and that is that dhcp was not installed on the system. So the network was not autodetected... When the installation was done and dhcp was configured everything worked just fine.

2.4   System

Then I choosed network installation of the basic system and because I have a dhcp server that was extremely easy to do.

3   Setup

Then I changed the sources.list to point to unstable (woody) because I need that functionality.

That took some time but worked fine.

I will skip all configuration that have nothing to do with laptops.

This is some of the packages I installed (among lot of other irrelevant packages) using tasksel and later dselect.

3.1   Exim

Exim was setup as a standalone server (option 1).

3.2   Woody problems

There was some problems with upgrading of the perl-5.6-* packages and it was solved by installing them first and then all the other packages, else the other setupscrips (that was runned before) failed. This only affects the upgrade from a potato system. No such problems if you use the woody boot discs.

3.3   gpm

Device: /dev/psaux
Protocol: ps2
Repeat_type: ms3

This got the trackball to work, with this but changed the repeat type to ms3 so that the X-server will be more happy about it.

3.4   CD-rom

The cdrom appears as /dev/hdb so the following commands did that trick:

cd /dev
ln -s hdb cdrom

And now it is possible to mount it as usual:

mount /cdrom

3.5   PCMCIA

3.5.1   Potato

Somewhere in the installation process (probably some pcmcia related package) I had to tell how pcmcia cards should be handled. I choosed that they automaticly should be inserted/removed when the sustem got suspended...

One nice thing is that linux really supports hot-plug and I really was amazed that it removed and reinstalled the network when I removed/installed the pcmcia-network card. And I not need to do anything! No rebooting here!!! :)

3.5.2   Woody

Nothing asked it just works. I had to restart the pcmcia startscript in the beginning though... To make the network work fine.

/etc/init.d/pcmcia restart

3.6   Netenv

Netenv is a tool that allows you to set different network configurations for different situations.

I choosed the first option to use the current setting as default setting in netenv.

But the netenv seems not to be compatible with dhcp as far as I can see. Dhcp overrides it anyway. But that is maybe what you want.

In my latest install I did never configured this because I always use dhcp.

3.7   X

3.7.1   Potato

According to the XFree86 homepage the Cirrus Logic 7548 are not supported in X4 so I choosed the X3 (xserver-svga) package instead.

I have manipulated some other X configuration files and got this one that actually worked.

3.7.2   Woody

During the configuration I selected the Cirrus driver, 800x600 60 Hz, and 8 bits per pixel. Also selected /dev/gpmdata as mouse port. Everything seems to work fine. :)

3.8   Sound

To make the sound work properly you have to install the non compact version of the kernel and reboot.

Do not forget to install the kernel pcmcia-modules package because it can be a bit tricky to get that installed later if you do not have connection with the network. :)

3.8.1   Standard

The first step is to configure the kernel modules and then reboot:

In /etc/modules.conf
options sb io=0x220 irq=5 dma=1 dma16=7
options opl7 io=0x380
In /etc/modules
uart401
sb
v_midi
opl7
mpu401
sound

But this do not work that good because you have to install the sb module manually by some strange reason.

insmod sb io=0x220 irq=5 dma=1 dma16=7

If you then use esd on top of this things work quite find. The only problem is that the sound is in slow motion... So you have to set up alsa instead, and that works. See below.

3.8.2   Alsa

Install the alsa packages.

Configure it with the proper io, irq and dma (see above).

Done.

Now reboot (if you had to install a new kernel) and the sound will work fine.

3.9   IR

When starting the kernel, this will be put in /var/log/messages:

Dec  9 11:17:09 agate kernel: Serial driver version 4.27 with no serial options enabled
Dec  9 11:17:09 agate kernel: ttyS00 at 0x03f8 (irq = 4) is a 16550A
Dec  9 11:17:09 agate kernel: ttyS02 at 0x03e8 (irq = 4) is a 16550A --- This is the IR port.
Dec  9 11:17:09 agate kernel: ttyS04 at 0x3220 (irq = 3) is a 8250
Dec  9 11:17:09 agate kernel: ttyS05 at 0x3228 (irq = 3) is a 16550
Dec  9 11:17:09 agate kernel: ttyS06 at 0x4220 (irq = 3) is a 8250
Dec  9 11:17:09 agate kernel: ttyS07 at 0x4228 (irq = 3) is a 16550
Dec  9 11:17:09 agate kernel: ttyS08 at 0x5220 (irq = 3) is a 8250
Dec  9 11:17:09 agate kernel: ttyS09 at 0x5228 (irq = 3) is a 16550
On the booting screen it also says (so it overrides the bios...)
/dev/ttyS1 at 0x02f8 (irq = 3) is a 16550A
/dev/ttyS2 at 0x03e8 (irq = 4) is a 16550A

3.9.1   Potato

So edit the /etc/init.d/irmanager and set DEVICE=/dev/ttyS2 (and if you want to DISCOVERY="-s"). Then start the irmanager with /etc/init.d/irmanager start.

Observe that both the standard serial device and the ir serial device share the same irq. The kernel will then change this to a better value and this gave some problems because the PCMCIA device and the "normal" serial device used the same IRQ causing a conflict. In that conflict PCMCIA won, but it is no big problem because you can always remove the PCMCIA device at runtime. :)

That action will give the folowing information in /var/log/messages:

Dec 10 16:55:34 agate kernel: IrDA (tm) Protocols for Linux-2.2 (Dag Brattli)
Dec 10 16:55:34 agate kernel: IrDA: Registered device irda0
Dec 10 16:55:35 agate irattach: executing: 'echo 1 > /proc/sys/net/irda/discovery'
Dec 10 16:55:35 agate irattach: Starting device irda0
Dec 10 16:55:35 agate irattach: executing: 'echo agate > /proc/sys/net/irda/devname'
And the irtty and irda modules will be loaded automaticly into the kernel and if you run ifconfig you will see that there is a new network interface named irda0.

If you run irddadump and have some sort of irda capable device you can see them comunicating. I tried with a Palm V and I was also able to ping it with irping using the ir device name that showed up in irddadump.

3.9.2   Palm connection

In the Linux Infrared HOWTO a /dev/irnine device is used. That device already exists in debian as /dev/ircommnew0 (and the /dev/ircomm exists as /dev/ircomm0 in woody).

I have successfully synced my address book to the laptop using:

pilot-addresses -p /dev/ircommnew0 -w writetothisfile.address
It is not extremly fast but that is works! According to the HOWTO it is a good Idéa to set the symlink /dev/pilot to that (/dev/ircommnew0) device and then set the environment variable PILOTPORT=/dev/pilot.

To allow non root users to use these devices you have to add a new group (like an irda group) the /etc/group

irda:x101:irda:username
and give that group write permissions to the devices.
chgrp irda /dev/ir*
chmod g+w /dev/ir*

With this configuration I successfully syncronized with the gnome-pilot tools. But unfortunatly I was not able to syncronize using the cradle... But why syncronize using a cable when you can do it with ir. :) One last issue is that gnome-pilot crashes when the syncronization is complete but you can live with that...

4   References

4120 Linux on the Compaq Armada 4120T by Santiago Romero (link no longer exist).   Infrared HOWTO Ìàãàçèí ìîáèëüíûõ òåëåôîíîâ Mobil IX
ir_misc Infrared devices working with linux.      

Copyright © 2008 Ola Lundqvist
Senast uppdaterad: 2008-01-01 13:45:59 svensk tid.
Författare: Ola Lundqvist
URL: http://www.opal.dhs.org/docs/debian/compaq-4120/index.oml
Administratör: webmaster@inguza.net
Linux
onlineDebian Linux