https://wiki.archlinux.org/api.php?action=feedcontributions&user=Danfe&feedformat=atomArchWiki - User contributions [en]2024-03-29T12:05:49ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=NEC_Versa_S950&diff=234579NEC Versa S9502012-11-09T14:18:31Z<p>Danfe: /* Usage notes */ Add some specifics on the temperatures</p>
<hr />
<div>[[Category:Laptops]]<br />
[[ru:NEC Versa S950]]<br />
[[uk:NEC Versa S950]]<br />
== Overview ==<br />
<br />
NEC Versa S950 is a relatively small Pentium M based laptop with<br />
non-glare 14" display. Its weight is around 2.2 kg, and supplied 4800 mAh<br />
battery lets it run for ~3h in autonomous mode.<br />
<br />
Linux support is complete for this device, all built-in peripherals have<br />
functional linux drivers. Arch Linux installation goes smoothly. Aside from<br />
local sources (DVD, USB or possibly SD) you can use Ethernet for network<br />
installation, but probably not Wi-Fi.<br />
<br />
In this guide I'll describe describe what may be done after<br />
installation to get all the hardware working. I assume reader has some<br />
general linux knowledge, and skip nonspecific parts of<br />
installation and Arch configuration.<br />
<br />
== Specs ==<br />
<br />
* Processor: [http://www.cpu-world.com/CPUs/Pentium_M/Intel-Pentium%20M%20735A%20RH80536GC0292MT.html Pentium M 735A 1.73GHz] (socket 479)<br />
* Screen: 14.0" non-glare WXGA 1280x768 ([http://g3nius.org/lcd-controller/B140EW01-Functional-Spec-V0-0903.pdf AUO B140EW01], TN/CCFL)<br />
* Memory size: 1G DDR2 PC2 4300 SDRAM (max. 2G)<br />
* Motherboard: DA0CH1MB8E1 rev.E<br />
* North Bridge: Intel 915GM ([http://ark.intel.com/products/27715/Intel-82915GM-Graphics-and-Memory-Controller QG82915GM SL8G6])<br />
* South Bridge: Intel ICH6-M<br />
* BIOS: Phoenix NoteBIOS ver.4 rev.6.1 (last update: [http://www.nec-computers.com/support2/pib.asp?platform=s950bio3a23&mode=default&source=2006 3A23])<br />
* Hard disk drive: 60G Hitachi Travelstar 5K100<br />
* Optical disk drive: Philips SDVD8441<br />
* Sound: SigmaTel STAC9200<br />
* Ethernet: Broadcom BCM5788<br />
* Wi-Fi: Intel PRO/Wireless 2200BG in miniPCI slot<br />
* Bluetooth: Broadcom 2101<br />
* IrDA: NSC unknown<br />
* Modem: Agere Athens AM2<br />
* Card reader: TI FlashMedia SD ([http://www.webcon.ca/~imorgan/tifm21/scpu022a.pdf PCI7114] based)<br />
* FireWire: TI OHCI compilant<br />
* Touchpad: AVC Finger sensing pad<br />
<br />
There are several other modifications, with different RAM and HDD sizes. CPU is upgradeable up to [http://www.cpu-world.com/CPUs/Pentium_M/Intel-Pentium%20M%20780%20RH80536GE0512M%20%28BX80536GE2266FJ%29.html Pentium M 780 2.26GHz].<br />
<br />
== Setup ==<br />
<br />
=== CPU ===<br />
<br />
Use '''acpi-cpufreq''' module together with some governor to control CPU speed<br />
('''cpufreq_ondemand''' seems to be the most popular choice, though I myself<br />
prefer '''cpufreq_powersave''').<br />
<br />
There's a standard Arch way to do this: install cpufrequtils from [extra],<br />
check /etc/conf.d/cpufreq:<br />
<br />
governor="ondemand"<br />
#min_freq commented out<br />
#max_freq commented out<br />
<br />
then add cpufreq to DAEMONS in /etc/rc.conf (and/or run it manually).<br />
<br />
See [[Cpufrequtils]], [[CPU_Frequency_Scaling]].<br />
<br />
=== Text Console ===<br />
<br />
No useful BIOS textmodes. Pity. Either leave it as is, or use [[NEC_Versa_S950#Framebuffer|framebuffer]].<br />
<br />
=== Xorg/video ===<br />
<br />
Video is handled by intel driver. Relevant section of my xorg.conf is<br />
<br />
Section "Device"<br />
Identifier "i915G"<br />
Driver "intel"<br />
Option "DRI" "true"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "i915G"<br />
Monitor "Versa display"<br />
DefaultColorDepth 24<br />
SubSection "Display"<br />
Depth 24<br />
Modes "1280x768"<br />
Virtual 1280 1536<br />
EndSubSection<br />
EndSection<br />
<br />
DRI is backed by i915.ko, which seems to be autoloaded — no need to mention it in rc.conf.<br />
<br />
You should get native 1280x768 without running 915resolution,<br />
but in some cases I had to use it; check carefully which mode X uses!<br />
<br />
Virtual is set to accomodate two 1280x768 displays, one atop another; you<br />
may need to tweak it for your needs. See [NEC_Versa_S950#External display|xrandr setup].<br />
Beware, setting any of Virtual dimensions to anything greater than 2048 will<br />
effectively disable DRI.<br />
<br />
Note: seems like there's no software way to control backlight brightness.<br />
<br />
=== Xorg/input ===<br />
<br />
Laptop keyboard may require keymap tweaking, but that's not necessary. Fn key is processed somewhere in BIOS and you have no control over it. Two additional buttons near power switch generate codes 178 and 236 - bind them if you need them. Audio Mute, Raise/Lower key codes are 140, 176/174, respectively. See [http://bbs.archlinux.org/viewtopic.php?id=40875 Multimedia keys] on Arch forum.<br />
<br />
Touchpad is dumb crappy AVC unit connected via PS/2 — just use /dev/input/mice and do not bother trying to configure it. It's a good idea to turn Emulate3Buttons on, there's no hardware button 3. Buttons 4 and 5 (scroll), on the other hand, ''are'' there: tap on the upper right/lower right corners of the pad.<br />
<br />
Relevant section from xorg.conf:<br />
<br />
Section "InputDevice"<br />
Identifier "Main mouse"<br />
Driver "mouse"<br />
Option "Protocol" "auto"<br />
Option "Device" "/dev/input/mice"<br />
Option "Emulate3Buttons" "true"<br />
Option "ZAxisMapping" "4 5"<br />
EndSection<br />
<br />
=== Hitachi HDD ===<br />
<br />
To avoid excessive load/unload cycles, add<br />
<br />
hdparm -q -B 255 /dev/sda<br />
<br />
to rc.local, tweaking -B value according to your needs.<br />
<br />
Beware: head parking can be useful; in particular, it can save your HDD<br />
when laptop falls. Do not use hdparm -B unless you known exactly what<br />
you are doing.<br />
<br />
See [http://ubuntuforums.org/showthread.php?p=5031046 laptop harddrive Load_Cycle_Count issue].<br />
<br />
=== Sound and Ethernet ===<br />
<br />
No additional setup required, modules ('''snd_hda_intel''' and '''tg3''' resp.)<br />
are guessed by Arch installer.<br />
<br />
=== Wi-Fi ===<br />
<br />
Driver module, '''ipw2200''', is guessed correctly by installer, but it won't work<br />
unless you install firmware — ipw2200-fw from [core]. Add<br />
<br />
options ipw2200 led=1<br />
<br />
to modprobe.conf (or modprobe.d/ipw2200) to enable front panel LED.<br />
Also note, you can turn it on/off by pressing Fn+F2, but current device<br />
state can be hard to guess.<br />
"Failed to send SCAN_ABORT" in kern.log means card is being turned on,<br />
and LED should show some activity (flash from time to time at least).<br />
<br />
=== Bluetooth ===<br />
<br />
Bluetooth dongle is connected via USB and handled by '''hci_usb''' module, which is<br />
autoloaded when necessary. Pressing Fn+F4 actually (dis)connects it from the bus, this<br />
can be seen in kern.log. The driver does NOT reports anything when it finds device;<br />
mount usb fs:<br />
<br />
mount -t usbfs none /proc/bus/usb<br />
<br />
and examine /proc/bus/usb/devices to find "Foxconn Bluetooth", then check whether<br />
Driver=hci_usb.<br />
<br />
Note: for "hcitool dev" to work, you need the whole pack of daemons<br />
running. Install bluez-utils and examine /etc/rc.d/bluetooth.<br />
<br />
See [[Bluetooth]] for more information.<br />
<br />
=== IrDA ===<br />
<br />
Load '''nsc-ircc''' module, and/or add it to MODULES in rc.conf. Should work,<br />
though I didn't test it with any real device.<br />
<br />
=== FireWire ===<br />
<br />
No setup needed, '''ohci1394''' module is autoloaded.<br />
<br />
=== CardBus (PCMCIA) ===<br />
<br />
No setup needed.<br />
<br />
=== Card reader ===<br />
<br />
No setup needed, '''tifm_sd''' module seem to be autoloaded. Your card will be<br />
accessible as /dev/mmcblk0, with partitions mmcblk0p1 etc.<br />
<br />
=== Framebuffer ===<br />
<br />
To get native resolution in framebuffer, you have to use '''uvesafb'''.<br />
This thing is quite tricky, my recipes may or may not work for you,<br />
so get ready to read the real docs.<br />
<br />
You need to put v86d together with 915resolution to initrd.<br />
Both can be found in Arch repositories, but you probably won't<br />
be able to use those. Check if prebuilt v86d runs, then examine it<br />
with ldd — you should not get segfaults. If you do, reconfigure it<br />
--with-x86emu. Then rebuild 915resolution using klibc instead of<br />
glibc (set CC=klcc for make), otherwise it won't be usable<br />
within initrd.<br />
<br />
You need hook files for mkinitcpio, namely<br />
/lib/initcpio/{install,hooks}/{915resolution,v86d}. Get them from<br />
prebuilt packages, then modify HOOKS in /etc/mkinitcpio.conf:<br />
<br />
HOOKS = (base udev 915resolution v86d ... )<br />
<br />
resolution settings in /lib/initcpio/hooks/915resolution<br />
<br />
msg -n ":: Patching the VBIOS..."<br />
/usr/sbin/915resolution 5c 1280 768<br />
<br />
and /etc/modprobe.d/uvesafb:<br />
<br />
options uvesafb mode=1280x768 scroll=ywrap<br />
<br />
(note: module parameter is mode=, not mode_option= as default<br />
configuration suggests). At this point, you may try to modprobe<br />
uvesafb — text console should switch to framebuffer.<br />
<br />
If everything's ok, run<br />
<br />
# mkinitcpio -p linux<br />
to rebuild initrd and reboot.<br />
<br />
Note: this is one of possible ways to setup uvesafb. You can insert<br />
the module later, say, in rc.local; initcpio won't be involved at<br />
all. You can try to compile it statically into kernel and possibly<br />
get graphical console much earlier.<br />
<br />
Warning: suspend-to-RAM and uvesafb are mutually exclusive, at least for<br />
this laptop. You can't choose both.<br />
<br />
See [[uvesafb]] in Arch wiki and [http://dev.gentoo.org/~spock/projects/uvesafb official site].<br />
<br />
=== Modem ===<br />
<br />
There's no modem in this laptop. Ok, nowadays such things are sometimes called "modems",<br />
but, well, they aren't. Agere Athens (or Athena according to some NEC specs) is and AMR-type card,<br />
which is in fact a sound card add-on with fancy (phone) connector, nothing more. It is handled<br />
by snd_hda_intel, and you can see some of its controls in alsamixer.<br />
<br />
To make a real modem out of this, you need some software DSP to analyze and make all those<br />
hissing, chirping and beeping which real modems use to communicate. There's one called<br />
'''slmodem'''. Make sure it is built with SUPPORT_ALSA=1, and run<br />
<br />
slmodemd -a modem:0<br />
<br />
It will create virtual serial port, /dev/ttySL0 usually, which can be used for pppd etc.<br />
<br />
See [[Smartlink_Modem_drivers]], [http://linmodems.technion.ac.il/packages/smartlink slmodem page]<br />
<br />
== External display ==<br />
<br />
There's no hardware hotkeys to control external display, so your only option<br />
is ''xrandr''. Typical usage:<br />
<br />
* turn display on: xrandr --output VGA --auto<br />
* turn display off: xrandr --output VGA --off<br />
* clone primary display: xrandr --output VGA --same-as LVDS<br />
* twinhead setup: xrandr --output VGA --below LVDS<br />
<br />
Twinhead mode requires Virtual from xorg.conf to be large enough to hold<br />
both displays together, i.e., for 1280x768 below 1280x768 you need at<br />
least Virtual 1280 1536.<br />
<br />
== Hibernation ==<br />
<br />
'''S4''' (suspend-to-disk) seems to work well. '''S3''' (suspend-to-ram) works well<br />
too ''unless'' you use uvesafb, in which case X server will die on wakeup and<br />
won't be able to start until next reboot. Maybe this will change in future<br />
releases of xf86-video-intel and/or uvesafb.<br />
<br />
You should POST video card after S3 wakeup, otherwise console will be blank.<br />
Also, hdpart -B should be run again as HDD is turned off and forgets its settings.<br />
<br />
'''Plain kernel interface''': To activate S4, just<br />
<br />
echo 4 > /proc/acpi/sleep<br />
<br />
'''uswsusp''': Use '''s2disk''' for S4 and '''s2ram''' for S3.<br />
s2ram requires --vbe_post option (or with appropriate line<br />
added to whitelist.c, having VBE_POST in last field) to handle video<br />
card properly.<br />
See [[Suspend_to_Disk]], [[Suspend_to_RAM]] for more information.<br />
<br />
'''pm-utils''': Use '''pm-suspend''' for S3 and '''pm-hibernate''' for S4.<br />
<br />
To reanimate sleeping laptop, press Power button.<br />
<br />
When using S4, do not forget to specify resume=/dev/sdXN in kernel command line<br />
(sdXN being your swap partition).<br />
<br />
== Basic disassembly ==<br />
<br />
Taking out some parts of the laptop may be necessary for upgrade or routine maintenance. Seems like the official disassembly guide is not available, so here's quick guide how to gain access to different parts of the laptop.<br />
<br />
'''Memory and Wi-Fi card''': open lid at the bottom (fixed by two screws).<br />
<br />
'''Optical drive''': remove shallow screw (not the deeper one) left to bottom lid, open the lid and push shiny metallic handle visible on the left side next to Wi-Fi card until the drive comes out.<br />
<br />
'''Keyboard''': you need to remove plastic panel with buttons and LEDs above the keyboard first. Open screen to full 180°, remove two screws at the back of screen handlers, remove the battery, then push the plate from below. You should push the side closer to the screen while keeping keyboard side in place. Little screwdriver may be necessary to lift it left and right of the battery place.<br />
<br />
After the panel is done, remove two screws on the top of keyboard, and one marked with K in circle from behind, then slide the keyboard forward (to the screen). Again, you may need to use small screwdriver to help it come out.<br />
<br />
'''Fan''': right under the keyboard.<br />
<br />
To get access to the motherboard, you need to untie 14 screws from the bottom plus some more around the memory and mini-PCI bay. Don't forget the screw right under the keyboard (marked with an arrow). At this point you should also detach Wi-Fi antenna wires and LCD interface, and remove the screen lid.<br />
<br />
To detach the motherboard from the case, make sure to remove HDD cover and two screws on external VGA connector. Remove three screws that fix the board on the base and two more that hold the fan. Carefully pull the board, pay attention on the sound jacks, you might need to help them out.<br />
<br />
== Usage notes ==<br />
<br />
Do not press too hard on laptop lid, you can damage display (scratch it against keyboard rim). If you did, first of all wipe the screen carefully — display coating is apparently much harder than keyboard paint, it may be not as bad as it seems.<br />
<br />
When working under full load while standing on a flat surface, laptop tends to heat above 70°C (ACPI termzone). To mend this, raise it above the surface — a couple centimeters will be enough — to let cool air to fan inlet. If temperature under load gets above 90°C, it means you need to clean the fan from the dust and lint. In the worst cases, you may need to replace the grease or the fan itself.</div>Danfehttps://wiki.archlinux.org/index.php?title=NEC_Versa_S950&diff=234578NEC Versa S9502012-11-09T14:15:08Z<p>Danfe: /* Basic disassembly */ Minor textual nits</p>
<hr />
<div>[[Category:Laptops]]<br />
[[ru:NEC Versa S950]]<br />
[[uk:NEC Versa S950]]<br />
== Overview ==<br />
<br />
NEC Versa S950 is a relatively small Pentium M based laptop with<br />
non-glare 14" display. Its weight is around 2.2 kg, and supplied 4800 mAh<br />
battery lets it run for ~3h in autonomous mode.<br />
<br />
Linux support is complete for this device, all built-in peripherals have<br />
functional linux drivers. Arch Linux installation goes smoothly. Aside from<br />
local sources (DVD, USB or possibly SD) you can use Ethernet for network<br />
installation, but probably not Wi-Fi.<br />
<br />
In this guide I'll describe describe what may be done after<br />
installation to get all the hardware working. I assume reader has some<br />
general linux knowledge, and skip nonspecific parts of<br />
installation and Arch configuration.<br />
<br />
== Specs ==<br />
<br />
* Processor: [http://www.cpu-world.com/CPUs/Pentium_M/Intel-Pentium%20M%20735A%20RH80536GC0292MT.html Pentium M 735A 1.73GHz] (socket 479)<br />
* Screen: 14.0" non-glare WXGA 1280x768 ([http://g3nius.org/lcd-controller/B140EW01-Functional-Spec-V0-0903.pdf AUO B140EW01], TN/CCFL)<br />
* Memory size: 1G DDR2 PC2 4300 SDRAM (max. 2G)<br />
* Motherboard: DA0CH1MB8E1 rev.E<br />
* North Bridge: Intel 915GM ([http://ark.intel.com/products/27715/Intel-82915GM-Graphics-and-Memory-Controller QG82915GM SL8G6])<br />
* South Bridge: Intel ICH6-M<br />
* BIOS: Phoenix NoteBIOS ver.4 rev.6.1 (last update: [http://www.nec-computers.com/support2/pib.asp?platform=s950bio3a23&mode=default&source=2006 3A23])<br />
* Hard disk drive: 60G Hitachi Travelstar 5K100<br />
* Optical disk drive: Philips SDVD8441<br />
* Sound: SigmaTel STAC9200<br />
* Ethernet: Broadcom BCM5788<br />
* Wi-Fi: Intel PRO/Wireless 2200BG in miniPCI slot<br />
* Bluetooth: Broadcom 2101<br />
* IrDA: NSC unknown<br />
* Modem: Agere Athens AM2<br />
* Card reader: TI FlashMedia SD ([http://www.webcon.ca/~imorgan/tifm21/scpu022a.pdf PCI7114] based)<br />
* FireWire: TI OHCI compilant<br />
* Touchpad: AVC Finger sensing pad<br />
<br />
There are several other modifications, with different RAM and HDD sizes. CPU is upgradeable up to [http://www.cpu-world.com/CPUs/Pentium_M/Intel-Pentium%20M%20780%20RH80536GE0512M%20%28BX80536GE2266FJ%29.html Pentium M 780 2.26GHz].<br />
<br />
== Setup ==<br />
<br />
=== CPU ===<br />
<br />
Use '''acpi-cpufreq''' module together with some governor to control CPU speed<br />
('''cpufreq_ondemand''' seems to be the most popular choice, though I myself<br />
prefer '''cpufreq_powersave''').<br />
<br />
There's a standard Arch way to do this: install cpufrequtils from [extra],<br />
check /etc/conf.d/cpufreq:<br />
<br />
governor="ondemand"<br />
#min_freq commented out<br />
#max_freq commented out<br />
<br />
then add cpufreq to DAEMONS in /etc/rc.conf (and/or run it manually).<br />
<br />
See [[Cpufrequtils]], [[CPU_Frequency_Scaling]].<br />
<br />
=== Text Console ===<br />
<br />
No useful BIOS textmodes. Pity. Either leave it as is, or use [[NEC_Versa_S950#Framebuffer|framebuffer]].<br />
<br />
=== Xorg/video ===<br />
<br />
Video is handled by intel driver. Relevant section of my xorg.conf is<br />
<br />
Section "Device"<br />
Identifier "i915G"<br />
Driver "intel"<br />
Option "DRI" "true"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "i915G"<br />
Monitor "Versa display"<br />
DefaultColorDepth 24<br />
SubSection "Display"<br />
Depth 24<br />
Modes "1280x768"<br />
Virtual 1280 1536<br />
EndSubSection<br />
EndSection<br />
<br />
DRI is backed by i915.ko, which seems to be autoloaded — no need to mention it in rc.conf.<br />
<br />
You should get native 1280x768 without running 915resolution,<br />
but in some cases I had to use it; check carefully which mode X uses!<br />
<br />
Virtual is set to accomodate two 1280x768 displays, one atop another; you<br />
may need to tweak it for your needs. See [NEC_Versa_S950#External display|xrandr setup].<br />
Beware, setting any of Virtual dimensions to anything greater than 2048 will<br />
effectively disable DRI.<br />
<br />
Note: seems like there's no software way to control backlight brightness.<br />
<br />
=== Xorg/input ===<br />
<br />
Laptop keyboard may require keymap tweaking, but that's not necessary. Fn key is processed somewhere in BIOS and you have no control over it. Two additional buttons near power switch generate codes 178 and 236 - bind them if you need them. Audio Mute, Raise/Lower key codes are 140, 176/174, respectively. See [http://bbs.archlinux.org/viewtopic.php?id=40875 Multimedia keys] on Arch forum.<br />
<br />
Touchpad is dumb crappy AVC unit connected via PS/2 — just use /dev/input/mice and do not bother trying to configure it. It's a good idea to turn Emulate3Buttons on, there's no hardware button 3. Buttons 4 and 5 (scroll), on the other hand, ''are'' there: tap on the upper right/lower right corners of the pad.<br />
<br />
Relevant section from xorg.conf:<br />
<br />
Section "InputDevice"<br />
Identifier "Main mouse"<br />
Driver "mouse"<br />
Option "Protocol" "auto"<br />
Option "Device" "/dev/input/mice"<br />
Option "Emulate3Buttons" "true"<br />
Option "ZAxisMapping" "4 5"<br />
EndSection<br />
<br />
=== Hitachi HDD ===<br />
<br />
To avoid excessive load/unload cycles, add<br />
<br />
hdparm -q -B 255 /dev/sda<br />
<br />
to rc.local, tweaking -B value according to your needs.<br />
<br />
Beware: head parking can be useful; in particular, it can save your HDD<br />
when laptop falls. Do not use hdparm -B unless you known exactly what<br />
you are doing.<br />
<br />
See [http://ubuntuforums.org/showthread.php?p=5031046 laptop harddrive Load_Cycle_Count issue].<br />
<br />
=== Sound and Ethernet ===<br />
<br />
No additional setup required, modules ('''snd_hda_intel''' and '''tg3''' resp.)<br />
are guessed by Arch installer.<br />
<br />
=== Wi-Fi ===<br />
<br />
Driver module, '''ipw2200''', is guessed correctly by installer, but it won't work<br />
unless you install firmware — ipw2200-fw from [core]. Add<br />
<br />
options ipw2200 led=1<br />
<br />
to modprobe.conf (or modprobe.d/ipw2200) to enable front panel LED.<br />
Also note, you can turn it on/off by pressing Fn+F2, but current device<br />
state can be hard to guess.<br />
"Failed to send SCAN_ABORT" in kern.log means card is being turned on,<br />
and LED should show some activity (flash from time to time at least).<br />
<br />
=== Bluetooth ===<br />
<br />
Bluetooth dongle is connected via USB and handled by '''hci_usb''' module, which is<br />
autoloaded when necessary. Pressing Fn+F4 actually (dis)connects it from the bus, this<br />
can be seen in kern.log. The driver does NOT reports anything when it finds device;<br />
mount usb fs:<br />
<br />
mount -t usbfs none /proc/bus/usb<br />
<br />
and examine /proc/bus/usb/devices to find "Foxconn Bluetooth", then check whether<br />
Driver=hci_usb.<br />
<br />
Note: for "hcitool dev" to work, you need the whole pack of daemons<br />
running. Install bluez-utils and examine /etc/rc.d/bluetooth.<br />
<br />
See [[Bluetooth]] for more information.<br />
<br />
=== IrDA ===<br />
<br />
Load '''nsc-ircc''' module, and/or add it to MODULES in rc.conf. Should work,<br />
though I didn't test it with any real device.<br />
<br />
=== FireWire ===<br />
<br />
No setup needed, '''ohci1394''' module is autoloaded.<br />
<br />
=== CardBus (PCMCIA) ===<br />
<br />
No setup needed.<br />
<br />
=== Card reader ===<br />
<br />
No setup needed, '''tifm_sd''' module seem to be autoloaded. Your card will be<br />
accessible as /dev/mmcblk0, with partitions mmcblk0p1 etc.<br />
<br />
=== Framebuffer ===<br />
<br />
To get native resolution in framebuffer, you have to use '''uvesafb'''.<br />
This thing is quite tricky, my recipes may or may not work for you,<br />
so get ready to read the real docs.<br />
<br />
You need to put v86d together with 915resolution to initrd.<br />
Both can be found in Arch repositories, but you probably won't<br />
be able to use those. Check if prebuilt v86d runs, then examine it<br />
with ldd — you should not get segfaults. If you do, reconfigure it<br />
--with-x86emu. Then rebuild 915resolution using klibc instead of<br />
glibc (set CC=klcc for make), otherwise it won't be usable<br />
within initrd.<br />
<br />
You need hook files for mkinitcpio, namely<br />
/lib/initcpio/{install,hooks}/{915resolution,v86d}. Get them from<br />
prebuilt packages, then modify HOOKS in /etc/mkinitcpio.conf:<br />
<br />
HOOKS = (base udev 915resolution v86d ... )<br />
<br />
resolution settings in /lib/initcpio/hooks/915resolution<br />
<br />
msg -n ":: Patching the VBIOS..."<br />
/usr/sbin/915resolution 5c 1280 768<br />
<br />
and /etc/modprobe.d/uvesafb:<br />
<br />
options uvesafb mode=1280x768 scroll=ywrap<br />
<br />
(note: module parameter is mode=, not mode_option= as default<br />
configuration suggests). At this point, you may try to modprobe<br />
uvesafb — text console should switch to framebuffer.<br />
<br />
If everything's ok, run<br />
<br />
# mkinitcpio -p linux<br />
to rebuild initrd and reboot.<br />
<br />
Note: this is one of possible ways to setup uvesafb. You can insert<br />
the module later, say, in rc.local; initcpio won't be involved at<br />
all. You can try to compile it statically into kernel and possibly<br />
get graphical console much earlier.<br />
<br />
Warning: suspend-to-RAM and uvesafb are mutually exclusive, at least for<br />
this laptop. You can't choose both.<br />
<br />
See [[uvesafb]] in Arch wiki and [http://dev.gentoo.org/~spock/projects/uvesafb official site].<br />
<br />
=== Modem ===<br />
<br />
There's no modem in this laptop. Ok, nowadays such things are sometimes called "modems",<br />
but, well, they aren't. Agere Athens (or Athena according to some NEC specs) is and AMR-type card,<br />
which is in fact a sound card add-on with fancy (phone) connector, nothing more. It is handled<br />
by snd_hda_intel, and you can see some of its controls in alsamixer.<br />
<br />
To make a real modem out of this, you need some software DSP to analyze and make all those<br />
hissing, chirping and beeping which real modems use to communicate. There's one called<br />
'''slmodem'''. Make sure it is built with SUPPORT_ALSA=1, and run<br />
<br />
slmodemd -a modem:0<br />
<br />
It will create virtual serial port, /dev/ttySL0 usually, which can be used for pppd etc.<br />
<br />
See [[Smartlink_Modem_drivers]], [http://linmodems.technion.ac.il/packages/smartlink slmodem page]<br />
<br />
== External display ==<br />
<br />
There's no hardware hotkeys to control external display, so your only option<br />
is ''xrandr''. Typical usage:<br />
<br />
* turn display on: xrandr --output VGA --auto<br />
* turn display off: xrandr --output VGA --off<br />
* clone primary display: xrandr --output VGA --same-as LVDS<br />
* twinhead setup: xrandr --output VGA --below LVDS<br />
<br />
Twinhead mode requires Virtual from xorg.conf to be large enough to hold<br />
both displays together, i.e., for 1280x768 below 1280x768 you need at<br />
least Virtual 1280 1536.<br />
<br />
== Hibernation ==<br />
<br />
'''S4''' (suspend-to-disk) seems to work well. '''S3''' (suspend-to-ram) works well<br />
too ''unless'' you use uvesafb, in which case X server will die on wakeup and<br />
won't be able to start until next reboot. Maybe this will change in future<br />
releases of xf86-video-intel and/or uvesafb.<br />
<br />
You should POST video card after S3 wakeup, otherwise console will be blank.<br />
Also, hdpart -B should be run again as HDD is turned off and forgets its settings.<br />
<br />
'''Plain kernel interface''': To activate S4, just<br />
<br />
echo 4 > /proc/acpi/sleep<br />
<br />
'''uswsusp''': Use '''s2disk''' for S4 and '''s2ram''' for S3.<br />
s2ram requires --vbe_post option (or with appropriate line<br />
added to whitelist.c, having VBE_POST in last field) to handle video<br />
card properly.<br />
See [[Suspend_to_Disk]], [[Suspend_to_RAM]] for more information.<br />
<br />
'''pm-utils''': Use '''pm-suspend''' for S3 and '''pm-hibernate''' for S4.<br />
<br />
To reanimate sleeping laptop, press Power button.<br />
<br />
When using S4, do not forget to specify resume=/dev/sdXN in kernel command line<br />
(sdXN being your swap partition).<br />
<br />
== Basic disassembly ==<br />
<br />
Taking out some parts of the laptop may be necessary for upgrade or routine maintenance. Seems like the official disassembly guide is not available, so here's quick guide how to gain access to different parts of the laptop.<br />
<br />
'''Memory and Wi-Fi card''': open lid at the bottom (fixed by two screws).<br />
<br />
'''Optical drive''': remove shallow screw (not the deeper one) left to bottom lid, open the lid and push shiny metallic handle visible on the left side next to Wi-Fi card until the drive comes out.<br />
<br />
'''Keyboard''': you need to remove plastic panel with buttons and LEDs above the keyboard first. Open screen to full 180°, remove two screws at the back of screen handlers, remove the battery, then push the plate from below. You should push the side closer to the screen while keeping keyboard side in place. Little screwdriver may be necessary to lift it left and right of the battery place.<br />
<br />
After the panel is done, remove two screws on the top of keyboard, and one marked with K in circle from behind, then slide the keyboard forward (to the screen). Again, you may need to use small screwdriver to help it come out.<br />
<br />
'''Fan''': right under the keyboard.<br />
<br />
To get access to the motherboard, you need to untie 14 screws from the bottom plus some more around the memory and mini-PCI bay. Don't forget the screw right under the keyboard (marked with an arrow). At this point you should also detach Wi-Fi antenna wires and LCD interface, and remove the screen lid.<br />
<br />
To detach the motherboard from the case, make sure to remove HDD cover and two screws on external VGA connector. Remove three screws that fix the board on the base and two more that hold the fan. Carefully pull the board, pay attention on the sound jacks, you might need to help them out.<br />
<br />
== Usage notes ==<br />
<br />
Do not press too hard on laptop lid, you can damage display (scratch it against keyboard rim).<br />
If you did, first of all wipe the screen carefully — display coating is apparently much harder than<br />
keyboard paint, it may be not as bad as it seems.<br />
<br />
When working under full load while standing on a flat surface, laptop tends<br />
to heat above 70°C (ACPI termzone). To mend this, raise it above the surface —<br />
a couple centimeters will be enough — to let cool air to fan inlet.</div>Danfehttps://wiki.archlinux.org/index.php?title=NEC_Versa_S950&diff=234536NEC Versa S9502012-11-09T09:12:29Z<p>Danfe: /* Xorg/input */ Mention keycodes of the audio mute and volume keys</p>
<hr />
<div>[[Category:Laptops]]<br />
[[ru:NEC Versa S950]]<br />
[[uk:NEC Versa S950]]<br />
== Overview ==<br />
<br />
NEC Versa S950 is a relatively small Pentium M based laptop with<br />
non-glare 14" display. Its weight is around 2.2 kg, and supplied 4800 mAh<br />
battery lets it run for ~3h in autonomous mode.<br />
<br />
Linux support is complete for this device, all built-in peripherals have<br />
functional linux drivers. Arch Linux installation goes smoothly. Aside from<br />
local sources (DVD, USB or possibly SD) you can use Ethernet for network<br />
installation, but probably not Wi-Fi.<br />
<br />
In this guide I'll describe describe what may be done after<br />
installation to get all the hardware working. I assume reader has some<br />
general linux knowledge, and skip nonspecific parts of<br />
installation and Arch configuration.<br />
<br />
== Specs ==<br />
<br />
* Processor: [http://www.cpu-world.com/CPUs/Pentium_M/Intel-Pentium%20M%20735A%20RH80536GC0292MT.html Pentium M 735A 1.73GHz] (socket 479)<br />
* Screen: 14.0" non-glare WXGA 1280x768 ([http://g3nius.org/lcd-controller/B140EW01-Functional-Spec-V0-0903.pdf AUO B140EW01], TN/CCFL)<br />
* Memory size: 1G DDR2 PC2 4300 SDRAM (max. 2G)<br />
* Motherboard: DA0CH1MB8E1 rev.E<br />
* North Bridge: Intel 915GM ([http://ark.intel.com/products/27715/Intel-82915GM-Graphics-and-Memory-Controller QG82915GM SL8G6])<br />
* South Bridge: Intel ICH6-M<br />
* BIOS: Phoenix NoteBIOS ver.4 rev.6.1 (last update: [http://www.nec-computers.com/support2/pib.asp?platform=s950bio3a23&mode=default&source=2006 3A23])<br />
* Hard disk drive: 60G Hitachi Travelstar 5K100<br />
* Optical disk drive: Philips SDVD8441<br />
* Sound: SigmaTel STAC9200<br />
* Ethernet: Broadcom BCM5788<br />
* Wi-Fi: Intel PRO/Wireless 2200BG in miniPCI slot<br />
* Bluetooth: Broadcom 2101<br />
* IrDA: NSC unknown<br />
* Modem: Agere Athens AM2<br />
* Card reader: TI FlashMedia SD ([http://www.webcon.ca/~imorgan/tifm21/scpu022a.pdf PCI7114] based)<br />
* FireWire: TI OHCI compilant<br />
* Touchpad: AVC Finger sensing pad<br />
<br />
There are several other modifications, with different RAM and HDD sizes. CPU is upgradeable up to [http://www.cpu-world.com/CPUs/Pentium_M/Intel-Pentium%20M%20780%20RH80536GE0512M%20%28BX80536GE2266FJ%29.html Pentium M 780 2.26GHz].<br />
<br />
== Setup ==<br />
<br />
=== CPU ===<br />
<br />
Use '''acpi-cpufreq''' module together with some governor to control CPU speed<br />
('''cpufreq_ondemand''' seems to be the most popular choice, though I myself<br />
prefer '''cpufreq_powersave''').<br />
<br />
There's a standard Arch way to do this: install cpufrequtils from [extra],<br />
check /etc/conf.d/cpufreq:<br />
<br />
governor="ondemand"<br />
#min_freq commented out<br />
#max_freq commented out<br />
<br />
then add cpufreq to DAEMONS in /etc/rc.conf (and/or run it manually).<br />
<br />
See [[Cpufrequtils]], [[CPU_Frequency_Scaling]].<br />
<br />
=== Text Console ===<br />
<br />
No useful BIOS textmodes. Pity. Either leave it as is, or use [[NEC_Versa_S950#Framebuffer|framebuffer]].<br />
<br />
=== Xorg/video ===<br />
<br />
Video is handled by intel driver. Relevant section of my xorg.conf is<br />
<br />
Section "Device"<br />
Identifier "i915G"<br />
Driver "intel"<br />
Option "DRI" "true"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "i915G"<br />
Monitor "Versa display"<br />
DefaultColorDepth 24<br />
SubSection "Display"<br />
Depth 24<br />
Modes "1280x768"<br />
Virtual 1280 1536<br />
EndSubSection<br />
EndSection<br />
<br />
DRI is backed by i915.ko, which seems to be autoloaded — no need to mention it in rc.conf.<br />
<br />
You should get native 1280x768 without running 915resolution,<br />
but in some cases I had to use it; check carefully which mode X uses!<br />
<br />
Virtual is set to accomodate two 1280x768 displays, one atop another; you<br />
may need to tweak it for your needs. See [NEC_Versa_S950#External display|xrandr setup].<br />
Beware, setting any of Virtual dimensions to anything greater than 2048 will<br />
effectively disable DRI.<br />
<br />
Note: seems like there's no software way to control backlight brightness.<br />
<br />
=== Xorg/input ===<br />
<br />
Laptop keyboard may require keymap tweaking, but that's not necessary. Fn key is processed somewhere in BIOS and you have no control over it. Two additional buttons near power switch generate codes 178 and 236 - bind them if you need them. Audio Mute, Raise/Lower key codes are 140, 176/174, respectively. See [http://bbs.archlinux.org/viewtopic.php?id=40875 Multimedia keys] on Arch forum.<br />
<br />
Touchpad is dumb crappy AVC unit connected via PS/2 — just use /dev/input/mice and do not bother trying to configure it. It's a good idea to turn Emulate3Buttons on, there's no hardware button 3. Buttons 4 and 5 (scroll), on the other hand, ''are'' there: tap on the upper right/lower right corners of the pad.<br />
<br />
Relevant section from xorg.conf:<br />
<br />
Section "InputDevice"<br />
Identifier "Main mouse"<br />
Driver "mouse"<br />
Option "Protocol" "auto"<br />
Option "Device" "/dev/input/mice"<br />
Option "Emulate3Buttons" "true"<br />
Option "ZAxisMapping" "4 5"<br />
EndSection<br />
<br />
=== Hitachi HDD ===<br />
<br />
To avoid excessive load/unload cycles, add<br />
<br />
hdparm -q -B 255 /dev/sda<br />
<br />
to rc.local, tweaking -B value according to your needs.<br />
<br />
Beware: head parking can be useful; in particular, it can save your HDD<br />
when laptop falls. Do not use hdparm -B unless you known exactly what<br />
you are doing.<br />
<br />
See [http://ubuntuforums.org/showthread.php?p=5031046 laptop harddrive Load_Cycle_Count issue].<br />
<br />
=== Sound and Ethernet ===<br />
<br />
No additional setup required, modules ('''snd_hda_intel''' and '''tg3''' resp.)<br />
are guessed by Arch installer.<br />
<br />
=== Wi-Fi ===<br />
<br />
Driver module, '''ipw2200''', is guessed correctly by installer, but it won't work<br />
unless you install firmware — ipw2200-fw from [core]. Add<br />
<br />
options ipw2200 led=1<br />
<br />
to modprobe.conf (or modprobe.d/ipw2200) to enable front panel LED.<br />
Also note, you can turn it on/off by pressing Fn+F2, but current device<br />
state can be hard to guess.<br />
"Failed to send SCAN_ABORT" in kern.log means card is being turned on,<br />
and LED should show some activity (flash from time to time at least).<br />
<br />
=== Bluetooth ===<br />
<br />
Bluetooth dongle is connected via USB and handled by '''hci_usb''' module, which is<br />
autoloaded when necessary. Pressing Fn+F4 actually (dis)connects it from the bus, this<br />
can be seen in kern.log. The driver does NOT reports anything when it finds device;<br />
mount usb fs:<br />
<br />
mount -t usbfs none /proc/bus/usb<br />
<br />
and examine /proc/bus/usb/devices to find "Foxconn Bluetooth", then check whether<br />
Driver=hci_usb.<br />
<br />
Note: for "hcitool dev" to work, you need the whole pack of daemons<br />
running. Install bluez-utils and examine /etc/rc.d/bluetooth.<br />
<br />
See [[Bluetooth]] for more information.<br />
<br />
=== IrDA ===<br />
<br />
Load '''nsc-ircc''' module, and/or add it to MODULES in rc.conf. Should work,<br />
though I didn't test it with any real device.<br />
<br />
=== FireWire ===<br />
<br />
No setup needed, '''ohci1394''' module is autoloaded.<br />
<br />
=== CardBus (PCMCIA) ===<br />
<br />
No setup needed.<br />
<br />
=== Card reader ===<br />
<br />
No setup needed, '''tifm_sd''' module seem to be autoloaded. Your card will be<br />
accessible as /dev/mmcblk0, with partitions mmcblk0p1 etc.<br />
<br />
=== Framebuffer ===<br />
<br />
To get native resolution in framebuffer, you have to use '''uvesafb'''.<br />
This thing is quite tricky, my recipes may or may not work for you,<br />
so get ready to read the real docs.<br />
<br />
You need to put v86d together with 915resolution to initrd.<br />
Both can be found in Arch repositories, but you probably won't<br />
be able to use those. Check if prebuilt v86d runs, then examine it<br />
with ldd — you should not get segfaults. If you do, reconfigure it<br />
--with-x86emu. Then rebuild 915resolution using klibc instead of<br />
glibc (set CC=klcc for make), otherwise it won't be usable<br />
within initrd.<br />
<br />
You need hook files for mkinitcpio, namely<br />
/lib/initcpio/{install,hooks}/{915resolution,v86d}. Get them from<br />
prebuilt packages, then modify HOOKS in /etc/mkinitcpio.conf:<br />
<br />
HOOKS = (base udev 915resolution v86d ... )<br />
<br />
resolution settings in /lib/initcpio/hooks/915resolution<br />
<br />
msg -n ":: Patching the VBIOS..."<br />
/usr/sbin/915resolution 5c 1280 768<br />
<br />
and /etc/modprobe.d/uvesafb:<br />
<br />
options uvesafb mode=1280x768 scroll=ywrap<br />
<br />
(note: module parameter is mode=, not mode_option= as default<br />
configuration suggests). At this point, you may try to modprobe<br />
uvesafb — text console should switch to framebuffer.<br />
<br />
If everything's ok, run<br />
<br />
# mkinitcpio -p linux<br />
to rebuild initrd and reboot.<br />
<br />
Note: this is one of possible ways to setup uvesafb. You can insert<br />
the module later, say, in rc.local; initcpio won't be involved at<br />
all. You can try to compile it statically into kernel and possibly<br />
get graphical console much earlier.<br />
<br />
Warning: suspend-to-RAM and uvesafb are mutually exclusive, at least for<br />
this laptop. You can't choose both.<br />
<br />
See [[uvesafb]] in Arch wiki and [http://dev.gentoo.org/~spock/projects/uvesafb official site].<br />
<br />
=== Modem ===<br />
<br />
There's no modem in this laptop. Ok, nowadays such things are sometimes called "modems",<br />
but, well, they aren't. Agere Athens (or Athena according to some NEC specs) is and AMR-type card,<br />
which is in fact a sound card add-on with fancy (phone) connector, nothing more. It is handled<br />
by snd_hda_intel, and you can see some of its controls in alsamixer.<br />
<br />
To make a real modem out of this, you need some software DSP to analyze and make all those<br />
hissing, chirping and beeping which real modems use to communicate. There's one called<br />
'''slmodem'''. Make sure it is built with SUPPORT_ALSA=1, and run<br />
<br />
slmodemd -a modem:0<br />
<br />
It will create virtual serial port, /dev/ttySL0 usually, which can be used for pppd etc.<br />
<br />
See [[Smartlink_Modem_drivers]], [http://linmodems.technion.ac.il/packages/smartlink slmodem page]<br />
<br />
== External display ==<br />
<br />
There's no hardware hotkeys to control external display, so your only option<br />
is ''xrandr''. Typical usage:<br />
<br />
* turn display on: xrandr --output VGA --auto<br />
* turn display off: xrandr --output VGA --off<br />
* clone primary display: xrandr --output VGA --same-as LVDS<br />
* twinhead setup: xrandr --output VGA --below LVDS<br />
<br />
Twinhead mode requires Virtual from xorg.conf to be large enough to hold<br />
both displays together, i.e., for 1280x768 below 1280x768 you need at<br />
least Virtual 1280 1536.<br />
<br />
== Hibernation ==<br />
<br />
'''S4''' (suspend-to-disk) seems to work well. '''S3''' (suspend-to-ram) works well<br />
too ''unless'' you use uvesafb, in which case X server will die on wakeup and<br />
won't be able to start until next reboot. Maybe this will change in future<br />
releases of xf86-video-intel and/or uvesafb.<br />
<br />
You should POST video card after S3 wakeup, otherwise console will be blank.<br />
Also, hdpart -B should be run again as HDD is turned off and forgets its settings.<br />
<br />
'''Plain kernel interface''': To activate S4, just<br />
<br />
echo 4 > /proc/acpi/sleep<br />
<br />
'''uswsusp''': Use '''s2disk''' for S4 and '''s2ram''' for S3.<br />
s2ram requires --vbe_post option (or with appropriate line<br />
added to whitelist.c, having VBE_POST in last field) to handle video<br />
card properly.<br />
See [[Suspend_to_Disk]], [[Suspend_to_RAM]] for more information.<br />
<br />
'''pm-utils''': Use '''pm-suspend''' for S3 and '''pm-hibernate''' for S4.<br />
<br />
To reanimate sleeping laptop, press Power button.<br />
<br />
When using S4, do not forget to specify resume=/dev/sdXN in kernel command line<br />
(sdXN being your swap partition).<br />
<br />
== Basic disassembly ==<br />
<br />
Taking out some parts of the laptop may be necessary for upgrade or<br />
routine maintenance. Seems like the official disassembly guide isn't<br />
available, so here's quick guide how to gain access to different parts<br />
of the laptop.<br />
<br />
'''Memory and Wi-Fi card''': open lid at the bottom (fixed by two screws).<br />
<br />
'''Optical drive''': remove shallow screw (not the deeper one) left to bottom lid, open the lid and push shiny metallic handle visible on the left side next to Wi-Fi card until the drive comes out.<br />
<br />
'''Keyboard''': you need to remove plastic panel with buttons and LEDs above the keyboard first. Open screen to full 180°, remove two screws at the back of screen handlers, remove the battery, then push the plate from below. You should push the side closer to the screen while keeping keyboard side in place. Little screwdriver may be necessary to lift it left and right of the battery place.<br />
<br />
After the panel is done, remove two screws on the top of keyboard, and one marked with K in circle from behind, then slide the keyboard forward (to the screen). Again, you may need to use small screwdriver to help it come out.<br />
<br />
'''Fan''': right under the keyboard.<br />
<br />
To get access to the motherboard, you need to untie 14 screws from the bottom plus some more around the memory and mini-PCI bay. Don't forget the screw right under the keyboard (marked with an arrow). At this point you should also detach Wi-Fi antenna wires and LCD interface, and remove the lid.<br />
<br />
To detach the motherboard from the case, make sure to remove HDD cover and two screws on external VGA connector. Remove three screws that fix the board on the base and two more that hold the fan. Carefully pull the board, pay attention on sound jacks, you might need to use something to help them out.<br />
<br />
== Usage notes ==<br />
<br />
Do not press too hard on laptop lid, you can damage display (scratch it against keyboard rim).<br />
If you did, first of all wipe the screen carefully — display coating is apparently much harder than<br />
keyboard paint, it may be not as bad as it seems.<br />
<br />
When working under full load while standing on a flat surface, laptop tends<br />
to heat above 70°C (ACPI termzone). To mend this, raise it above the surface —<br />
a couple centimeters will be enough — to let cool air to fan inlet.</div>Danfehttps://wiki.archlinux.org/index.php?title=NEC_Versa_S950&diff=234528NEC Versa S9502012-11-09T09:04:26Z<p>Danfe: /* Basic disassembly */ More details on disassembly instructions.</p>
<hr />
<div>[[Category:Laptops]]<br />
[[ru:NEC Versa S950]]<br />
[[uk:NEC Versa S950]]<br />
== Overview ==<br />
<br />
NEC Versa S950 is a relatively small Pentium M based laptop with<br />
non-glare 14" display. Its weight is around 2.2 kg, and supplied 4800 mAh<br />
battery lets it run for ~3h in autonomous mode.<br />
<br />
Linux support is complete for this device, all built-in peripherals have<br />
functional linux drivers. Arch Linux installation goes smoothly. Aside from<br />
local sources (DVD, USB or possibly SD) you can use Ethernet for network<br />
installation, but probably not Wi-Fi.<br />
<br />
In this guide I'll describe describe what may be done after<br />
installation to get all the hardware working. I assume reader has some<br />
general linux knowledge, and skip nonspecific parts of<br />
installation and Arch configuration.<br />
<br />
== Specs ==<br />
<br />
* Processor: [http://www.cpu-world.com/CPUs/Pentium_M/Intel-Pentium%20M%20735A%20RH80536GC0292MT.html Pentium M 735A 1.73GHz] (socket 479)<br />
* Screen: 14.0" non-glare WXGA 1280x768 ([http://g3nius.org/lcd-controller/B140EW01-Functional-Spec-V0-0903.pdf AUO B140EW01], TN/CCFL)<br />
* Memory size: 1G DDR2 PC2 4300 SDRAM (max. 2G)<br />
* Motherboard: DA0CH1MB8E1 rev.E<br />
* North Bridge: Intel 915GM ([http://ark.intel.com/products/27715/Intel-82915GM-Graphics-and-Memory-Controller QG82915GM SL8G6])<br />
* South Bridge: Intel ICH6-M<br />
* BIOS: Phoenix NoteBIOS ver.4 rev.6.1 (last update: [http://www.nec-computers.com/support2/pib.asp?platform=s950bio3a23&mode=default&source=2006 3A23])<br />
* Hard disk drive: 60G Hitachi Travelstar 5K100<br />
* Optical disk drive: Philips SDVD8441<br />
* Sound: SigmaTel STAC9200<br />
* Ethernet: Broadcom BCM5788<br />
* Wi-Fi: Intel PRO/Wireless 2200BG in miniPCI slot<br />
* Bluetooth: Broadcom 2101<br />
* IrDA: NSC unknown<br />
* Modem: Agere Athens AM2<br />
* Card reader: TI FlashMedia SD ([http://www.webcon.ca/~imorgan/tifm21/scpu022a.pdf PCI7114] based)<br />
* FireWire: TI OHCI compilant<br />
* Touchpad: AVC Finger sensing pad<br />
<br />
There are several other modifications, with different RAM and HDD sizes. CPU is upgradeable up to [http://www.cpu-world.com/CPUs/Pentium_M/Intel-Pentium%20M%20780%20RH80536GE0512M%20%28BX80536GE2266FJ%29.html Pentium M 780 2.26GHz].<br />
<br />
== Setup ==<br />
<br />
=== CPU ===<br />
<br />
Use '''acpi-cpufreq''' module together with some governor to control CPU speed<br />
('''cpufreq_ondemand''' seems to be the most popular choice, though I myself<br />
prefer '''cpufreq_powersave''').<br />
<br />
There's a standard Arch way to do this: install cpufrequtils from [extra],<br />
check /etc/conf.d/cpufreq:<br />
<br />
governor="ondemand"<br />
#min_freq commented out<br />
#max_freq commented out<br />
<br />
then add cpufreq to DAEMONS in /etc/rc.conf (and/or run it manually).<br />
<br />
See [[Cpufrequtils]], [[CPU_Frequency_Scaling]].<br />
<br />
=== Text Console ===<br />
<br />
No useful BIOS textmodes. Pity. Either leave it as is, or use [[NEC_Versa_S950#Framebuffer|framebuffer]].<br />
<br />
=== Xorg/video ===<br />
<br />
Video is handled by intel driver. Relevant section of my xorg.conf is<br />
<br />
Section "Device"<br />
Identifier "i915G"<br />
Driver "intel"<br />
Option "DRI" "true"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "i915G"<br />
Monitor "Versa display"<br />
DefaultColorDepth 24<br />
SubSection "Display"<br />
Depth 24<br />
Modes "1280x768"<br />
Virtual 1280 1536<br />
EndSubSection<br />
EndSection<br />
<br />
DRI is backed by i915.ko, which seems to be autoloaded — no need to mention it in rc.conf.<br />
<br />
You should get native 1280x768 without running 915resolution,<br />
but in some cases I had to use it; check carefully which mode X uses!<br />
<br />
Virtual is set to accomodate two 1280x768 displays, one atop another; you<br />
may need to tweak it for your needs. See [NEC_Versa_S950#External display|xrandr setup].<br />
Beware, setting any of Virtual dimensions to anything greater than 2048 will<br />
effectively disable DRI.<br />
<br />
Note: seems like there's no software way to control backlight brightness.<br />
<br />
=== Xorg/input ===<br />
<br />
Laptop keyboard may require keymap tweaking, but that's not necessary. Fn key is processed<br />
somewhere in BIOS and you have no control over it. Two additional buttons near power switch<br />
generate codes 178 and 236 - bind them if you need them.<br />
See [http://bbs.archlinux.org/viewtopic.php?id=40875 Multimedia keys] on Arch forum.<br />
<br />
Touchpad is dumb crappy AVC unit connected via PS/2 — just use /dev/input/mice and do not bother trying to<br />
configure it. It's a good idea to turn Emulate3Buttons on, there's no hardware<br />
button 3. Buttons 4 and 5 (scroll), on the other hand, ''are'' there: tap on the upper right /<br />
lower right corners of the pad.<br />
<br />
Relevant section from xorg.conf:<br />
<br />
Section "InputDevice"<br />
Identifier "Main mouse"<br />
Driver "mouse"<br />
Option "Protocol" "auto"<br />
Option "Device" "/dev/input/mice"<br />
Option "Emulate3Buttons" "true"<br />
Option "ZAxisMapping" "4 5"<br />
EndSection<br />
<br />
=== Hitachi HDD ===<br />
<br />
To avoid excessive load/unload cycles, add<br />
<br />
hdparm -q -B 255 /dev/sda<br />
<br />
to rc.local, tweaking -B value according to your needs.<br />
<br />
Beware: head parking can be useful; in particular, it can save your HDD<br />
when laptop falls. Do not use hdparm -B unless you known exactly what<br />
you are doing.<br />
<br />
See [http://ubuntuforums.org/showthread.php?p=5031046 laptop harddrive Load_Cycle_Count issue].<br />
<br />
=== Sound and Ethernet ===<br />
<br />
No additional setup required, modules ('''snd_hda_intel''' and '''tg3''' resp.)<br />
are guessed by Arch installer.<br />
<br />
=== Wi-Fi ===<br />
<br />
Driver module, '''ipw2200''', is guessed correctly by installer, but it won't work<br />
unless you install firmware — ipw2200-fw from [core]. Add<br />
<br />
options ipw2200 led=1<br />
<br />
to modprobe.conf (or modprobe.d/ipw2200) to enable front panel LED.<br />
Also note, you can turn it on/off by pressing Fn+F2, but current device<br />
state can be hard to guess.<br />
"Failed to send SCAN_ABORT" in kern.log means card is being turned on,<br />
and LED should show some activity (flash from time to time at least).<br />
<br />
=== Bluetooth ===<br />
<br />
Bluetooth dongle is connected via USB and handled by '''hci_usb''' module, which is<br />
autoloaded when necessary. Pressing Fn+F4 actually (dis)connects it from the bus, this<br />
can be seen in kern.log. The driver does NOT reports anything when it finds device;<br />
mount usb fs:<br />
<br />
mount -t usbfs none /proc/bus/usb<br />
<br />
and examine /proc/bus/usb/devices to find "Foxconn Bluetooth", then check whether<br />
Driver=hci_usb.<br />
<br />
Note: for "hcitool dev" to work, you need the whole pack of daemons<br />
running. Install bluez-utils and examine /etc/rc.d/bluetooth.<br />
<br />
See [[Bluetooth]] for more information.<br />
<br />
=== IrDA ===<br />
<br />
Load '''nsc-ircc''' module, and/or add it to MODULES in rc.conf. Should work,<br />
though I didn't test it with any real device.<br />
<br />
=== FireWire ===<br />
<br />
No setup needed, '''ohci1394''' module is autoloaded.<br />
<br />
=== CardBus (PCMCIA) ===<br />
<br />
No setup needed.<br />
<br />
=== Card reader ===<br />
<br />
No setup needed, '''tifm_sd''' module seem to be autoloaded. Your card will be<br />
accessible as /dev/mmcblk0, with partitions mmcblk0p1 etc.<br />
<br />
=== Framebuffer ===<br />
<br />
To get native resolution in framebuffer, you have to use '''uvesafb'''.<br />
This thing is quite tricky, my recipes may or may not work for you,<br />
so get ready to read the real docs.<br />
<br />
You need to put v86d together with 915resolution to initrd.<br />
Both can be found in Arch repositories, but you probably won't<br />
be able to use those. Check if prebuilt v86d runs, then examine it<br />
with ldd — you should not get segfaults. If you do, reconfigure it<br />
--with-x86emu. Then rebuild 915resolution using klibc instead of<br />
glibc (set CC=klcc for make), otherwise it won't be usable<br />
within initrd.<br />
<br />
You need hook files for mkinitcpio, namely<br />
/lib/initcpio/{install,hooks}/{915resolution,v86d}. Get them from<br />
prebuilt packages, then modify HOOKS in /etc/mkinitcpio.conf:<br />
<br />
HOOKS = (base udev 915resolution v86d ... )<br />
<br />
resolution settings in /lib/initcpio/hooks/915resolution<br />
<br />
msg -n ":: Patching the VBIOS..."<br />
/usr/sbin/915resolution 5c 1280 768<br />
<br />
and /etc/modprobe.d/uvesafb:<br />
<br />
options uvesafb mode=1280x768 scroll=ywrap<br />
<br />
(note: module parameter is mode=, not mode_option= as default<br />
configuration suggests). At this point, you may try to modprobe<br />
uvesafb — text console should switch to framebuffer.<br />
<br />
If everything's ok, run<br />
<br />
# mkinitcpio -p linux<br />
to rebuild initrd and reboot.<br />
<br />
Note: this is one of possible ways to setup uvesafb. You can insert<br />
the module later, say, in rc.local; initcpio won't be involved at<br />
all. You can try to compile it statically into kernel and possibly<br />
get graphical console much earlier.<br />
<br />
Warning: suspend-to-RAM and uvesafb are mutually exclusive, at least for<br />
this laptop. You can't choose both.<br />
<br />
See [[uvesafb]] in Arch wiki and [http://dev.gentoo.org/~spock/projects/uvesafb official site].<br />
<br />
=== Modem ===<br />
<br />
There's no modem in this laptop. Ok, nowadays such things are sometimes called "modems",<br />
but, well, they aren't. Agere Athens (or Athena according to some NEC specs) is and AMR-type card,<br />
which is in fact a sound card add-on with fancy (phone) connector, nothing more. It is handled<br />
by snd_hda_intel, and you can see some of its controls in alsamixer.<br />
<br />
To make a real modem out of this, you need some software DSP to analyze and make all those<br />
hissing, chirping and beeping which real modems use to communicate. There's one called<br />
'''slmodem'''. Make sure it is built with SUPPORT_ALSA=1, and run<br />
<br />
slmodemd -a modem:0<br />
<br />
It will create virtual serial port, /dev/ttySL0 usually, which can be used for pppd etc.<br />
<br />
See [[Smartlink_Modem_drivers]], [http://linmodems.technion.ac.il/packages/smartlink slmodem page]<br />
<br />
== External display ==<br />
<br />
There's no hardware hotkeys to control external display, so your only option<br />
is ''xrandr''. Typical usage:<br />
<br />
* turn display on: xrandr --output VGA --auto<br />
* turn display off: xrandr --output VGA --off<br />
* clone primary display: xrandr --output VGA --same-as LVDS<br />
* twinhead setup: xrandr --output VGA --below LVDS<br />
<br />
Twinhead mode requires Virtual from xorg.conf to be large enough to hold<br />
both displays together, i.e., for 1280x768 below 1280x768 you need at<br />
least Virtual 1280 1536.<br />
<br />
== Hibernation ==<br />
<br />
'''S4''' (suspend-to-disk) seems to work well. '''S3''' (suspend-to-ram) works well<br />
too ''unless'' you use uvesafb, in which case X server will die on wakeup and<br />
won't be able to start until next reboot. Maybe this will change in future<br />
releases of xf86-video-intel and/or uvesafb.<br />
<br />
You should POST video card after S3 wakeup, otherwise console will be blank.<br />
Also, hdpart -B should be run again as HDD is turned off and forgets its settings.<br />
<br />
'''Plain kernel interface''': To activate S4, just<br />
<br />
echo 4 > /proc/acpi/sleep<br />
<br />
'''uswsusp''': Use '''s2disk''' for S4 and '''s2ram''' for S3.<br />
s2ram requires --vbe_post option (or with appropriate line<br />
added to whitelist.c, having VBE_POST in last field) to handle video<br />
card properly.<br />
See [[Suspend_to_Disk]], [[Suspend_to_RAM]] for more information.<br />
<br />
'''pm-utils''': Use '''pm-suspend''' for S3 and '''pm-hibernate''' for S4.<br />
<br />
To reanimate sleeping laptop, press Power button.<br />
<br />
When using S4, do not forget to specify resume=/dev/sdXN in kernel command line<br />
(sdXN being your swap partition).<br />
<br />
== Basic disassembly ==<br />
<br />
Taking out some parts of the laptop may be necessary for upgrade or<br />
routine maintenance. Seems like the official disassembly guide isn't<br />
available, so here's quick guide how to gain access to different parts<br />
of the laptop.<br />
<br />
'''Memory and Wi-Fi card''': open lid at the bottom (fixed by two screws).<br />
<br />
'''Optical drive''': remove shallow screw (not the deeper one) left to bottom lid, open the lid and push shiny metallic handle visible on the left side next to Wi-Fi card until the drive comes out.<br />
<br />
'''Keyboard''': you need to remove plastic panel with buttons and LEDs above the keyboard first. Open screen to full 180°, remove two screws at the back of screen handlers, remove the battery, then push the plate from below. You should push the side closer to the screen while keeping keyboard side in place. Little screwdriver may be necessary to lift it left and right of the battery place.<br />
<br />
After the panel is done, remove two screws on the top of keyboard, and one marked with K in circle from behind, then slide the keyboard forward (to the screen). Again, you may need to use small screwdriver to help it come out.<br />
<br />
'''Fan''': right under the keyboard.<br />
<br />
To get access to the motherboard, you need to untie 14 screws from the bottom plus some more around the memory and mini-PCI bay. Don't forget the screw right under the keyboard (marked with an arrow). At this point you should also detach Wi-Fi antenna wires and LCD interface, and remove the lid.<br />
<br />
To detach the motherboard from the case, make sure to remove HDD cover and two screws on external VGA connector. Remove three screws that fix the board on the base and two more that hold the fan. Carefully pull the board, pay attention on sound jacks, you might need to use something to help them out.<br />
<br />
== Usage notes ==<br />
<br />
Do not press too hard on laptop lid, you can damage display (scratch it against keyboard rim).<br />
If you did, first of all wipe the screen carefully — display coating is apparently much harder than<br />
keyboard paint, it may be not as bad as it seems.<br />
<br />
When working under full load while standing on a flat surface, laptop tends<br />
to heat above 70°C (ACPI termzone). To mend this, raise it above the surface —<br />
a couple centimeters will be enough — to let cool air to fan inlet.</div>Danfehttps://wiki.archlinux.org/index.php?title=NEC_Versa_S950&diff=234527NEC Versa S9502012-11-09T05:46:25Z<p>Danfe: /* Specs */ Add information about the north bridge</p>
<hr />
<div>[[Category:Laptops]]<br />
[[ru:NEC Versa S950]]<br />
[[uk:NEC Versa S950]]<br />
== Overview ==<br />
<br />
NEC Versa S950 is a relatively small Pentium M based laptop with<br />
non-glare 14" display. Its weight is around 2.2 kg, and supplied 4800 mAh<br />
battery lets it run for ~3h in autonomous mode.<br />
<br />
Linux support is complete for this device, all built-in peripherals have<br />
functional linux drivers. Arch Linux installation goes smoothly. Aside from<br />
local sources (DVD, USB or possibly SD) you can use Ethernet for network<br />
installation, but probably not Wi-Fi.<br />
<br />
In this guide I'll describe describe what may be done after<br />
installation to get all the hardware working. I assume reader has some<br />
general linux knowledge, and skip nonspecific parts of<br />
installation and Arch configuration.<br />
<br />
== Specs ==<br />
<br />
* Processor: [http://www.cpu-world.com/CPUs/Pentium_M/Intel-Pentium%20M%20735A%20RH80536GC0292MT.html Pentium M 735A 1.73GHz] (socket 479)<br />
* Screen: 14.0" non-glare WXGA 1280x768 ([http://g3nius.org/lcd-controller/B140EW01-Functional-Spec-V0-0903.pdf AUO B140EW01], TN/CCFL)<br />
* Memory size: 1G DDR2 PC2 4300 SDRAM (max. 2G)<br />
* Motherboard: DA0CH1MB8E1 rev.E<br />
* North Bridge: Intel 915GM ([http://ark.intel.com/products/27715/Intel-82915GM-Graphics-and-Memory-Controller QG82915GM SL8G6])<br />
* South Bridge: Intel ICH6-M<br />
* BIOS: Phoenix NoteBIOS ver.4 rev.6.1 (last update: [http://www.nec-computers.com/support2/pib.asp?platform=s950bio3a23&mode=default&source=2006 3A23])<br />
* Hard disk drive: 60G Hitachi Travelstar 5K100<br />
* Optical disk drive: Philips SDVD8441<br />
* Sound: SigmaTel STAC9200<br />
* Ethernet: Broadcom BCM5788<br />
* Wi-Fi: Intel PRO/Wireless 2200BG in miniPCI slot<br />
* Bluetooth: Broadcom 2101<br />
* IrDA: NSC unknown<br />
* Modem: Agere Athens AM2<br />
* Card reader: TI FlashMedia SD ([http://www.webcon.ca/~imorgan/tifm21/scpu022a.pdf PCI7114] based)<br />
* FireWire: TI OHCI compilant<br />
* Touchpad: AVC Finger sensing pad<br />
<br />
There are several other modifications, with different RAM and HDD sizes. CPU is upgradeable up to [http://www.cpu-world.com/CPUs/Pentium_M/Intel-Pentium%20M%20780%20RH80536GE0512M%20%28BX80536GE2266FJ%29.html Pentium M 780 2.26GHz].<br />
<br />
== Setup ==<br />
<br />
=== CPU ===<br />
<br />
Use '''acpi-cpufreq''' module together with some governor to control CPU speed<br />
('''cpufreq_ondemand''' seems to be the most popular choice, though I myself<br />
prefer '''cpufreq_powersave''').<br />
<br />
There's a standard Arch way to do this: install cpufrequtils from [extra],<br />
check /etc/conf.d/cpufreq:<br />
<br />
governor="ondemand"<br />
#min_freq commented out<br />
#max_freq commented out<br />
<br />
then add cpufreq to DAEMONS in /etc/rc.conf (and/or run it manually).<br />
<br />
See [[Cpufrequtils]], [[CPU_Frequency_Scaling]].<br />
<br />
=== Text Console ===<br />
<br />
No useful BIOS textmodes. Pity. Either leave it as is, or use [[NEC_Versa_S950#Framebuffer|framebuffer]].<br />
<br />
=== Xorg/video ===<br />
<br />
Video is handled by intel driver. Relevant section of my xorg.conf is<br />
<br />
Section "Device"<br />
Identifier "i915G"<br />
Driver "intel"<br />
Option "DRI" "true"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "i915G"<br />
Monitor "Versa display"<br />
DefaultColorDepth 24<br />
SubSection "Display"<br />
Depth 24<br />
Modes "1280x768"<br />
Virtual 1280 1536<br />
EndSubSection<br />
EndSection<br />
<br />
DRI is backed by i915.ko, which seems to be autoloaded — no need to mention it in rc.conf.<br />
<br />
You should get native 1280x768 without running 915resolution,<br />
but in some cases I had to use it; check carefully which mode X uses!<br />
<br />
Virtual is set to accomodate two 1280x768 displays, one atop another; you<br />
may need to tweak it for your needs. See [NEC_Versa_S950#External display|xrandr setup].<br />
Beware, setting any of Virtual dimensions to anything greater than 2048 will<br />
effectively disable DRI.<br />
<br />
Note: seems like there's no software way to control backlight brightness.<br />
<br />
=== Xorg/input ===<br />
<br />
Laptop keyboard may require keymap tweaking, but that's not necessary. Fn key is processed<br />
somewhere in BIOS and you have no control over it. Two additional buttons near power switch<br />
generate codes 178 and 236 - bind them if you need them.<br />
See [http://bbs.archlinux.org/viewtopic.php?id=40875 Multimedia keys] on Arch forum.<br />
<br />
Touchpad is dumb crappy AVC unit connected via PS/2 — just use /dev/input/mice and do not bother trying to<br />
configure it. It's a good idea to turn Emulate3Buttons on, there's no hardware<br />
button 3. Buttons 4 and 5 (scroll), on the other hand, ''are'' there: tap on the upper right /<br />
lower right corners of the pad.<br />
<br />
Relevant section from xorg.conf:<br />
<br />
Section "InputDevice"<br />
Identifier "Main mouse"<br />
Driver "mouse"<br />
Option "Protocol" "auto"<br />
Option "Device" "/dev/input/mice"<br />
Option "Emulate3Buttons" "true"<br />
Option "ZAxisMapping" "4 5"<br />
EndSection<br />
<br />
=== Hitachi HDD ===<br />
<br />
To avoid excessive load/unload cycles, add<br />
<br />
hdparm -q -B 255 /dev/sda<br />
<br />
to rc.local, tweaking -B value according to your needs.<br />
<br />
Beware: head parking can be useful; in particular, it can save your HDD<br />
when laptop falls. Do not use hdparm -B unless you known exactly what<br />
you are doing.<br />
<br />
See [http://ubuntuforums.org/showthread.php?p=5031046 laptop harddrive Load_Cycle_Count issue].<br />
<br />
=== Sound and Ethernet ===<br />
<br />
No additional setup required, modules ('''snd_hda_intel''' and '''tg3''' resp.)<br />
are guessed by Arch installer.<br />
<br />
=== Wi-Fi ===<br />
<br />
Driver module, '''ipw2200''', is guessed correctly by installer, but it won't work<br />
unless you install firmware — ipw2200-fw from [core]. Add<br />
<br />
options ipw2200 led=1<br />
<br />
to modprobe.conf (or modprobe.d/ipw2200) to enable front panel LED.<br />
Also note, you can turn it on/off by pressing Fn+F2, but current device<br />
state can be hard to guess.<br />
"Failed to send SCAN_ABORT" in kern.log means card is being turned on,<br />
and LED should show some activity (flash from time to time at least).<br />
<br />
=== Bluetooth ===<br />
<br />
Bluetooth dongle is connected via USB and handled by '''hci_usb''' module, which is<br />
autoloaded when necessary. Pressing Fn+F4 actually (dis)connects it from the bus, this<br />
can be seen in kern.log. The driver does NOT reports anything when it finds device;<br />
mount usb fs:<br />
<br />
mount -t usbfs none /proc/bus/usb<br />
<br />
and examine /proc/bus/usb/devices to find "Foxconn Bluetooth", then check whether<br />
Driver=hci_usb.<br />
<br />
Note: for "hcitool dev" to work, you need the whole pack of daemons<br />
running. Install bluez-utils and examine /etc/rc.d/bluetooth.<br />
<br />
See [[Bluetooth]] for more information.<br />
<br />
=== IrDA ===<br />
<br />
Load '''nsc-ircc''' module, and/or add it to MODULES in rc.conf. Should work,<br />
though I didn't test it with any real device.<br />
<br />
=== FireWire ===<br />
<br />
No setup needed, '''ohci1394''' module is autoloaded.<br />
<br />
=== CardBus (PCMCIA) ===<br />
<br />
No setup needed.<br />
<br />
=== Card reader ===<br />
<br />
No setup needed, '''tifm_sd''' module seem to be autoloaded. Your card will be<br />
accessible as /dev/mmcblk0, with partitions mmcblk0p1 etc.<br />
<br />
=== Framebuffer ===<br />
<br />
To get native resolution in framebuffer, you have to use '''uvesafb'''.<br />
This thing is quite tricky, my recipes may or may not work for you,<br />
so get ready to read the real docs.<br />
<br />
You need to put v86d together with 915resolution to initrd.<br />
Both can be found in Arch repositories, but you probably won't<br />
be able to use those. Check if prebuilt v86d runs, then examine it<br />
with ldd — you should not get segfaults. If you do, reconfigure it<br />
--with-x86emu. Then rebuild 915resolution using klibc instead of<br />
glibc (set CC=klcc for make), otherwise it won't be usable<br />
within initrd.<br />
<br />
You need hook files for mkinitcpio, namely<br />
/lib/initcpio/{install,hooks}/{915resolution,v86d}. Get them from<br />
prebuilt packages, then modify HOOKS in /etc/mkinitcpio.conf:<br />
<br />
HOOKS = (base udev 915resolution v86d ... )<br />
<br />
resolution settings in /lib/initcpio/hooks/915resolution<br />
<br />
msg -n ":: Patching the VBIOS..."<br />
/usr/sbin/915resolution 5c 1280 768<br />
<br />
and /etc/modprobe.d/uvesafb:<br />
<br />
options uvesafb mode=1280x768 scroll=ywrap<br />
<br />
(note: module parameter is mode=, not mode_option= as default<br />
configuration suggests). At this point, you may try to modprobe<br />
uvesafb — text console should switch to framebuffer.<br />
<br />
If everything's ok, run<br />
<br />
# mkinitcpio -p linux<br />
to rebuild initrd and reboot.<br />
<br />
Note: this is one of possible ways to setup uvesafb. You can insert<br />
the module later, say, in rc.local; initcpio won't be involved at<br />
all. You can try to compile it statically into kernel and possibly<br />
get graphical console much earlier.<br />
<br />
Warning: suspend-to-RAM and uvesafb are mutually exclusive, at least for<br />
this laptop. You can't choose both.<br />
<br />
See [[uvesafb]] in Arch wiki and [http://dev.gentoo.org/~spock/projects/uvesafb official site].<br />
<br />
=== Modem ===<br />
<br />
There's no modem in this laptop. Ok, nowadays such things are sometimes called "modems",<br />
but, well, they aren't. Agere Athens (or Athena according to some NEC specs) is and AMR-type card,<br />
which is in fact a sound card add-on with fancy (phone) connector, nothing more. It is handled<br />
by snd_hda_intel, and you can see some of its controls in alsamixer.<br />
<br />
To make a real modem out of this, you need some software DSP to analyze and make all those<br />
hissing, chirping and beeping which real modems use to communicate. There's one called<br />
'''slmodem'''. Make sure it is built with SUPPORT_ALSA=1, and run<br />
<br />
slmodemd -a modem:0<br />
<br />
It will create virtual serial port, /dev/ttySL0 usually, which can be used for pppd etc.<br />
<br />
See [[Smartlink_Modem_drivers]], [http://linmodems.technion.ac.il/packages/smartlink slmodem page]<br />
<br />
== External display ==<br />
<br />
There's no hardware hotkeys to control external display, so your only option<br />
is ''xrandr''. Typical usage:<br />
<br />
* turn display on: xrandr --output VGA --auto<br />
* turn display off: xrandr --output VGA --off<br />
* clone primary display: xrandr --output VGA --same-as LVDS<br />
* twinhead setup: xrandr --output VGA --below LVDS<br />
<br />
Twinhead mode requires Virtual from xorg.conf to be large enough to hold<br />
both displays together, i.e., for 1280x768 below 1280x768 you need at<br />
least Virtual 1280 1536.<br />
<br />
== Hibernation ==<br />
<br />
'''S4''' (suspend-to-disk) seems to work well. '''S3''' (suspend-to-ram) works well<br />
too ''unless'' you use uvesafb, in which case X server will die on wakeup and<br />
won't be able to start until next reboot. Maybe this will change in future<br />
releases of xf86-video-intel and/or uvesafb.<br />
<br />
You should POST video card after S3 wakeup, otherwise console will be blank.<br />
Also, hdpart -B should be run again as HDD is turned off and forgets its settings.<br />
<br />
'''Plain kernel interface''': To activate S4, just<br />
<br />
echo 4 > /proc/acpi/sleep<br />
<br />
'''uswsusp''': Use '''s2disk''' for S4 and '''s2ram''' for S3.<br />
s2ram requires --vbe_post option (or with appropriate line<br />
added to whitelist.c, having VBE_POST in last field) to handle video<br />
card properly.<br />
See [[Suspend_to_Disk]], [[Suspend_to_RAM]] for more information.<br />
<br />
'''pm-utils''': Use '''pm-suspend''' for S3 and '''pm-hibernate''' for S4.<br />
<br />
To reanimate sleeping laptop, press Power button.<br />
<br />
When using S4, do not forget to specify resume=/dev/sdXN in kernel command line<br />
(sdXN being your swap partition).<br />
<br />
== Basic disassembly ==<br />
<br />
Taking out some parts of the laptop may be necessary for upgrade or<br />
routine maintance. Seems like the official disassembly guide isn't<br />
available, so here's quick guide how to gain access to different parts<br />
of the laptop.<br />
<br />
'''Memory and Wi-Fi card''': open lid at the bottom.<br />
<br />
'''Optical drive''': remove shallow screw (not the deeper one) left to bottom lid,<br />
open the lid and push shiny metallic handle visible on the left side next to wifi<br />
card until the drive comes out.<br />
<br />
'''Keyboard''': you need to remove plastic panel with buttons and leds above the<br />
keyboard first. Open screen to full 180°, remove two screws at the back of screen<br />
handlers, remove the battery,<br />
then push the plate from below. You should push the side closer to the screen while<br />
keeping keyboard side in place. Little screwdriver may be necessary to lift it<br />
left and right of the battery place.<br />
<br />
After the panel is done, remove two screws on the top of keyboard, and one marked<br />
with K in circle from behind, then slide the keyboard forward (to the screen). Again,<br />
you may need to use small screwdriver to help it come out.<br />
<br />
'''Fan''': right under the keyboard.<br />
<br />
== Usage notes ==<br />
<br />
Do not press too hard on laptop lid, you can damage display (scratch it against keyboard rim).<br />
If you did, first of all wipe the screen carefully — display coating is apparently much harder than<br />
keyboard paint, it may be not as bad as it seems.<br />
<br />
When working under full load while standing on a flat surface, laptop tends<br />
to heat above 70°C (ACPI termzone). To mend this, raise it above the surface —<br />
a couple centimeters will be enough — to let cool air to fan inlet.</div>Danfehttps://wiki.archlinux.org/index.php?title=NEC_Versa_S950&diff=234428NEC Versa S9502012-11-08T15:29:17Z<p>Danfe: /* Specs */ Mention max. CPU upgrade option</p>
<hr />
<div>[[Category:Laptops]]<br />
[[ru:NEC Versa S950]]<br />
[[uk:NEC Versa S950]]<br />
== Overview ==<br />
<br />
NEC Versa S950 is a relatively small Pentium M based laptop with<br />
non-glare 14" display. Its weight is around 2.2 kg, and supplied 4800 mAh<br />
battery lets it run for ~3h in autonomous mode.<br />
<br />
Linux support is complete for this device, all built-in peripherals have<br />
functional linux drivers. Arch Linux installation goes smoothly. Aside from<br />
local sources (DVD, USB or possibly SD) you can use Ethernet for network<br />
installation, but probably not Wi-Fi.<br />
<br />
In this guide I'll describe describe what may be done after<br />
installation to get all the hardware working. I assume reader has some<br />
general linux knowledge, and skip nonspecific parts of<br />
installation and Arch configuration.<br />
<br />
== Specs ==<br />
<br />
* Processor: [http://www.cpu-world.com/CPUs/Pentium_M/Intel-Pentium%20M%20735A%20RH80536GC0292MT.html Pentium M 735A 1.73GHz] (socket 479)<br />
* Screen: 14.0" non-glare WXGA 1280x768 ([http://g3nius.org/lcd-controller/B140EW01-Functional-Spec-V0-0903.pdf AUO B140EW01], TN/CCFL)<br />
* Memory size: 1G DDR2 PC2 4300 SDRAM (max. 2G)<br />
* Motherboard: DA0CH1MB8E1 rev.E<br />
* North Bridge: Intel 915GM<br />
* South Bridge: Intel ICH6-M<br />
* BIOS: Phoenix NoteBIOS ver.4 rev.6.1 (last update: [http://www.nec-computers.com/support2/pib.asp?platform=s950bio3a23&mode=default&source=2006 3A23])<br />
* Hard disk drive: 60G Hitachi Travelstar 5K100<br />
* Optical disk drive: Philips SDVD8441<br />
* Sound: SigmaTel STAC9200<br />
* Ethernet: Broadcom BCM5788<br />
* Wi-Fi: Intel PRO/Wireless 2200BG in miniPCI slot<br />
* Bluetooth: Broadcom 2101<br />
* IrDA: NSC unknown<br />
* Modem: Agere Athens AM2<br />
* Card reader: TI FlashMedia SD ([http://www.webcon.ca/~imorgan/tifm21/scpu022a.pdf PCI7114] based)<br />
* FireWire: TI OHCI compilant<br />
* Touchpad: AVC Finger sensing pad<br />
<br />
There are several other modifications, with different RAM and HDD sizes. CPU is upgradeable up to [http://www.cpu-world.com/CPUs/Pentium_M/Intel-Pentium%20M%20780%20RH80536GE0512M%20%28BX80536GE2266FJ%29.html Pentium M 780 2267MHz].<br />
<br />
== Setup ==<br />
<br />
=== CPU ===<br />
<br />
Use '''acpi-cpufreq''' module together with some governor to control CPU speed<br />
('''cpufreq_ondemand''' seems to be the most popular choice, though I myself<br />
prefer '''cpufreq_powersave''').<br />
<br />
There's a standard Arch way to do this: install cpufrequtils from [extra],<br />
check /etc/conf.d/cpufreq:<br />
<br />
governor="ondemand"<br />
#min_freq commented out<br />
#max_freq commented out<br />
<br />
then add cpufreq to DAEMONS in /etc/rc.conf (and/or run it manually).<br />
<br />
See [[Cpufrequtils]], [[CPU_Frequency_Scaling]].<br />
<br />
=== Text Console ===<br />
<br />
No useful BIOS textmodes. Pity. Either leave it as is, or use [[NEC_Versa_S950#Framebuffer|framebuffer]].<br />
<br />
=== Xorg/video ===<br />
<br />
Video is handled by intel driver. Relevant section of my xorg.conf is<br />
<br />
Section "Device"<br />
Identifier "i915G"<br />
Driver "intel"<br />
Option "DRI" "true"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "i915G"<br />
Monitor "Versa display"<br />
DefaultColorDepth 24<br />
SubSection "Display"<br />
Depth 24<br />
Modes "1280x768"<br />
Virtual 1280 1536<br />
EndSubSection<br />
EndSection<br />
<br />
DRI is backed by i915.ko, which seems to be autoloaded — no need to mention it in rc.conf.<br />
<br />
You should get native 1280x768 without running 915resolution,<br />
but in some cases I had to use it; check carefully which mode X uses!<br />
<br />
Virtual is set to accomodate two 1280x768 displays, one atop another; you<br />
may need to tweak it for your needs. See [NEC_Versa_S950#External display|xrandr setup].<br />
Beware, setting any of Virtual dimensions to anything greater than 2048 will<br />
effectively disable DRI.<br />
<br />
Note: seems like there's no software way to control backlight brightness.<br />
<br />
=== Xorg/input ===<br />
<br />
Laptop keyboard may require keymap tweaking, but that's not necessary. Fn key is processed<br />
somewhere in BIOS and you have no control over it. Two additional buttons near power switch<br />
generate codes 178 and 236 - bind them if you need them.<br />
See [http://bbs.archlinux.org/viewtopic.php?id=40875 Multimedia keys] on Arch forum.<br />
<br />
Touchpad is dumb crappy AVC unit connected via PS/2 — just use /dev/input/mice and do not bother trying to<br />
configure it. It's a good idea to turn Emulate3Buttons on, there's no hardware<br />
button 3. Buttons 4 and 5 (scroll), on the other hand, ''are'' there: tap on the upper right /<br />
lower right corners of the pad.<br />
<br />
Relevant section from xorg.conf:<br />
<br />
Section "InputDevice"<br />
Identifier "Main mouse"<br />
Driver "mouse"<br />
Option "Protocol" "auto"<br />
Option "Device" "/dev/input/mice"<br />
Option "Emulate3Buttons" "true"<br />
Option "ZAxisMapping" "4 5"<br />
EndSection<br />
<br />
=== Hitachi HDD ===<br />
<br />
To avoid excessive load/unload cycles, add<br />
<br />
hdparm -q -B 255 /dev/sda<br />
<br />
to rc.local, tweaking -B value according to your needs.<br />
<br />
Beware: head parking can be useful; in particular, it can save your HDD<br />
when laptop falls. Do not use hdparm -B unless you known exactly what<br />
you are doing.<br />
<br />
See [http://ubuntuforums.org/showthread.php?p=5031046 laptop harddrive Load_Cycle_Count issue].<br />
<br />
=== Sound and Ethernet ===<br />
<br />
No additional setup required, modules ('''snd_hda_intel''' and '''tg3''' resp.)<br />
are guessed by Arch installer.<br />
<br />
=== Wi-Fi ===<br />
<br />
Driver module, '''ipw2200''', is guessed correctly by installer, but it won't work<br />
unless you install firmware — ipw2200-fw from [core]. Add<br />
<br />
options ipw2200 led=1<br />
<br />
to modprobe.conf (or modprobe.d/ipw2200) to enable front panel LED.<br />
Also note, you can turn it on/off by pressing Fn+F2, but current device<br />
state can be hard to guess.<br />
"Failed to send SCAN_ABORT" in kern.log means card is being turned on,<br />
and LED should show some activity (flash from time to time at least).<br />
<br />
=== Bluetooth ===<br />
<br />
Bluetooth dongle is connected via USB and handled by '''hci_usb''' module, which is<br />
autoloaded when necessary. Pressing Fn+F4 actually (dis)connects it from the bus, this<br />
can be seen in kern.log. The driver does NOT reports anything when it finds device;<br />
mount usb fs:<br />
<br />
mount -t usbfs none /proc/bus/usb<br />
<br />
and examine /proc/bus/usb/devices to find "Foxconn Bluetooth", then check whether<br />
Driver=hci_usb.<br />
<br />
Note: for "hcitool dev" to work, you need the whole pack of daemons<br />
running. Install bluez-utils and examine /etc/rc.d/bluetooth.<br />
<br />
See [[Bluetooth]] for more information.<br />
<br />
=== IrDA ===<br />
<br />
Load '''nsc-ircc''' module, and/or add it to MODULES in rc.conf. Should work,<br />
though I didn't test it with any real device.<br />
<br />
=== FireWire ===<br />
<br />
No setup needed, '''ohci1394''' module is autoloaded.<br />
<br />
=== CardBus (PCMCIA) ===<br />
<br />
No setup needed.<br />
<br />
=== Card reader ===<br />
<br />
No setup needed, '''tifm_sd''' module seem to be autoloaded. Your card will be<br />
accessible as /dev/mmcblk0, with partitions mmcblk0p1 etc.<br />
<br />
=== Framebuffer ===<br />
<br />
To get native resolution in framebuffer, you have to use '''uvesafb'''.<br />
This thing is quite tricky, my recipes may or may not work for you,<br />
so get ready to read the real docs.<br />
<br />
You need to put v86d together with 915resolution to initrd.<br />
Both can be found in Arch repositories, but you probably won't<br />
be able to use those. Check if prebuilt v86d runs, then examine it<br />
with ldd — you should not get segfaults. If you do, reconfigure it<br />
--with-x86emu. Then rebuild 915resolution using klibc instead of<br />
glibc (set CC=klcc for make), otherwise it won't be usable<br />
within initrd.<br />
<br />
You need hook files for mkinitcpio, namely<br />
/lib/initcpio/{install,hooks}/{915resolution,v86d}. Get them from<br />
prebuilt packages, then modify HOOKS in /etc/mkinitcpio.conf:<br />
<br />
HOOKS = (base udev 915resolution v86d ... )<br />
<br />
resolution settings in /lib/initcpio/hooks/915resolution<br />
<br />
msg -n ":: Patching the VBIOS..."<br />
/usr/sbin/915resolution 5c 1280 768<br />
<br />
and /etc/modprobe.d/uvesafb:<br />
<br />
options uvesafb mode=1280x768 scroll=ywrap<br />
<br />
(note: module parameter is mode=, not mode_option= as default<br />
configuration suggests). At this point, you may try to modprobe<br />
uvesafb — text console should switch to framebuffer.<br />
<br />
If everything's ok, run<br />
<br />
# mkinitcpio -p linux<br />
to rebuild initrd and reboot.<br />
<br />
Note: this is one of possible ways to setup uvesafb. You can insert<br />
the module later, say, in rc.local; initcpio won't be involved at<br />
all. You can try to compile it statically into kernel and possibly<br />
get graphical console much earlier.<br />
<br />
Warning: suspend-to-RAM and uvesafb are mutually exclusive, at least for<br />
this laptop. You can't choose both.<br />
<br />
See [[uvesafb]] in Arch wiki and [http://dev.gentoo.org/~spock/projects/uvesafb official site].<br />
<br />
=== Modem ===<br />
<br />
There's no modem in this laptop. Ok, nowadays such things are sometimes called "modems",<br />
but, well, they aren't. Agere Athens (or Athena according to some NEC specs) is and AMR-type card,<br />
which is in fact a sound card add-on with fancy (phone) connector, nothing more. It is handled<br />
by snd_hda_intel, and you can see some of its controls in alsamixer.<br />
<br />
To make a real modem out of this, you need some software DSP to analyze and make all those<br />
hissing, chirping and beeping which real modems use to communicate. There's one called<br />
'''slmodem'''. Make sure it is built with SUPPORT_ALSA=1, and run<br />
<br />
slmodemd -a modem:0<br />
<br />
It will create virtual serial port, /dev/ttySL0 usually, which can be used for pppd etc.<br />
<br />
See [[Smartlink_Modem_drivers]], [http://linmodems.technion.ac.il/packages/smartlink slmodem page]<br />
<br />
== External display ==<br />
<br />
There's no hardware hotkeys to control external display, so your only option<br />
is ''xrandr''. Typical usage:<br />
<br />
* turn display on: xrandr --output VGA --auto<br />
* turn display off: xrandr --output VGA --off<br />
* clone primary display: xrandr --output VGA --same-as LVDS<br />
* twinhead setup: xrandr --output VGA --below LVDS<br />
<br />
Twinhead mode requires Virtual from xorg.conf to be large enough to hold<br />
both displays together, i.e., for 1280x768 below 1280x768 you need at<br />
least Virtual 1280 1536.<br />
<br />
== Hibernation ==<br />
<br />
'''S4''' (suspend-to-disk) seems to work well. '''S3''' (suspend-to-ram) works well<br />
too ''unless'' you use uvesafb, in which case X server will die on wakeup and<br />
won't be able to start until next reboot. Maybe this will change in future<br />
releases of xf86-video-intel and/or uvesafb.<br />
<br />
You should POST video card after S3 wakeup, otherwise console will be blank.<br />
Also, hdpart -B should be run again as HDD is turned off and forgets its settings.<br />
<br />
'''Plain kernel interface''': To activate S4, just<br />
<br />
echo 4 > /proc/acpi/sleep<br />
<br />
'''uswsusp''': Use '''s2disk''' for S4 and '''s2ram''' for S3.<br />
s2ram requires --vbe_post option (or with appropriate line<br />
added to whitelist.c, having VBE_POST in last field) to handle video<br />
card properly.<br />
See [[Suspend_to_Disk]], [[Suspend_to_RAM]] for more information.<br />
<br />
'''pm-utils''': Use '''pm-suspend''' for S3 and '''pm-hibernate''' for S4.<br />
<br />
To reanimate sleeping laptop, press Power button.<br />
<br />
When using S4, do not forget to specify resume=/dev/sdXN in kernel command line<br />
(sdXN being your swap partition).<br />
<br />
== Basic disassembly ==<br />
<br />
Taking out some parts of the laptop may be necessary for upgrade or<br />
routine maintance. Seems like the official disassembly guide isn't<br />
available, so here's quick guide how to gain access to different parts<br />
of the laptop.<br />
<br />
'''Memory and Wi-Fi card''': open lid at the bottom.<br />
<br />
'''Optical drive''': remove shallow screw (not the deeper one) left to bottom lid,<br />
open the lid and push shiny metallic handle visible on the left side next to wifi<br />
card until the drive comes out.<br />
<br />
'''Keyboard''': you need to remove plastic panel with buttons and leds above the<br />
keyboard first. Open screen to full 180°, remove two screws at the back of screen<br />
handlers, remove the battery,<br />
then push the plate from below. You should push the side closer to the screen while<br />
keeping keyboard side in place. Little screwdriver may be necessary to lift it<br />
left and right of the battery place.<br />
<br />
After the panel is done, remove two screws on the top of keyboard, and one marked<br />
with K in circle from behind, then slide the keyboard forward (to the screen). Again,<br />
you may need to use small screwdriver to help it come out.<br />
<br />
'''Fan''': right under the keyboard.<br />
<br />
== Usage notes ==<br />
<br />
Do not press too hard on laptop lid, you can damage display (scratch it against keyboard rim).<br />
If you did, first of all wipe the screen carefully — display coating is apparently much harder than<br />
keyboard paint, it may be not as bad as it seems.<br />
<br />
When working under full load while standing on a flat surface, laptop tends<br />
to heat above 70°C (ACPI termzone). To mend this, raise it above the surface —<br />
a couple centimeters will be enough — to let cool air to fan inlet.</div>Danfehttps://wiki.archlinux.org/index.php?title=NEC_Versa_S950&diff=234427NEC Versa S9502012-11-08T15:23:40Z<p>Danfe: /* Specs */ Add mobo/matrix information</p>
<hr />
<div>[[Category:Laptops]]<br />
[[ru:NEC Versa S950]]<br />
[[uk:NEC Versa S950]]<br />
== Overview ==<br />
<br />
NEC Versa S950 is a relatively small Pentium M based laptop with<br />
non-glare 14" display. Its weight is around 2.2 kg, and supplied 4800 mAh<br />
battery lets it run for ~3h in autonomous mode.<br />
<br />
Linux support is complete for this device, all built-in peripherals have<br />
functional linux drivers. Arch Linux installation goes smoothly. Aside from<br />
local sources (DVD, USB or possibly SD) you can use Ethernet for network<br />
installation, but probably not Wi-Fi.<br />
<br />
In this guide I'll describe describe what may be done after<br />
installation to get all the hardware working. I assume reader has some<br />
general linux knowledge, and skip nonspecific parts of<br />
installation and Arch configuration.<br />
<br />
== Specs ==<br />
<br />
* Processor: [http://www.cpu-world.com/CPUs/Pentium_M/Intel-Pentium%20M%20735A%20RH80536GC0292MT.html Pentium M 1.73GHz] (socket 479)<br />
* Screen: 14.0" non-glare WXGA 1280x768 ([http://g3nius.org/lcd-controller/B140EW01-Functional-Spec-V0-0903.pdf AUO B140EW01], TN/CCFL)<br />
* Memory size: 1G DDR2 PC2 4300 SDRAM (max. 2G)<br />
* Motherboard: DA0CH1MB8E1 rev.E<br />
* North Bridge: Intel 915GM<br />
* South Bridge: Intel ICH6-M<br />
* BIOS: Phoenix NoteBIOS ver.4 rev.6.1 (latest version: [http://www.nec-computers.com/support2/pib.asp?platform=s950bio3a23&mode=default&source=2006 3A23])<br />
* Hard disk drive: 60G Hitachi Travelstar 5K100<br />
* Optical disk drive: Philips SDVD8441<br />
* Sound: SigmaTel STAC9200<br />
* Ethernet: Broadcom BCM5788<br />
* Wi-Fi: Intel PRO/Wireless 2200BG in miniPCI slot<br />
* Bluetooth: Broadcom 2101<br />
* IrDA: NSC unknown<br />
* Modem: Agere Athens AM2<br />
* Card reader: TI FlashMedia SD ([http://www.webcon.ca/~imorgan/tifm21/scpu022a.pdf PCI7114] based)<br />
* FireWire: TI OHCI compilant<br />
* Touchpad: AVC Finger sensing pad<br />
<br />
There are several other modifications, with different RAM and HDD sizes.<br />
<br />
== Setup ==<br />
<br />
=== CPU ===<br />
<br />
Use '''acpi-cpufreq''' module together with some governor to control CPU speed<br />
('''cpufreq_ondemand''' seems to be the most popular choice, though I myself<br />
prefer '''cpufreq_powersave''').<br />
<br />
There's a standard Arch way to do this: install cpufrequtils from [extra],<br />
check /etc/conf.d/cpufreq:<br />
<br />
governor="ondemand"<br />
#min_freq commented out<br />
#max_freq commented out<br />
<br />
then add cpufreq to DAEMONS in /etc/rc.conf (and/or run it manually).<br />
<br />
See [[Cpufrequtils]], [[CPU_Frequency_Scaling]].<br />
<br />
=== Text Console ===<br />
<br />
No useful BIOS textmodes. Pity. Either leave it as is, or use [[NEC_Versa_S950#Framebuffer|framebuffer]].<br />
<br />
=== Xorg/video ===<br />
<br />
Video is handled by intel driver. Relevant section of my xorg.conf is<br />
<br />
Section "Device"<br />
Identifier "i915G"<br />
Driver "intel"<br />
Option "DRI" "true"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "i915G"<br />
Monitor "Versa display"<br />
DefaultColorDepth 24<br />
SubSection "Display"<br />
Depth 24<br />
Modes "1280x768"<br />
Virtual 1280 1536<br />
EndSubSection<br />
EndSection<br />
<br />
DRI is backed by i915.ko, which seems to be autoloaded — no need to mention it in rc.conf.<br />
<br />
You should get native 1280x768 without running 915resolution,<br />
but in some cases I had to use it; check carefully which mode X uses!<br />
<br />
Virtual is set to accomodate two 1280x768 displays, one atop another; you<br />
may need to tweak it for your needs. See [NEC_Versa_S950#External display|xrandr setup].<br />
Beware, setting any of Virtual dimensions to anything greater than 2048 will<br />
effectively disable DRI.<br />
<br />
Note: seems like there's no software way to control backlight brightness.<br />
<br />
=== Xorg/input ===<br />
<br />
Laptop keyboard may require keymap tweaking, but that's not necessary. Fn key is processed<br />
somewhere in BIOS and you have no control over it. Two additional buttons near power switch<br />
generate codes 178 and 236 - bind them if you need them.<br />
See [http://bbs.archlinux.org/viewtopic.php?id=40875 Multimedia keys] on Arch forum.<br />
<br />
Touchpad is dumb crappy AVC unit connected via PS/2 — just use /dev/input/mice and do not bother trying to<br />
configure it. It's a good idea to turn Emulate3Buttons on, there's no hardware<br />
button 3. Buttons 4 and 5 (scroll), on the other hand, ''are'' there: tap on the upper right /<br />
lower right corners of the pad.<br />
<br />
Relevant section from xorg.conf:<br />
<br />
Section "InputDevice"<br />
Identifier "Main mouse"<br />
Driver "mouse"<br />
Option "Protocol" "auto"<br />
Option "Device" "/dev/input/mice"<br />
Option "Emulate3Buttons" "true"<br />
Option "ZAxisMapping" "4 5"<br />
EndSection<br />
<br />
=== Hitachi HDD ===<br />
<br />
To avoid excessive load/unload cycles, add<br />
<br />
hdparm -q -B 255 /dev/sda<br />
<br />
to rc.local, tweaking -B value according to your needs.<br />
<br />
Beware: head parking can be useful; in particular, it can save your HDD<br />
when laptop falls. Do not use hdparm -B unless you known exactly what<br />
you are doing.<br />
<br />
See [http://ubuntuforums.org/showthread.php?p=5031046 laptop harddrive Load_Cycle_Count issue].<br />
<br />
=== Sound and Ethernet ===<br />
<br />
No additional setup required, modules ('''snd_hda_intel''' and '''tg3''' resp.)<br />
are guessed by Arch installer.<br />
<br />
=== Wi-Fi ===<br />
<br />
Driver module, '''ipw2200''', is guessed correctly by installer, but it won't work<br />
unless you install firmware — ipw2200-fw from [core]. Add<br />
<br />
options ipw2200 led=1<br />
<br />
to modprobe.conf (or modprobe.d/ipw2200) to enable front panel LED.<br />
Also note, you can turn it on/off by pressing Fn+F2, but current device<br />
state can be hard to guess.<br />
"Failed to send SCAN_ABORT" in kern.log means card is being turned on,<br />
and LED should show some activity (flash from time to time at least).<br />
<br />
=== Bluetooth ===<br />
<br />
Bluetooth dongle is connected via USB and handled by '''hci_usb''' module, which is<br />
autoloaded when necessary. Pressing Fn+F4 actually (dis)connects it from the bus, this<br />
can be seen in kern.log. The driver does NOT reports anything when it finds device;<br />
mount usb fs:<br />
<br />
mount -t usbfs none /proc/bus/usb<br />
<br />
and examine /proc/bus/usb/devices to find "Foxconn Bluetooth", then check whether<br />
Driver=hci_usb.<br />
<br />
Note: for "hcitool dev" to work, you need the whole pack of daemons<br />
running. Install bluez-utils and examine /etc/rc.d/bluetooth.<br />
<br />
See [[Bluetooth]] for more information.<br />
<br />
=== IrDA ===<br />
<br />
Load '''nsc-ircc''' module, and/or add it to MODULES in rc.conf. Should work,<br />
though I didn't test it with any real device.<br />
<br />
=== FireWire ===<br />
<br />
No setup needed, '''ohci1394''' module is autoloaded.<br />
<br />
=== CardBus (PCMCIA) ===<br />
<br />
No setup needed.<br />
<br />
=== Card reader ===<br />
<br />
No setup needed, '''tifm_sd''' module seem to be autoloaded. Your card will be<br />
accessible as /dev/mmcblk0, with partitions mmcblk0p1 etc.<br />
<br />
=== Framebuffer ===<br />
<br />
To get native resolution in framebuffer, you have to use '''uvesafb'''.<br />
This thing is quite tricky, my recipes may or may not work for you,<br />
so get ready to read the real docs.<br />
<br />
You need to put v86d together with 915resolution to initrd.<br />
Both can be found in Arch repositories, but you probably won't<br />
be able to use those. Check if prebuilt v86d runs, then examine it<br />
with ldd — you should not get segfaults. If you do, reconfigure it<br />
--with-x86emu. Then rebuild 915resolution using klibc instead of<br />
glibc (set CC=klcc for make), otherwise it won't be usable<br />
within initrd.<br />
<br />
You need hook files for mkinitcpio, namely<br />
/lib/initcpio/{install,hooks}/{915resolution,v86d}. Get them from<br />
prebuilt packages, then modify HOOKS in /etc/mkinitcpio.conf:<br />
<br />
HOOKS = (base udev 915resolution v86d ... )<br />
<br />
resolution settings in /lib/initcpio/hooks/915resolution<br />
<br />
msg -n ":: Patching the VBIOS..."<br />
/usr/sbin/915resolution 5c 1280 768<br />
<br />
and /etc/modprobe.d/uvesafb:<br />
<br />
options uvesafb mode=1280x768 scroll=ywrap<br />
<br />
(note: module parameter is mode=, not mode_option= as default<br />
configuration suggests). At this point, you may try to modprobe<br />
uvesafb — text console should switch to framebuffer.<br />
<br />
If everything's ok, run<br />
<br />
# mkinitcpio -p linux<br />
to rebuild initrd and reboot.<br />
<br />
Note: this is one of possible ways to setup uvesafb. You can insert<br />
the module later, say, in rc.local; initcpio won't be involved at<br />
all. You can try to compile it statically into kernel and possibly<br />
get graphical console much earlier.<br />
<br />
Warning: suspend-to-RAM and uvesafb are mutually exclusive, at least for<br />
this laptop. You can't choose both.<br />
<br />
See [[uvesafb]] in Arch wiki and [http://dev.gentoo.org/~spock/projects/uvesafb official site].<br />
<br />
=== Modem ===<br />
<br />
There's no modem in this laptop. Ok, nowadays such things are sometimes called "modems",<br />
but, well, they aren't. Agere Athens (or Athena according to some NEC specs) is and AMR-type card,<br />
which is in fact a sound card add-on with fancy (phone) connector, nothing more. It is handled<br />
by snd_hda_intel, and you can see some of its controls in alsamixer.<br />
<br />
To make a real modem out of this, you need some software DSP to analyze and make all those<br />
hissing, chirping and beeping which real modems use to communicate. There's one called<br />
'''slmodem'''. Make sure it is built with SUPPORT_ALSA=1, and run<br />
<br />
slmodemd -a modem:0<br />
<br />
It will create virtual serial port, /dev/ttySL0 usually, which can be used for pppd etc.<br />
<br />
See [[Smartlink_Modem_drivers]], [http://linmodems.technion.ac.il/packages/smartlink slmodem page]<br />
<br />
== External display ==<br />
<br />
There's no hardware hotkeys to control external display, so your only option<br />
is ''xrandr''. Typical usage:<br />
<br />
* turn display on: xrandr --output VGA --auto<br />
* turn display off: xrandr --output VGA --off<br />
* clone primary display: xrandr --output VGA --same-as LVDS<br />
* twinhead setup: xrandr --output VGA --below LVDS<br />
<br />
Twinhead mode requires Virtual from xorg.conf to be large enough to hold<br />
both displays together, i.e., for 1280x768 below 1280x768 you need at<br />
least Virtual 1280 1536.<br />
<br />
== Hibernation ==<br />
<br />
'''S4''' (suspend-to-disk) seems to work well. '''S3''' (suspend-to-ram) works well<br />
too ''unless'' you use uvesafb, in which case X server will die on wakeup and<br />
won't be able to start until next reboot. Maybe this will change in future<br />
releases of xf86-video-intel and/or uvesafb.<br />
<br />
You should POST video card after S3 wakeup, otherwise console will be blank.<br />
Also, hdpart -B should be run again as HDD is turned off and forgets its settings.<br />
<br />
'''Plain kernel interface''': To activate S4, just<br />
<br />
echo 4 > /proc/acpi/sleep<br />
<br />
'''uswsusp''': Use '''s2disk''' for S4 and '''s2ram''' for S3.<br />
s2ram requires --vbe_post option (or with appropriate line<br />
added to whitelist.c, having VBE_POST in last field) to handle video<br />
card properly.<br />
See [[Suspend_to_Disk]], [[Suspend_to_RAM]] for more information.<br />
<br />
'''pm-utils''': Use '''pm-suspend''' for S3 and '''pm-hibernate''' for S4.<br />
<br />
To reanimate sleeping laptop, press Power button.<br />
<br />
When using S4, do not forget to specify resume=/dev/sdXN in kernel command line<br />
(sdXN being your swap partition).<br />
<br />
== Basic disassembly ==<br />
<br />
Taking out some parts of the laptop may be necessary for upgrade or<br />
routine maintance. Seems like the official disassembly guide isn't<br />
available, so here's quick guide how to gain access to different parts<br />
of the laptop.<br />
<br />
'''Memory and Wi-Fi card''': open lid at the bottom.<br />
<br />
'''Optical drive''': remove shallow screw (not the deeper one) left to bottom lid,<br />
open the lid and push shiny metallic handle visible on the left side next to wifi<br />
card until the drive comes out.<br />
<br />
'''Keyboard''': you need to remove plastic panel with buttons and leds above the<br />
keyboard first. Open screen to full 180°, remove two screws at the back of screen<br />
handlers, remove the battery,<br />
then push the plate from below. You should push the side closer to the screen while<br />
keeping keyboard side in place. Little screwdriver may be necessary to lift it<br />
left and right of the battery place.<br />
<br />
After the panel is done, remove two screws on the top of keyboard, and one marked<br />
with K in circle from behind, then slide the keyboard forward (to the screen). Again,<br />
you may need to use small screwdriver to help it come out.<br />
<br />
'''Fan''': right under the keyboard.<br />
<br />
== Usage notes ==<br />
<br />
Do not press too hard on laptop lid, you can damage display (scratch it against keyboard rim).<br />
If you did, first of all wipe the screen carefully — display coating is apparently much harder than<br />
keyboard paint, it may be not as bad as it seems.<br />
<br />
When working under full load while standing on a flat surface, laptop tends<br />
to heat above 70°C (ACPI termzone). To mend this, raise it above the surface —<br />
a couple centimeters will be enough — to let cool air to fan inlet.</div>Danfehttps://wiki.archlinux.org/index.php?title=NEC_Versa_S950&diff=233789NEC Versa S9502012-11-05T04:54:37Z<p>Danfe: /* Specs */ Augment specs details; add links to datasheets</p>
<hr />
<div>[[Category:Laptops]]<br />
[[ru:NEC Versa S950]]<br />
[[uk:NEC Versa S950]]<br />
== Overview ==<br />
<br />
NEC Versa S950 is a relatively small Pentium M based laptop with<br />
non-glare 14" display. Its weight is around 2.2 kg, and supplied 4800 mAh<br />
battery lets it run for ~3h in autonomous mode.<br />
<br />
Linux support is complete for this device, all built-in peripherals have<br />
functional linux drivers. Arch Linux installation goes smoothly. Aside from<br />
local sources (DVD, USB or possibly SD) you can use Ethernet for network<br />
installation, but probably not Wi-Fi.<br />
<br />
In this guide I'll describe describe what may be done after<br />
installation to get all the hardware working. I assume reader has some<br />
general linux knowledge, and skip nonspecific parts of<br />
installation and Arch configuration.<br />
<br />
== Specs ==<br />
<br />
* Processor: [http://www.cpu-world.com/CPUs/Pentium_M/Intel-Pentium%20M%20735A%20RH80536GC0292MT.html Pentium M 1.73GHz] (socket 479)<br />
* Screen: 14.0" non-glare WXGA 1280x768 ([http://g3nius.org/lcd-controller/B140EW01-Functional-Spec-V0-0903.pdf AUO B140EW01], TN)<br />
* Memory size: 1G DDR2 PC2 4300 SDRAM (max. 2G)<br />
* North Bridge: Intel 915GM<br />
* South Bridge: Intel ICH6-M<br />
* BIOS: Phoenix NoteBIOS ver.4 rev.6.1 (latest version: [http://www.nec-computers.com/support2/pib.asp?platform=s950bio3a23&mode=default&source=2006 3A23])<br />
* Hard disk drive: 60G Hitachi Travelstar 5K100<br />
* Optical disk drive: Philips SDVD8441<br />
* Sound: SigmaTel STAC9200<br />
* Ethernet: Broadcom BCM5788<br />
* Wi-Fi: Intel PRO/Wireless 2200BG in miniPCI slot<br />
* Bluetooth: Broadcom 2101<br />
* IrDA: NSC unknown<br />
* Modem: Agere Athens AM2<br />
* Card reader: TI FlashMedia SD ([http://www.webcon.ca/~imorgan/tifm21/scpu022a.pdf PCI7114] based)<br />
* FireWire: TI OHCI compilant<br />
* Touchpad: AVC Finger sensing pad<br />
<br />
There are several other modifications, with different RAM and HDD sizes.<br />
<br />
== Setup ==<br />
<br />
=== CPU ===<br />
<br />
Use '''acpi-cpufreq''' module together with some governor to control CPU speed<br />
('''cpufreq_ondemand''' seems to be the most popular choice, though I myself<br />
prefer '''cpufreq_powersave''').<br />
<br />
There's a standard Arch way to do this: install cpufrequtils from [extra],<br />
check /etc/conf.d/cpufreq:<br />
<br />
governor="ondemand"<br />
#min_freq commented out<br />
#max_freq commented out<br />
<br />
then add cpufreq to DAEMONS in /etc/rc.conf (and/or run it manually).<br />
<br />
See [[Cpufrequtils]], [[CPU_Frequency_Scaling]].<br />
<br />
=== Text Console ===<br />
<br />
No useful BIOS textmodes. Pity. Either leave it as is, or use [[NEC_Versa_S950#Framebuffer|framebuffer]].<br />
<br />
=== Xorg/video ===<br />
<br />
Video is handled by intel driver. Relevant section of my xorg.conf is<br />
<br />
Section "Device"<br />
Identifier "i915G"<br />
Driver "intel"<br />
Option "DRI" "true"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "i915G"<br />
Monitor "Versa display"<br />
DefaultColorDepth 24<br />
SubSection "Display"<br />
Depth 24<br />
Modes "1280x768"<br />
Virtual 1280 1536<br />
EndSubSection<br />
EndSection<br />
<br />
DRI is backed by i915.ko, which seems to be autoloaded — no need to mention it in rc.conf.<br />
<br />
You should get native 1280x768 without running 915resolution,<br />
but in some cases I had to use it; check carefully which mode X uses!<br />
<br />
Virtual is set to accomodate two 1280x768 displays, one atop another; you<br />
may need to tweak it for your needs. See [NEC_Versa_S950#External display|xrandr setup].<br />
Beware, setting any of Virtual dimensions to anything greater than 2048 will<br />
effectively disable DRI.<br />
<br />
Note: seems like there's no software way to control backlight brightness.<br />
<br />
=== Xorg/input ===<br />
<br />
Laptop keyboard may require keymap tweaking, but that's not necessary. Fn key is processed<br />
somewhere in BIOS and you have no control over it. Two additional buttons near power switch<br />
generate codes 178 and 236 - bind them if you need them.<br />
See [http://bbs.archlinux.org/viewtopic.php?id=40875 Multimedia keys] on Arch forum.<br />
<br />
Touchpad is dumb crappy AVC unit connected via PS/2 — just use /dev/input/mice and do not bother trying to<br />
configure it. It's a good idea to turn Emulate3Buttons on, there's no hardware<br />
button 3. Buttons 4 and 5 (scroll), on the other hand, ''are'' there: tap on the upper right /<br />
lower right corners of the pad.<br />
<br />
Relevant section from xorg.conf:<br />
<br />
Section "InputDevice"<br />
Identifier "Main mouse"<br />
Driver "mouse"<br />
Option "Protocol" "auto"<br />
Option "Device" "/dev/input/mice"<br />
Option "Emulate3Buttons" "true"<br />
Option "ZAxisMapping" "4 5"<br />
EndSection<br />
<br />
=== Hitachi HDD ===<br />
<br />
To avoid excessive load/unload cycles, add<br />
<br />
hdparm -q -B 255 /dev/sda<br />
<br />
to rc.local, tweaking -B value according to your needs.<br />
<br />
Beware: head parking can be useful; in particular, it can save your HDD<br />
when laptop falls. Do not use hdparm -B unless you known exactly what<br />
you are doing.<br />
<br />
See [http://ubuntuforums.org/showthread.php?p=5031046 laptop harddrive Load_Cycle_Count issue].<br />
<br />
=== Sound and Ethernet ===<br />
<br />
No additional setup required, modules ('''snd_hda_intel''' and '''tg3''' resp.)<br />
are guessed by Arch installer.<br />
<br />
=== Wi-Fi ===<br />
<br />
Driver module, '''ipw2200''', is guessed correctly by installer, but it won't work<br />
unless you install firmware — ipw2200-fw from [core]. Add<br />
<br />
options ipw2200 led=1<br />
<br />
to modprobe.conf (or modprobe.d/ipw2200) to enable front panel LED.<br />
Also note, you can turn it on/off by pressing Fn+F2, but current device<br />
state can be hard to guess.<br />
"Failed to send SCAN_ABORT" in kern.log means card is being turned on,<br />
and LED should show some activity (flash from time to time at least).<br />
<br />
=== Bluetooth ===<br />
<br />
Bluetooth dongle is connected via USB and handled by '''hci_usb''' module, which is<br />
autoloaded when necessary. Pressing Fn+F4 actually (dis)connects it from the bus, this<br />
can be seen in kern.log. The driver does NOT reports anything when it finds device;<br />
mount usb fs:<br />
<br />
mount -t usbfs none /proc/bus/usb<br />
<br />
and examine /proc/bus/usb/devices to find "Foxconn Bluetooth", then check whether<br />
Driver=hci_usb.<br />
<br />
Note: for "hcitool dev" to work, you need the whole pack of daemons<br />
running. Install bluez-utils and examine /etc/rc.d/bluetooth.<br />
<br />
See [[Bluetooth]] for more information.<br />
<br />
=== IrDA ===<br />
<br />
Load '''nsc-ircc''' module, and/or add it to MODULES in rc.conf. Should work,<br />
though I didn't test it with any real device.<br />
<br />
=== FireWire ===<br />
<br />
No setup needed, '''ohci1394''' module is autoloaded.<br />
<br />
=== CardBus (PCMCIA) ===<br />
<br />
No setup needed.<br />
<br />
=== Card reader ===<br />
<br />
No setup needed, '''tifm_sd''' module seem to be autoloaded. Your card will be<br />
accessible as /dev/mmcblk0, with partitions mmcblk0p1 etc.<br />
<br />
=== Framebuffer ===<br />
<br />
To get native resolution in framebuffer, you have to use '''uvesafb'''.<br />
This thing is quite tricky, my recipes may or may not work for you,<br />
so get ready to read the real docs.<br />
<br />
You need to put v86d together with 915resolution to initrd.<br />
Both can be found in Arch repositories, but you probably won't<br />
be able to use those. Check if prebuilt v86d runs, then examine it<br />
with ldd — you should not get segfaults. If you do, reconfigure it<br />
--with-x86emu. Then rebuild 915resolution using klibc instead of<br />
glibc (set CC=klcc for make), otherwise it won't be usable<br />
within initrd.<br />
<br />
You need hook files for mkinitcpio, namely<br />
/lib/initcpio/{install,hooks}/{915resolution,v86d}. Get them from<br />
prebuilt packages, then modify HOOKS in /etc/mkinitcpio.conf:<br />
<br />
HOOKS = (base udev 915resolution v86d ... )<br />
<br />
resolution settings in /lib/initcpio/hooks/915resolution<br />
<br />
msg -n ":: Patching the VBIOS..."<br />
/usr/sbin/915resolution 5c 1280 768<br />
<br />
and /etc/modprobe.d/uvesafb:<br />
<br />
options uvesafb mode=1280x768 scroll=ywrap<br />
<br />
(note: module parameter is mode=, not mode_option= as default<br />
configuration suggests). At this point, you may try to modprobe<br />
uvesafb — text console should switch to framebuffer.<br />
<br />
If everything's ok, run<br />
<br />
# mkinitcpio -p linux<br />
to rebuild initrd and reboot.<br />
<br />
Note: this is one of possible ways to setup uvesafb. You can insert<br />
the module later, say, in rc.local; initcpio won't be involved at<br />
all. You can try to compile it statically into kernel and possibly<br />
get graphical console much earlier.<br />
<br />
Warning: suspend-to-RAM and uvesafb are mutually exclusive, at least for<br />
this laptop. You can't choose both.<br />
<br />
See [[uvesafb]] in Arch wiki and [http://dev.gentoo.org/~spock/projects/uvesafb official site].<br />
<br />
=== Modem ===<br />
<br />
There's no modem in this laptop. Ok, nowadays such things are sometimes called "modems",<br />
but, well, they aren't. Agere Athens (or Athena according to some NEC specs) is and AMR-type card,<br />
which is in fact a sound card add-on with fancy (phone) connector, nothing more. It is handled<br />
by snd_hda_intel, and you can see some of its controls in alsamixer.<br />
<br />
To make a real modem out of this, you need some software DSP to analyze and make all those<br />
hissing, chirping and beeping which real modems use to communicate. There's one called<br />
'''slmodem'''. Make sure it is built with SUPPORT_ALSA=1, and run<br />
<br />
slmodemd -a modem:0<br />
<br />
It will create virtual serial port, /dev/ttySL0 usually, which can be used for pppd etc.<br />
<br />
See [[Smartlink_Modem_drivers]], [http://linmodems.technion.ac.il/packages/smartlink slmodem page]<br />
<br />
== External display ==<br />
<br />
There's no hardware hotkeys to control external display, so your only option<br />
is ''xrandr''. Typical usage:<br />
<br />
* turn display on: xrandr --output VGA --auto<br />
* turn display off: xrandr --output VGA --off<br />
* clone primary display: xrandr --output VGA --same-as LVDS<br />
* twinhead setup: xrandr --output VGA --below LVDS<br />
<br />
Twinhead mode requires Virtual from xorg.conf to be large enough to hold<br />
both displays together, i.e., for 1280x768 below 1280x768 you need at<br />
least Virtual 1280 1536.<br />
<br />
== Hibernation ==<br />
<br />
'''S4''' (suspend-to-disk) seems to work well. '''S3''' (suspend-to-ram) works well<br />
too ''unless'' you use uvesafb, in which case X server will die on wakeup and<br />
won't be able to start until next reboot. Maybe this will change in future<br />
releases of xf86-video-intel and/or uvesafb.<br />
<br />
You should POST video card after S3 wakeup, otherwise console will be blank.<br />
Also, hdpart -B should be run again as HDD is turned off and forgets its settings.<br />
<br />
'''Plain kernel interface''': To activate S4, just<br />
<br />
echo 4 > /proc/acpi/sleep<br />
<br />
'''uswsusp''': Use '''s2disk''' for S4 and '''s2ram''' for S3.<br />
s2ram requires --vbe_post option (or with appropriate line<br />
added to whitelist.c, having VBE_POST in last field) to handle video<br />
card properly.<br />
See [[Suspend_to_Disk]], [[Suspend_to_RAM]] for more information.<br />
<br />
'''pm-utils''': Use '''pm-suspend''' for S3 and '''pm-hibernate''' for S4.<br />
<br />
To reanimate sleeping laptop, press Power button.<br />
<br />
When using S4, do not forget to specify resume=/dev/sdXN in kernel command line<br />
(sdXN being your swap partition).<br />
<br />
== Basic disassembly ==<br />
<br />
Taking out some parts of the laptop may be necessary for upgrade or<br />
routine maintance. Seems like the official disassembly guide isn't<br />
available, so here's quick guide how to gain access to different parts<br />
of the laptop.<br />
<br />
'''Memory and Wi-Fi card''': open lid at the bottom.<br />
<br />
'''Optical drive''': remove shallow screw (not the deeper one) left to bottom lid,<br />
open the lid and push shiny metallic handle visible on the left side next to wifi<br />
card until the drive comes out.<br />
<br />
'''Keyboard''': you need to remove plastic panel with buttons and leds above the<br />
keyboard first. Open screen to full 180°, remove two screws at the back of screen<br />
handlers, remove the battery,<br />
then push the plate from below. You should push the side closer to the screen while<br />
keeping keyboard side in place. Little screwdriver may be necessary to lift it<br />
left and right of the battery place.<br />
<br />
After the panel is done, remove two screws on the top of keyboard, and one marked<br />
with K in circle from behind, then slide the keyboard forward (to the screen). Again,<br />
you may need to use small screwdriver to help it come out.<br />
<br />
'''Fan''': right under the keyboard.<br />
<br />
== Usage notes ==<br />
<br />
Do not press too hard on laptop lid, you can damage display (scratch it against keyboard rim).<br />
If you did, first of all wipe the screen carefully — display coating is apparently much harder than<br />
keyboard paint, it may be not as bad as it seems.<br />
<br />
When working under full load while standing on a flat surface, laptop tends<br />
to heat above 70°C (ACPI termzone). To mend this, raise it above the surface —<br />
a couple centimeters will be enough — to let cool air to fan inlet.</div>Danfe