The MS-1013 is sold in a number of forms and often goes under the name Megabook S270. This hardware is also sold as a barebones system which is rather rare or laptops. It is the only laptop I found with an AMD64 CPU and a 12 inch screen.
As of January 2006 there are many online retailers that will allow you to customize your laptop. I purchased mine from AVADirect and have been happy with it so far. Besides picking all the components you can also pick the OS you want. In my case that was none! RedHat was an inexpensive option and, though I don't want to use it, in retrospect it probably would have helped having a working configuration on the machine to look at while trying to get some things working. In the end it wasn't necessary, it may have sped things up a little though.
The information provided here is a collection of things I learned/discovered while getting this laptop working. Although I try to provide all the relevant details I do not provide a step by step guide.
I chose to install Ubuntu 5.10, "Breezy Badger", AMD64 variant on the machine. Roughly speaking everything works. Roughly since I haven't tested everything and there are some tweaks necessary to get some things working. In the end I find them rather minor and I have been impressed that a relatively new laptop in 64bit mode works so flawlessly so easily. Given struggles I've had with other laptops I was quite shocked by this. I chose Ubuntu because I have been using Debian for awhile now and like it. Ubuntu releases branches from Debian unstable frequently thus creating a stable system with more up to date software.
In this system is the following hardware:
MS-1013 Turion64 Ultraportable Series Laptop, 12.1" WXGA LCD, ATI Radeon Xpress 200M Graphics AMD, Turion 64 MT-34 1.8GHz, 1MB L2 cache, 25W DDR400, 1GB DDR 400MHz PC-3200 SDRAM SODIMM, Non-ECC FUJITSU, 80GB MHT2080AH, 5400-RPM, 8MB cache, 9.5mm, EIDE MICROSTAR, MP54GBT2 Combo Wireless-G + Bluetooth Adapter, IEEE 802.11b/g 11/54Mbps, MiniPCI (for MSI n/b only)
For gory details you can view the lspci -v and /proc/cpuinfo output.
As noted above almost everything on the laptop just works in the default Ubuntu install. Everything that I have tried works after some tweaks. Here is a brief summary of the tweaks. More details are given below.
ati
driver needs to have the noaccel
option set. It does
not start up without this. An alternative is to use the proprietary
fglrx
driver which allows for 3D acceleration.
noapic
and nolapic
set.
For the configuration described here I am using BIOS version 4.30 which was the latest as of 10 January 2006. I upgraded this from 4.10 which had been on the machine. You can find more information from MSI. Be aware that there are two versions of the BIOS, a 6.x series and a 4.x series. Please carefully read their information to determine whether you have the RS480 or RS482 chipset.
Note that to upgrade your bios you can boot from a USB flash drive.
The MS-1013 will only show this boot option in the BIOS boot menu
if the USB drive is plugged in at boot and if it has a
bootable image on it. Under Linux
I just used
dd
to write such an image to the drive. You can find
images in lots of places including Bootdisk.Com. Make sure you copy
the new bios and flash utility to the drive before you reboot.
The CPU speed is controlled by powernowd
. The default
mode is to run at the lowest speed (lowest power consumption) when
the machine is idle, to step it up as demand increases, and to step
it back down as demand lessens. Some of this can be controlled by
configuring powernowd
, see its manpage for more
details. This is installed and run by default.
There are two options for driving the video display. The first is to use the open source driver (installed by default). The second is to install the proprietary driver. You may also want to read about my DVD playing experiences when decided which driver to use.
ati
Driver
The video chip in this laptop is unfortunately made by ATI. It is
the ATI Radeon Xpress 200M. The free driver, ati
, in
xorg 6.8.2 supports this card though it will not run with
hardware acceleration. Thus after install X will not start up (it
will try and fail). To fix this edit
/etc/X11/xorg.conf
and add Option
"noaccel"
to the Device
section. In other words
you should have something like the following:
Section "Device" Identifier "ATI Technologies, Inc. Radeon Xpress 200M (RS480)" Driver "ati" BusID "PCI:1:5:0" # This option MUST be added for X to start. Option "noaccel" EndSection
After this X will start, recover from suspend/hibernation, but run without acceleration. You can view my full xorg.conf file if you like. Most of it comes from the default install/configuration.
fglrx
Driver
ATI does release a binary only driver that works with this card.
You can install different versions of this. If you want to install
the fglrx
driver you should read the Ubuntu
Howto posted in the Ubuntu forums. With the latest version
(8.22.5) I did not have to follow the advice about using a
different version of libdri.a
on 64bit platforms.
An older version of the driver comes as a prebuilt package, just
apt-get install
the xorg-driver-fglrx
package. If you are going with the 64bit environment make sure you
read the Ubuntu
Howto as noted above. You can view a working xorg.conf file. To verify that you have
full acceleration run fglrxinfo
. I do not have the
expected output for a working configuration on hand, but, if it
reports that XFree86-DRI
being missing or something
about using Mesa then I think that something is wrong. The
configuration file given above did work for me when I tried it.
Though the configuration file worked for me when I returned from
suspend or hibernate X was frozen which subsequently froze the
machine. This is due to DRI
being turned on. When I
commented it out suspend and hibernate worked. Note that version
8.16.20 of the driver, the version I got when I installed the
package, is the first one that claims to support suspend and
hibernate. It would seem all the bugs weren't worked out in it.
To install the latest version of the driver from ATI follow the
directions in the Ubuntu
Howto posted in the Ubuntu forums. I use the same xorg.conf as used for the Debian
packaged driver. When I run fglrxinfo
I get
display: :0.0 screen: 0 OpenGL vendor string: ATI Technologies Inc. OpenGL renderer string: RADEON XPRESS 200M Series SW TCL Generic OpenGL version string: 2.0.5642 (8.22.5)
Notice that I'm using version 8.22.5 of the driver. This is
running with full acceleration and both suspend and hibernate work!
They only work when I boot with both the noapic
and
nolapic
kernel options set. Also note that
fireglcontrolpanel
seems to be a 32bit application.
For me it was easiest to just use libraries from my 32bit environment to get this to run.
The sound card is supported by alsa using the snd_atiixp
module. This is all detected and configured correctly.
Unfortunately sound does not come out the speakers and can only be
heard, quietly, with headphones. The reason for this is one of the
registers is set incorrectly. To fix this read on. Note that you
also have to make sure that the External Amplifier
is
turned on. You can check this with alsamixer
, for
example. I believe it was for me but I don't remember.
The sound problem has been fixed in alsa 1.0.10
which
will be included with future versions of Ubuntu so sound should
only be a temporary problem. Unfortunately Breeze Badger comes
with alsa 1.0.9
. One fix mentioned online is to
echo 7a 2090 > /proc/asound/card0/codec97#0/ac97#0-0+regs
This only works if ALSA debugging is enabled in the kernel (option
named CONFIG_SND_DEBUG
). The Ubuntu kernel does
not have this option set. Thus you would have to
reconfigure and recompile your kernel to turn this on. This isn't
that hard, but it is not the option I chose.
The alternative is to install the snd_atiixp
module from a newer
alsa. I did this by getting the alsa-utils
source
package from "Dapper Drake" and compiling the module. To do this
make sure you have the linux-headers
package installed
that is consistent with the kernel you are using. Once you have
the alsa-utils
source installed (which can be done as
an unprivileged user) do something like the following:
# Change to the directory where you have it installed. For me that is ... cd ~/tmp/sound/alsa-driver-1.0.10 # Configure just what I need. The --with-kernel option should point to # the headers for the kernel for which you are building the module. ./configure --with-kernel=/usr/src/linux-headers-2.6.12-10-amd64-k8 --with-cards=atiixp make make install # as root
After installing the module it is probably easiest to reboot (I
know, this sounds like and m$ suggestion). It is possible to run
depmod -a
, kill anything using sound, remove all the
modules, use the scripts in /etc/init.d to help with this, etc. In
the end 1 reboot isn't that bad.
Regardless of the option you choose you will have to remember to do this for every kernel you want to have working with sound and redo it anytime there is a kernel upgrade. This is one of the more difficult "tweaks" that is required but, fortunately, shouldn't be needed in the future.
The miniPCI card includes a Ralink RT2500 WLAN device. This is
supported without changes by an opensource driver. The device name
is ra0
.
I have verified that the miniPCI card installed is the MP54GBT2
(aka MS6533B). This contains bluetooth. The vendor claims it was
tested under windows and worked (I have no way of confirming this).
I have not been able to get it to work under Linux. The
expectation is that it should be controlled by the
hci-usb
module (that is, the bluetooth is implemented
as a usb device). However I see no new usb device when I load this
module. I have found a report with working
bluetooth. I'm not sure if this is the same device as I have.
No tweaks were made to acpi. The email
and
web
buttons work by default (using your gnome
preferences for your email client and web browser). The "wireless"
button toggles the wireless LED (on the bottom, furthest to the
right) but doesn't do anything else. It does not generate
an acpi keycode so it is not handled by the acpi system. I don't
know how to check the state of the LED. Using
setkeycodes
you can cause it to generate a keycode
that can be assigned to a task (through a gnome keybinding, for
example) though I haven't done this. The last button for bluetooth
does nothing. I thought it was suppose to change the color of the
wireless LED to indicate that bluetooth was active. This concerns
me a little as there were some mini PCI cards that were originally
shipped with the MS-1013 that were suppose to include bluetooth
support but they didn't work with the motherboard. Again it isn't
controlled by acpi but a key binding can be assigned to it.
Works with no changes. This includes scrolling. It is controlled
by the xorg-driver-synaptics
package, which was
installed by default for me.
Both suspend (to RAM) and hibernate (to disk) work using the built
in software suspend. For this to work you must boot the kernel
with the noapic
and nolapic
options. To
do this I made the following changes to
/boot/grub/menu.lst
.
## Added noapic and nolapic here ... # kopt=root=/dev/hda1 ro noapic nolapic ## Added noresume here. If I have to recover I don't want to restore ## an old session, I want to start over. This is a safety nicety. # altoptions=(recovery mode) single noresume ## Added resume=.... The device is my swap space. To find this use ## cat /proc/swaps and fill in the filename. # nonaltoptions=quiet splash resume=/dev/hda5
After making these changes run update-grub
. You will
need to reboot of course.
By default suspend (to RAM) isn't turned on. Edit
/etc/default/acpi-support
and uncomment the
ACPI_SLEEP=true
line. After this when you login to
gnome the logout options will include both Suspend and Hibernate.
Both will work though see the notes above in the Video Driver section. Returning from
suspend/hibernate does depend on which video driver you use and how
it is configured.
Works with no changes. This includes highspeed USB2.0 devices.
Works. I found for my external hard drive I had to turn it on first, then plug in the firewire otherwise it wasn't reliably detected/automounted.
Hmm, so, there does appear to be a modem in the machine. This means I haven't looked at it. I haven't even considered looking at it. I expect it requires some proprietary driver. I have no reason to test it and expect I won't.
There are many other things I have done in configuring this laptop/Ubuntu. Not everything is ideal but I'm continually surprised by how many things work and how well.
There are a few proprietary programs that don't work in 64bit mode.
This includes Acrobat Reader and Flash (with Firefox). This can be
solved by running these programs in a 32bit environment. Setting
up a 32bit environment isn't hard. Information can be found in the
Ubuntu
Forums. Note that the link here is a little old, it applies to
Ubuntu 5.04, not Ubuntu 5.10, but the Howto can be followed with
small changes. This has proven useful to me for
mplayer
as many of the codecs are 32bit only.
Playing DVDs works great on this laptop, however, some
configuration is needed. This includes both the dvd device and the
video driver choice. For the player I use totem
. I
would expect any of the many other choices (gxine
,
mplayer
, ogle
, vlc
, etc.) to
work fine too. It is necessary to install the
libdvdcss2
package, and follow its instructions, to
play encrypted dvds that you have legally obtained and legally want
to view (yes, it is a shame that one must still go through
this step).
I don't know if this was necessary but the cdrom device is untuned
for performance so I tweaked this. I am currently using the
options suggested in /etc/hdparm.conf
. In that file I
have
/dev/cdrom { dma = on interrupt_unmask = on io32_support = 0 }
To play dvds in full screen mode I found it necessary to have a
video driver with DRI
turned on. Without this video
update lagged the sound and was choppy. For me this means using
the latest fglrx
proprietary driver as noted above in
the Video Driver section.
$Id: breezy.html,v 1.1 2006/06/11 15:12:20 craig Exp $