SuSE Linux 9.0 on the Sony Z1XMP TuxMobil - Linux on Laptops, PDAs and mobile Phones

Last changed 13th April 2004

Stefan Bröcheler [ stefan(at)broecheler(dot)de ]

with contributions by

Martin Bergner [ giftnudel (at) uni(dot)de ]

This page provides a little overview on running Linux on the Z1XMP notebook. There are no revolutionary new insights on this page, but I hope it will be useful to other people who want to run linux on this beautiful little machine (way too beautiful for Windoze...).

Disclaimer All information provided herein is based on my best knowledge. I am neither a linux nor a hardware guru, so use it on your own risk and don't blame if doesn't work for you ;-)

Installation

Before installing SuSE I shrinked the Windoze boot partition down to 20 GB using ntfsresize from Knoppix 3.4 and partitioned the rest of the disk for Linux. After this I installed SuSE. I guess that it is not neccessary to use ntfsresize before installation, cause SuSE can do this as well, but I like to do such things on my own. Everything worked smoothly.

Hardware Overview

Type:PCG-5A1M

Component Type Status
Processor Intel Pentium M 1.5 GHz
RAM 512MB
HDD 60GB
Display 14,1'' SXGA+ (1400x1050) Working
Graphics Device ATI Radeon Mobility M6 LY rev 0 with 16MB Working
Sound 82801 DB AC'97 Audio Controller Working
CD-RW/DVD MATSHITA UJDA755 DVD/CDRW 1.00
Working (with some minor oddities)
Modem AC97 (CXT AC-Link Modem for Intel according to Windoze) Working (with non-free driver!)
LAN Intel PRO/100 Network Working
Wireless LAN Intel Pro/Wireless 2200BG (802.11 b/g) Working
USB 2.0 Not yet tested
Bluetooth V 1.1 Not yet tested
Chipcard Reader Memory Stick Working
Sony Programmable I/O Control Device Working

Details

Display and Graphics Device

Under X I get the full 1400x1050 resolution of the display. Setting up the display worked out of the box. During the installation procedure there was some little problem: Testing of the video mode didn't work cause loading of the APM module failed. After playing around a little bit with the installation tool, the problem disappeared somehow. Now everything works fine.

3D support seems not to work fully, some program complained about missing 3D support. This is on my todo-list.

Sound

Sound-support worked out-of-the-box.

Modem

The modem is a Conexant HSF softmodem. It works by installing the hsfmodem-6.03.00lnxt04011900full_k2.4.21_99_default-1suse.i586.rpm from www.linuxant.com. However, this is commercial software! In the free version it is limited to 14,4 kbps. As I don't not want to spend the 15 bucks for the full version (cause I need to save the money for their WLAN driver...), I use an other old PCMCIA modem instead.

CD-RW/DVD

Burning CDs works, however there are some oddities: Using k3b burning sometimes fails with an I/O error, the debugging output is attached below. I did not make enough experiments in order to safely figure out the factors which lead to the failure. It seems like failures occur depending on the writing mode (Auto, DAO, TAO, raw) chosen for burning. Also there might be an influence on the presence of the suseplugger process (killing suseplugger might help). I found discussions on the web pointing into this direction. These discussions suggest that this is not a problem of my particular CD-burner but rather some general problem with the scsi emulation as similar problems have been reported for completely other hardware.

System
-----------------------
K3b Version: 0.10
KDE Version: 3.1.4
QT Version: 3.2.1

cdrecord
-----------------------
/usr/bin/cdrecord: Warning: not running as root user, fs= option ignored.
scsidev: '0,0,0'
scsibus: 0 target: 0 lun: 0
Linux sg driver version: 3.1.25
/usr/bin/cdrecord: Warning: using inofficial libscg transport code version (okir@suse.de-scsi-linux-sg.c-1.75-resmgr-patch '@(#)scsi-linux-sg.c 1.75 02/10/21 Copyright 1997 J. Schilling').
SCSI buffer size: 64512
Cdrecord-Clone 2.01a18-dvd (i686-suse-linux) Copyright (C) 1995-2003 Jörg Schilling
Note: This version is an unofficial (modified) version with DVD support
Note: and therefore may have bugs that are not present in the original.
Note: Please send bug reports or support requests to .
Note: The author of cdrecord is not to be bothered with problems in this version.
TOC Type: 1 = CD-ROM
Using libscg version 'schily-0.7'
Driveropts: 'burnfree'
atapi: 1
Device type : Removable CD-ROM
Version : 0
Response Format: 2
Capabilities :
Vendor_info : 'MATSHITA'
Identifikation : 'UJDA755 DVD/CDRW'
Revision : '1.00'
Device seems to be: Generic mmc2 DVD-ROM.
Current: 0x0009
Profile: 0x0010
Profile: 0x000A
Profile: 0x0009 (current)
Profile: 0x0008
Using generic SCSI-3/mmc CD-R/CD-RW driver (mmc_cdr).
Driver flags : MMC-3 SWABAUDIO BURNFREE
Supported modes: TAO PACKET SAO SAO/R96P SAO/R96R RAW/R96R
Drive buf size : 1433600 = 1400 KB
FIFO size : 4194304 = 4096 KB
Track 01: data 33 MB
Total size: 38 MB (03:48.84) = 17163 sectors
Lout start: 38 MB (03:50/63) = 17163 sectors
Current Secsize: 2048
ATIP info from disk:
Indicated writing power: 4
Is not unrestricted
Is not erasable
Disk sub type: Medium Type A, high Beta category (A+) (3)
ATIP start of lead in: -11077 (97:34/23)
ATIP start of lead out: 359848 (79:59/73)
Disk type: Long strategy type (Cyanine, AZO or similar)
Manuf. index: 11
Manufacturer: Mitsubishi Chemical Corporation
Blocks total: 359848 Blocks current: 359848 Blocks remaining: 342685
Starting to write CD/DVD at speed 24 in dummy SAO mode for single session.
Last chance to quit, starting dummy write in 2 seconds.
1 seconds.
0 seconds. Operation starts.
Waiting for reader process to fill input buffer ... input buffer ready.
trackno=0
BURN-Free is OFF.
Turning BURN-Free on
Sending CUE sheet...
/usr/bin/cdrecord: WARNING: Drive returns wrong startsec (0) using -150
/usr/bin/cdrecord: Input/output error. write_g1: scsi sendcmd: no error
CDB: 2A 00 FF FF FF 6A 00 00 1F 00
status: 0x2 (CHECK CONDITION)
Sense Bytes: 70 00 05 00 00 00 00 0A 00 00 00 00 2C 00 00 00
Sense Key: 0x5 Illegal Request, Segment 0
Sense Code: 0x2C Qual 0x00 (command sequence error) Fru 0x0
Sense flags: Blk 0 (not valid)
cmd finished after 0.621s timeout 200s
Writing pregap for track 1 at -150
write track pad data: error after 0 bytes
BFree: 431 K BSize: 1607 K
Starting new track at sector: 0
Track 01: 0 of 33 MB written.
/usr/bin/cdrecord: Input/output error. write_g1: scsi sendcmd: no error
CDB: 2A 00 00 00 00 00 00 00 1F 00
status: 0x2 (CHECK CONDITION)
Sense Bytes: 71 00 05 00 00 00 00 0A 00 00 00 00 21 02 00 00
Sense Key: 0x5 Illegal Request, deferred error, Segment 0
Sense Code: 0x21 Qual 0x02 (invalid address for write) Fru 0x0
Sense flags: Blk 0 (not valid)
cmd finished after 0.002s timeout 200s
/usr/bin/cdrecord: The current problem looks like a buffer underrun.
/usr/bin/cdrecord: It looks like 'driveropts=burnfree' does not work for this drive.
/usr/bin/cdrecord: Please report.
/usr/bin/cdrecord: Make sure that you are root, enable DMA and check your HW/OS set up.
write track data: error after 0 bytes
Writing time: 24.300s
Average write speed 9.5x.
Fixating...
WARNING: Some drives don't like fixation in dummy mode.
Fixating time: 0.002s
BURN-Free was 1 times used.
/usr/bin/cdrecord: fifo had 64 puts and 1 gets.
/usr/bin/cdrecord: fifo was 0 times empty and 0 times full, min fill was 100%.

cdrecord comand:
-----------------------
/usr/bin/cdrecord -v gracetime=2 dev=0,0,0 speed=24 -dao -dummy driveropts=burnfree -eject -data -tsize=17163s -

mkisofs
-----------------------
17163
2.94% done, estimate finish Wed Mar 3 21:55:41 2004
5.83% done, estimate finish Wed Mar 3 21:51:46 2004
8.82% done, estimate finish Wed Mar 3 21:50:24 2004
11.71% done, estimate finish Wed Mar 3 21:49:45 2004

mkisofs comand:
-----------------------
/usr/bin/mkisofs -gui -graft-points -V K3b data project -volset -A K3B THE CD KREATOR VERSION 0.10 (C) 2003 SEBASTIAN TRUEG AND THE K3B TEAM -P -p K3b - Version 0.10 -sysid LINUX -volset-size 1 -volset-seqno 1 -sort /tmp/kde-stefan/k3bL9OXuc.tmp -r -hide-list /tmp/kde-stefan/k3br6YOOa.tmp -l -iso-level 2 -path-list /tmp/kde-stefan/k3bpS1fFb.tmp

Wireless LAN

WLAN is supported both by driverloader and by ndiswrapper. For the latter Martin Bergner has provided a description:

The chipset is supported by the ndiswrapper project, although there are a few minor problems. WEP encryption works for me. On their home page, the chipset is listed as supported and I would recommend to download the driver from the link they provide (I know it works with that one). You need the CVS version of their module, compile it, load it and install the windows driver. If you don't know how to do that, here is a quick run through:

Prerequisites:
1. You need to have the configured kernel sources for your kernel
2. You need cvs
3. You need the windows driver from the ndiswrapper homepage

Get the module to work:

1. Checkout the cvs:

cvs -d:pserver:anonymous.sf.net:/cvsroot/ndiswrapper login
[press Enter]
cvs -d:pserver:anonymous.sf.net:/cvsroot/ndiswrapper co .

2. compile the kernel module

cd ndiswrapper
make
make install

3. load the module

modprobe ndiswrapper

checkout dmesg for any errors, if there aren't, read ahead

I guess you have already downloaded the driver, now you need to unpack it (I hope you have a copy of Windows around) and place it somewhere. I would recommend you put it in /usr/lib/hotplug/drivers. (You may need to create that directory) Next, run:

ndiswrapper -i /usr/lib/hotplug/drivers/w22n51.INF

or wherever your inf file is. You should see a line like wlan0:something using w22n51 or similar if you look at the kernel output.

Now you need to configure your card, I have provided a little script which scans the area for accesspoints and lets you choose one of them, it then configures the card for you. Check out the script, there is a howto at the beginning of the script, just open it with a text editor. If you download it, remember to make it executable (chmod +x wlan.sh).

For those who don't want to use it, here are a few remarks: First of all, read the README and FAQ on the ndiswrapper homepage! When you load the module for the first time after a new boot, you need to switch the card off and back on again (with the switch on top) to be able to scan for access points. Similar, after you set the essid to choose an access point, you need to switch the card off and on again! You may want to take a look at my script on when to reset the card (the script is a giant hack, I'm surprised it works at all, feel free to improve it) things should become clearer then (you can also run my script, then you will see). Please, do not ask me about support, since I am very busy at the moment, I will not answer any support messages before May. Questions concerning the script or any errors in this part may be answered in less time.

Memory Stick

Accessing a memory stick from my Sony PDA works out of the box. Just have to "mount -t vfat /dev/sda1 /mnt".

Sony Programmable I/O Control Device

This part has been contributed by Martin Bergner:

Checkout http://spop.free.fr/sonypi/ to be able to set the brightness of the LCD and get some battery information. It's rather easy, so I won't say too much. Basically, all you need to do is compile the sonypi module (or load it, as it may have been compiled for you in your distribution) and compile spicctrl and sonypid. When the module is loaded, use spicctrl to set your brightness and get battery information and sonypid to check for key events. (I haven't done to much with it, yet)