MacBook Pro 4,1 – NVIDIA halál

Tavaly óta igen komoly irodalma van a 2008-ban gyártott MacBook Pro gépekben található NVIDIA GeForce 8600M GT videokártyák elhalálozásának. Mintha csak tervezett avultatást csempészett volna be a gyártó a masinákba, számtalan 4-5 éves gépnél jelentkezik ez a probléma.

Véleményem szerint az Apple normálisan kezelte a problémát, ugyanis ezeket a gépeket garanciális keretek között javították 2012 végéig.

Sajnos úgy tűnik mi sem vagyunk kivételek, pár nappal ezelőtt az amúgy kifogástalan állapotban és erőben lévő MacBook szürke almás-forgós képpel fogadott minket. Pontosabban néhányszor újraindította magát amíg egy jól irányzott SHIFT-es indítást eszközölve derült ki a turpisság.

Safe mode-ban sikerült elindítani, sőt távolról SSH-val be is lehetett jutni a gépre.

A log-ból szépen kiderül, hogy az NVIDIA driver nem tér magához:

  
Dec 25 12:16:51 macbook kernel[0]: NVDAStartup: Official
Dec 25 12:16:53 macbook kernel[0]: NVDANV50HAL loaded and registered
Dec 25 12:17:00 macbook kernel[0]: NVDATesla::rmStart failed
Dec 25 12:17:00 macbook kernel[0]: NVDA,Display-B: Not usable

… ezáltal a WindowServer sem tud elindulni:

Dec 25 12:17:00 macbook.home.louise.hu WindowServer[125]: CGXMappedDisplayStart: can\'t open any framebuffer
Dec 25 12:17:00 macbook.home.louise.hu WindowServer[125]: CGXDisplayDriverInitialize: No Display drivers loaded
Dec 25 12:17:00 macbook.home.louise.hu WindowServer[125]: CGXPerformInitialDisplayConfiguration
Dec 25 12:17:00 macbook.home.louise.hu WindowServer[125]: CGXGLInitMipMap: mip map mode is on

A System Profiler szerint minden rendben van:

Graphics/Displays:

    NVIDIA GeForce 8600M GT:

      Chipset Model: GeForce 8600M GT    
      Type: GPU
      Bus: PCIe
      PCIe Lane Width: x1
      VRAM (Total): 256 MB
      Vendor: NVIDIA (0x10de)
      Device ID: 0x0407
      Revision ID: 0x00a1
      ROM Revision: 3212

Diagnostics:

    Power On Self-Test:

      Last Run: 25/12/13 12:13
      Result: Passed

Néhány órai küzdelem után a gép egy átmeneti időszakra életre kelt, ami annak volt köszönhető, hogy a GPU és a környéke felmelegedett. Reggelre, miután kihűlt az alaplap, újra a szép szürke képernyő fogadott.

Linux boot-tal is kipróbáltam a gépet, ekkor már VESA módban függőleges zöld csíkok jelennek meg a képernyőn, az X11 indítása kernel pánikot eredményez. A grafikus mód és a mód-váltás kikapcsolása után konzolként használható a gép:

Edit /etc/default/grub file:
   GRUB_CMDLINE_LINUX="nomodeset"
   GRUB_TERMINAL=console

And upgrade GRUB configuration: sudo update-grub

Ha valakinek nincs kedve 220 fokra előmelegített sütőbe tenni az alaplapot, annak egy egyszerűbb trükk a radiátorra helyezett gép bemelegítésére:

yes > /dev/null & yes > /dev/null & yes > /dev/null & yes > /dev/null &

Egy érdekes post a témában: Cooking the Books (or, Baking My MacBook Pro Logic Board)

Update: A készüléket a Re-Store szakemberei megjavították, a grafikus chip újraforrasztásával újra kitűnő egészségnek örvend!

Midnight Commander 4.8.10 OSX

GNU Midnight Commander (also referred to as MC) is a user shell with text-mode full-screen interface. It can be run on the OS console, in xterm and other terminal emulators.

GNU Midnight Commander allows you to manage files while making most of you screen and giving you a clear representation of the filesystem, yet it’s simple enough to be run over a telnet or ssh session.

Midnight Commander OSX Universal Binary

Next to official release of stable sources, this universal binary (i386, ppc) built (without source code modification) and linked with following libraries:
– gettext v0.18.1.1
– glib v2.21.6
– pkg-config v0.23

Configured with options: –disable-dependency-tracking –disable-shared –with-screen=ncurses –with-vfs –enable-vfs-mcfs –with-edit –without-x –with-subshell –enable-charset –enable-extcharset –enable-background –enable-netcode

[~/Development/porting/mc ]
$mc --version
GNU Midnight Commander 4.8.10
Built with GLib 2.21.6
Using the ncurses library
With builtin Editor
With subshell support as default
With support for background operations
With mouse support on xterm
With internationalization support
With multiple codepages support
Virtual File Systems: cpiofs, tarfs, sfs, extfs, ftpfs, fish
Data types: char: 8; int: 32; long: 32; void *: 32; size_t: 32; off_t: 64;

This release requires Mac OS X 10.4 or newer, and tested on 10.5 Leopard (PPC/x86), 10.6 Snow Leopard (x86), 10.7 Lion (x86) and 10.8 Mountain Lion (x86).

Download installer package: mc-4.8.10-bin-osx-universal.zip (list of other Mac binary releases)

Original sources: www.midnight-commander.org

Major changes since 4.8.9

Midnight Commander 4.8.1.3 OSX

GNU Midnight Commander (also referred to as MC) is a user shell with text-mode full-screen interface. It can be run on the OS console, in xterm and other terminal emulators.

GNU Midnight Commander allows you to manage files while making most of you screen and giving you a clear representation of the filesystem, yet it’s simple enough to be run over a telnet or ssh session.

Midnight Commander 4.8.1.1 OSX Universal Binary

Next to official release of stable sources, this universal binary (i386, ppc) built (without source code modification) and linked with following libraries:
– gettext v0.18.1.1
– glib v2.21.6
– pkg-config v0.23

Configured with options: –disable-dependency-tracking –disable-shared –with-screen=ncurses –with-vfs –enable-vfs-mcfs –with-edit –without-x –with-subshell –enable-charset –enable-extcharset –enable-background –enable-netcode

[~/Development/porting/mc ]
$mc -V 
GNU Midnight Commander 4.8.1.3
Built with GLib 2.21.6
Using the ncurses library
With builtin Editor
With subshell support as default
With support for background operations
With mouse support on xterm
With internationalization support
With multiple codepages support
Virtual File Systems: cpiofs, tarfs, sfs, extfs, ftpfs, fish
Data types: char: 8; int: 32; long: 32; void *: 32; size_t: 32; off_t: 64;

This release requires Mac OS X 10.4 or newer, and tested on 10.5 Leopard (PPC), 10.6 Snow Leopard, 10.7 Lion and 10.8 Mountain Lion.

Download installer package: mc-4.8.1.3-bin-osx-universal.zip (list of other Mac binary releases)

Original sources: www.midnight-commander.org

Major changes since 4.8.1.2

Midnight Commander 4.8.0 OSX

GNU Midnight Commander (also referred to as MC) is a user shell with text-mode full-screen interface. It can be run on the OS console, in xterm and other terminal emulators.

GNU Midnight Commander allows you to manage files while making most of you screen and giving you a clear representation of the filesystem, yet it’s simple enough to be run over a telnet or ssh session.

Midnight Commander 4.8.0 OSX Universal Binary

Next to official release of stable sources, this universal binary (i386, ppc) built (without source code modification) and linked with following libraries:
– gettext v0.18.1.1
– glib v2.21.6
– pkg-config v0.23

Configured with options: –disable-dependency-tracking –disable-shared –with-screen=ncurses –with-vfs –enable-vfs-mcfs –with-edit –without-x –with-subshell –enable-charset –enable-extcharset –enable-background –enable-netcode

[~/Development/porting/mc ]
$mc -V
GNU Midnight Commander 4.8.0
Built with GLib 2.21.6
Using the ncurses library
With builtin Editor
With subshell support as default
With support for background operations
With mouse support on xterm
With internationalization support
With multiple codepages support
Virtual File Systems: cpiofs, tarfs, sfs, extfs, ftpfs, fish
Data types: char: 8; int: 32; long: 32; void *: 32; size_t: 32; off_t: 64;

This release requires Mac OS X 10.4 or newer, and tested on 10.5 Leopard (PPC), 10.6 Snow Leopard and 10.7 Lion.

Download installer package: mc-4.8.0-bin-osx-universal.zip (list of other, newer Mac binary releases)

Original sources: www.midnight-commander.org

Major changes since 4.7.5

Olcsó TimeMachine NAS és DLNA szerver

Mivel a családtagok száma és a használt számítógépek darabszáma már jó ideje egy-az-egy arányt mutat, megoldást kellett találni az adatok biztonságos és lehetőleg automatikus mentésére is.

Az a file, ami csak egy helyen van tárolva egy rendszerben, valójában nincs is meg, éppen csak úgy tűnik mintha meglenne. Amint az az egy hely megsérül, lőttek az adatnak, legyen az a kedvenc filmünk, családi videó, vagy pótolhatatlan fotó. Mentés nélkül a gyűjtögetés egy igen kockázatos foglalkozás.

Több gép esetén a legegyszerűbb megoldás egy központi mentő-egység, más néven NAS (Network-attached storage – hálózati adattároló). Ilyen szerkezetek jelenleg huszonötezer forint környékétől lehet kapni és ehhez még hozzáadódik a HDD ára.

Nálunk a két Mac (10.5 és 10.7) mellett két Vaio-t is menteni kell, ráadásul az egyiken Windows, a másikon Linux van. Egy kis számolgatás után úgy döntöttem, hogy egyelőre elegendő lesz 500 GB tárhely a szerverben, erre elfér az összes gépen tárolt személyes információ, illetve marad hely néhány filmnek is. A szerverhez egy olcsó, lehetőleg halk és kis fogyasztású gépet kerestem, így jutottam el a HP Compaq D530 aprósághoz, melyet 500+80 GB SATA HDD-vel és 512 MB memóriával sikerült húszezer forintért beszerezni. Ez a vas lett a “szegény ember hómszervere”. A fogyasztása maximálisan 68.4 Watt, de file-szerverként nagyon ritka, hogy – jelezve a fogyasztás megugrását – bekapcsoljon a ventilátora.

Első körben a FreeNAS-sal próbálkoztam, de sajnos még a 8.0.2-es verzió sem képes megbirkózni az OSX Lion új, a TimeMachine-hez használt authentikációs protokolljával, így kiesett a versenyből – csak ez miatt pedig nem veszek Time Capsule-t. Második próbálkozás a jól bevált Ubuntu szerver lett, megkockáztatva a héten megjelent 11.10-es verziót. Meglepetésemre mindenféle – az ilyen esetekben sajnos megszokott – küzdelem és félre-működés elkerült, azaz a telepítés és a működés között kevesebb mint fél óra telt el.

Egy kis előjáték az APM-hez:

# apt-get install apmd libapm1 cpufreqd

Mindössze egy trükkre volt szükség, ez a “netatalk” csomag 2.2-es verziója és az ahhoz szükséges külön repository hozzáadását jelentette:

# apt-get install python-software-properties
# add-apt-repository ppa:stefanor/ppa
# apt-get update
# apt-get install netatalk

A friss “netatalk” csomag telepíése után következett a TimeMachine megosztáshoz szükséges paraméterek beállítása a “/etc/netatalk/afpd.conf” file-ban:

- -tcp -noddp -uamlist uams_guest.so,uams_dhx.so,uams_dhx2.so -nosavepassword

A Mac-es mentéshez létrehoztam egy “macbackup” felhasználót és a felhasználó home könyvtárában a “TimeMachine” alkönyvtárat:

# adduser macbackup
# mkdir /home/macbackup/TimeMachine
# chown macbackup:macbackup /home/macbackup/TimeMachine

Következő lépésként a létrehozott könyvtár AFP protokollon való publikálásához szükséges beállításokat tettem meg a “/etc/netatalk/AppleVolumes.default” file-ban:

~/ "Home Directory" options:usedots,upriv ea:ad
/home/macbackup/TimeMachine/ "TimeMachine" options:usedots,upriv,tm ea:ad allow:macbackup

Utolsó konfiguráció lépésként a létrehoztam a telepített “avahi” daemon-hoz egy “afpd” szervizt, a “/etc/avahi/services/afpd.service” file-ban:

< ?xml version="1.0" standalone='no'?>
< !DOCTYPE service-group SYSTEM "avahi-service.dtd">

%h

_afpovertcp._tcp
548


_device-info._tcp
0
model=Xserve


Mindezek után újraindítottam az “avahi” és a “netatalk” szervizeket:

# /etc/init.d/netatalk restart
# /etc/init.d/avahi-daemon restart

Az OSX Leopard és a Lion is szépen megtalálta a TimeMachine megosztást, authentikáció (macbackup user) után tökéletesen elindultak és le is futottak a mentések.

...
Oct 15 13:31:10 server afpd[5361]: AFP logout by macbackup
Oct 15 13:31:11 server afpd[5361]: AFP statistics: 83802565.77 KB read, 20573459.70 KB written
Oct 15 13:31:11 server afpd[5361]: done

A Linux-os mentéshez NFS exportot, míg a Windows-oshoz Samba megosztást hoztam létre, mindkettőhöz saját felhasználót adva.

Extraként el lehet szórakozni a CPU frekvencia állítgatásával, alap üzemben a 3 GHz fölöslegesnek tűnik, visszavehető 750 MHz-re:

root@server:~# cpufreq-info 
cpufrequtils 007: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
  driver: p4-clockmod
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.00 ms.
  hardware limits: 375 MHz - 3.00 GHz
  available frequency steps: 375 MHz, 750 MHz, 1.13 GHz, 1.50 GHz, 1.88 GHz, 2.25 GHz, 2.63 GHz, 3.00 GHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 375 MHz and 3.00 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency is 3.00 GHz (asserted by call to hardware).
  cpufreq stats: 375 MHz:0.00%, 750 MHz:0.00%, 1.13 GHz:0.00%, 1.50 GHz:81.79%, 1.88 GHz:0.00%, 2.25 GHz:0.00%, 2.63 GHz:0.00%, 3.00 GHz:18.21%  (4)
# sudo cpufreq-set -c 0 -u "750MHz"

vagy automatikusan “powersave” módba küldve:

# sudo cpufreq-set -g powersave
root@server:~# cpufreq-info 
cpufrequtils 007: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
  driver: p4-clockmod
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.00 ms.
  hardware limits: 375 MHz - 3.00 GHz
  available frequency steps: 375 MHz, 750 MHz, 1.13 GHz, 1.50 GHz, 1.88 GHz, 2.25 GHz, 2.63 GHz, 3.00 GHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 750 MHz and 1.50 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency is 750 MHz (asserted by call to hardware).
  cpufreq stats: 375 MHz:41.57%, 750 MHz:48.26%, 1.13 GHz:0.00%, 1.50 GHz:0.00%, 1.88 GHz:0.00%, 2.25 GHz:0.00%, 2.63 GHz:0.00%, 3.00 GHz:10.18%  (4)

** a “/etc/rc2.d” könyvtárból érdemes eltávolítani az “S99ondemand” symlink-et

A HDD zümmögése is csökkenthető a “hdparm” konfigurációjával, mikor is a használaton kívüli állapotban “spindown” következik:

# hdparm -S 36 /dev/sda

/dev/sda:
 setting standby to 36 (3 minutes)

Az iTunes/Airtunes zene megosztáshoz a DAAP daemon-t konfiguráltam, a következő módon:

# apt-get install forked-daapd ogmtools ffmpegthumbnailer

Ezen a szerveren a “media” nevű user home könyvtárába kerülnek a zenék és filmek, ezért a “/etc/forked-daapd.conf” konfigurációs file-ban a következő beállításokat tettem:

# Library configuration
library {
        name = "Shared media on %h"

        # Directories to index
        directories = { "/home/media/media" }
        # Directories containing compilations
        # Matches anywhere in the path (not a regexp, though)
        compilations = { "/home/media/media" }
}

További apróságok is kerültek a gépre, úgymint egy fejlesztéshez elengedhetetlen SVN és TRAC szerver, melyek adatbázisait egy külső USB-s HDD-re menti egy jól irányzott rsync-es megoldás.

A gép előlapján lévő power-gombot is sikerült úgy konfigurálni, hogy megnyomásra shutdown következik, így monitor és billentyűzet nélkül is megoldható a kikapcs-bekapcs procedúra.

Frissítés (2012. május 27): Gondatlanságból és kíváncsiságból elkövettem egy 12.04 LTS upgrade-et, aminek az lett a következménye, hogy nem működik az APM és ezáltal a cpu frekvencia szabályozás és az előlapi power gomb se.

Steve Jobs

Néhány nappal ezelőtt jutott eszembe néhány gondolat az élet végéről, talán nem véletlenül.

A szakmai portálok vezető híre ma nem egy-egy új, korszakalkotó technológia megjelenése, hanem egy korszak és egy technológia-alkotó eltávozása. Furcsa dolog ez, kevés olyan “kocka” van, akinek a haláláról címlapon emlékeznek meg. Steve Jobs-ról van szó, aki néhány száz évvel ezelőtt hadvezér lett volna és seregeivel országokat igázott volna le. Szerencsére a mai korban ezt máshogy is meg lehet tenni, országokat “igába” hajtani valami olyan dologgal, ami mellőzi az erőszakot és önként vállalt kapcsolatot jelent. Örülhetünk, hogy Mr. Jobs ebbe a korba született.

Azt hiszem, a saját országában – cégében – így is “hadvezér” volt, akinek voltak külső és belső “ellenségei” és “harcai” ezek ellen. Még akkor is ha ez a harc másféle fegyverekkel zajlott, kellettek ütközetek, hogy legyen győztes és vesztes. A buddhizmus és a hozzá tartozó filozófia és világkép nem a harcról szól, de fegyvert adott egy ember kezébe, melyet jól forgatva nagy győzelmeket tudott aratni. Ezeknek a győzelmeknek nap mint nap haszonélvezői vagyunk, most is ezen az alumínium borítású szerkezeten próbálom szavakba önteni amit gondolok. A fejlődés hadszínterének diadal-kapui ezek az eszközök, melyek mögött filozófia van. Nem csak technikai paraméterek, hanem valami olyan dolog is, ami megkülönbözteti őket a többitől.

Köszönjük.

NetBeans 6.8 and OpenOffice 3.3 on Snow Leopard

A quick note to setup working OpenOffice.org plugin development on Mac OS X 10.6 (64bit)…

NetBeans v6.8 (as the last OOo SDK supported version now) works with OpenOffice Extension 2.0.6 (org-openoffice-extensions-2.0.6.nbm) and OpenOffice 3.3 SDK, but NetBeans configuration should be modified to access OpenOffice by Java. You can not create new OpenOffice.org Component (UNO) without this modification, because NetBeans unable to read Service and Interface classes from OOo and results and empty list after several loads of soffice command.

Error log message looks like following, and see why here (issue 110543):

... /System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home/bin/java[14982]: dlopen(/Volumes/MBP_Addons/Application.Addon/Editors/OpenOffice.org.app/Contents/basis-link/ure-link/lib/libjpipe.jnilib, 1): no suitable image found.  Did find:\n	/Volumes/MBP_Addons/Application.Addon/Editors/OpenOffice.org.app/Contents/basis-link/ure-link/lib/libjpipe.jnilib: mach-o, but wrong architecture

The solution is simple with updating value “netbeans_default_options” in “netbeans.conf” with option “-J-d32”. You can find config file in “NetBeans 6.8.app/Contents/Resources/NetBeans/etc” folder.