This page describes my efforts to install and configure Ubuntu Linux 5.04 (Hoary Hedgehog) on a MyBook 255 laptop.
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.
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) |
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 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.
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.
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.
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.
The wireful network adapter was detected and is working just fine using the 8139too driver.
The sound hardware was detected and works out of the box without problems using the snd_intel8x0 driver.
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.
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.
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.
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.
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.
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.
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.
# /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
# /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
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)
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
The harddisk (Samsung MP0804H) supports S.M.A.R.T and the hddtemp utility can read the temperature of the harddisk in this way.