INSTALLATION AND OPTIMISATION OF FREEBSD (4.2 - 4.4) ON A MITAC 6120N

INSTALLATION ET OPTIMISATION DE LINUX SUR UN MITAC 6120N (french)

This page is a mix between english and french.
Cette page est un mélange entre anglais et français.


I describe the installation of FreeBSD (4.2 to 4.4) on a Mitac 6120N. After the install, I have added optimization for this notebook.

1. Hardware

Hardware Manufacturer et détails
Work ?
CPU Intel Celeron 633Mhz
yes
Chipsets Intel 440BX/ZX and 82371AB
yes
RAM 256 SDRAM
yes
Carte graphique ATI 3D Rage LT Pro avec 8MB of RAM [un ATI Mach 64 pour Linux]
yes
Hard Drive Toshiba MK2016GAP, 20GB w/0kB cache
yes
Sound Card Crystal CS461x
yes
PCMCIA Texas Instruments 1225 (compatible i82365)
yes
Network card PCMCIA Abocom FE1500 10/100 Mbits (Level One 10/100 Fast Ethernet)
yes
Modem Lucent Electronic F-1156IV
No
Mouse Synaptics Touch pad (PS/2 device)
yes
DVD-ROM Pionner DVD-ROM ATAPIModel DVD-K11T 0103
yes
USB Intel 82371AB
probably
Lecteur disquettes National Semiconductor PC87306
yes
Infrared National Semiconductor PC87338
???

2. Problème avec le BIOS

Je n'arrive pas à mettre de mot de passe dans mon BIOS, il n'est ni activé, ni mémorisé. Je possède la version 1.07 du BIOS, il existe maintenant plusieurs nouvelles versions et il faudrait les essayer afin de voir si le problème de mot de passe pourrait être résolus.

Mais lors de ma dernière et unique tentative de mettre à jour le BIOS, une fois l'utilitaire miflash lancé, il s'est produit un crash tel de la machine que pour l'éteindre, j'ai du retirer les batteries. Heureusement mon BIOS n'a rien eu, mais la mise à jour du BIOS sur les Mitac semble assez risquée.

3. Installation

Lors des premières installations, le kernel FreeBSD se freezait 3 fois sur 4 au démmarage, après avoir fini l'installation, il freezait à chaques fois. J'ai résolu ce problème en désactivant l'ACPI dans le BIOS du portable.

Résumé de l'installation (très facile):
NEW With FBSD 4.4, no problem of BIOS were found, even with ACPI.

What is working after install

Work Don't work

4. XFree86

Pas de problème d'utilisation de X. Le seul problème se pose avec la mise en veille. Si vous êtes en mode graphique, il reste gelé après le réveil.

Il faut donc toujours enclencher la mise en veille à partir du mode console.

NEW With FBSD 4.4, the suspend mode, even in graphical mode works well and no problem at the restore.

5. Carte réseau

Elle est detectée automatiquement. Mais vous aimeriez bien qu'elle prenne une ip et se configure après sa détection. Elle se nomme "de1". Vous pouvez bien entendu la configurer manuellement via ifconfig, mais cette ligne ajoutée à /etc/rc.conf simplifie les choses:

pccard_ifconfig="192.168.0.1 netmask 255.255.255.0"

Toutefois, du fait que la carte est detectée et initialisée après le démmarrage des autres deamon, les deamon configurés pour utiliser explicitement l'ip associée à la carte peuvent s'arrêter immédiatement et vous devrez les relancer manuellement après coup.

Bien que fonctionnant, un message apparaît régulierement en console:

freebsd /kernel: ed1: device timeout

NEW With FBSD 4.4, no problem at all.

6. APM

L'APM marche très moyennement, en fait si vous fermez l'écran en mode non graphique, la mise en veille et le réveil se dérouleront dans 80% des cas normallement. Si vous êtes en mode graphique il y aura des problèmes (Linux connait le même genre de problèmes avec Xfree, mais il y a un hack qui améliore un peu les choses.).

A part ça, l'horloge s'arrete à la mise en veille et vous retrouverez l'heure à laquelle vous aviez suspendu la machine. Ce problème peut normallement se résoudre en utilisant une option lors de la compilation du kernel (solution non encore testée).

Pour que le Suspend to Disk marche, il faut une partition spéciale au début du disque dur. Cette partition doit faire la taille de votre RAM + 2 Mo. Mitac fournit un utilitaire qui doit se lancer depuis une disquette DOS pour faire cette partition. La mienne était déjà là à l'achat. Si vous devez la faire, il faut probablement que votre disque soit vide, car je ne suis pas sûr que l'on aie le choix de la mettre ailleurs qu'au début du disque. De plus, FreeBSD ne peut pas faire grand chose de ce type de partition, et Partition Magic ne sait pas les créer non plus.

7. Souris

Le touchpad PS/2 (psm0) n'est, pour une raison toujours inconnue, pas detecté sans une souris PS/2 externe. Après la detection, on peut enlever la souris externe et il marche parfaitement.


NEWI have received a solution from David S. Geirsson to the problem of touchpad detection, replace in your kernel config file:

device psm0 at atkbdc? irq 12 flags 0x1000

instead of:

device psm0 at atkbdc? irq 12

Thanks to him.

FreeBSD had not the "jumping mouse" problem of Linux.

L'autre gros problème concernant la souris est la vitesse. A l'époque ont pouvait mettre un paramètre très utile dans la section "pointer" de /etc/X11/XF86Config:

Resolution 100

malheureusement, cette option ne semble plus marcher avec XFree 3.3.6 et plus récents. Heureusement, j'ai trouvé une solution de remplacement assez efficace. Il faut taper:

xset m 45/10 4 &

45/10 = accélération
4 = quantité de mouvement en X temps qui déclenche l'accélération.

Si vous mettez mouvement à 1, cela règle une sorte d'accélération permanente, mais vous perdez en résolution même lors des mouvements lents. Le réglage décrit plus haut est le bon compromis pour moi. Put the line in your .bashrc, or better in .xinitr, or whatever script that is run when passing in graphical mode:

xset m 45/10 4

8. Carte son

La carte son marche parfaitement après une recompilation du kernel avec les lignes suivantes:

device pcm0 at isa? irq 10 drq 1 flags 0x0
device pcm

9. Optimisation du disque dur

Activez le mode DMA dans les options de compilation d'un nouveau kernel.

Une autre bonne idée est d'aller désactiver les cron, spécialement les hourly et les daily.

10. Modem

Le winmodem interne est et sera probablement toujours inutilisable sous FreeBSD.

11. Liens utiles

ACPI for Linux HomePage (semble down...)
ACPI Howto
Linux PCMCIA Information Page
Linux on Laptops
Noflushd
Linux-USB
Mitac

12. Remarques finales

L'APM souffre de problèmes qui sont tout à fait similaire à ceux dont souffre Linux. Pour la gestion de l'APM et de l'ACPI, windows à une longueur d'avance.

Pour ceux qui voudraient acheter ce portable, je leur signale qu'il a probablement le meilleur rapport qualité/prix du marché et que son point le plus faible est le clavier (touches moyennement stables).

NEW Vous pouvez sortir le clavier en enlevant tout d'abord le paneau avec le led via un petit bouton du côté droit. Puis en tirant et soulevant le clavier en direction de l'écran. Une fois enlevé, vous pouvez ajouter quelques feuilles ou un morceau de carton aux endroits peu stable (cet à dire environ le coin supérieur gauche). La stabilité est ensuite tout à fait satisfaisante.


Pour toutes questions/remarques/compléments d'information ou si vous avez des expériences suplémentaires avec ce modèle, contactez moi !

13. FreeBSD 4.3

Un problème de plus plus que pour le 4.2: la carte réseau, bien que detectée et semblant fonctionner comme dans le 4.2, ne fonctionne pas. Les seuls pings qui passent sont ceux assignés à l'IP associée directement à la carte. Le reste est équivalent.

13. FreeBSD 4.3

4.3 was worse thant the 4.2 for me, but the 4.4 is actually the best. All work fine, but I have not tested USE and infrared.

15. Kernel configuration

NEW A config file where all work fine for FBSD 4.4, enjoy :-)

#
# GENERIC -- Generic kernel configuration file for FreeBSD/i386
#
# For more information on this file, please read the handbook section on
# Kernel Configuration Files:
#
#    http://www.FreeBSD.org/handbook/kernelconfig-config.html
#
# The handbook is also available locally in /usr/share/doc/handbook
# if you've installed the doc distribution, otherwise always see the
# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
# latest information.
#
# An exhaustive list of options and more detailed explanations of the
# device lines is also present in the ./LINT configuration file. If you are
# in doubt as to the purpose or necessity of a line, check first in LINT.
#
# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.246.2.34 2001/08/12 13:13:46 joerg Exp $

machine		i386

# For FBSD 4.2 and 4.3, I686_CPU was sufficient, but with 4.4 kernel,
# I had a panic without I386_CPU...
cpu		I386_CPU
cpu		I486_CPU
cpu		I586_CPU
cpu             I686_CPU
ident		MYKERNEL	
maxusers	32

options 	MATH_EMULATE		#Support for x87 emulation
options 	INET			#InterNETworking
options 	FFS			#Berkeley Fast Filesystem
options 	FFS_ROOT		#FFS usable as root device [keep this!]
options 	SOFTUPDATES		#Enable FFS soft updates support
options 	MSDOSFS			#MSDOS Filesystem
options 	CD9660			#ISO 9660 Filesystem
options 	CD9660_ROOT		#CD-ROM usable as root, CD9660 required
options 	PROCFS			#Process filesystem
options 	COMPAT_43		#Compatible with BSD 4.3 [KEEP THIS!]
options 	SCSI_DELAY=15000	#Delay (in ms) before probing SCSI
options 	UCONSOLE		#Allow users to grab the console
options 	USERCONFIG		#boot -c editor
options 	VISUAL_USERCONFIG	#visual boot -c editor
options 	KTRACE			#ktrace(1) support
options 	SYSVSHM			#SYSV-style shared memory
options 	SYSVMSG			#SYSV-style message queues
options 	SYSVSEM			#SYSV-style semaphores
options 	P1003_1B		#Posix P1003_1B real-time extensions
options 	_KPOSIX_PRIORITY_SCHEDULING
options		ICMP_BANDLIM		#Rate limit bad replies
options 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev

device		isa
device		pci

device          pcm0 at isa? irq 10 drq 1 flags 0x0
device          pcm

# Floppy drives
device		fdc0	at isa? port IO_FD1 irq 6 drq 2
device		fd0	at fdc0 drive 0

# ATA and ATAPI devices
device		ata0	at isa? port IO_WD1 irq 14
device		ata
device		atadisk			# ATA disk drives
device		atapicd			# ATAPI CDROM drives
options 	ATA_STATIC_ID		#Static device numbering

# A METTRE POUR LE 4.2, EXISTE PLUS DANS LE 4.3 ET LES SUIVANTS.
#options    ATA_ENABLE_ATAPI_DMA    #Enable DMA on ATAPI devices

# SCSI peripherals
device		scbus		# SCSI bus (required)

# atkbdc0 controls both the keyboard and the PS/2 mouse
device		atkbdc0	at isa? port IO_KBD
device		atkbd0	at atkbdc? irq 1 flags 0x1

# The 0x1000 flag resolve the issue with touchpad detection.
device          psm0    at atkbdc? irq 12 flags 0x1000
device		vga0	at isa?

# splash screen/screen saver
pseudo-device	splash

# syscons is the default console driver, resembling an SCO console
device		sc0	at isa? flags 0x100

# Floating point support - do not disable.
device		npx0	at nexus? port IO_NPX irq 13

# Power management support (see LINT for more options)
device		apm0    at nexus? disable flags 0x20 # Advanced Power Management

# PCCARD (PCMCIA) support
device		card
device		pcic0	at isa? irq 0 port 0x3e0 iomem 0xd0000
device		pcic1	at isa? irq 0 port 0x3e2 iomem 0xd4000 disable

# Serial (COM) ports
device		sio0	at isa? port IO_COM1 flags 0x10 irq 4
device		sio1	at isa? port IO_COM2 irq 3
device		sio2	at isa? disable port IO_COM3 irq 5
device		sio3	at isa? disable port IO_COM4 irq 9

# Parallel port
device		ppc0	at isa? irq 7
device		ppbus		# Parallel port bus (required)
device		lpt		# Printer
device		plip		# TCP/IP over parallel
device		ppi		# Parallel port interface device

# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device		miibus		# MII bus support

# ISA Ethernet NICs.
# 'device ed' requires 'device miibus'
device		ed0	at isa? port 0x280 irq 10 iomem 0xd8000

# Pseudo devices - the number indicates how many units to allocate.
pseudo-device	loop		# Network loopback
pseudo-device	ether		# Ethernet support
pseudo-device	tun		# Packet tunnel.
pseudo-device	pty		# Pseudo-ttys (telnet etc)
pseudo-device	gif		# IPv6 and IPv4 tunneling

# The `bpf' pseudo-device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
pseudo-device	bpf		#Berkeley packet filter

# USB support
device		uhci		# UHCI PCI->USB interface
device		ohci		# OHCI PCI->USB interface
device		usb		# USB Bus (required)
device		ugen		# Generic
device		uhid		# "Human Interface Devices"
device		ukbd		# Keyboard
device		ulpt		# Printer
device		umass		# Disks/Mass storage - Requires scbus and da
device		ums		# Mouse
device		uscanner	# Scanners