Andreas Bach Aaen Innovation og Open Source

14. juli, 2010

Vektortegning med Linux

Filed under: linux — andreas @ 7:00

Inkscape

Der blev en, der blev to, der blev tre, der blev fire – og ja så er det ikke alt der skalerer længere. Tidligere havde jeg bestilt et dørskilt i messing hos print2people.dk. Super duper, men formatmæssigt så fungerede det ikke ret godt når der skulle presses 6 navne ind. to går fint, fire kan lige gå men seks navne nixen biksen. Der måtte også godt være lidt personligt over skiltet, så et skift til et andet materiale og print/præge teknik kunne åbne op for nye løsninger. Jeg faldt over Designselvskilte.dk, der for rimelige penge kan lave skilte i valgfri formater med folieprint. Vigtigt var det, at man kunne oploade sin egen pdf-fil og få det printet ud. Jeg besluttede mig for sort print på en hvid aluminiumsplade. Så var det blot at finde et godt tegneprogram frem. Tilbage fra min tidlige studietid, der var jeg ret glad for CorelDraw 2.0. det havde en masse skæge fonte, som man kunne hive i, fordreje og meget mere. Alt sammen vektorbaseret, så resultatet altid så godt ud rent teknisk. De senere versioner af programmet blev voldsomt stort, bagud kompabiliteten røg. De sjove fonte blev skiftet ud med nogle mere kedelige standardfonte. Corel blev opkøbt og CorelDraw endte som et hjørne i en kontorapakke og fik ikke længere den rette opmærksomhed.

Så jeg gik på jagt efter et 2D vektortegneprogram til Linux, der funktionalitetsmæssigt svarer til hvad CorelDraw 2.0 kunne præstere. Det viste sig, at der ikke var så meget at vælge i mellem. tidligere havde jeg brugt Sopodi. Men den er i mellemtiden bleve overhalet af udbryderprojektet Inkscape. I KDE lejren har man kunnet finde Killustator, der blev til Kontour, der så igen blev til Karbon14. Ingen af disse programmer har dog opnået en stabilitet og passende opbakning fra en udviklergruppe til at bringe dem videre. Så det blev Inkscape jeg prøvede kræfter med.

Inkscape er ganske nem at gå til. Den kan det jeg ønskede. Det viste sig dog, at man lige skal huske, at sætte DPI-opløsningen når man eksporterer til pdf-format. Man kan ikke se forskel når man ser pdf-filen i xpdf. Men den pdf-render designselvskilte.dk benytter kunne i alt fald godt.

Jeg fik tegnet mit dørskilt og sendt pdf-tegningen til designselvskilte.dk. En god uge efter fik jeg et skilt med posten, hvor alt var gået galt. Uskarp farve, bobler under folien og så en lav opløsning. Øv øv. Opløsningen kunne jeg selv gøre noget ved, men resten det var der kun designselvskilte.dk at klandre for. Jeg brokkede mig høfligt og fik på baggund af en ny og bedre pdf-eksportering lavet et nyt skilt uden beregning. Her var alt ok. Skarp sort farve, høj opløsning og ingen bobler mellem plastfolien og aluminiumspladen. Jeg håber de kan ramme dette niveau fremover, for i givet fald er de klart at anbefale.

6. juli, 2010

3D visualisering

Filed under: linux,tilbygning — andreas @ 6:00

3D visualisering med papir

En tilbygning til parcelhuset kan nemt koste flere hundredetusinde kroner, så det vil jo være surt, at få dem brugt forkert. En god visualisering kan måske afhjælpe dette. Jeg har prøvet et par muligheder af. Først prøvede jeg Sweethome3d. Et smart java-baseret program, hvor man forholdsvis hurtigt kan designe et etplanshus og derefter bevæge sig rundt i det i 3D. Det er dog bestemt ikke alle grafikkort og drivere programmet kører godt med, så det er crashet for mig for et godt ord. En tidligere kollega, har dog været ret glad for det, så han har haft en heldigere hardware og software kombination. Man kunne sikkert også kaste sig over Blender, men det at skabe sine byggeelementer og bygge et virtuelt hus op er en ret stor tidskrævende opgave, så i første omgang valgte jeg en oldschool løsning.

3D visualisering

Jeg printede en stak 2D tegninger ud af huset grundplan og dets facader, som jeg havde tegnet i Qcad. Så var det med at komme i gang med saks og lim. Så en 3D model i papir var en realitet på en enkelt aften. Nu er det nu ikke sådan, at bare fordi man har adgang til en masse fantastisk Open Source software her i blandt CAD programmer, samt en smule flair for at klippe og klistre med papir, så er artitekten ikke sparet væk.Det er blot ikke nogen skam at være velforberedt. Når vi på et tidspunkt finder en artitekt, så er der stadig eget at tage stilling til. Optimal dimentionering af rum, placering af vinduer for at sikre godt lysindfald, materialevalg, sikring af rette papirer i forhold til en byggetilladelse og meget andet. Lidt ingeniørarbejde med konstruktionsberegninger skal der også til.

24. maj, 2010

CAD tegning med Linux

Filed under: linux,tilbygning — andreas @ 0:29

Qcad

Med en børneflok på 4 styk, så leger jeg med ideen om at bygge ud. Det haster ikke, med inden vi har fire teenagere i huset, vil det nok være en god ide med mere end et badeværelse med brus. Blyant og papir er ganske taknemmeligt, men er god tegning på computeren er heller ikke nogen dum ide. Jeg kastede mig over Qcad programmet. Det er et udemærket 2D-CAD program. Desværre er det ikke super let at gå til. Det at vælge linjestykker, at gruppere elementer og så videre følger ikke de gængse uskrevne regner for hvordan de fleste programmer gør dette. Man kan sagtens, men flowet er et andet.Man skal vælge hvilken funktion, man vil bruge før end, man vælger hvilke objekter den skal operere på.  Det er nok lidt ligesom Gimp. Programmet kan det meste, men gør det på sin egen måde.

En ret cool freture er, at man kan indtaste kommandoer til hvad der skal udføres. Altså en CLI. Det er supergodt når man kommer til at kende programmet, da man dermed kan klare meget mere med tastaturet. Sundt er det, at lade det lille skadedyr med 3 knapper på ryggen blive ligende i fred.

Desværre er dokumentationen ikke fanastisk. Måske nok komplet, men en tutorial og en dybere gennemgang af enkelte dele havde været bedre. Til at lave en enkelt tegning, så er Qcad fint. der er ingen grund til, at investere i Autocad eller andre hundedyre programmer for at lave en skitse til en plantegning eller et snit af en gavl. Man kan med andre ord komme langt med fri software, der uden beregning kan hentes hjem og installeres når som helst.

18. februar, 2010

1.2GHz arm server i drift

Filed under: hardware,linux — andreas @ 21:57

Rackskab - nu med gigahertz arm NAS

Hvor er det en fornøjelse. Endelig fik jeg min Buffalo Linkstation LS-XHL i drift. Jeg demoede den i efteråret til Open Source Community Day, hvor man kunne se, at den godt kunne trække både Mythtv og en squeezebox server. Jeg havde dog snydt lidt blot lagt min gamle debian NAS installation ind i et underkatalog og så lavet en chroot til dette underkatalog, mounted /proc og så ellers starte de ekstra services. Dette virker fint men har en række fordele og ulemper. Man kan fortsætte med at benytte NAS’en som den er tænkt af fabrikanten og så blot lege med sine egne programmer i et hjørne. Den største ulemper er nok, at man er bundet til en bestemt Linuxkerne. Jeg ville kunne benytte en nyere og bygge de kernemoduler, der gør det muligt, at benytte sjove USB-dimser så som en DVB-T tuner. Fordelen ved at beholde den medleverede kerne er, at det er nemmere at få aflæst powerkanppen og få blæserstyringen til at fungere.

Det var stort set lige ud af landevejen at bygge en 2.6.32 Linuxkerne til NAS-boksen.Ingridienserne er en vanilla 2.6.32 kerne og en mindre LS-XHL platformspatch fundet her. Dertil skal man selvfølgelig have en arm krydscompiler installeret. Her benyttede jeg den så lå i Marvells udviklingskit til SheevaPlugen, der jo benytter samme chipsæt.

Det absolut mest bøvlede var, at der ikke er seriel kontakt med uboot bootloaderen. Hermed, skal alt klappe og virke, man kan først få kontakt med sin NAS når systemer er bootet så langt op at netværket er oppe at køre. Meget kan gå galt inden da. Så skift kun een komponent ud af gangen og start med en kørende opstilling. Så den nye kerne kunne fint køre med det originale rodfilsystem leveret af Buffalo.

Jeg valgte at lave en noget anderledes partitionering end den oprindelige. Et par ting er vigtige at huske her. Da jeg ikke piller ved uboot, som ligger i flash, så er bootparametrene faste: “  console=ttyS0,115200 root=/dev/sda2 rw initrd=0x00800040,32M panic=5 BOOTVER=0.08”. Lad dig ikke snyde af at der tilsyneladende er seriel support. Alt er på plads på softwaresiden, det er blot på hardwaresiden, at der lige er klippet et par komponenter ud i forbrugerversionen frem for udviklerversionen af NAS-hardwaren. Så initrd og kerne skal ligge på partition 1, som skal være ext3 formateret. Navnene er: uImage.buffalo og initrd.buffalo. Partition 2 skal være rodpartitionen – med mindre man laver sjove julelege i initrd’en. Det er vigtigt at man ved formatering af ext3 filsystemet på partition 1 husker at bruge option “-I 128” til mkfs.ext3. Ellers kan uboot i flashromen ikke læse kernen og initrd’en.

Oprettelse af rodfilsystem laves med debootstrap. Jeg gjorde det nemt for mig selv og lavede det natively på en af mine gamle ARM baserede NASer. Krydsinstallation kan godt være noget vanskelig, så det sprang jeg over. Så skal der tilrettes nogle få filer og netværket sættes op. Kogebogsopskriften fandt jeg her. Men ak, der var noget der drillede. Og hvert mislykket forsøg kræver, at disken afmonteres og sættes over i et sata til usb interface på en anden PC. Det viste sig, at min bootsekevens kom til at hænge i /etc/rcS.d/S06checkroot.sh. Hvis jeg rettede i scriptet og tvang rootcheck=no, så kørte alt på skinner. For at kunne komme frem til dette, så lavede jeg mig en “console”, der skrev til disk under opstart. Jeg rettede i /lib/lsb/init-functions og pipede alle echo kommandoer over i /tmp/snydekonsol.Hermed fik jeg et spor på disken, som kunne bruges til næste boot forsøg.

Nå men det lykkedes at få installeret en debian unstable med en 2.6.32.4 kerne på Buffalo Linkstaion LS-XHL maskinen.  Så kom de mange glædelige overraskelser. Jeg have forkælet mig med en DVB-T USB tuner. Jeg valgte en Asus Mycinema-U3100/mini DVBT. Skuffelsen var stor da jeg fik den tilsendt og fik modellen, som hed plus til efternavn. Modellen uden plus skulle virke på Linux Asus EEE uden kvaler, den anden nævnte det overhovedet ikke på produkthjemmesiden. Heldigvis var hardwaren identisk. Der var blot en ekstra USB-dims med et IR-øje og en elendig fjernbetjening med. Det virkede med Linux lige ud af boksen. Den næste gode overraskelse var, at den også virkede under ARM linux. På min gamle buffalo NAS kørte jeg en 2.6.25 kerne, og der krævede det et hack i usb-delen af kernen at lokke data ud af DVB-T enheder. Så den fejl er fikset i mellemtiden. Asus DVB-T enheden har heller ikke den samme irriterende firmware bug som min gamle TakeMS DVB-T enhed havede. Den holdt i praksis op med at virke efter et par dage. Kun en kold reboot fik den på bedre tanker. Så den er fin til at tage med laptopen på farten med ikke i en fast serveropstilling.

Som kom tiden til softwareopdaterinerne. Squeezebox serverne havde tidligere været ret bøvlet at installere fordi, de kløjs rundt i hvilke versioner den krævede af en række Perl CPAN moduler. Men her havde Logitech oppet sig. En deb fil hentet direkte fra Logitechs Squeezeboxhjemmeside og så var den hjemme. Install med dpkg -i og så en efterfølgende apt-get install -f for at sikre afhængighederne. Nemt.

Mythtv installerede jeg i version 0.22, hvor jeg tidligere havde kørt 0.21. Det gav lidt knas, men ikke noget som 1000 andre ikke var faldet i før mig. Jeg installerede også mythweb, da jeg nu har en NAS-server med hele 256MB ram og ikke sølle 128 MB som jeg tidligere har måttet nøjes med. Ingen problemer med at trække dette også. Lækkert.

Og så endnu en god overraskelse. Jeg havde indtil nu kørt ATA over Ethernet (AoE) på min en gamle sløve NAS og alle de andre sjove services på NAS nummer 2. Min LS-XHL havde ingen problemer med at trække begge dele. Og faktisk så kan man virkeligt mærke at AoE er hurtigere pga. den hurtigere CPU NAS-serveren har.

Alt i alt så har jeg skiftet to servere ud med en ny, hurtigere og billigere. Det er ganske meget server man kan få for 1500 kr.

nas og nas2

De to gamle servere er nu kommet på pension. de har kostet omkring 4000 kr i indkøb. Men så var det jo også med en 500GB disk i hver og 400 MHz ARM processorer.

31. december, 2009

Renovering af gammel C-kode med ny teknologi

Filed under: linux — andreas @ 23:38

I de forløbne godt 3 måneder har jeg haft fornøjelsen af, at være lejet ud til et firma, hvor jeg har bistået med at portere en god klump gammel C-kode, der tilmed findes i utallige kundetilpassede varianter. Systemet ønskes nu flyttet fra SCO-unix til Linux. Det giver et par udfordringer.

Det umiddelbart nemme er, at det er et flyt fra et posix-miljø til et andet posix-miljø. Men pas på. En simpel funktion som f.eks. strcmp() er i SCO-udgaven af C-biblioteket implementeret, så den returnerer plus eller minus en afhængig om den ene streng er større end den anden. Posix standarden kræver blot, at returværdien er større eller mindre end 0. Dette er også hvad man kan forvente af glibc, som benyttet i Linux. Men hvad nu hvis den gamle kode udnytter SCO’s ide om at returnere plus/minus en og gange resultatet med et eller andet? glibc implementationen returnerer måske -405345 frem for -1. Med andre ord, det er nødvendigt, at lave nogle simple wrapper-funktioner, der kan redde gamle dages uvaner i koden. Havde koden kun eksisteret i en variant, så kunne man nok finde frem til uvanerne, men ikke i dette tilfælde, hvor koden findes i utallige kundetilpassede varianter i forskellige kode-generationer. Løsningen er selvfølgelig, at programmere sig ud af problemerne. Et større script, der kan manipulere C-koden og levere kode, der kan køre på den nye platform. Her har jeg benyttet objectorienteret Perl og store mængder regulære udtryk. Regulære udtryk er dog ikke optimale til alt.

Til Open Source Community Day 2009, var der et foredrag om Coccinelle med Julia Jawall, som jeg gerne ville have set. Jeg missede det dog, da jeg selv holdt foredrag samtidigt. Jeg fik dog læst op på hvad Coccinelle var for en størrelse, og fandt ud af, at det var netop hvad jeg havde brug for til min konsulentopgave. Coccinelle kan lave semantisk patchning af C-kode. Et helt simplet eksempel er, at skifte et funktionskald ud med et andet. Patchen ser således ud:

@@
@@
– foo
+ bar

Og det var så det. Hermed bliver alle instanser af foo skiftet ud med bar. Dette gælder også hvis foo benyttes som funktionspointer og der altså ikke står “foo(“, som man ellers ville have ledt efter med et regulært udtryk. Står der foo i printf-sætninger, ja så udskiftes de selvsagt heller ikke. Super fedt, at have en patch-funktionalitet, der forstår semantiken af den kode man manipulerer.  Coccinelle er dog ikke de eneste rigtige værktøj til opgaven, men den har en fremtrædende plads i værktøjskurven.

Det bedste har faktisk været den super fornemme support, der er ydet på Coccinelle-mailinglisten. I flere tilfælde er mine nybegynder dummespørgsmål blevet besvaret med en løsning inden for 20 minutter. Den slags er ikke til at betale sig fra kommercielt, men det er der jo selvsagt heller ikke tale om her. Det er er dansk/fransk forskningssamarbejde og engagerede personer og i særdeleshed Julia Jawall. Tak for det.

25. oktober, 2009

Open Source Community Day 2009

Filed under: hardware,linux — andreas @ 23:13

Andreas demonstrerer billig NAS ved OSCD2009

Tak til det hårdt arbejdende coord-hold for en velarrangeret græsrodsdag. Selv fik jeg fornøjelsen ved at holde et fordrag med titlen “Billig NAS misbrugt til server”. Jeg har for et par uger siden købt en Buffalo Linkstation LS-XHL, som i modsætning til de øvrige Buffalo NAS’er jeg har, er baseret på Marvells nye Kirkwood SoC’en frem for den gamle Feroceon serie. Det betyder 1,2 GHz frem for 400 MHz. Desuden har NAS’en 256 MB ram frem for de 128 MB ram, som jeg har været vant til at lege med. Desværre er der ikke seriel support umiddelbart tilgængeligt, så det hele bliver noget mere bøvlet. Det er dog billigt at få en 1,2 GHz maskine med 1 TB disk til under 1500 kr. Endda en maskine med et forholdsvist lavt strømforbrug. Slidesene fra foredraget er allerede tilgængelige på OSCD hjemmesiden.På billedet ovenfor er jeg i gang med at demonstrere Logitech Squeezeserver og fjernbetjeningen dertil, som i øvrigt også er ARM baseret og hackbar. Der er jo ganske imponerende, at der er en standard feature ved et forbrugerprodukt til de brede masser, at man kan slå ssh adgang til, så man kan logge ind og fjernbejene sin fjernbetjening. Tak til Kristian Vilmann, der medbragte rørforstærker og højtalere, så der kunne komme lidt lyd på demoen. Han var også fotografen, der fangede mig på billedet ovenfor.Video af sceancen skulle blive tilgængeligt inden for nogle uger.

Skulle man have lyst til at kaste sig over at hacke sin Buffalo Linkstation LS-XHL NAS, så check lige følgende side. Men måske er det dog en god ide, at lære lidt Japansk først. Eller alternativt bruge translate.google.com. Det engelskesprogede community omkring NAS’er findes her.Her er især meget guf, hvis man kaster sig over de ældre modeller.

4. september, 2009

Linux og Open Source expert

Filed under: job,linux — andreas @ 23:47

visitkort

Først lige et stort tillykke til Miracle med deres nye Århus satsning Geekhouse. Jeg var til reception der i dag, som opfølgning på deres velbesøgte Festuge For de Fyrede arrangement. Det er altid en fornøjelse, at møde masse IT-folk i afslappede omgivelser, høre hvad folk brænder for og tage temperaturen på jobsituationen i al almindelighed. Slet ikke dumt, når man nu som mig har valgt at søge nye udfordringer. I dagens anledning havde jeg lavet mig nogle diskrete visitkort. Ja faktisk var de gennemsigtige. Hvad ellers kendetegner Linux og Open Source bedre end gennemsigtighed?

Linuxexpert er jeg blevet via min brug af systemet gennem 15 år. Jeg har arbejdet med et utal af distributioner både embeddede og server/desktop distributioner. Mit professionelle arbejdsværktøj de sidste 10 år har været det store GNU og Open Source værktøjskasse. Masser af programmering i C, Python og en lang række andre scriptsprog. Jeg har lavet en del tilpasninger af Linuxkernen. Især i netværksdelen. I de seneste 4 år har jeg ikke blot brugt Linuxplatformen som værktøj for at bygge lukkede programmer, men i stedet har jeg arbejdet med Linux indlejret i produkter. Dette stiller helt andre krav. Her er det essentielt at have styr på licenserne.

Open Source-expert er jeg fordi jeg har et godt kendskab til Open Source licenserne. Dette har jeg kombineret med en juridisk faglig forståelse for ophavsret. Ud over licenserne er det bidende nødvendigt, at kunne lave leverandørvurderinger af de Open Source komponenter man vil basere sit produkt på. Hvor længe vil komponenten leve? Udvikles den til stadighed? Hvad er kvaliteten? Hvilke alternativer er der? Faktisk er det ofte muligt, at lave en mere dybdegående leverandørvurdering på Open Source Software end det er på lukket software købt hos et firma.Der er en langt større gennemsigtighed.

Ganske mange store programmeringsopgaver flyttes til lavkostlande som Rusland, Kina og Indien, men systemer hvortil der ikke skal programmeres i større omfang vil forblive på danske jord. Her tænker jeg især på projekter der sætter en række Open Source programmer sammen til en større helhed. Der skal laves lidt klister og et par procents tilføjelse her og der. Den slags opgaver et ofte komplekse og nært knyttet til forretningen. Det er heldigvis netop den slags opgaver, der er spændende at arbejde med.

Det er ikke ligefrem nogen nyhed, at man kan tjene penge på at forære noget væk. Alligevel undrer det stadig mange, at det kan betale sig at give noget software væk som Open Source. Alle kommer til at bruge Open Souce Software i et eller andet omfang, men dem der kommer til at tjene mest, det er dem der også har forståelsen for hvornår det kan betale sig selv at give  noget væk. Det er simplethen blot godt købmandsskab.

1. september, 2009

usb raid

Filed under: hardware,linux — andreas @ 23:37

USB RAID

Det måtte jo afprøves. For at øge hastigheden på mit lydløse desktop system, så benytter jeg en usb-stick  til at holde /usr partitionen. Resten kører over netværket og AoE protokollen. Hvad nu hvis man benyttede et raid system af USB sticks? Så et kig i gemmerne og et mockup var muligt. Via Google fandt jeg en anden, der havde leget med usb raid tidligere. Jeg fulgte opskriften og lavede mig et raid 5 system med 4 usb sticks. Raid funktionaliteten fungerede fint. Ingen problemer med at køre videre på raidet selv om en af usb-sticksene hives ud. Rent hastighedsmæssigt, så var overførselshastigheden ca. 3-4 gange den langsomste i stick i raidet. Og der er stor hastighedsforskel mellem de forskellige sticks. Så hvis jeg vil vinde noget rent performancemæssigt, så skal jeg ud at have fat i nogle sticks der alle er lige så hurtige som den hurtigste i testopstillingen.

Efter et kort stykke tid med kørsel på raid-systemet crashede filsystemet. Det skulle repareres. Ingen af raid-enhederne var stået af. Problemet viste sig, at være at den ene usb-stick er ustabil. Jeg har haft påført den alt for mange skrivninger. USB sticks kan altså ikke klare at blive brugt til swap partition. Så USB sticks går altså typisk i stykker ved at der opstår læsefejl på sticken. Ikke noget med at hele disken fejler, som der muligvis er en større  risiko for ved klassiske harddiske. Skrivefejl på enkel-sektorer er dog heller ikke et ukendt fænomem på harddiske. Her kan man ofte benytte S.M.A.R.T. protokollen til tage højde for de kommende fejl. Desværre kender jeg ikke til USB-sticks, som understøtter S.M.A.R.T. selv om dette vil være en bedre løsning. Hermed er vi tilbage til, at det er filsystemet der crasher og ikke raid devicene. Så i praksis kunne jeg lige så godt køre med raid 0 frem for raid 5. Den øgede datasikkerhed opnås kun hvis det er hele diske der crasher.

12. juni, 2009

Linux og vellyd

Filed under: hardware,linux — andreas @ 0:57

logitech squeezebox receiver

For et par uger siden faldt jeg over et tilbud hos Elgiganten på Logitech Squeezebox Duet.Squeezebox er en serie af netværkmedieafspillere. De kan afspille lyd og ikke billeder, så det handler om internetradio, forskellige internet musikudbydere og ikke mindst ens egen lyd samling rippet fra f.eks. CD. Logitech har købt sig til denne produktserie. De foregående produkter blevet lavet og solgt under navnet Slimdevices. Logitech har dog kunnet tilføje en del – og et produkt som netop denne Squeezebox duet løsning virker klart som et produkt, der er blevet løftet af at blive købt ind i en stor koncern. Duet består af en afspillerenhed med kun en enkelt knap på fronten og så en fjernbetjening, der i teknik minder lidt om en forvokset mobiltelefon. Med fjernbetjeningen følger en laderstand, som Logitech lige burde sende en tur forbi ingeniørafdelingen igen efter turen i designlokalet. Med mindre man sætter noget i klemme bag til, så står fjernbetjeningen ikke lodret nok til at de to ladespyd får forbindelse. SUK. Det er simplethen en ommer. Men bortset fra dette, så er designet helt i orden. Indpakningen var også designet til at give indtryk at et kvalitetsprodukt.

Elgiganten havde dumpet prisen til 1700 kr. Jeg har snakket med en andet logitech distributør, som mente, at det var parallelimport. Bestemt ikke noget, der passede ham godt, at Elgiganten solgte til lavere priser end han kunne købe ind til hos Logitech. Specielt ikke når de havde svært ved at levere. Det var også hvad jeg oplevede. I den butik jeg valgte have de fået 4 styks hjem og de var solgt på under en time. Ikke særligt imponerende, når det var et tilbud, der skulle køre i 2 uger. Så jeg måtte bestille den hjem og vente et par uger på levering. Elgiganten har sikket lavere avancer end typiske HIFI butikker, som også fører Logitech Squeezebox serien. HIFI-klubben har ført dem og vil måske føre dem igen senere. Lige nu satser de på en af konkurrenterne nemlig Sonos. Det er et mere lukket system, som så givet vis er nemmere at få til at fungere for hr. og fru Jensen. Har man en lille smule IT kundskab, så vil jeg pege på Logitech. De to får nu ikke lov til at være alene på scenen, også Cisco/Linksys vil gerne være med. B&O har haft multirums systemer i masser af år, men det virker som om de er gået i selvsving over DRM og lukkethed. Logitech Squeezebox er temmelig åben via dens historie. Hele serverdelen er GPL licenseret og først og fremmest skrevet i perl.

Det meste af softwaren er Open Source og Linux er selvfølgelig understøttet også officielt. Her snakker vi ikke kun om x86 Linux, men Linux generelt. faktisk kræves der blot en nyere perl installeret. Så det lykkedes mig at få den tilhørende serversoftware installeret på min Buffalo Linkstation NAS, der kører Debian unstable på en arm arkitektur.Dog var det noget bøvlet at få alle perl modulerne i de rette versioner for debians pakkesystem går lidt på tværs af CPAN modulerne. Men med kildekoden i hånden kan meget lade sig gøre. Der findes dog andre NAS’er der er mere direkte supporteret.

logitech squeezebox controller

Også controlleren kører Linux. Man kan fra en undermenu slå ssh til, så man kan logge ind på den remote.Remoten er ikke overraskende baseret på en arm core. Den har 64 MB ram og NAND flash på 64MiB. Remoten kan også bruges til musikafspilning. Der er mulighed for at sætte SD-flash kort i den og dermed måske bruge den til bærbar musikafspiller – hvis ellers WIFI delen kan slået fra for at få batterilevetiden op. Det eneste der manger er en mikrofon, for i givet fald kunne den blive en fin WiFi SIP telefon. En simplel hardware-modifikation burde kunne klare det. Infrarød diode er der også, så den kan hackes til at være almindelig infrarød fjenbetjening til de fleste eksisternde analoge musikanlæg.
logitech squuzebox boom

Et par uger senere valgte Elgiganten så at køre tilbud på Logitech Squeezebox Boom, som jeg også puttede i kurven. Det korte af det lange er, at jeg nu har streamet musik i stuen og i køkkenet. Musikken kan synkroniseres, så samme musik kan høres i begge rum og en helhedsfornemmelse kan opnår når kan går fra det ene rum til det andet. Fjernstyring kan ske fra controlleren (fjernbetjening med WIFI og skærm) og fra Boom-boksen (gettoblaster udseende).
Boom-boksen har Peter Toft lovet at anmelde for noget tid siden på version2.dk, men det har vi vist til gode endnu. Jeg kan måske råde lidt bod på det her. Boom virker lige ud af boksen og jeg benytter den internet radio hvor jeg hører P1, P3, DR Hit og DR Oline – dog mindst P3, da det er anstrengende at høre på værter, der gør en dyd ud af at være uvidende. Som det kan ses af billedet, så ankommer Boom med en usædvanlig grim sort boks. Strømforsyninger kan altså laves langt mindre og pænere nu til dags. Den burde være indbygget. Menuerne er logisk opbyggede. Dog skal man lige vænne sig til, at den store runde knap ikke kun er til volumenkontrol. den er stor set til alt. 6 styks knapper til direkte valg af favoritter er også en super ide.

Alt i alt er det super fedt med en musikløsning til flere rum, der benytter standard systemer så som WiFi og på serversiden kun kræver perl.  Skønhedsfejlene er klart til at lave med især når man tænker på hvor meget mindre dette system koster end f.eks. et B&O system.

13. maj, 2009

Netværksdiske. AoE fremfor NFS

Filed under: linux — andreas @ 23:45

Jeg har gennem noget tid benyttet en tynd klient fra HP, som min desktop maskine. Det er en maskine i opretstående brødristerdesign uden blæsere eller diske i. Det har samtidigt været min kraftigste maskine, så jeg har ikke benyttet den som tynd klient, men derimod som en tyk klient. Den indbyggede flash disk er alt for lille til at indeholde et rimeligt komplet Debian system. Jeg har derfor benyttet almindelige USB sticks som lokal og støjfri disk. problemet er blot at USB sticks ikke er pålidelige som diske til operativsystemer. de kan ikke klare alt for mange skrivninger og hastigheden er ofte ikke alt for god. For det meste er den ukendt. Så efter at have skiftet USB stick et par gange, så var tiden moden til en anden løsning.

Min lille Buffalo Linkstation NAS maskine med  500GB disk og en forholdsvis sløv ARM processor benyttede jeg allerede som nfs server til /home. Så det var selvfølgelig nærliggende, at køre rodfilsystemet hen over nfs også. Et simplet boot via bootp/dhcp og PXE bringer kernen og initrd i sving, og så skal det engelige rodfilsystem bare mountes. Stabiliteten var fin, men hastigheden var dræbende. Et skift fra KDE 3.5 til KDE 4.2 gjorde det ikke bedre.

Så slog det mig. ATA over Ethernet (AoE) var nok løsningen for mig – for der er jo ingen grund til at dele rodfilsystemet med andre på samme måde som /home. Jeg fandt to gode links til, at få  AoE til at spille under Debian unstable.Først en om hvordan AoE sættes op, og dernæst en om hvordan man booter på AoE devices. AoE kan tunes hvis man sætter ethernet MTUen op til 9000 frem for de 1500, som er standard. Det går fint med min NAS boks og fint med min switch, men den TG3 chip der sidder i netop min tynde klient kan ikke klare større MTU end 1500. Så ingen nem hastighedsforbedring her. Så jeg må fortsætte med MTU på 1500. Hvis man ser bort fra cache effekter, så virker AoE en smule langsommere end NFS, men netop cache effekter er meget væsentlige for rodfilsystemet. Caching ved AoE foregår på min tynde klient, der har noget mere RAM end min lille NAS boks. I NFS tilfældet, så er caching noget der først og fremmest sker på NAS boksen. Hvis en fil røres, så skal serveren spørges, for det kunne jo tænkes, at andre havde rørt filen i mellemtiden. Ved AoE, så er der jo per defination ikke andre der rør filen, så der kan læses og skrives en del i cache i den lokale RAM på den tynde klient uden, at der netværksaktivitet er nødvendig. Jeg bruger i øjeblikket vblade som AoE server, men der er andre implementationer, der måske er mere effektive. Så nogle ekstr procent i ydelse skulle bestemt være muligt. Der er i alt fald mere plads på netværket. Det er ikke her flaskehalsen er. Nu har jeg faktisk to NAS maskiner, så raid1 over AoE kunne også være en mulighed for at booste læsehastigheden og samtidig sikre sig mod disknedbrud. Backup kan stadig foretages, da de eksporterede partitioner, kan mountes lokalt på NAS maskinen readonly.

Så alt i alt så har skiftet til AoE selv i den simple version, som jeg kører nu, været en klar forbedring af mit setup.

« Newer PostsOlder Posts »

Powered by WordPress