Ubuntu Linux On MyBook 255

Go back.

This page describes my efforts to install and configure Ubuntu Linux 5.04 (Hoary Hedgehog) on a MyBook 255 laptop.

Updates

Ubuntu 6.10 (Edgy Eft): I have installed Ubuntu 6.10 with only the CPU powersaving issue still there.
Ubuntu 6.06 LTS (Dapper Drake): Everything written for 5.04 still stands.

Summary

A quick summary of the most important points for the impatient. All in all, this seems to be a pretty good laptop with regards to hardware support in Linux.

Item Works out of the box Driver Notes
Wireless Yes (unconfigured) ipw2200 Only network details were missing - the device worked.
CPU (frequency scaling) No p4-clockmod Loading the driver and restarting powernowd fixes this
Network Yes 8139
Graphics card Yes i910
USB Yes ehci_hcd,uhci_hcd
Firewire Probably sbp2?
Cardreader ? ?
PCMCIA Yes yenta_socket
Modem Probably ?
TV-out ?
External CRT No Use i855-CRT (available through apt-get)

Hardware

My particular laptop has the following configuration, other MyBook 255s may differ slightly:

Hardware Type Notes
CPU 1,3GHz Intel Celeron-M M350, 1MB L2 cache
Screen 15" 1024x768 TFT
RAM 512MB 2x256 MB
Graphics card Intel i855GM
Network card Realtek 8100CL 8139 compatible - these are all over the place!
Wireless network Intel Wireless 2200BG (802.11b/g)
Harddisk SAMSUNG MP0804H - 80GB
Optical drive QSI DVD+/-RW SDW-082S
Modem Castlenet MM320 I hope I'll never need this.
Firewire Texas Instruments TSB43AB22/A One mini female (there's probably a real name for this) plug.
PCMCIA O2 Micro, Inc. OZ711M1 (I think) One slot.
USB Intel Corp. 82801DB UHCI/EHCI 3 plugs + 1 internal, USB 2.0
Cardreader O2 Micro, Inc. OZ711Mx (I think) Reads SD, MMC and other junk.

My entry in the ubuntu hardware database.

Installation

Installation was truly a walk in the park as everything pretty much Just Worked©. An exception to this was the wireless network adapter, which failed to associate with my access point. this page seems to indicate that it may be caused by an old version of the driver, but I'm not sure this comment applies to the Ubuntu Linux 5.04. After the failed attempt to set up the network using DHCP, I just chose not to set up network. More on the wireless network later.

Configuration

After the install finished, I was to my surprise and joy, left with a fully functional laptop. At least all the things I care about pretty much worked. A few minor details were still left though.

Wireless network

The wireless network card had only been detected, but not configured during install, so I had to do this after my first boot. Using the configuration program (System > Administration > Network) , this also worked perfectly. I am only using a subset of the capabilities of the wireless card though - 802.11b and WEP - and haven't tried using it in difficult conditions yet.

Keyboard

In Gnome, the special keys at the top (except the fan one, which is handled entirely by hardware, it seems) are available for binding to actions, and so are the Fn-key-presses except the monitor-related ones.

This is not even remotely specific to this laptop, but I'll mention it anyway. To be able to bind the Windows-logo keys to a keycombination in Gnome, you have to change the following setting: Open gnome-keyboard-properties (found under System > Settings > Keyboard in Ubuntu Hoary) and change Windows key behaviour to act as Hyper.

Network

The wireful network adapter was detected and is working just fine using the 8139too driver.

Sound

The sound hardware was detected and works out of the box without problems using the snd_intel8x0 driver.

Processor

To enable speedstepping support I had to manually add p4_clockmod to /etc/modules after which powernowd (and presumably other similar daemons) does its thing nicely, scaling processor speed up and down as required.

Modem

The built-in modem was, I think, detected and configured during install, and I guess it's working, but I really have no way of telling.

PCMCIA

Using the yenta_socket and working. I tried plugging a 3com 3CRSHPW196 wireless network card (which, by the way also worked out of the box, using atmel_cs) and it was detected by pcmcia-cs/hotplug and it works just fine.

Firewire

Haven't tested this one either, but the presence of the ieee1394 driver seems to indicate that this is also up and working without me having to lift a finger. I am not sure which driver is running the actual firewire hardware - possibly one called sbp2.

Graphics adapter

Xorg was configured automatically. The kernel driver i915 is loaded, and the xorg.conf can be seen below.

To enable the external monitor, two programs exist: i810switch and i855-CRT.

First I tried i810switch. This correctly detected the current state (LCD on, CRT off), but when I tried to switch on the CRT with the command "i810switch lcd on crt on" I got a very unsteady image on the CRT, and the utility reported "No LCD support for this chipset.".

Next up was i855-CRT. Running "sudo i855CRT on 1024x768@85" enabled the external CRT. However, there was no cursor, and a white square at the top-left of the monitor. Next I tried "i855crt on rawpipe" which gave exactly the same result as i810switch did. Unsurprising, since this is the same method as i810switch uses. Last attempt was "i855crt swcursor on 1024x768@85". which was almost right. The only thing lacking was a cursor, which is a bit of a bummer. So I took the time to actually read the README for the utility, which mentioned switching X to not use hardware cursor. Putting Option "SWCursor" "1" in the device section of xorg.conf did this, and lo and behold, it worked! It also mentioned that there is a patch for XFree86 to allow this to work for hardware cursor as well. Using this setting lowers performance, so I set it to 0 again, because I don't anticipate using external CRT.

Touchpad

Use the synaptics driver, which is distributed seperately but available in most distributions. In the default settings, the touchpad is pretty sensitive, and I kept accidently pasting stuff by resting my hand on the scroll-area which seemed to count as a middle-click. After investigating this, I ended up adding the following settings in the InputDevice section for the touchpad in xorg.conf:

Option          "MaxSpeed"              "0.10"
Option          "RTCornerButton"        "0"
Option          "RBCornerButton"        "0"
Option          "RightEdge"             "5100"

The MaxSpeed sets the sensitivity lower and the two RTCornerButton/RBCornerButton disables a feature where a tap on the right top and bottom corners would be interpreted as a Middle or Right click respectively. The RightEdge setting means that the entire scroll area (seperated by a small ridge on the touchpad) is used for scrolling. With the default setting, it would only work for the very rightmost part of the touchpad.

Cardreader

This is another thing I have not yet have a chance to test. I am unsure which driver (if any) drives this device, and how cards will show up if plugged in.

Files

/etc/modules

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

ide-cd
ide-disk
ide-generic
lp
mousedev
psmouse
sbp2
sr_mod
p4-clockmod

xorg.conf

# /etc/X11/xorg.conf (xorg X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the /etc/X11/xorg.conf manual page.
# (Type "man /etc/X11/xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following commands:
#
#   cp /etc/X11/xorg.conf /etc/X11/xorg.conf.custom
#   sudo sh -c 'md5sum /etc/X11/xorg.conf >/var/lib/xfree86/xorg.conf.md5sum'
#   sudo dpkg-reconfigure xserver-xorg

Section "Files"
    FontPath    "unix/:7100"            # local font server
    # if the local font server has problems, we can fall back on these
    FontPath    "/usr/lib/X11/fonts/misc"
    FontPath    "/usr/lib/X11/fonts/cyrillic"
    FontPath    "/usr/lib/X11/fonts/100dpi/:unscaled"
    FontPath    "/usr/lib/X11/fonts/75dpi/:unscaled"
    FontPath    "/usr/lib/X11/fonts/Type1"
    FontPath    "/usr/lib/X11/fonts/CID"
    FontPath    "/usr/lib/X11/fonts/100dpi"
    FontPath    "/usr/lib/X11/fonts/75dpi"
        # paths to defoma fonts
    FontPath    "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
    FontPath    "/var/lib/defoma/x-ttcidfont-conf.d/dirs/CID"
EndSection

Section "Module"
    Load    "bitmap"
    Load    "dbe"
    Load    "ddc"
    Load    "dri"
    Load    "extmod"
    Load    "freetype"
    Load    "glx"
    Load    "int10"
    Load    "record"
    Load    "type1"
    Load    "vbe"
EndSection

#Section "Extensions"
#        Option        "Composite"        "Enable"
#EndSection

Section "InputDevice"
    Identifier    "Generic Keyboard"
    Driver        "keyboard"
    Option        "CoreKeyboard"
    Option        "XkbRules"    "xorg"
    Option        "XkbModel"    "pc105"
    Option        "XkbLayout"    "dk"
EndSection

Section "InputDevice"
    Identifier    "Configured Mouse"
    Driver        "mouse"
    Option        "CorePointer"
    Option        "Device"        "/dev/input/mice"
    Option        "Protocol"        "ImPS/2"
    Option        "Emulate3Buttons"    "true"
    Option        "ZAxisMapping"        "4 5"
EndSection

Section "InputDevice"
    Identifier    "Synaptics Touchpad"
    Driver        "synaptics"
    Option        "SendCoreEvents"        "true"
    Option        "Device"                "/dev/psaux"
    Option        "Protocol"              "auto-dev"
    Option        "HorizScrollDelta"      "0"
    Option        "MaxSpeed"              "0.10"
    Option        "RTCornerButton"        "0"
    Option        "RBCornerButton"        "0"
    Option        "RightEdge"             "5100"
EndSection

Section "Device"
    Identifier    "Intel Corporation 82852/855GM Integrated Graphics Device"
    Driver        "i810"
    Option        "SWCursor" "1"
    BusID         "PCI:0:2:0"
EndSection

Section "Monitor"
    Identifier    "Default monitor"
    Option        "DPMS"
EndSection

Section "Screen"
    Identifier    "Default Screen"
    Device        "Intel Corporation 82852/855GM Integrated Graphics Device"
    Monitor       "Default monitor"
    DefaultDepth    24
    SubSection "Display"
        Depth        1
        Modes        "1024x768"
    EndSubSection
    SubSection "Display"
        Depth        4
        Modes        "1024x768"
    EndSubSection
    SubSection "Display"
        Depth        8
        Modes        "1024x768"
    EndSubSection
    SubSection "Display"
        Depth        15
        Modes        "1024x768"
    EndSubSection
    SubSection "Display"
        Depth        16
        Modes        "1024x768"
    EndSubSection
    SubSection "Display"
        Depth        24
        Modes        "1024x768"
    EndSubSection
EndSection

Section "ServerLayout"
    Identifier    "Default Layout"
    Screen        "Default Screen"
    InputDevice    "Generic Keyboard"
    InputDevice    "Configured Mouse"
    InputDevice    "Synaptics Touchpad"
EndSection

Section "DRI"
    Mode    0666
EndSection

Program output

lspci

0000:00:00.0 Host bridge: Intel Corp. 82852/855GM Host Bridge (rev 02)
0000:00:00.1 System peripheral: Intel Corp. 855GM/GME GMCH Memory I/O Control Registers (rev 02)
0000:00:00.3 System peripheral: Intel Corp. 855GM/GME GMCH Configuration Process Registers (rev 02)
0000:00:02.0 VGA compatible controller: Intel Corp. 82852/855GM Integrated Graphics Device (rev 02)
0000:00:02.1 Display controller: Intel Corp. 82852/855GM Integrated Graphics Device (rev 02)
0000:00:1d.0 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 03)
0000:00:1d.1 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 03)
0000:00:1d.2 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 03)
0000:00:1d.7 USB Controller: Intel Corp. 82801DB/DBM (ICH4/ICH4-M) USB 2.0 EHCI Controller (rev 03)
0000:00:1e.0 PCI bridge: Intel Corp. 82801 PCI Bridge (rev 83)
0000:00:1f.0 ISA bridge: Intel Corp. 82801DBM LPC Interface Controller (rev 03)
0000:00:1f.1 IDE interface: Intel Corp. 82801DBM (ICH4) Ultra ATA Storage Controller (rev 03)
0000:00:1f.3 SMBus: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 03)
0000:00:1f.5 Multimedia audio controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03)
0000:00:1f.6 Modem: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 03)
0000:01:03.0 CardBus bridge: O2 Micro, Inc. OZ711M1 SmartCardBus MultiMediaBay Controller (rev 20)
0000:01:03.1 CardBus bridge: O2 Micro, Inc. OZ711M1 SmartCardBus MultiMediaBay Controller (rev 20)
0000:01:03.2 System peripheral: O2 Micro, Inc. OZ711Mx MultiMediaBay Accelerator
0000:01:07.0 Network controller: Intel Corp. PRO/Wireless 2200BG (rev 05)
0000:01:0a.0 FireWire (IEEE 1394): Texas Instruments TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link)
0000:01:0c.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)

lsmod

Module                  Size  Used by
eeprom                  7448  0 
i2c_sensor              3584  1 eeprom
i2c_dev                 9856  0 
p4_clockmod             4872  0 
speedstep_lib           4228  1 p4_clockmod
proc_intf               4100  0 
freq_table              4100  1 p4_clockmod
cpufreq_userspace       4572  1 
cpufreq_ondemand        6172  0 
cpufreq_powersave       1920  0 
pcmcia                 21380  4 
i915                   18304  1 
drm                    59412  2 i915
video                  16260  0 
sony_acpi               6280  0 
pcc_acpi               11264  0 
button                  6800  0 
battery                10244  0 
container               4608  0 
ac                      4996  0 
ipv6                  229504  9 
af_packet              20744  2 
8139cp                 19200  0 
8139too                24320  0 
mii                     4736  2 8139cp,8139too
arc4                    2048  1 
ieee80211_crypt_wep     4932  1 
ohci1394               31876  0 
ipw2200                66156  0 
firmware_class          9728  1 ipw2200
ieee80211              21252  1 ipw2200
ieee80211_crypt         5832  2 ieee80211_crypt_wep,ieee80211
yenta_socket           19584  0 
pcmcia_core            53568  2 pcmcia,yenta_socket
snd_intel8x0           29984  2 
snd_ac97_codec         64608  1 snd_intel8x0
snd_pcm_oss            47652  1 
snd_mixer_oss          16768  2 snd_pcm_oss
snd_pcm                84872  3 snd_intel8x0,snd_ac97_codec,snd_pcm_oss
snd_timer              23300  1 snd_pcm
snd                    50276  6 snd_intel8x0,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
soundcore               9824  3 snd
snd_page_alloc          9604  2 snd_intel8x0,snd_pcm
i2c_i801                8076  0 
i2c_core               21264  4 eeprom,i2c_sensor,i2c_dev,i2c_i801
shpchp                 86116  0 
pci_hotplug            30512  1 shpchp
ehci_hcd               29444  0 
uhci_hcd               30224  0 
usbcore               107384  3 ehci_hcd,uhci_hcd
intel_agp              20636  1 
agpgart                31784  3 drm,intel_agp
pcspkr                  3816  0 
rtc                    12216  0 
ntfs                   97136  1 
nls_iso8859_1           4224  1 
nls_cp437               5888  2 
vfat                   12928  1 
fat                    37792  1 vfat
md                     43856  0 
dm_mod                 53116  1 
capability              5000  0 
evdev                   9088  1 
joydev                  9408  0 
commoncap               7808  1 capability
tsdev                   7488  0 
sr_mod                 16036  0 
sbp2                   22408  0 
scsi_mod              119936  2 sr_mod,sbp2
ieee1394              100408  2 ohci1394,sbp2
psmouse                19336  0 
mousedev               11160  1 
parport_pc             34372  0 
lp                     10792  0 
parport                33480  2 parport_pc,lp
ide_cd                 38532  0 
cdrom                  36508  2 sr_mod,ide_cd
ext3                  120968  1 
jbd                    54168  1 ext3
ide_generic             1664  0 
piix                    9988  1 
ide_disk               18176  5 
ide_core              118988  4 ide_cd,ide_generic,piix,ide_disk
unix                   26164  866 
thermal                13576  0 
processor              22708  1 thermal
fan                     4612  0 
fbcon                  34048  0 
font                    8448  1 fbcon
bitblit                 5120  1 fbcon
vesafb                  6948  0 
cfbcopyarea             3968  1 vesafb
cfbimgblt               3072  1 vesafb
cfbfillrect             3584  1 vesafb

Additional notes

The harddisk (Samsung MP0804H) supports S.M.A.R.T and the hddtemp utility can read the temperature of the harddisk in this way.

Links


Last updated Sun Jun 15 11:10:26 CEST 2008