Kernel (de) Kernel (it) Books Shell Sed/awk RAM/swap P35

Linux on Samsung P35 laptop

Autor und Copyright: Dr. Thomas Hertweck
last major update: 21.02.2005 (some information added in 2006)

Disclaimer

This site is not affiliated with Samsung or Novell/SUSE in any kind. All trademarks mentioned here belong to their appropriate owners. All information is provided without warranties of any kind, neither implied nor expressed. Use the information at your own risk!

Introduction

Since I have published this document for the first time in August 2004, I received many emails with feedback... Thank you all very much! (Unfortunately, I cannot list all the names here as it would blow this page. But one thing is for sure: I will not forget all your contributions.) It is now (Feb. 2005) time to publish a revised and updated version of this document, e.g. concerning the installation of the latest SuSE product or the use of the closed-source ATI graphics driver. As I do not have a SuSE Linux 9.2 package at hand, I have not been able to provide any information about the installation process or the configuration of certain hardware so far - sorry to all those guys who have sent emails concerning this topic. However, the situation has now changed a little bit: the revised version of this document contains also information about the installation of SuSE Linux Professional 9.2 on a Samsung P35 1600 II laptop. This information has been provided by Sven Burmeister and an anonymous person - thanks a lot (although I don't like anonymous emails).

Update 2006: Meanwhile, I have installed SuSE 10.0 on this laptop and it works like a charm.

Specifications

My laptop Samsung P35 XVM 1500 has not the original Samsung configuration - I have made some changes, especially concerning the HDD and the ODD. In addition, I bought my laptop with a GB keyboard, not with the usual German keyboard. The seller was Notebook-Shop, and I can fully recommend this shop.

Processor: Intel Pentium M Processor 715 (Dothan), 1.5 GHz
Cache: 2048 KB L2
Main Chipset: Intel 855 PM+
System Memory: 512 MB PC2700 DDR-SDRAM
LCD: 15" SXGA+ TFT, 1400x1050
Graphics: ATI Mobility Radeon 9700, 64MB DDR-SDRAM
HDD: Hitachi 80 GB EIDE, 5400 rpm, S.M.A.R.T. II
ODD: Teac 4x DVD±R, 2.4x DVD±RW, 12x DVD, 16x CD-R, 10x CD-RW
Ethernet LAN: Intel 10/100 Ethernet UTP (RealTek RTL-8139)
Wireless LAN: Intel PRO/Wireless Network Connection 2200BG (802.11b/g)
FireWire: Ricoh R5C552 IEEE 1394 Controller
Modem: Intel 56 Kbps/V.92 onboard (82810DB AC97)
Sound: Intel onboard (82810DB AC97), SigmaTel STAC9750 stereo speakers
Input device: 88 key full size keyboard, Synaptics touchpad + wheel
Battery: Li-Ion Battery SSB-P30LS, 65 Wh
I/O ports: 2x USB 2.0, 1x IEEE 1394, 1x type II PC card (PCMCIA, Ricoh R5C593), 3in1 card reader (memory stick, SD, MMC), 1x RJ-11 (modem), 1x RJ-45 (LAN), 1x S-VHS TV-out, 1x VGA-out, Headphone-out, Mic-in, 1x PIO, 1x SIO, 1x PS/2, 1x IrDA
Dimensions: 325 x 265 x 29.5 mm
Weight: 2600 g
BIOS: Phoenix, ACPI

Update 2006: Meanwhile, I have installed a Western Digital 120 GB EIDE, 5400 rpm hard disk.

SuSE 9.2: the information about an installation of SuSE Linux Professional 9.2 refers to one of the latest versions of the Samsung P35, a P35 XVM 1600 II. The hardware specifications can be found on the Samsung website.

Overall impression

The Samsung P35 is a great laptop and installing SuSE Linux 9.1 was rather easy. Of course, I did not just blindly buy this notebook but checked the Linux compatibility beforehand. There exist some similar reports concerning the Samsung P30 laptop, so have also a look at Matthias Hentges' report for Debian "Sid", Hanno Böck's report for Gentoo Linux, and Pieter Hollants' report for SuSE Linux 9.1.

SuSE 9.2: according to all feedback I got, installing SuSE Linux 9.2 is also rather easy and Linux works out of the box.

The package contains the laptop itself, battery, AC adapter, modem cable, some documents (but no handbook, this is only available as PDF file), and some software (a special Samsung CD with patched MS Windows XP Home, a Samsung CD with drivers, anti-virus program, PowerDVD, etc., and a CD with Nero Burning). The Windows XP CD is a full version (although it will most likely only work with Samsung laptops), i.e., you can install a new HDD and re-install Windows XP without problems - there is no rescue partition or something similar on the HDD.

The quality of the laptop is good and it has one of the best laptop keyboards I have ever tested. The system is very silent, except of the DVD device which is clearly audible when spinning up. However, this should apply to any DVD device and is not particularly related to this laptop. Battery life is (if fully charged) between 4 and 5 hours for average work - if you're compiling lots of Linux kernels, the battery life might, of course, drop down :-)

CPU and chipset

The Intel Pentium M processor as well as the Intel main chipset are supported by SuSE Linux 9.1 and the respective kernel. I have updated to the latest SuSE kernel source and recompiled the kernel in order to optimize it for the specific CPU (Pentium M) and other components of this laptop. I have also enabled DRI which - I don't know why - is disabled in the standard SuSE kernel configuration. Vanilla kernel 2.6.8 with a cloned (working!) SuSE kernel configuration does not boot and hangs up at ACPI-related boot messages. Perhaps the latest ACPI patch might solve this issue which is AFAIK related to APIC problems - I did not check the details. Hanno suggests that disabling all APIC-related stuff in the kernel configuration will solve these boot problems. The HDD works perfectly with DMA enabled and hdparm determines about 40 MB/s.

Update Feb. 2005: I got some feedback (Hakan Lyngsjo, Philippe Malinge,... - thank you!) that the CPU cache (2MB) is not always correctly detected by the Linux kernel (e.g., 2.6.5 or 2.6.8). A kernel upgrade to >=2.6.9 should solve this problem.

Update 2006: later kernels have no problem with the ACPI setup or booting.

ACPI

Meanwhile, ACPI has become quite stable in current Linux kernels and works with this laptop (at least, many of the ACPI-related features). No errors are reported at boot time and SuSE's powersave daemon (powersaved) starts successfully. The battery display is working in the KDE panel and shows the current status and the remaining time until the battery is empty. CPU frequency changing works and can give you a few minutes of extra battery life. It is included in SuSE's powersaved, so cpu frequency is automatically adjusted (if configured). You can also manually limit the CPU frequencies via the /proc interface. Fan status and temperatures are displayed correctly. However, suspend-to-* is still an experimental feature and I have not done much testing. I have tried suspend-to-disk several times and it seems to work quite well as long as you do not use the closed-source 3D (OpenGL) ATI driver. If you are using the ATI driver, X11 might not be usable after system startup. The open-source driver does not face this problem, but unfortunately it does not provide hardware-OpenGL features. YaST2 has a module to configure ACPI/powersaved-related features. Thus, it is very easy to set actions for pressing the power-button, for closing the lid and for the two Fn-sleep-buttons (the moon on ESC and the be-quiet on F10).

Update Feb. 2005: Please follow the links to the P30 reports if you need to correct the DSDT (Differentiated System Description Table). You can specify your own DSDT to be included in an initial ramdisk via /etc/sysconfig/kernel.

SuSE 9.2: Suspend-to-disk seems to work; however, Sven faced some problems with his USB mouse after system startup. The mouse was no longer working. Fortunately, the functionality could be restored by just removing the detected mouse model in YaST2 and denying the question whether it should be configured. Maybe there is a problem with the hotplug subsystem and suspend-to-disk on his laptop. No further information available at the moment. I did not make this bad experience with my SuSE 9.1 installation - here, the USB mouse is working without any problems after leaving the suspend-to-disk stage.

Special keys

The four special keys next to the power button (three programmable launch keys and a WLAN key) can be configured by means of acpi4asus. Don't be bothered by the name - although initially designed for Asus laptops, the project also supports the Samsung P30/P35. The screen brightness Fn-keys and the backlit Fn-key are working on the hardware-side - if you close the lid, the screen goes off. With acpi4asus, all the other Fn-keys and multimedia-keys can be configured to generate ACPI events which may then trigger certain actions.

SuSE 9.2: the acpi4asus package is part of the SuSE Linux 9.2 distribution. Thus, you can enable it via YaST2's sysconfig editor (or just edit the corresponding configuration file in /etc/sysconfig). You should update the variables POWERSAVE_ACPI_MODULES and POWERSAVE_ACPI_MODULES_NOT_TO_UNLOAD to reflect acpi_asus. It is easy to find those variables with the search function of the sysconfig editor.

Graphics

The laptop has an ATI Mobility Radeon 9700 which can either be used with the XFree-internal driver or with ATI's (partly) binary driver. To get hardware 3D acceleration, you should enable agpgart with Intel-support and Direct Rendering Manager (DRI) with ATI Radeon support during kernel configuration. As mentioned above, SuSE deactivated DRI in their standard kernel configuration - I don't know why... I decided to use the ATI driver and downloaded the two packages fglrx-3.11.1-0.1.i586.rpm and km_fglrx-3.11.1-0.1.i586.rpm from SuSE's FTP directory. There is also a README that explains the installation process - you should follow this explanation up to point no. 3. However, don't use sax2 to configure X - it might produce a working XF86Config but you will, e.g., have no XVideo extensions. Instead of sax2, you should use fglrxconfig - afterwards, you can manually adjust the configuration (remember that fglrxconfig will produce a file called XF86Config-4 which you should move to /etc/X11/XF86Config). It worked out very well and hardware acceleration (try glxgears and fgl_glxgears) and XVideo extensions (try xvinfo) are enabled. You should use the native resolution 1400x1050!

Update Feb. 2005: Meanwhile I have installed the latest graphics card driver that I got directly from the ATI website (not from the SuSE FTP Server). The latest version did improve the hardware acceleration, however the problem with suspend-to-disk remains.

Update 2006: I installed the ATI driver on the SuSE 10.0 installation but finally decided to use the radeon/DRI combination. That's fine for the work I have to do. Xorg (instead of XFree86) works without problems.

Touchpad

The touchpad works as a normal PS/2 mouse and was configured as such by YaST2. However, to get a bunch of extra features (e.g., hitting the touchpad with a finger simulates a mouse click), you should use the synaptics driver. It's already available in SuSE 9.1, but I had to configure it manually after creating the /etc/X11/XF86Config by means of fglrxconfig. You can use Hanno's XF86Config entry for the synaptics driver.

Update 2006: SuSE 10.0 installed everything automatically, no additional configuration required.

Sound

The sound chip (onboard) works with ALSA and can be configured via YaST2. The respective module is called snd_intel8x0.

ODD

There are no problems with the CD/DVD device (DMA enabled). As SuSE 9.1 uses kernel 2.6, ide-scsi emulation is no longer required and burning DVDs or CDs is directly done via the ATAPI transport layer. You can either use the commandline tools or a frontend such as, e.g. k3b or xcdroast. I frequently use the DVD device to make a backup of my daily work - I have not experienced any problems so far.

SuSE 9.2: Sven reported that burning DVDs/CDs works very well. However, he faced some problems with audio CDs. They seem to cause resets on the IDE channel and, consequently, a disabling of DMA. No further information availabe at the moment.

PCMCIA

The PCMCIA system works with the yenta_socket kernel module and was correctly configured during the SuSE 9.1 installation process.

USB

The two USB 2.0 connectors work as expected, I have not faced any problems with the hotplug system so far. I have tested a 256 MB USB 2.0 memory stick, an external USB card reader, and an external USB mouse. The memory stick is really used as USB 2.0 device, i.e., it is attached to the EHCI controller.

Update 2006: In order to get the best performance, I had to disable automatic mounting of certain external USB devices in SuSE 10.0, e.g. my external 300 GB backup disk. This is due to the fact that automatic mounting in SuSE 10.0 via submount uses the "sync" option, i.e. I/O is in principle no longer buffered. How to disable automatic mounting via FDI file can be found in the SuSE SDB or openSUSE wiki.

Firewire and IrDA

Firewire as well as IrDA devices are correctly detected by the kernel and should work. Unfortunately, I don't have any devices that can be used to test the connection.

Other ports

The serial as well as the parallel ports and the PS/2 port work out of the box. I have not tested TV-out, but it might work with the atitvout driver. However, the project atitvout is no longer maintained and the driver should be used with care. If you use the closed-source ATI driver, you can enable TV-out during configuration by means of fglrxconfig.

LAN

The network card (LAN) was correctly detected during the SuSE installation process. As it is in fact a RealTek chip, the 8139too kernel module is used. I am using this LAN to connect to the internet and there are no problems.

WLAN

The Samsung P35 is a Centrino laptop and has a builtin WLAN chip (Intel PRO/Wireless Network Connection 2200BG). While the support for 2100B is meanwhile rather stable (there are several ways to handle this chip), the support for 2200BG is still experimental and lags behind the ipw2100 project. I installed the driver ipw2200 from http://ipw2200.sourceforge.net/ and iwconfig reported the new interface eth1. However, since I do not have an access point for test purposes, I cannot say anything about the functionality and I do not know whether it works at all. You should monitor the above mentioned website for updates.

SuSE 9.2: this distribution does detect the WLAN chip fully automatically and the device can be configured with YaST2. All relevant packages are automatically installed and WLAN is fully funtional.

Update 2006: WLAN in SuSE 10.0 works out of the box.

Modem

The modem is, of course, an AC97 software modem (so-called win-modem). Nevertheless, it is supported by the slmodem package (which is already available with SuSE 9.1). Thus, the modem can be configured via YaST2, and the slmodemd should be enabled in SuSE's runlevel configuration. I could dial to Freenet and establish a test connection to www.suse.de. That means, the modem is working. However, the overall speed of the connection was rather disappointing.

Card reader

The card reader is integrated into PCMCIA and seems to require a special driver. As I do not own MMC or SD cards, I could not perform further testing. All reports concerning the Samsung P30 say that the card reader does not work with Linux.

SuSE 9.2: same situation here, the card reader is not detected in any way and cannot be used.

Framebuffer

A frambuffer is used on console 1 and works well (SuSE kernel). There are no conflicts with XFree and you can switch between X and the consoles without problems.

Summary

Here are some links:

Well, that's it for the moment. If you have any additional information that should be mentioned here or if you have any feedback, please send an email.