HARDWARE Samsung Q35

From Gentoo Linux Wiki

Jump to: navigation, search
This article is part of the Hardware series.
Laptops TV Tuner Cards Wireless Servers Storage Other Hardware Motherboards Related

Contents

[edit] Preface

I was configuring a Samsung Q35 these days for running Gentoo on it and want so share my experiences here. The hardware itself is very nice. Two cores running at 1.6 GHz, 1 GB RAM and a good 12.1 Inch Widescreen. This all at a weight of about 2 kilogram. The performance of the two cores while compiling packages under Gentoo was astonishing. Especially as it does neither get hot nor loud. Besides, many of the Laptop-features like brightness control work from the hardware side, such that you don't have to bother about them.

[edit] Quick Overview

The following results I could achieve using gentoo-sources-2.6.17-r4.


Device Status Short description
Dual-Core-CPU Working SMP-Support and Multi-Core-Scheduler enabled in kernel
Intel 945GM VGA Controller Working DRI acceleration works, widescreen as well
Framebuffer Working vesafb-tng framebuffer selected in kernel, resolution 1280x800@60 working, splash working
Intel ICH7 Soundcard working use snd-hda-intel from the kernel (working since 2.6.22)
Broadcom BCM4401-B0 100 MBit LAN working Broadcom 4400 driver in kernel
Intel PRO/Wireless 3945ABG WLAN working ipw3945 package from portage
Broadcom USB Bluetooth Dongle working Broadcom Bluetooth USB driver from kernel
Firewire, USB, PCMCIA working corresponding kernel drivers and userspace utilities. PCMCIA requires "pci=assign-busses" kernel boot option.
Ricoh Cardreader for SD-Cards, Memory Stick etc. not working sdhci driver from kernel seems to be responsible and also detects something but no way to access SD-Cards (probably better using 2.6.18 with improved sdhci support)
Update:Usable in kernel 2.6.19-suspend2-r2. May cause hibernate to hang at "Doing atomic copy" phase unless the card removed from the reader
Suspend-To-Ram working Enable CPU Hotplugging in kernel (2.6.17+). No Framebuffer, only plain text console. Use Xorg 7.1. Use hibernate-ram script. Enable Vbetool. Let Vbetool do _only_ POST initialisation, _dont_ save and restore register values (patch hibernate script).
ACPI implementation okay Power-/Sleep-Button events working, LID-Event not working, Battery is recognized. Update: Lid switch is actually working fine, it has a 10s delay.
CPU Frequency Scaling working Standard kernel drivers and userspace utilities
Modem working Use net-dialup/slmodem package from portage. Need the following in /etc/conf.d/slmodem:
1) MODULE=alsa
2) HW_SLOT=modem:0
Modem can be queried by kppp after slmodem service started.

[edit] Detailed installation instructions

[edit] LinuxStats

The most important parts of my configuration can be looked up at linux-stats.org

[edit] Kernel

See my kernel config file. It is for gentoo-sources-2.6.17-r8 and should provide a good point to start from.

[edit] Framebuffer

Select the following options in the kernel

Linux Kernel Configuration:
Device Drivers --->
   Graphics support --->
      <*> Support for framebuffer devices
      <*> VESA VGA graphics support
         VESA driver type (vesafb-tng) --->
      (1280x800@60) VESA default mode

And use the following command line in your grub.conf

File: /boot/grub/grub.conf
title  Gentoo - current kernel
root   (hd0,5)
kernel /kernel_current video=vesafb:ywrap,1280x800-32@60 root=/dev/hda7

This conf-file is NOT for splash.

Question: what would be necessary to set the fb splash in the beginning of the boot process? Using vesafb-tng and an initrd containing images with 1280x800 won't show the picture on bootup, VGA = 866 is not recognized as working VGA Mode by lilo.

[edit] Xorg / 945GM graphics card

See this HowTo.

[edit] Sound card (hda-intel)

The soundcard is straight forward for newer kernels (>=2.6.22):

Linux Kernel Configuration:
<*> Sound card support
    Advanced Linux Sound Architecture  --->
        <*> Advanced Linux Sound Architecture
               PCI-Devices --->
                     <*> Intel HD Audio

However, a good resource for soundcard issues is link Gentoo-Alsa-guide.

Note: you have to unmute the devices you want to use. If you want to unmute a microphone, start alsamixer and hit Tab which brings you to the capture device controlers.

[edit] Intel PRO/Wireless 3945ABG WLAN

You have to use the ipw3945 driver from portage. How to do this is covered here:

UPDATE: You don't need any more to emerge the driver from portage, as the kernel 2.6.24 is released You should choose it in the kernel configuration.

[edit] Suspend to Ram

Not tested, but try out the sys-kernel/suspend2-sources for advanced suspension capabilities.

[edit] ACPI

as said above, power button and sleep button events work, while lid-close-event doesnt (nevertheless the LCD is switched off from the hardware side). The battery works pretty well and you can use my script to query the battery state; just move it to /bin/ or whereever you want and it will be fine:

File: /bin/battery_state
#!/bin/bash
if  [[-n `/bin/grep yes /proc/acpi/battery/BAT1/state `]] 
        then
        echo "remaining capacity: $(( `/bin/grep remaining /proc/acpi/battery/BAT1/state | /bin/sed -e 's/^.*:\ *//' -e 's/...$//'`/48 ))%"
        echo "estimated duration: $(( (`/bin/grep remaining /proc/acpi/battery/BAT1/state | /bin/sed -e 's/^.*:\ *//' -e 's/...$//'` * 60) / `/bin/grep rate /proc/acpi/battery/BAT1/state | /bin/sed -e 's/^.*:\ *//' -e 's/..$//'` )) min"
else
        echo "battery not present";
fi

Don't forget to make it executable:

chown root:root /bin/battery_state
chmod 755 /bin/battery_state

[edit] CPU frequency scaling

works out of the box, only activate the relevant modules in the kernel

Linux Kernel Configuration:
Power management options (ACPI, APM)  --->
   CPU Frequency scaling  --->
      [*] CPU Frequency scaling
         Default CPUFreq governor (performance)  --->
      <*>   'powersave' governor
      <*>   'userspace' governor for userspace frequency scaling
      < >   'ondemand' cpufreq policy governor
      <*>   'conservative' cpufreq governor
      <*>   Intel Enhanced SpeedStep

If you want your box to power up with performance governor but after boot continue in conservative mode, do the following:

echo "cpufreq-selector -g conservative" >> /etc/conf.d/local.start

[edit] Links

Personal tools