Version 0.12
Copyright © 2006-2007 by
Zack Smith
All rights reserved.
0. Summary
Currently working on the wireless issue.
1. System Profile
My A105-S4284 has the following hardware:
| Item | Description | Status
|
|---|
| CPU | Intel Core Duo T2050, 1.6 GHz
L1=64 kB, L2=2 MB, Bogomips=3185
| Works
| | Memory | 1024 megs DDR2 533 MHz (4200MB/sec theoretical max.)
| Works
| | Hard drive & controller |
Toshiba MK1032GSX 100GB SATA drive and
Intel 82801 GBM/GHM SATA controller
|
Works but
SATA problem
| | Optical drive | Upgraded to the Pioneer
DVR-K06
slot-loading DVD writer
|
Works (tested only for reading)
| | Display & Video |
15.4" 1280x800 TFT
Mobile Intel 945GM Express
w/shared video memory 8-128MB
|
Works (requires 915resolution hack for widescreen)
| | Sound | Intel 82801G High-Definition Audio controller
| Works
| | Wireless Networking
|
Intel PRO/Wireless 3945ABG wireless network adapter
| Not 100% working yet.
| | Ethernet
|
Intel PRO/100 VE Ethernet controller.
| Not tested.
| | Firewire (IEEE 1394) |
Texas Instruments OHCI compliant 1394 controller
| Not tested
| | USB | Intel 82801G
| Works
| | PCMCIA | Texas Instruments PCIxx12 CardBus and Flash controller
| Works
| | SD flash memory slot |
Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD)
| Not tested.
| | Bluetooth | ?
| Not tested.
|
2. Installation
This information is provided as-is. Proceed at your own risk.
- First,
you need to shrink the main partition to make
room for Linux.
There are two ways to do this:
-
Buy or borrow a copy of
PartitionMagic
and use that. This is the safe choice.
-
Use ntfsresize, which is riskier.
-
Under Windows, download the ISO for
grml Linux
or a similar live-CD Linux
and write that to a CD-RW. It must include ntfsresize!
- Restart, and boot under grml.
-
Use ntfsresize to reduce
the size of the main NTFS partition.
Definitely use a round number of gigabytes.
You will then need to use fdisk to delete/recreate that
partition in the proper smaller size,
as well as one or two Linux partitions
(a big one e.g. 7.5 gigs for Linux data, a smaller one
e.g. 512 megs for Linux swap).
Consider yourself forewarned
that this is a risky operation! So if you are
inexperienced or feel queasy about it,
Note that you may need to
defragment the Windows partition before shrinking it.
-
Reboot to Windows, which should do a
check-disk (chkdsk). If not, right click on the main partition
icon in My Computer and initiate error-checking.
It may want to reboot afterwards.
-
Now under Windows, download the Slackware 11.0 DVD ISO.
This will take forever, but it's easier to deal with
than the CDs.
Then, burn that to a DVD-R.
-
Boot with the Slackware DVD,
and enter at the prompt
"sata.i noieee1394", to prevent the boot sequence
from hanging during FireWire auto-detection.
-
Once at the command prompt,
use fdisk if you need to alter your partitions,
then run 'setup'
and install whatever you want.
-
When you get to the question of whether you
want to enable Hotplug,
select No. Otherwise the system will hang during
start-up.
-
When you get to the stage where you will
install LILO, note that you must
install it into the MBR (Master Boot Record).
Before abandoning Windows
If you plan on using Linux exclusively,
be sure that before you do,
you copy all of the Windows TrueType fonts
to a disk for use with Linux. They're in c:\windows\fonts.
Firefox looks much better when using Windows fonts.
3. Drivers
3.1. Video
Without any modifications, VESA video works
using the Intel framebuffer driver in 1024x768 mode
if you request that LILO sets that mode at startup.
3.1.1. X Windows
The 945GM graphics chip works in 1024x768 in VESA mode.
To get widescreen 1280x800 video under X windows,
you need to use the utility
915resolution.
- Download it, remove the executable and recompile it.
- Do a "make install".
- Then in your /etc/rc.d/rc.M file,
just before GPM is started, put the command
"915resolution 54 1280 800".
-
Modify your /etc/X11/xorg.conf to replace
the monitor info with this:
Section "Monitor"
Identifier "My Monitor"
Option "DPMS"
HorizSync 28-64
VertRefresh 43-60
Modeline "1280x800" 83.46 1280 1344 1480 1680 800 801 804 828 -HSync +Vsync
EndSection
-
Modify your /etc/X11/xorg.conf to include a
default depth of 32 bits/pixel and
to use the 1280x800 resolution.
Note the following problem:
When you exit X in 1280x800,
the text in text mode is garbled.
3.1.2. Framebuffer
You can start up in VESA 1024x768 mode.
I don't think it's
possible to start up in 1280x800,
because 915resolution indicates that there is no
BIOS video mode for that resolution.
The only way to start up
in 1280x800 would be to update LILO
to include 915resolution functionality.
3.1.3. New discovery
I have discovered that
under Windows in the Dos Box,
the VESA driver reports that modes 0x162 and 0x168
provide 1280x800 at 32 bits.
I never tested whether this mode also
worked under Linux.
The following is the full list printed by a utility that I wrote.
I have no idea as to whether
these modes truly exist in the VESA BIOS
or whether they are invented by Windows XP.
Found VESA version 3.0
Mode 0x101 is 640 by 480, 8 bits
Mode 0x103 is 800 by 600, 8 bits
Mode 0x105 is 1024 by 768, 8 bits
Mode 0x111 is 640 by 480, 16 bits
Mode 0x112 is 640 by 480, 32 bits
Mode 0x114 is 800 by 600, 16 bits
Mode 0x115 is 800 by 600, 32 bits
Mode 0x117 is 1024 by 768, 16 bits
Mode 0x118 is 1024 by 768, 32 bits
Mode 0x160 is 1280 by 800, 8 bits
Mode 0x161 is 1280 by 800, 16 bits
Mode 0x162 is 1280 by 800, 32 bits
Mode 0x166 is 1280 by 800, 8 bits
Mode 0x167 is 1280 by 800, 16 bits
Mode 0x168 is 1280 by 800, 32 bits
Mode 0x1ff is 640 by 480, 8 bits
3.2. Sound
The Intel 82801G High-Def audio chip
is supported by the 2.6.19.2 kernel,
which I compiled.
You can use the config file below.
3.3. ACPI
Seems to work, but
I have not seen it slow down the CPU.
3.4. USB
Four ports total. They work.
3.5. FireWire
The FireWire driver that is supplied with
the 2.4 kernel appears to be causing a kernel crash.
This is why you need to start up with
the "noieee1394" option.
3.6. Printing via lp0
There is no parallel port.
3.7. External flash drive
These work fine and are faster than the SATA drive
due to the problem with the SATA driver.
3.8. PCMCIA
Appears to be supported, I didn't test it.
3.9 Networking
The Intel Ethernet NIC appeared
to be recognized by the provided kernel.
Wireless
This very nearly gets wireless working:
-
Obtain the 2.6.19.2 kernel source code, put
it in /usr/src, and configure it
to include ieee80211 built-in.
There is a sample .config file at the bottom
of this document.
-
Obtain the ipw3945 driver
and daemon as well as the
microcode
for it.
Un-tar those into /root.
-
For the driver, cd into its directory and
do a "make install_radiotrap" (] and a
"make patch_kernel". You may have to tell
the makefile where the kernel sources are.
-
Do this: "chmod +x /etc/rc.d/rc.udev /etc/rc.d/rc.wireless".
-
Put the microcode in /lib/firmware.
-
Compile the daemon and do "make install".
-
Reboot with the new kernel (first update lilo.conf and rerun lilo).
-
When it comes back up, cd to the driver directory
and run ./load.
-
You should be able to run iwconfig and see that eth1
is available.
3.10. Internal DVD writer
I upgraded my A105 laptop with the
Pioneer DVR-K06R
dual-layer slot-loading
DVD writer. Installation is
very simple and I recommend upgrading to this drive
if you can get one.
The drive that came with the computer
was OK, not great.
4. Performance
4.1. Video
VESA performance is quite decent.
My benchmark program
bandwidth
says:
Framebuffer memory sequential read millions/sec = 5.93086
Framebuffer memory sequential write millions/sec = 21.9919
4.2. Hard drive
The stock drive is a SATA 100 MB drive
that is a Toshiba MK1032GSX.
With the provided kernel and 'hdparm'
it was impossible to enable DMA,
in fact trying to gave an error.
Here are the hdparm benchmarks:
hdparm -t (buffered disk read)
1.83 MB/sec
hdparm -T (cached disk read)
2560 MB/sec
Compare this to accessing a 4X flash card
that is connected via USB2 with a USB2 adapter:
hdparm -t (buffered disk read)
4.95 MB/sec
hdparm -T (cached disk read)
2043.34 MB/sec
You should add -h to the poweroff command in /etc/rc.d/rc.6 to ensure a quiet hard drive powerdown.
SD flash slot
This laptop comes with a built-in SD card reader,
which is not a trivial enhancement
because it should be a 32-bit interface and
hopefully will prove to be quite fast.
However I haven't tested it yet.
4.3. Processor
The Intel Core Duo T2050 has two processors
and is really quite sufficient for most purposes,
if you have a kernel
that supports both.
The BYTE magazine Dhrystone benchmark,
available
here,
gives a result of 160 under Linux.
When I ran it under Windows with Cygwin, I got a value of 189.
4.4. Memory Bandwidth
To ascertain memory performance,
I wrote a utility called "bandwidth",
which is
here.
I got these values:
L2 cache sequential read millions/sec = 906.877
L2 cache sequential write millions/sec = 798.915
Main memory sequential read millions/sec = 748.983
Main memory sequential write millions/sec = 327.68
Framebuffer resolution: 1024x768, 16bpp
Framebuffer memory sequential read millions/sec = 5.93086
Framebuffer memory sequential write millions/sec = 21.9919
Notice that although the RAM type is rated
to offer a 4200 MB/second transfer rate for main memory,
the benchmark achieved only 748.9*4 = 2996 MB/second
when reading, even though it was reading sequentially
which should result in very good prefetch efficiency.
4.5. Internal DVD writer
I haven't written any DVDs under Linux.
Windows is better for that.
5. Kernel
I compiled the 2.6.19.2 kernel from
kernel.org
and it works fine.
The config file (/usr/src/linux/.config) that I created for it
is
here.
6. Mailing List
Link.
Links
|