Search:  
Gentoo Wiki

Compal_JFL92


Contents

Introduction

What is the Compal JFL92? This laptop actually goes by many names, including OCZ DIY Gaming Laptop(OCZNBIS15DIYA) and Sager NP2092. So don't be alarmed. If you hold one of these laptops you are in the right place. The Compal JFL92 is just the generic laptop name, companies like OCZ and Sager buy it and rebrand it by changing the stickers etc. (If you look on the bottom of your laptop you will probably even see an old JFL92 sticker on your laptop.)

The upside to this laptop is that it is light and powerful and it supports Gentoo Linux. It supports all the essential hardware and capabilities. The downside, it does not support everything. The one thing I know for sure that does not work is the fingerprint scanner. It will probably be working in the future sometime soon though.

This wiki is still in the progress of being developed because I have not tested every feature of the laptop yet, for example the serial port. Those things probably work though.

Hardware

I'm a college student and I have homework due. So here is the simple version. Just look here for the specifications. The stuff in blue are the things that the user had to put in personally. The stuff in black comes with the system.

OR if you prefer:

Code: Output of lspci
00:00.0 Host bridge: Intel Corporation Mobile Memory Controller Hub (rev 0c)
00:01.0 PCI bridge: Intel Corporation Mobile PCI Express Root Port (rev 0c)
00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Contoller #4 (rev 03)
00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 03)
00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 03)
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 03)
00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 03)
00:1c.2 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 3 (rev 03)
00:1c.3 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 4 (rev 03)
00:1c.4 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 5 (rev 03)
00:1c.5 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 6 (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f3)
00:1f.0 ISA bridge: Intel Corporation Mobile LPC Interface Controller (rev 03)
00:1f.1 IDE interface: Intel Corporation Mobile IDE Controller (rev 03)
00:1f.2 SATA controller: Intel Corporation Mobile SATA AHCI Controller (rev 03)
00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 03)
01:00.0 VGA compatible controller: nVidia Corporation Unknown device 0407 (rev a1)
04:00.0 Ethernet controller: Broadcom Corporation NetLink BCM5787M Gigabit Ethernet PCI Express (rev 02)
0c:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)
0e:06.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 05)
0e:06.1 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22)
0e:06.2 System peripheral: Ricoh Co Ltd Unknown device 0843 (rev 12)
0e:06.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 12)

Installing Gentoo

The latest Gentoo version available at the moment was 2008.0-r1. Installing Gentoo Linux is simpler than ever. Just pop it in and use the graphical installer.

Kernel

This is how I suggest you approach kernel configuration. I used gentoo-sources version 2.6.25. Just download my


I left off here, I will finish writing later. everything below is for a different laptop. Google claims that you need to add
acpi=off
or
pci=noacpi
or
pci=biosirq
to the kernel command line. Ok. It seems that it works. However in this case we will run into troubles with the DRI later.

The key is to *disable* the Local IO APIC in the kernel.

Linux Kernel Configuration: Disable Local IO APIC
Linux Kernel Configuration --->
   Processor type and features --->
          Subarchitecture Type (PC-compatible) --->
          Processor family (Pentium-M) --->
      [*] Local APIC support on uniprocessors
      [ ]   IO-APIC support on uniprocessors

Notice the "Pentium-M" processor family. This laptop has Celeron-M CPU, which works perfectly with this kernel option enabled. Just make sure that you are using gcc-3.4 or above. If necessary first compile the kernel with "Pentium" processor family, then emerge >=sys-devel/gcc-3.4, then change processor family to "Pentium-M" and...

Recompile (make), install the modules (make modules_install), copy bzImage to /boot (cp arch/i386/boot/bzImage /boot/vmlinuz), edit grub.conf. You may remove the kernel command (if you appended it before) and reboot.

Graphic Card

See this HowTo.

Sound

First enable it in the kernel:

Linux Kernel Configuration: Sound
Linux Kernel Configuration --->
   Device Drivers --->
      Sound --->
         <*> Sound card support
             Advanced Linux Sound Architecture --->
                <*> Advanced Linux Sound Architecture
                    PCI devices --->
                       <M> Intel/SiS/ nVidia/AMD/ALi AC97 Controller

If you build the intel-8x0 card support as a module, you'll have to remember to make sure that /etc/modprobe.d/alsa contains:

File: /etc/modprobe.d/alsa
alias snd-card-0 snd-intel8x0
alias sound-slot-0 snd-card-0

There are similar lines in that file, so just change them to correct values and uncomment. Afterwards run update-modules.

A good idea is to add the alsa flag in your USE variables, and append a line to /etc/modules.autoload/kernel-2.6

Keyboard

There are some additional keys, I assume they come handy to run web browser or mail client. xev does not display events when those keys are pressed. There is an ebuild called acerhk but I haven't tried too hard to make it work...

DVD read/write

Recording CD's and DVD+R(W) works perfectly. I have troubles with DVD-R(W) discs - I am only able to read them. Make sure that cdrecord does *not* run with root set-user-ID, and the user who wants to use the recorder is in the "cdrom" group (check permissions).

WiFi

See the Broadcom 43xx article.

IRDA

There is no IRDA port in this laptop.

Modem

Not fully tested yet - I am at the stage of loading modules without errors :-)

First of all make sure that you have proper kernel configuration:

Linux Kernel Configuration: Modem configuration
Linux Kernel Configuration --->
     Device Drivers  --->
          Sound  --->
               Advanced Linux Sound Architecture  --->
                    PCI devices --->
                         <M> Intel/SiS/nVidia/AMD MC97 Modem (EXPERIMENTAL)
          Network device support --->
               [*] Network device support
               <*>   PPP (point-to-point protocol) support
               <*>     PPP support for async serial ports
               <*>     PPP Deflate compression
               <*>     PPP BSD-Compress compression

You'll have to decide whether you want to build the modem support into the kernel or as the modules. My way (shown above) may be confusing - part as a module and part into the kernel. It is because I want to connect my iPAQ via the USB cable, what requires PPP support - I use it much more frequently then MC97 modem...

Notice that you'll have to configure the alsa sound system (as shown above)

Next step is the slmodem package:

$ echo 'net-dialup/slmodem ~x86' >> /etc/portage/package.keywords
$ emerge slmodem

First line is to make sure that you build recent version of the module (in my case it is 2.9.11_pre20051101), compatible with the kernel - otherwise you'll get the messages of unknown symbols.

Next, add the following line to the file /etc/modprobe.d/alsa:

File: /etc/modprobe.d/alsa
alias snd-card-1 snd-intel8x0m

Afterwards run update-modules. Edit the configuration file /etc/conf.d/slmodem to match your counrty, and add the slmodem to startup scripts:

$ rc-update add slmodem default

Ethernet

Works fine. Just use the b44 kernel module:

Linux Kernel Configuration: Ethernet
Linux Kernel Configuration --->
     Code maturity level options --->
          [*] Prompt for development and/or incomplete code/drivers
     Networking --->
          [*] Networking support
     Device drivers --->
          Network decice support --->
               [*] Network device support
                   Ethernet (10 or 100Mbit) --->
                        [*] EISA, VLB, PCI and on board controllers
                        <M>   Broadcom 4400 ethernet support

PC Card

See this guide.

Battery & Thermal

Thermal Zones are *NOT* working. However the fan does switch off when unused, and does switch on when compilation or other things which demand CPU's power are in progress - I assume this is done by the BIOS, so damage of CPU due to overheating is not likely. Linux just doesn't have the information on thermal zones.

Battery indicators are working fine when ACPI is compiled into kernel. You just have to emerge acpid.

Linux Kernel Configuration: ACPI
Linux Kernel Configuration --->
     Power management options (ACPI, APM) --->
          ACPI (Advanced Configuration and Power Interface) Support --->
               [*] ACPI Support
               <*> AC Adapter
               <*> Battery

In order to scale cpu frequency p4clockmod module & cpufreqd package are essential.

Optimizing performance

I am using following CFLAGS:

Code: grep FLAGS /etc/make.conf
CFLAGS="-Os -march=pentium-m -fomit-frame-pointer"
CXXFLAGS="-Os -march=pentium-m"

Somebody told me (actually I must have read it somewhere) that -fomit-frame-pointer can cause troubles when used to compile c++ programs. I have no experience to be able to confirm it - all I can tell is that c++ programs work fine without this flag.

You'll have to remember that -march=pentium-m requires >=sys-devel/gcc-3.4

Optimizing battery-saver

Suspend to RAM aka STR

It works fine, i did not even have to use any hibernate script or other stuff unloading modules. It just works - i left my acer over night suspended to ram and did not notice any serious battery energy drain;) What is more, I have even my wifi connection restored after resume:D

Linux Kernel Configuration: STR
Linux Kernel Configuration --->
     Power management options (ACPI, APM) --->
          ACPI (Advanced Configuration and Power Interface) Support --->
          [*]   Sleep States

However, you may experience shutdown on resume caused by power button signal. In order to prevent that I had to patch my kernel. Don't worry, it's nothing frightening :d Just please follow these instructions:

 # cd /usr/src

I changed this patch a bit to fit usual gentoo kernel paths naming (I assume you have linux symlink to your kernel sources in /usr/src directory)

 # wget http://www.wpk.p.lodz.pl/~vishna/acer2403/suppress_power_button_event_on_s3_resume.patch

Now it's time we applied the patch

 # patch -p0 < suppress_power_button_event_on_s3_resume.patch

It should give some output, if so change directory to /usr/src/linux and make clean; make && make modules_install then copy bzImage

Having booted the new kernel you can now suspend your computer (as root of course)

 # echo mem > /sys/power/state

However if you would like for example to suspend your laptop when you press the power button simply change one line of /etc/acpi/default.sh

#!/bin/sh
# Default acpi script that takes an entry for all actions

set $*

group=${1/\/*/}
action=${1/*\//}

case "$group" in
   button)
      case "$action" in
         power)  echo mem > /sys/power/state
           ;;
         *) logger "ACPI action $action is not defined"
            ;;
      esac
      ;;

   *)
      logger "ACPI group $group / action $action is not defined"
      ;;
esac
Retrieved from "http://www.gentoo-wiki.info/Compal_JFL92"

Last modified: Tue, 12 Aug 2008 23:14:00 +0000 Hits: 713