NEC Versa S950
Hardware Overview
- Release date: March 2006
CPU: Pentium M 735A 1.73GHz (socket 479), upgradeable up to Pentium M 780 2.26GHz
Screen: 14.0" non-glare (matte) WXGA 1280x768 (AUO B140EW01, TN/CCFL)
- Memory size: 1G DDR2 PC2 4300 SDRAM (max. 2G due to chipset limitation)
- Motherboard: DA0CH1MB8E1 rev.E
North Bridge: Intel 915GM (QG82915GM SL8G6)
- South Bridge: Intel ICH6-M
BIOS: Phoenix NoteBIOS ver.4 rev.6.1 (last update: 3A23)
Sound: SigmaTel STAC9200 (works with snd_hda(4); see notes below)
Ethernet: Broadcom BCM5788 1Gb (works with bge(4))
WiFi: Intel PRO/Wireless 2200BG in miniPCI slot (works with iwi(4))
- Bluetooth: Broadcom 2101 (works fine)
- IrDA: NSC unknown (does not work?)
- Modem: Agere Athens AM2 (does not work?)
Card reader: TI FlashMedia SD (PCI7114 based; see notes below)
FireWire: TI OHCI compliant (not well tested)
Keyboard: CH1 (AECH1KE), Ctrl key's on the left of Fn (sane)
- Touchpad: AVC Finger-sensing Pad (works fine)
Notes
Runs 8.4-STABLE almost perfectly: suspend/resume works both on the console and X11, brightness and multimedia keys work, battery status reported correctly, AC line detection, CPU frequency scaling, fan control, Ethernet/WiFi/Bluetooth, CardBus, etc. all just work. I was not able to test soft-modem (of no use these days anyways) and didn't play with 1394 adapter long enough. Out of useful things, the following have issues:
Sound (HDA)
With old, pre-r236750 version of snd_hda(4), playback and recording (with jack detection and automatic muting of internal speakers) require the following lines in /boot/loader.conf:
hint.hdac.0.cad0.nid13.config="as=1 seq=15" hint.hdac.0.cad0.nid9.config="as=4 seq=0"
After r236750, these overrides (updated to the newer syntax) no longer work. I'm too lazy to debug why, so simply run with the old (working) version of the driver.
External VGA
Toggling between internal/external display seemingly should work by pressing Fn-F3 per markings on the keyboard, but it doesn't (although correct ACPI method is being called). It is still functional though; xrandr(1) is your friend here.
Card Reader
By default, PCI7114 chip is configured to provide FlashMedia device, not SD Host, so sdhci(4) won't be able to work with it. Until FreeBSD gets a real FlashMedia driver, it should be possible to reconfigure the chip to provide SD Host interface early in the boot stage, e.g. via ACPI, as described here (in Russian). May or may not work perfectly, YMMV.
IrDA
Internal infrared port never worked. Maybe faulty hardware, or something is wrong during uart(4) module initialization:
kernel: driver bug: Unable to set devclass (devname: (null)) kernel: driver bug: Unable to set devclass (devname: (null)) kernel: uart0: <16550 or compatible> at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 kernel: uart0: [FILTER] kernel: uart1: <16550 or compatible> at port 0x2f8-0x2ff irq 3 on isa0 kernel: uart1: [FILTER]
Presumably, one is serial port (available through the dock station), another should be IrDA. None of them sees any data read or written to them.
Power-saving Techniques
Usual CPU P/C-states tricks and setting kern.hz=100 per TuningPowerConsumption page work. I have the following lines in /etc/rc.conf right now:
# XXX: C2 causes sloppy keyboard and video playback :( #performance_cx_lowest="C2" #economy_cx_lowest="C2" # from Kevin Oberman (on -hackers@, 2014.04.03) performance_cx_lowest="Cmax" economy_cx_lowest="Cmax"
Additionally, I had to undervolt the CPU after I've upgraded it to Pentium M 780 as described here (in Russian) to avoid overheating and shutting down forcibly under heavy load.
Basic Disassembly
Originally contributed to the Arch Wiki
Memory and WiFi card: open lid at the bottom (fixed by two screws).
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 WiFi card until the drive comes out.
Keyboard: you need to remove plastic panel with buttons and LEDs above the keyboard first. Remove two screws at the back of screen handlers, open screen to full 180°, 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.
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.
Fan: right under the keyboard.
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 WiFi antenna wires and LCD interface, and remove the screen lid.
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.
Precautions
Copied from the Arch Wiki
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.
When working under full load while standing on a flat surface, laptop tends to heat above 70°C (per ACPI thermal zone). 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. Warning: laptop shuts down itself when temperature reaches 100°C; current temperature is reported via hw.acpi.thermal.tz0.temperature sysctl.