Monatsarchiv

Archiv durchsuchen

November 2008
M D M D F S S
« Okt    
 12
3456789
10111213141516
17181920212223
24252627282930
Archiviertes

Toshiba Satellite 1130-Z31

The Hard(ware) Facts

CPU: Intel Pentium 4 M - 2 GHZ
RAM: 512 MB
Hardisk: 60 GB, 2.5 inch
Drive: DVD/DVD-R
Graphics: Intel 855GM
Display: 15 inch, 1024×768 px
LAN: Realtek RTL 8139 10/100 Mbit
Sound: Intel 82801DB AC’97
Modem: Intel 82801DB AC’97
PCMCIA: O2 Micro OZ6933
WLAN (PCMCIA): Netgear MA401 802.11b 11Mbit

Installation

First of all I installed a basic Debian Woody from CD and added an official Debian mirror in /etc/apt/sources.list for sid main/contrib/non-free, security and non-US. After an apt-get update and an apt-get dist-upgrade I had a rudimentary Debian unstable on my notebook.
Then there were six goals I had to master:

  • Getting XFree running: Need of XFree 4.3 which isn’t in Sid already
  • Getting usb-mouse and touchpad working
  • Getting a higher resolution on console-mode
  • Getting DVD-R burning
  • Getting PCMCIA-WLAN working
  • Getting ACPI working

XFree 4.3

Unfortunately the XFree-Server 4.3 is still missing in Debian Unstable. So I was forced to use a backport of it to get my Intel 855GM chipset working. Even if I never use its capabilities of hardware support for 3D graphics, I wanted to have a smooth 1024×768 desktop working.
There are three ways to get the 4.3 for Debian:

  • Compiling it from the original sources of XFree.org and building a deb-package out of it
  • Using the package from the Experimental tree of Debian
  • Getting the backport from Marcello Magallon for Debian Woody and trying to get this one running
  • After some consideration I decided to try the last possibility. This may be the best and probably most successful one. The first one seems to be a lot of work and full of possible mistakes leading to some exciting errors. The second would lead to some dependency problems which maybe could be solved but may also corrupting the stability of Sid (in fact, even if it is called Unstable, after about five months running unstable I can remember only two times where some packages failed or had unresolvable dependency problems).
    I found that backport of XFree 4.3.0 for Woody by Marcello at his repository on people.debian.org. So I just added the following to my /etc/apt/sources.list:
    deb http://people.debian.org/~mmagallo/packages/xfree86/i386 ./

    (At the moment after the compromise of some Debian servers alternatively at:
    deb http://opensource.nchc.org.tw/apt/xfree86-4.3/woody/ ./ )
    After an update I installed xserver-common and xserver-xfree86 on the machine and was asked by dialog about the configuration I want for the X-server. However you will do, this works fine for me:

    Section "Device"
    Identifier	"I852GM"
    Driver		"i810"
    VideoRam	8192
    Option		"UseFBDev"		"true"
    EndSection
    
    Section "Monitor"
    Identifier	"Generic Monitor"
    HorizSync	30-57
    VertRefresh	43-72
    Option		"DPMS"
    EndSection

    USB-mouse and touchpad

    Until I most often use my Toshiba at home or at work I have a second mouse (USB) attached to it. After installations of other distributions, some couldn’t handle the two mice properly. So I thought this will be another problem to be solved. But indeed Debian installs the X-server with a default of two mice configured. One as core pointer, the other sends core events to the core pointer. So both mice worked fine after installation. For completeness, these are the appropriate lines of the XF86Config-4:

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

    Higher resolution on console-mode and boot-up

    Sometimes the better environment for working on a Linux is the console-mode on tty*. But it makes no fun on a small 80×25 characters console screen. To get a higher res you have to get your kernel support for framebuffer (in the Debian kernels always configured) and to modify your /etc/lilo.conf and add to the main config

    ...
    vga=773
    ...

    Then run as root lilo once and after the next reboot you have a console set on 1024×768 resolution and 256 colors according to the following framebuffer console modes:

    Video Modes 640×480 800×600 1024×768 1280×1024
    256 colors 769 771 773 775
    64K colors 785 788 791 794
    16M colors 786 789 792 795

    But pay attention if you are using kernel 2.6! Then you will see only a black screen while booting when vga is set to one of the decimal values.
    When you are just about to edit your /etc/lilo.conf then you maybe will modify the settings to this:

    ...
    # Enable graphical boot menu:
    bitmap=/boot/sid.bmp
    bmp-colors=1,,0,2,,0
    bmp-table=120p,173p,1,15,17
    bmp-timer=254p,432p,1,0,0
    
    #
    install=/boot/boot-bmp.b
    ...

    So you can enable the Debian specific lilo boot menu which is much nicer than the standard menu.

    DVD-R

    One of the main features of the Toshiba Satellite 1130-Z31 is its DVD-Burner. It is only a 1x DVD-R (Toshiba SD-R 6012) and a 24x/16x CD-R but it makes accurate DVD and CD when you have the following installed:

    dvd+rw-tools
    cdrao
    cdrecord
    ...
    gcdmaster
    k3b
    cdbakeoven

    While dvd+rw-tools (it also fits the needs of DVD-R) provides some tools for burning DVD, K3B is able to burn a DVD with GUI. From console you can choose cdrecord. For burning CD-R with the drive you can also choose one of the others. For the use with a 2.4.x kernel you have to configure your kernel for SCSI support (it’s also needed for USB-storage) and add

    append="hdc=ide-scsi"

    to your /etc/lilo.conf. Then the IDE-device is remapped to a SCSI-device and is furtheron called as /dev/scd0 (0:0:0). Kernel 2.6 has a new implementation for this. Update follows…
    For completeness, my entries for DVD-R and USB-storage (it’s very similar) in /etc/fstab:

    /dev/scd0 /dvd            auto    rw,noauto,user,exec    0     0
    /dev/sda1 /mnt/usbstick   auto    sync,uid=***,gid=***,
    umask=0002,noauto,rw    0     0

    PCMCIA Wireless

    Because a notebook isn’t very stationary I decided to have a WLAN also integrated at my home network. My choice for a PCMCIA WLAN card was well considered. So I choose not one of the new 802.11g (54Mbit) or b+ (22Mbit) but an older 802.11b with a well-known Prism2-chipset in it. So I took a Netgear MA401 Rev.D.
    For the use of a PCMCIA WLAN card there are two ways to handle with.

  • Take the pcmcia-cs kernel-modules or
  • take the kernel built-in drivers
  • For the first make sure you disable the whole PCMCIA and wireless support in the kernel config.
    My choice was the second one, so I added the support for PCMCIA and wireless to the kernel and made an new one. But first I downloaded the patch for monitoring (needed by airsnort or kismet, some WLAN-sniffers for security-auditions) from the Airsnort-Homepage and patched the orinoco-kernel-drivers (orinco.o and hermes.o in /usr/src/linux/drivers/net/wireless) like documented on the website. For this and some other reasons you need for best the kernel-souces from kernel.org and build with make-kpkg a complete new kernel for you (for goal 6 it’s recommended) as a deb-package.
    When your kernel is able to handle with PCMCIA, wireless and hotplugging, then you need at least these packages:

    hotplug
    pcmcia-cs
    wireless-tools

    When installed make sure the following entry exists in /etc/pcmcia/config:

    card "Netgear MA401RA Wireless Adapter"
    version "NETGEAR MA401RA Wireless PC", "Card"
    bind "orinoco_cs"

    Then edit your /etc/network/interfaces similar to this according to your network environment:

    /etc/network/interfaces
    iface eth1 inet static
    address 192.168.1.X
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.255
    gateway 192.168.1.X
    wireless_essid any
    wireless_mode Managed
    wireless_rate 11M auto
    wireless_key restricted s:XXXXXXXXXXXXX

    Here and in the following X is a placeholder for alphanumerics and a x for hexadecimals.
    wireless_key can also be written in HEX then you have clean out the s: and have to enter 26 hexadecimals according to the settings in your accesspoint. This is the setting for 128bit WEP encryption. Less than 128bit (in real it is 104bit and an overhead of 24bit) should not be used. It is too easy to break in with help of sniffers like airsnort.
    The result should be when the card is inserted in the PCMCIA slot that two beeps appear, the green LED is blinking until it has a connect to an accesspoint and remains green when it has connected. You can also use cardinfo to see if the card is correctly recognized.
    The commands iwconfig and ifconfig should show something like that after /etc/init.d/pcmcia restart and /etc/init.d/networking restart:

    iwconfig
    eth1      IEEE 802.11-DS  ESSID:"XXXXXX"  Nickname:"Prism  I"
    Mode:Managed  Frequency:2.412GHz  Access Point: xx:xx:xx:xx:xx:xx
    Bit Rate=11Mb/s   Tx-Power=15 dBm   Sensitivity:1/3
    Retry min limit:8   RTS thr:off   Fragment thr:off
    Encryption key:xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xx
    Security mode:restricted
    Power Management:off
    Link Quality:84/92  Signal level:-10 dBm  Noise level:-145 dBm
    Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
    Tx excessive retries:47  Invalid misc:0   Missed beacon:0
    
    ifconfig
    eth1      Protokoll:Ethernet  Hardware Adresse xx:xx:xx:xx:xx:xx
    inet Adresse:192.168.1.X  Bcast:192.168.1.255  Maske:255.255.255.0
    UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
    RX packets:1570 errors:0 dropped:0 overruns:0 frame:0
    TX packets:1072 errors:50 dropped:0 overruns:0 carrier:0
    Kollisionen:0 Sendewarteschlangenlänge:1000
    RX bytes:930086 (908.2 KiB)  TX bytes:197939 (193.2 KiB)
    Interrupt:3 Basisadresse:0x100

    Then you can use the normal operations of your wireless. For monitoring mode you have to runiwpriv eth1 monitor 2.

    Powermanagement with ACPI

    Last but not least it’s a nice feature to know about the battery status and the remaining running time. The kernel-built-in ACPI support is not able to handle with the Toshiba. But the ACPI-Project at Sourceforge haves some patches to the kernel-sources which enable rudimentary powermanagement functions. So I downloaded the accurate patches and applied them to the kernel-sources. When configuring the kernel a new submenu for ACPI is present. Just say YES to the features you need and recompile the kernel. Even if the kernel know can handle SCSI-devices, USB, hotplug, PCMCIA and ACPI you should have a good look on the other kernel features.

    The other choice - Fedora Core 1

    Some weeks ago, I tried to install Fedora Core, which I have got from the Redhat Magazine. After a smooth graphical installation, I was very surprised that everything went fine with the sometimes problematic laptop-hardware. Only the option “acpi=on” was to add to the bootloader config (/boot/grub/grub.conf) by hand. The whole other stuff (including PCMCIA, Hotplug, WLAN…) was configured right and functional. Even I still prefer Debian, Fedora is a real alternative to setting up a good laptop distribution without bigger problems. After installing apt4rpm and substituting rpm with apt-get it has become a real nice alternative.Please mail me any flames and comments.