VPN problem with Tomato router

I’ve network issues with OSX 10.9 PPTP clients over TP-Link NAT firewalls. Connection and authentication work like a charm, but read/write calls produced GRE errors like this:

GRE: read(fd=7,buffer=419884,len=8260) from network failed: status = -1 error = Message too long

The solution: set MTU and MRU values to 900 instead of default 1450 at PPTP Server tab.

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.

Compaq Presario CQ56 – Linux

Úgy alakult, hogy egy ilyen masina került a kezem ügyébe, azzal a céllal, hogy repülőgép-vezetői ismeretek nélkül is, egyszerű otthoni használatra alkalmas, internet böngésző és szövegszerkesztő rendszer legyen belőle.

Gyárilag Novel/Suse Linux Enterprise Desktop 11-el érkezik a gép, aminek a jól ismert kusza, Windows-alike (Gnome/KDE/akármicsoda) felülete szerintem 2011-ben nem otthoni felhasználóknak való, főleg nem 50 felettieknek. A Windows is kizárásra került, egyrészt mert illegal, másrészt mert nem szerettem volna az ahhoz tartozó support-nyűgöket a nyakamba venni – így maradt a gyerkőcöknél is jól bevált Unity, alatta egy Ubuntuval. Véleményem szerint ez az a felület, amivel nagyinak és huginak is oda lehet adni egy masinát.

A cserebere nem indult egyszerűen, ugyanis a 11.04-es verzió olyan szép fagyásokat produkált felváltva a wifi, a touchpad es a videókártya miatt, amihez foghatót rég nem láttam. Kizárásos alapon maradt a 11.10 beta és láss csodát, a 3.x-es kernelre épülő képződmény – minden frissítését ráhúzva – varázslatot tett a vassal. A boot idő kb. 6-7 másodperc, gyors mint a villám, működik a wifi, a kétujjas scroll, a 3D, a funkció billentyűk és még a sleep is. Amint kijön a stable verzió a cuccból még rávarázsolom és remélem nem lesz több tennivaló vele pár évig…

Update #1: A beta2 nem várt instabilitást hozott, eddig két kernel pánikot sikerült összehozni a wifi kártya driver-ének, illetve sikerült a touchpad-ot újra használhatatlanná tenni.

Update #2: Az Oneiric Ocelot final verzióra frissítve eltűnt a beta2-vel kapott instabilitás, újra rendesen megy a vas.

Update #3: Az Ubuntu 12.04 LTS (Precise Pangolin) is kiválóan fut a vason.

VirtualBox – filesystem error

Hát, gyorsan kivert a víz ma délután… Jó ideje használok VirtualBox-ot, mindenféle probléma nélkül, de most csúnyán megtréfált az Oracle logós cucc.

Minden futó projektemnek szoktam egy saját VM-et csinálni, abban dolgozok, így szépen elkülönül és nem utolsó sorban jól snapshot-olható. Ma is éppen snapshot-ot nyomtam halt után, mert egy komoly változtatásra készültem a környezetben. A meglepetés akkor ért, mikor a virtuális gép újraindult és az fsck rémsége fogadott a konzolon, filesystem error-okat dobálva. Tehettem bármit, a partíció read-only módban jött csak be, ráadásul a file-ok rajta egy jóval régebbi snapshot szerint látszottak. Gyors SMART teszt a host gépen, majd lemásoltam egy külső HDD-re az image-eket.

Újabb próbálkozások, kézi fsck indítás, reménytelen. Ekkor – software hibára gyanakodva – kicsit utána néztem a hasonló eseteknek és láss csodát a VirtualBox 4.0.2 ismert hibájáról van szó: BLKCACHE_IOERR when creating snapshot. Egyelőre csak workaround van rá, be kell kapcsolni a host I/O cache-t a SATA Controller-hez…

Update: a Changelog szerint a 4.0.4-ben javították ezt a hibát: “Storage: fixed write errors with snapshots if the host cache is disabled (4.0 regression; bug #8221)”

Magából kifordult világ – Macbook Pro vs Linux

Mikor a pécén OSX virít és a Mac-en Windows erőlködik, bizonyára valami bizarr dolog van készülőben. Nem lennék a helyemben ebben az esetben…

OSX_on_PC-Windows_on_Mac

Az egész történet onnan indult, hogy szerettem volna a MacBook Pro feliratú masinámra natív módon Linuxot applikálni, mert az azon belüli virtualizációval (Xen, VMWare) lett volna randevúm. Fent nevezett Móriczka ezt el is képzelte – mint megvalósítandó feladatok egzakt eredményét -, majd bedugta az erre a funkcióra lesavazott FireWire HDD-t a gép jobb oldalába, és az okosan előre letöltött Ubuntu 9.04 64bites CD-ről mintegy 15 perc alatt telepítette is azt.

Ekkor jött az első hideg-zuhany, ez a kedves installer szépen pofán verte a gépben lévő HDD master boot record-ját (MBR), aminek az lett az eredménye, hogy immár se OSX-ben, sem Linux-ban nem lehetett elindítani a Mac-et. Még jó, hogy volt itthon másik gép is, a tevékenység pillanatok alatt vad keresgélés lett, aminek az eredménye az Ubuntu wiki-ben:

Be wary of a bug in the Ubuntu Installer that can wipe out your MBR, leaving your system unbootable after a seemingly successful install. To avoid being bitten by this bug you should carefully follow one of the installation procedures documented here.

Egyszóval a megoldás a rEFIt nevű apróság lett, amit egy CD-re felírva, majd arról indítva a gépet, egy partíciós tábla szinkronizációval a fenti hibát orvosolta. Sőt, az új boot menüben már megjelent a külső HDD-n terpeszkedő Linux partíció is, mint opcionális indítási lehetőség.

rEFIt is a boot menu and maintenance toolkit for EFI-based machines like the Intel Macs. You can use it to boot multiple operating systems easily, including triple-boot setups with Boot Camp. It also provides an easy way to enter and explore the EFI pre-boot environment.

Túl szép, hogy igaz legyen – mondja a fáma, és igaza is lett. Hiába éktelenkedik ott a pingvin a boot menüben, a szép kis opensource rendszer elindulni sehogy sem akar. A “GRUB Hard Disk Error” szöveget szajkózza, hiába vetettem be az összes trükköt a bootloader helyére vonatkozóan.

Újabb kör következett, a Boot Camp – ez az Apple találmánya arra az esetre, ha a Mac vásárló arra vetemedne, hogy Windows-t futtasson a gépén. Néhány kattintás – az Application/Utilities könyvtárban található hozzá az asszisztens – és máris megtörténik a partíció átméretezése és az új, FAT partíció létrehozása, a belső HDD-n. Ott, ahol semmiképpen nem akartam, de ha nincs más, hát legyen.

A Windows nevű borzalom installációja eseménymentes volt, a Boot Camp driver-ekkel – melyek a gyári OSX telepítő DVD-n bújnak meg – működőképesnek tűnt a gép, lett is egy lobogó zászló formájú ablakos akármi ikon az alma és a pingvin mellé. Gyerekkorom óta erre vágytam, többször írtam is a Jézuskának, hát most megkaptam. Ugyan az égvilágon semmi hasznát nem veszem ennek az OS-nek – virtuális gépben egyszerűbb használni ha mégis szükség lenne rá – de van, mert lett. Néhány percig volt is…

Aztán újra jött a Linux install, immár erre a belső partícióra, figyelve arra, hogy az utolsó kérdésnél az Advanced menüpontban ugyanebbe kerüljön a GRUB boot loader is. Így is lett, pörgősen és gyorsan kész lett, sőt valami csuda folytán még el is indult.

A dolog after-party része, hogy a wifi kártya csak akkor látja a hálózatot, ha egyszer disable (reboot), aztán megint enable (reboot), továbbá a “Xorg -configure” által legyártott NVidia-s “xorg.conf” lett a barátom a megjelenítésben. A touchpad jobb klikkje szintén missing kategória egyelőre, ellenben a kernel – nem úgy mint az XP – látja mind a 4GB memóriát, így aminek kb. 20 perc alatt rendelkezésre kellett volna állni, de másfél nap szívásba került, valamiféle, az IT-ben sajnos megszokott eredményt produkált.

Arra már nem volt lelki erőm, hogy az egész procedúrát triggerelő Xen és VMware környezetet meggyártsam, az egy újabb játékos időszakban fog bekövetkezni…

IBM ThinkPad T30 – MultiOS

I catched a legendary IBM notebook ThinkPad T30/2366 model at last week, to hack an Atheros wireless card into… It was not too difficult, latest MadWifi to chum up with Linux kernel without problem.

As well there is a “new” PC, just try to create a multi-OS machine for application testing, with Linux, Windows and Mac OS X;

Linux:
– Ubuntu 9.04
– Radeon 7500 mobility X.org configuration (xorg.conf):

  Section "Device"
	Identifier	"Configured Video Device"
        Option     "AGPMode" "4"
        Option     "AGPFastWrite" "true"
        Option     "EnablePageFlip" "true"
        Option     "AGPSize" "64"
        Option     "RingSize" "8"
        Option     "BufferSize" "2"
        Option     "EnableDepthMoves" "true"
        Option     "RenderAccel" "true"
        Option     "AccelMethod" "XAA"
        Option     "DDCMode"
        Option     "DynamicClocks" "true"
        Option     "SubPixelOrder" "NONE"
        Option     "ColorTiling" "false"
        Option     "MigrationHeuristic" "greedy"
  EndSection

  Section "Monitor"
	Identifier	"Configured Monitor"
  EndSection

  Section "Screen"
	Identifier	"Default Screen"
	Monitor		"Configured Monitor"
	Device		"Configured Video Device"
  EndSection

Windows:
– Windows XP with drivers from IBM support site

Mac OS X:
– Hackintosh distribution – XxX Install Disk Tiger 10.4.11 rev2, link1, link2
– Package selection:

  + Apple Software Updates
  - Kernels and Kexts
   + 8.9.1 kernel universal + patches
   - RecommendedPacthed
    + verbose Mode
    + CPUPowerManagement.kext Remover
    + System Profiler Patch
  - Graphics drivers
   + SSE2 DVDPlayer patch
   - ATI Drivers
    + Radeon 7500 AGP
   - AGPGart
    + AGPGartLite Intel865chipset
  - Audio Drivers
   + Generic AC97 Audio
  - Network Drivers
   + Atheros AR5004G wireless Driver
   + AppleIntel8255x.kext
   + Broadcom Wifi ID Plist
  - Miscellanous
   + RadeonTool

That’s all, just take the photos:


Boost on Ubuntu

Current Ubuntu and Debian distributions lacks up-to-date version of Boost C++ library.

Here is a simple script to install new version with required packages:

#!/bin/sh

# Install packages to Ubuntu (8.04)
sudo apt-get install curl make flex bison libtool automake autoconf
sudo apt-get install g++ python-dev
sudo apt-get install libexpat1-dev libicu-dev libopenmpi-dev libz-dev libbz2-dev
#sudo apt-get install libboost-dev

# Download 1.35+ boost C++ library instead of old (1.34) releases in Ubuntu Linux
BOOST_VERSION=1_38
curl -O http://dfn.dl.sourceforge.net/sourceforge/boost/boost_${BOOST_VERSION}_0.tar.bz2
tar xvjpf boost_${BOOST_VERSION}_0.tar.bz2
cd boost_${BOOST_VERSION}_0
echo "using mpi ;" >>user-config.jam
EXPAT_INCLUDE=/usr/include
EXPAT_LIBPATH=/usr/lib
ICU_PATH=/usr
MPI_PATH=/usr
./configure
make
sudo make install
sudo ln -s /usr/local/include/boost-${BOOST_VERSION}/boost /usr/local/include/boost
cd ${CURRENTDIR}