Linux On Mitac 6120N

This is an article I wrote many years ago about using Linux on Mitac 6120N notebook. I doubt it could useful now but here it is.

Mitac is certainly not a widely recognized notebook manufacturer but surprisingly you could see more Mitac laptops on the market that you expect. I have seen several brands (e.g. Actina) selling de facto Mitac laptops but under a different mark.

I have bought my Mitac laptop on April 2002 and was happy with it. Comes not so well equipped as other Dells or Toshibas but for my needs it was perfect - fast and worked extremely nice with Linux.

So far I am extremely pleased with this notebook - if you have a chance to get one of these and devote it to Linux - do not hesitate. Mitac is not a very known manufacturer so the prices should be lower than corresponding laptops from IBM, Dell etc. I got mine from eBay and payed about $700 fully working in great condition.

The document is organized as follows:

Summary and hardware notes

Here is some info from /proc files. You should extract many info if you want ;)

/proc/cpuinfo

processor    : 0
vendor_id    : GenuineIntel
cpu family    : 6
model        : 8
model name    : Pentium III (Coppermine)
stepping    : 3
cpu MHz        : 696.974
cache size    : 256 KB
fdiv_bug    : no
hlt_bug        : no
f00f_bug    : no
coma_bug    : no
fpu        : yes
fpu_exception    : yes
cpuid level    : 2
wp        : yes
flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse
bogomips    : 1389.36

/proc/interrupts

           CPU0       
  0:     348496          XT-PIC  timer
  1:       9568          XT-PIC  keyboard
  2:          0          XT-PIC  cascade
  3:      17310          XT-PIC  serial
  4:     106131          XT-PIC  serial
  5:          0          XT-PIC  cs46xx
  9:          0          XT-PIC  usb-uhci
 10:       1205          XT-PIC  i82365, eth0
 12:          4          XT-PIC  PS/2 Mouse
 14:      42517          XT-PIC  ide0
NMI:          0 
LOC:     348438 
ERR:          2
MIS:          0

/proc/iomem

00000000-0009fbff : System RAM
0009fc00-0009ffff : reserved
000a0000-000bffff : Video RAM area
000c0000-000c7fff : Video ROM
000f0000-000fffff : System ROM
00100000-0ffeffff : System RAM
  00100000-0022e4a1 : Kernel code
  0022e4a2-0028d9f7 : Kernel data
0fff0000-0fffffbf : ACPI Tables
0fffffc0-0fffffff : ACPI Non-volatile Storage
10000000-10000fff : Texas Instruments PCI1225
  10000000-10000fff : i82365
10001000-10001fff : Texas Instruments PCI1225 (#2)
  10001000-10001fff : i82365
20000000-2fffffff : Intel Corp. 440BX/ZX - 82443BX/ZX Host bridge
60000000-60021fff : cb_enabler
e0000000-e3ffffff : PCI Bus #01
e4000000-e7ffffff : PCI Bus #01
  e4000000-e4ffffff : ATI Technologies Inc 3D Rage LT Pro AGP-133
  e6000000-e6000fff : ATI Technologies Inc 3D Rage LT Pro AGP-133
e8000000-e8000fff : Cirrus Logic CS 4614/22/24 [CrystalClear SoundFusion Audio Accelerator]
e9000000-e90fffff : Cirrus Logic CS 4614/22/24 [CrystalClear SoundFusion Audio Accelerator]
e9100000-e91000ff : Lucent Microelectronics F-1156IV WinModem (V90, 56KFlex)
fffc0000-ffffffff : reserved

/proc/ioports

0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0080-008f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
00f0-00ff : fpu
01f0-01f7 : ide0
0200-027f : cb_enabler
02f8-02ff : serial(set)
03c0-03df : vga+
03f6-03f6 : ide0
03f8-03ff : serial(set)
0cf8-0cff : PCI conf1
1000-103f : Intel Corp. 82371AB PIIX4 ACPI
1060-1067 : Lucent Microelectronics F-1156IV WinModem (V90, 56KFlex)
1100-110f : Intel Corp. 82371AB PIIX4 IDE
  1100-1107 : ide0
  1108-110f : ide1
1200-121f : Intel Corp. 82371AB PIIX4 USB
  1200-121f : usb-uhci
1400-141f : Intel Corp. 82371AB PIIX4 ACPI
1800-18ff : Lucent Microelectronics F-1156IV WinModem (V90, 56KFlex)
d000-dfff : PCI Bus #01
  d000-d0ff : ATI Technologies Inc 3D Rage LT Pro AGP-133

pci

PCI devices found:
  Bus  0, device   0, function  0:
    Host bridge: Intel Corp. 440BX/ZX - 82443BX/ZX Host bridge (rev 3).
      Master Capable.  Latency=64.  
      Prefetchable 32 bit memory at 0x20000000 [0x2fffffff].
  Bus  0, device   1, function  0:
    PCI bridge: Intel Corp. 440BX/ZX - 82443BX/ZX AGP bridge (rev 3).
      Master Capable.  No bursts.  Min Gnt=140.
  Bus  0, device   7, function  0:
    ISA bridge: Intel Corp. 82371AB PIIX4 ISA (rev 2).
  Bus  0, device   7, function  1:
    IDE interface: Intel Corp. 82371AB PIIX4 IDE (rev 1).
      Master Capable.  Latency=64.  
      I/O at 0x1100 [0x110f].
  Bus  0, device   7, function  2:
    USB Controller: Intel Corp. 82371AB PIIX4 USB (rev 1).
      IRQ 9.
      Master Capable.  Latency=64.  
      I/O at 0x1200 [0x121f].
  Bus  0, device   7, function  3:
    Bridge: Intel Corp. 82371AB PIIX4 ACPI (rev 3).
      IRQ 9.
  Bus  0, device   8, function  0:
    CardBus bridge: Texas Instruments PCI1225 (rev 1).
      IRQ 10.
      Master Capable.  Latency=64.  Min Gnt=192.Max Lat=7.
      Non-prefetchable 32 bit memory at 0x10000000 [0x10000fff].
  Bus  0, device   8, function  1:
    CardBus bridge: Texas Instruments PCI1225 (#2) (rev 1).
      IRQ 10.
      Master Capable.  Latency=168.  Max Lat=6.
      Non-prefetchable 32 bit memory at 0x10001000 [0x10001fff].
  Bus  0, device   9, function  0:
    Multimedia audio controller: Cirrus Logic CS 4614/22/24 [CrystalClear SoundFusion Audio Accelerator] (rev 1).
      IRQ 5.
      Master Capable.  Latency=64.  Min Gnt=4.Max Lat=24.
      Non-prefetchable 32 bit memory at 0xe8000000 [0xe8000fff].
      Non-prefetchable 32 bit memory at 0xe9000000 [0xe90fffff].
  Bus  0, device  10, function  0:
    Communication controller: Lucent Microelectronics F-1156IV WinModem (V90, 56KFlex) (rev 1).
      IRQ 5.
      Master Capable.  No bursts.  Min Gnt=252.Max Lat=14.
      Non-prefetchable 32 bit memory at 0xe9100000 [0xe91000ff].
      I/O at 0x1060 [0x1067].
      I/O at 0x1800 [0x18ff].
  Bus  1, device   0, function  0:
    VGA compatible controller: ATI Technologies Inc 3D Rage LT Pro AGP-133 (rev 220).
      IRQ 10.
      Master Capable.  No bursts.  Min Gnt=8.
      Non-prefetchable 32 bit memory at 0xe4000000 [0xe4ffffff].
      I/O at 0xd000 [0xd0ff].
      Non-prefetchable 32 bit memory at 0xe6000000 [0xe6000fff].
  Bus  6, device   0, function  0:
    Ethernet controller:  (rev 16).
      IRQ 10.
      Master Capable.  Latency=64.  Min Gnt=10.Max Lat=5.

And here is a summary

works?
processor PIII 700MHz Coppermine yes
chipset Intel 440BX yes
memory max. 2x128mb so-dimm yes
graphics ATI Rage Pro LT, 8MB, AGP almost
acpi 82371AB PIIX4 no - but should!
apm 82371AB PIIX4 yes
USB 82371AB PIIX4 yes
irda yes
modem Lucent F-1156IV WinModem (V90, 56KFlex) should
sound Cirrus Logic CS 4614/22/24 yes

As you can see almost everything works fine! Mainly thanks to Intel chipsets. The laptop does not have any additional features such as multimedia panel. All function keys are obvious and does need additional soft. That is also why Linux works smoothly!

One of the week sides is BIOS. It is SystemSoft with almost no parameters to set! Just power saving, ide, irda etc. Fortunately most of them are overridden by Linux mechanisms (e.g. apm).

To be honest Mitac does not produce top-quality computers. In this model the weakest point is the keyboard. But I got used to this one. My model has also some cracks but it should not matter here.

One more thing: the laptop supports max. 2x128mb so-dimm and not more! Do not believe the manual!
Debian Woody 3.0 installation

The whole process of installation went surprisingly smoothly - almost no manual configuration was needed in order to get things working. At the moment of installation Woody was almost stable. I used apt to get packages through net.
Bios upgrade (!!!)
Before starting any Linux kernel you should upgrade your bios! Older bioses had problems with even starting some kernels! I did not trace the problem since the upgrade solves the problem. You can find the freshest bioses at www.mitacservice.com. And you should also determine the notebook model you have! There are 6120L and 6120N available and bioses are different. You can check this removing a keyboard latch (press small button near irda port).
Disk partitioning (with hibernation part.)
Here is my partitioning info:

Primary Free Space 8.23
hda1 Primary IBM Thinkpad hibernation 287.89
hda2 Boot Primary Linux ext3 8.23 <- /boot
hda5 Logical Linux swap 180.96
hda6 Logical Linux ext3 9500.20 <- /
hda7 Logical Linux ext3 2081.00 <- /scratch

Apart from Linux partitions which can be set as you wish, the hibernation partition MUST be at the beginning! If you do not have a hibernation partition, remove all partitions from the disk (sometimes dos fdisk is not enough - I recommend running Linux installer and remove everything with e.g. cfdisk). After that run ………. program (after booting dos from a floppy). Choose the size of hib. part. > ram + video ram. Please note some free space at the beginning of my hda. I have no idea why it is there. Your hibernation partition should be ready now - it will be used e.g. when battery level is extremely low or you chose default suspend to be done to disk.

After that your system is ready to run Linux installer (here - Debian). The choice of remaining partitions is custom - I recomend a small (8mb) for /boot and some for /scratch at the end - for files not needing extremely fast access. Set the swap partition at the beginning! It is the fastest place on your hdd! I personally put the remaining part for /. It is a laptop, not a heavy-duty server!

Ext3 is not available at this stage but it is good to convert all your partitions ext2->ext3. You will get rid of disk checks after failure - the disk is always consistent thanks to journaling. You have to compile ext3 support into the kernel and put journal info to a partition with tune2fs (and change ext2 to ext3 in /etc/fstab - and that's all).
Packages choice
Mitac 6120 does not require any special packages. Be sure to include XWindow system and pcmcia packages. Some other to install are: hotplug, pcmcia-cs…
Kernel recompilation
Debian Woody comes with 2.2.x and 2.4.x kernels. At the moment these are 2.2.19 and 2.4.18 in a few flavours. I recommend however to install 2.4.18 sources and recompile your kernel. In Debian it is good to use make-kpkg which automatizes compilation and generates a new kernel .deb file.

I have a few remarks on compilation options:

  • Do not include ANY pcmcia support - it is better to compile pcmcia-sources / install pcmcia-cs package which handles pcmcia better. It comes with its own modules. You can install sources and compile them AFTER you have your new kernel. In my case recompilation was needed. But see the manuals for details!
  • Include all required options e.g. hotswap, usb, irda, sound…

Here is my .config file for 2.4.18. You can put it into /usr/src/linux and do not care. It includes all required options - but with external pcmcia-cs package. There is also a module for 3Com Megahertz LAN which you might not need.

USB

Works fine - at least with mice but I expect with anything else as well.

irda

I think it works - the interface sets as irda0. But I have no device to check it. With some spare time I will try to configure lirc.

APM and ACPI

APM works (reads battery status, goes into standby etc.) without problems but ACPI does not. There is no /proc/acpi although acpi is compiled into the kernel.

LAN

There is not much to say - my laptop does not have integrated LAN so I use 3Com Megahertz 10/100 LAN CardBus Model 3CXFE575CT - with a nasty XJACK (pcmcia slot is on the left so the cable is a bit annoying - do not buy!).

Autodetection without problems (with 2.2.19 precompiled default kernel at installation). This card is a CardBus card so it is not exactly handled by pcmcia but rather hotplug soft. The module however comes the from kernel source (3c575_cb.o).
Modem - Lucent F-1156IV WinModem (V90, 56KFlex)
Well, it should work after installing some modules (lt_modem.o lt_serial.o) from ………. /dev/ttyLT0 will be created. I have some problems with running PPP on this device but I am not sure where the problem is and have no time and need to trace it. The Winmodem makes the call and establishes connection so I assume it works.

Sound

Works after compiling the cs46xx.o module (from the kernel source). The sound is clear but with high volume (analog regulator) every key pressed produces a silent beep. But does not disturb anyhow.

XServer

ATI Rage Pro LT is a Mach64 based card with 8MB. Unfortunately it is poorly supported since ATI does not want to release full tech spec. But it is not that bad after all!!!

By default the chipset is beeing handled by ati driver and works quite fine, but without XVideo nor 3d acceleration. TV-out is also not supported. External monitor is soft-independent and you have just to press a func key.

Without XVideo watching films full-screen or even scrolling text looks quite poor. The way out is to use Gatos gatos.sourceforge.net (for both 4.1.0 and 4.2.0). Just replace some files and you got it!

3d acceleration is more tricky. The worst thing is that you can not have both 3d and XV at the same time!!! Which will probably make you chose XV. But for those wanting 3d - you have to compile Direct Rendering Module (dri.sourceforge.net) to be compiled for your kernel (mach64.o) and X-drivers to be replaced by precompiled versions. Works only with 4.2.0. But for everyday usage XVideo would be more wanted… 3d is not extremally fast - it is not that bad after all. You would be able to play half-life under winex emulator with very limited resolution…

I have no idea about TV-out.

Serial port

Well, here comes trouble. Mice work just fine but I have problems connecting my external modem and kodak digital camera DC215 (with other computers work good). I think serial port is not a pure UART.

Infra red

With LIRC I have been able to set irda port to work with my tv pilot - in this case I can control the laptop remotely. BUT (regardless of the remote control used) the maximum distance is about 2 meters. The irda receiver is not that sensitive.
Is it worth it?

After some time my laptop can be called a perfect linux machine (although I can not figure out tv-out but heard it's possible with some gatos modifications). It hibernates good, is stable etc. If I was to recomend it I would say: it is not a high-end laptop but therefore can be bought (used) for a lower price. In my case I am happy ;-)

asdad