Andreas Bach Aaen

23. juli, 2015

Banana PI

Filed under: hardware,ophavsret,patenter — andreas @ 7:00

Banana PI

Jeg havde i nogen tid overvejet at lage lidt med den billige platform Raspberry PI, men mit valg faldt tilfældigt på den lille konkurrent Banana PI.

Det er samme kategori af computer som Raspberry PI, men Banana PI er lidt hurtigere. Den har gigabit ethernet samt SATA interface. Pris under 300 kr. Dertil kommer strømforsyning, kabinet og et flashkort. Alt i alt ender man pÃ¥ 500 – 600 kr. Stadig meget billigt for en computer.

Det tiltalte mig, at den bruger ganske få watt. Strømforsyningen er på 10W, så vildere bliver det ikke. Min Intel Atom 230 desktop PC bruger omkring 50W.

Jeg fik installeret en variant af Debian på den og gik derefter i gang med at tune enheden. Her viste det sig, at chipproducenten som i så mange tilfælde ikke har været helt fine i kanten. de har lavet closed source drivere og tilmed stjålet LGPL kode og proppet deri. Communitiet omkring chipsættet har reverse engineered en del, så det er muligt at få god hastighed på grafikken og support for hardware accelereret video-dekodning.

Set i bakspejlet burde jeg have valgt en løsning fra en anden chipfabrikant med lidt større respekt for ophavsret. Problemt er nok, at der er mest forretning i at bryde ophavsretten her. Hvis producentern åbner op, så bliver de selv nemmere at kopiere. Det bliver nemmere at forstå deres produkt og dermed indse, hvilke softwarepatenter de overtræder. Så vil man helst ricikere at bliver truet at private softwareentutiaster eller vil man sagsøges at et af de store patentmonopoler? Med den baggrund er der ikke megen lys for enden af tunnelen for ar få gode grafikdrivere og hardware acceleration til ARM linux foreløbigt.

Det er super ærgeligt for hardware acceleration er afgørende for enheden. Det er disse optimeringer, der gør at den hastighedsmæssigt reagerer cirka lige så hurtigt som min gamle Intel Atom 230 baserede desktop. Reelt har dette betydet, at jeg har valgt at pensionere min gamle Intel baserede desktop computer og dermed spare mindst 40W. Dog har jeg valgt at køre de tungere applikationer via remote X fra min server, så får jeg også lidt ekstra ud af de Watt den brænder af.

24. marts, 2015

Død hardware – ny server indkøbt

Filed under: hardware,linux — andreas @ 18:05

HP ProLiant Micro Server Gen 8

Min centrale server stod af kort efter nytår. Falshdisken deri havde det meget skift. I modsætning til de fejl jeg har oplevet på klassiske roterende harddiske, så fik jeg kun kontakt med flashdisken 4 gange og hver gang var der 80% mere der var holdt op med at virke. Altså en hurtig død. Jeg nåede ingen data at redde ud af denne disk før jeg endegyldigt mistede forbindelsen til den. Jeg tabte en del konfiguration, som jeg ikke havde backup af, men ingen vitale data. Mine vitale data får ikke lov til at leve på en enkelt disk, så havde det været en disk med vitale data på, så havde jeg haft en fuld backup.

Serveren havde det ogsÃ¥ skidt, sÃ¥ det var tid til at indkøbe en ny. Valget faldt pÃ¥ en den billigste entry model af HP’s servere en HP ProLiant MicroServer Gen8 Entry. Rent processormæssigt er den alligevel langt hurtigere end min gamle server. 1900 kr plus lidt mere ram plus en ny flashdisk. Rent byggemæssigt er det tydeligt at kabinettet er designet af folk, der er vant til at lave servere. Det er meget servicevenligt. Da jeg har placeret min server i et rackskab i teknikrummet er det ogsÃ¥ veldig praktisk, at serveren kan fjernbetjenes. Her er det rart med den iLo port serveren er udstyret med. Her kommer der dog en men. iLo softwaren kræver en licensnøgle for at slÃ¥ alle de fede features til. En sÃ¥dan licensnøgle er prissat efter de dyre servere og ikke denne billige entrymodel. Synd. Der er dog 30 dages prøve nøgler at finde pÃ¥ nettet. Med sÃ¥dan en pÃ¥ plads lykkedes det at installere serveren fra scratch uden pÃ¥ noget tidspunkt at have sat et tastatur eller skærm til den.

Serveren bruger jeg til filserver samt til diverse services. Disse kører jeg fra en mindre antal virtuelle maskiner. Til virtualisering benytter jeg KVM (qemu). Som noget nyt har jeg denne gang forsøgt mig med btrfs som bærende filsystem for mine data partitioner. Det giver også mulighed for snapshots, som er godt til at tage backup af kørende virtuelle maskiner med.

10. marts, 2015

Super bærbar med Debian Linux

Filed under: hardware,linux — andreas @ 7:00

Debian på Chromebook

Min sidste bærbare computer var 2. runde af de såkaldte netbooks. Denne trend fik en begrænset levetid, men de pressede det øvrige PC marked for bærbare inden det sidenhen blev skamferet af tablets. Jeg var glad for min netbook. Den var lille og nem at have med på rejser. Den havde flashdisk og var derfor hurtigere end modellerne med harddisk. De små flashdiske var perfekte til at installere Linux på, min kom endda med en Linux preloaded. Den slags kunne Microsoft ikke lide og de tog kampen op og genvandt nettop markedet med billige Windows licenser. Desværre begyndte man igen at komme harddiske i maskinerne og prisen sted også en smule.

I dag dominerer tablets markedet. Vælger man Android kan man få dem billigt, men nu var det en enhed med tastatur jeg gik efter, da jeg vil benytte den til tekstbehandling. Man kan få keyboards til tablets, men det giver mig ikke adgang til LibreOffice eller ligenende tekstbehandlingsprogram, som jeg i ro og mag kan køre offline.

Mit valgt faldt på en Chromebook. Det er et koncept Google markedsfører og som i bund og grund er nettop PC, der kun er installeret en browser på. Alt skal køre online og helst med Googles tjenester. Den virker fint ligeud af boksen og er ikke smattet ind i skod nagware programmer, som man ricikerer hvis man køber en billig Windows PC i Aldi.

Det var dog ikke min tanke at benytte denne mini PC som Chromebook, men som en Linux bærbar. Indtil nu må jeg sige at jeg er super tilfreds med min Acer C720 chromebook.

Jeg har åbnet maskinen og pillet en skrivebeskyttelsesskrue ud. Hermed kan man flashe parametre til opstart og sågar hele bios hvis man lyster, Jeg installerede en Debian stable på den og flashede derefter bios til en Coreboot Seabios. Det giver en superhurtig opstart. Måske 7 sekunder for at starte op og logge ind i Gnome desktoppen. For at få touchpladen understøttet var det nødvendigt at installere Linux kernen fra Debian Experimental. Ret simpelt. Suspend virker ud af boksen og lidt let fiflen med powertop sikrer en batterilevetid på +9 timer. Lige nu er estimatet på 5 timer og 20 minutters resttid på et 64% opladet batteri. Dette er en kraftig forbedring i forhold til min gamle nettop. Med powertop kan jeg aflæse, at wattforbruget kan komme ned på omkring 3,5W . Godt arbejde af Intel.

Plusser:

  • Lang batteritid (+9 timer)
  • godt tastatur med god vandring.
  • let
  • hurtig CPU
  • hurtig boot
  • flashdisk
  • billig – set ned til 2000 kr.

Minuser:

  • skærm af middel kvalitet
  • ikke HD opløsning eller bedre pÃ¥ skærmen.
  • toiuchplade af middel kvalitet
  • Blæser der starter og stopper

Med andre ord denne mini laptop har min kraftigeste anbefaling. Hardwareunderstøttelsen af Linux er på plads. Lidt nyere Chromebooks benytter nyere chipsæts og er ikke helt så godt understøttede og er faktisk lidt langsommere.

Tak til Google of Acer for at gøre det muligt og endda ret nemt at benytte hardwaren til andet end det medfølgende Chrome produkt. Det er voldsomt meget man får for pengene med Debian installeret derpå.

13. april, 2014

Backup i sikker afstand

Filed under: hardware,IT-politik,linux — andreas @ 21:12

rackskab i udhus

Rigtige mænd tager ikke backup – de græder. Dette er den klassiske undertitel til en ophængt hardisk med der brudt sammen med smadrede læsehoveder.

Nogle gør som rigtige mænd, andre systemateser det voldsomt. Jeg hører ikke til nogen af yderkategorierne indenfor backup. Jeg har jævnligt taget backup af mine vigtigste data fra een hardisk til en anden. Ikke fast, men en gang i mellem. Egentlig synes jeg det er fornuftigt, at gøre det oftere, men jeg har aldrig fÃ¥et automatiseret det – lige indtil for nylig. Samtidig har der været andre grunde til, at jeg ikke har være tilfreds med min hidtidige løsning.

  • Hvis der var indbrud – ville tyven sÃ¥ ikke tage begge harddiske med, hvis de stÃ¥r lige ved siden af hinanden?
  • Hvis et lyn rammer ned i installationen, vil alle diske sÃ¥ stÃ¥ af?
  • Hvis der gÃ¥r brand i huset, vil alle harddiske gÃ¥ tabt?

Med andre ord, hvilken type fejl var min hidtidige praksis en forsikring imod? Altså backup fra en harddisk til en anden harddisk stående lige ved siden af. Det sikrer helt klart imod klassiske diskcrash, hvor en harddisk bryder sammen. Jeg er ikke vidende om at jeg er ramt endnu. Måske har jeg diske hvor der er opstået checksumfejl på lokale sektorer, men hvor firmwaren har flyttet data til andre områder. Jeg har ikke undersøgt dette og ved ikke om de ret advancerede firmwares der er på harddiske snyder mig. Jeg har ikke haft et datatab af betydning. Den manuelle ustrukturede sikkerhedskopiering, har sikret, at jeg er klar over hvor frisk en kopi jeg har. Jeg går ikke og bilder mig ind at min automatik har klaret ærterne for mig hver nat, mens realiteten er at scriptet er gået i står for måneder siden. Så ved at gå over til automatisk backup, så tilføjer jeg også muligheden for falsk tryghed.

Mit husbyggeri gjorde, at jeg fik installeret min centrale server i teknikrummet inde i huset. Samtidigt beholdte jeg konceptet med et mindre rackskab i udhuset. Dette skab er nu blevet til mit backupskab. Her står en lille nas maskine, som jeg har sat op til at lave automatisk backup af mine vigtigste data. I praksis hjemmekatalogerne. Backup af komplette maskiner har jeg holdt mig fra. Her foretrækker jeg at sætte dem op på ny ud fra en nyinstallation, hvis uheldet er ude. Det er jo bestemt heller ikke sikkert, at jeg vil have noget tilsvarende hardware efter et datatabsuheld.

Til den automatiske backup til mit backup skab har jeg benyttet rdiff-backup og fulgt denne opskrift. Jeg har fået mig et serverrum nummer to i en anden bygning. Ikke en bygning langt fra huset, ikke en bygning koblet på en anden el-installation, men dog placeret så en brand ikke nødvendigvis tager begge serverrum med i købet. Med lidt held tager en fejlstrøm i el-installationen ikke alle harddiske i begge serverrum med sig og sandsynligheden for et indbrud hvor der er brudt ind i både hus og udhus og det allerede noget ældre it-udstyr snuppet begge steder er temmelig lav.

Nu kunne man jo indvende, at det var bedre at tage backup til en lokation meget længere væk. Dette ville kræve en backup løsning hen over internettet og til en lokation, hvor man kan stole trygt på administratoren. At placere alle mine data i skyen er ikke lige mig. Der er for mange eksempler på udbydere der har lukket butikken igen. Der er også langt større sandsynlighed for at virksomheder eller nationer trævler mine data igennem for at lære mig bedre at kende. Det ønsker jeg hverken at give Google eller NSA mulighed for.

Trofaste læsere af denne blog vil kunne genkende racket. Det har været placeret i mit gamle udhus – og nu sidder det sÃ¥ i mit nye – dog med en del mindre udstyr i.

SÃ¥ backup i sikker afstand for mig er indtil videre omkring 15 meter.

7. september, 2012

Intelligent el-styring og manglende åbenhed.

Filed under: Ã…bne standarder,hardware — andreas @ 7:00

I Danmark er mærkevaren for intelligent elstyring i et parcelhus et IHC system fra LK. Eller det har det i alt fald været indtil nu. Der er selvfølgelig kampen om, at det skal være en trådet eller trådløs løsning. Der er mange propritære løsnigner på markedet, men man bør nok vælge en løsning, hvor der en mange producenter, der bakker op om en fælles standard. Det er trods alt udstyr til husets faste installation, der gerne skulle have en lang levetid. Så hvorfor satse på en enkelt producents overlevelse?

Hvis man vil satse trådløst, så er det nok Z-wave, der har mest vind i sejlene. Det lader dog til, at de store producenter ikke helt har taget denne teknologi til sig endnu. Det spøger også med en masse historier om kompatibilitetsproblemer.

Hvis man vil satse pÃ¥ en trÃ¥det løsning, sÃ¥ er KNX en mulighed. KNX, der tidligere hed EIB og har en del Ã¥r pÃ¥ bagen. Det er en Ã¥ben standard i ISO sammenhæng rent specifikationsmæssigt.Ã…bent vil i dene sammenhæng sige, at man kan købe specifikationen, men at man ikke mÃ¥ videre distribuere den. Der er mange producenter af udstyr – og det virker pÃ¥ tværs af producenter. SÃ¥ der er styring af lys, varme, persienner, vinduesÃ¥bning, vejrstationaflæsning, røg og CO2 detektorer og meget mere. Klart at en enkelt producent ikke er førende inden for alle disse styringsomrÃ¥der. KNX er dog ogsÃ¥ ganske lukket. I praksis, sÃ¥ opsættes styringen af KNX-enheder via eet program ETS, som koster 10.000 kr at anskaffe. Der er ikke nogen Open Source løsninger, der kan sætte et KNX-system op. Der er dog Open Source programmer, der kan styre et opsat system.

Efter sigende så virker elementer fra forskellige producenter ganske fint sammen, da de alle benytter samme lukkede opsætnings og styrings program. I praksis skal alle producenter have deres udstyr godkendt af KNX-organisationen for at kunne markedsføre deres udstyr. Denne stramme styring og lukkethed betyder, at KNX faktisk er dyrere end IHC fra LK til trods for at det er leveret af mange producenter. Jeg har fået en pris på et IHC anlæg til 50.000 kr og et KNX anlæg med samme funktionalitet for 80.000 kr.

PÃ¥ KNXs danske hjemmeside pÃ¥berÃ¥ber de sig: “KNX verdens eneste Ã¥bne STANDARD til bolig- og bygningsautomation”. Desværre lader det til at Ã¥ben betyder commercially available. Det er det som jeg vil kalde Ã¥ben pÃ¥ 1980 niveau. Der er ingen tvivl om, at der kunne skabes et helt andet produkt til en meget lavere pris med en større Ã¥benhed. Standarden er ikke gratis tilgængelig. Der er de facto pÃ¥kærvede dyre certificeringsprogramer. Der er ingen konkurrencesituation om softwaren ETS, som bruges til, at konfigurere og programmere KNX modulerne med. Der er lang vej inden KNX nærmer sig den Ã¥benhed og konkurrence, som man ser indenfor Open Source software og senest ogsÃ¥ med open source hardware sÃ¥ som Arduino.

Alt i alt har denne lukkethed medført, at jeg i først eomgang har valgt ikke at få installeret et intelligent el-system til vores nye hus. Jeg satser på Eurodåser i murene og en hel del tomrør. De intelligente el-systemer bruger typisk mindst 0,8W pr. enhed. Det kan godt summe op til en hel del i et stort hus. Al denne el skal så spares på f.eks. at slukke lyset noget mere. Det er det givet vis en god forretning i for kontorlokaler, hvor der er mange folk, der kommer og går på skæve tidspunkter og ingen har overblikket over om alle er gået og om de som den sidste kan slukke lyset. Dette vil ikke være tilfældet i et privat hjem. Der har du overblikket over om du er den sidste der går i seng eller den sidste der tager hjemmefra om morgenen. Skulle man en gang i mellem glemme at slukke en 8W LED pære og lader den brænde 9 timer inden man er hjemme igen, så rykker det ikke o forhold til måske 70 gange 0,8 W døgnet rundt året rundt.

Så intelligent er er altså at skifte alle pærer til LED-pærer og så leve med , at man glemmer at slukke dem en gang i mellem. Det er langt den billigske løsning, både i el-pris og i anskaffelsespris.

29. november, 2011

hjemmelavet Power over Ethernet

Filed under: hardware — andreas @ 8:00

Det er rart, at have styr på sin IT-installation ved at placere den samlet i et rack, med fælles strømforsyning, UPS og det hele, men en sådan stålkasse er ikke det bedste miljø, at placere et WIFI-accesspunkt i. Derfor er min wifi gateway fremskudt. Den er placeret på vores kontor og har sin egen sorte klods som strømforsyning. Eller rettere, det havde den indtil for nylig. WIFI accesspunktet kører nemlig kun 100 Mbit/s, så der er fire ledige ledere i cat6 kablet. Disse ledere har jeg udnyttet til Power over Ethernet (PoE). Ideen er at forsyne WIFI accesspunktet med 12V fra den UPS sikrede strømforsyning i rackskabet. Jeg tog udgangspunkt i følgende pinkonfiguration. DC+ på ben 4+5 og DC- på ben 7+8. Fødning af DC på linjen har jeg lavet via et modificeret RJ45 forlængerstik og udtaget af strøm i den anden ende, har jeg indtil nu lavet på samme måde. Her overvejer jeg dog, at modificere min router i stedet efter følgende opskrift. Lav lodningerne inde i WIFI accesspunktet frem for at bruge et modificeret forlængerstik og et DC-stik. RJ45-forlængerstikket fra DealExtreme kan iøvrigt ikke anbefales. Kvaliteten er for ringe. Skubber man til stikket, så kan man ikke være sikker på, at der er forbindelse længere. Men jeg har da fået demonstreret, at min fremskudte Linksys WRT router fungerer fint med strømforsyning hen over cirka 20 meter ethernetkabel.

26. oktober, 2011

Vis mig dit rackskab

Filed under: hardware,linux — andreas @ 9:00

Dette er IT-entutiastens modsvar til vis mig dit køleskab for de madglade. Rigtig mange har et ADSL-modem, en router, en switch, en server en ekstern harddisk og måske også en VoIP ATA og en UPS hvis det går højt. Jeg har undet mig selv at pakke alle mine strømslugende blinkende og blæsende enheder ind i et rackskab. Her har jeg så samlet al ledningsrodet et sted. Der en UPS, som hele skabet kører på og der er kun een 12V DC strømforsyning. Jeg har nemlig bygget mig en 12V strømskinne. Hermed undgår jeg at have et utal af sorte klodser, der alle skal konvertere 240V AC til 12V DC. Hermed kan jeg nøjes med en enkelt 12V strømforsyning af en fornuftig kvalitet frem for 5-6 stykker af tvivlsom effektivitet. Det er nemlig bestemt ikke alle enheder, der medfølger gode strømforsyninger til. Jeg har f.eks. en Linksys WRT54GL, som har en medfølgende strømforsyning på 12V DC 1000mA. Den bliver voldsom varm. Skulle det virkeligt være nødvendigt for at kunne levere 12W på sekundærsiden?

Nu er der desværre ikke nogen standard for hvordan em 12V DC strømskinne skal se ud. Der bliver brugt mange forskellige slags stik til DC. Men nogen standard pÃ¥ omrÃ¥det er der ikke. Jeg har valgt at benytte 4 polede XLR stik. De bliver i visse sammenhænge brugt som DC-stik. Stikkene er robuste og falder ikke ud takket være deres klik-lÃ¥sesystem. StiksÃ¥ser kan man dog ikke fÃ¥ i serien, dem mÃ¥ man selv lave. Det nærmeste jeg har kunne komme stikdÃ¥ser til 12V DC er faktisk fordelerstik til cigarettænder stik, som findes i biler. Det er pÃ¥ ingen mÃ¥de fikse stik, men der er meget tilbehør at finde dertil. Det inkluderer ogsÃ¥ 12V til 5V DC konvertere til USB stik, sÃ¥ man kan sine 5V gadgets forsynes fra een og samme 12v strømforsyning. Til XLR stikkene fandt jeg en 19″ rack frontplade, sÃ¥ montering i racket lÃ¥ ligefor.

Der er også sket den forandring i rackskabet, at min arm baserede NAS maskine er udfaset. Den er blevet erstattet af noget kraftigere x86 PC. Men hvorfor nu det? Jo det skyldes egenligt, at jeg gerne ville prøve kræfter med KVM virtualisering og det kræver hardwareunderstøttelse. ARM er dog velkommen igen når de kan levere hardwarevirtualisering med et lavere strømforbrug end den AMD platform jeg kører på nu.

NÃ¥ ja og sÃ¥ er internetudbyderen TDC for tiden, da det er dikteret af mit arbejde. Med lidt held, sÃ¥ kommer NRGI Fibernet med deres Waoo snart. Det er dog op ad bakke at fÃ¥ kunder nok i omrÃ¥det, da man via ADSL kan fÃ¥ stort set maks af hvad standarden kan levere og at Stofa er sækkende i omrÃ¥det mht. kabeltv og internet via kabelmodem. Waoo’s TV pakke eller IP-telefoni tilbud er ikke værd at skrive om, sÃ¥ den egentlige grund til at vælge fbernet er den højere uploadhastighed, som ingen andre kan levere. Prøv lige at sælge det argument her i guldbryllupskvarteret!

Slutteligt har jeg også investeret i en rackmonterbar ethernetswitch. Det er altså praktisk, at lysene for link og netstikkene er på samme side af boksen. Desuden så er nyere switch bedre til ikke at brænde effekt af på porte, der ikke bliver brugt.

På serveren kører jeg blandt andet ssh, tftp, nfs, asterisk , squeezeserver og mythtv. Mythtv kører i en virtuel maskine og de fleste andre services i en anden. Desværre virker USB 2.0 support i KVM ikke ordenligt endnu. Så jeg får ikke optaget så meget med min nythtv server lige nu. Et alternativ kunne være at købe en HDhomerun boks og så samtidigt få to tunere..

Hvordan ser dit rackskab ud?

8. august, 2011

Lego Loop Sorter

Filed under: hardware,ideer,lego,linux — andreas @ 8:00

 

I mit professionelle arbejde, arbejder vi med store maskiner. Vi bygger sorteringsanlæg. Kæmpe store fabriksinstallationer med masser af automatisering. Det er dyre anlæg til mange millioner kroner. Oftest arbejder vi med virtuelle simulatorer under udvikling og test. Det er hurtigere og billigere. Ind i mellem er det dog godt at arbejde med et rigtigt anlæg – for at fÃ¥ den rigtige mekanikforstÃ¥else af hvad det er for et problem vi er ved at løse i software. Da jeg i julegave sidste Ã¥r fik et Lego Mindstorms sæt, sÃ¥ fik jeg hurtigt tanken, at jeg ville bygge mig mit eget  sorteringsanlæg. En fysisk fungerende model hjemme pÃ¥ skrivebordet, der vil kunne demonstrere nogle af de basale teknikker, der bliver brugt i et fuldskala sorteringsanlæg. AltsÃ¥ en miniudgave til nogle fÃ¥ tusinde kroner, frem for en fabriksmodel til mange millioner, der fylder en hel fabrikshal.

Modellen kan indføre duplo klodser på ledige vogne. Ultralydsdetektoren fungerer som en tomvognsdetektor. Det vil sige, at der kun indføres duploklodser på vogne, hvor man kan se, der er tomme og ikke på vogne, som man regner med er tomme forbi vognen netop har læsset en klods af i afkastet. Det er en slags verifikation. Det detekterer fejl, hvor en duploklods nægter at glide af en  vogn, når den læsser af, eller hvis en klods er gledet fra en vogn til en anden.

Lysdetektoren bruges til flere ting. Den ser om der er klodser på transportbåndet, så klodserne kan positioneres klar til indføring på sorteringstoget. Dernæst ser den hvilken farve klodsen har. Trykknapperne får et tryk hver gang en vogn passerer, så tomvognsdetektoren, indføringen og afkastet ved hvilken vogn der passerer. Samtidigt måles hastigheden af toget, så timingen af indføringen kan fintunes. En af motorerne benyttes som omdrejningstæller, der bruges til at vælge hvilke farver klodser, der skal læses af i afkastet. Alle farver, ingen farver, eller strejfere (klodser der ikke er korrekt indført) kan også vælges.

Fuldskala sorteringsanlæg har selvfølgelig mange afkast og også flere indføringer, så her skal der tages valg for hvert afkast. Der vil være stregkodelæsere og måske en vægt i stedet for en farveaflæser. Tomvognsdetektoren kan være videobaseret, men principperne er de samme. Principper, der altså kan demonstreres fysisk på et skrivebord.

3. august, 2011

Lego Mindstorms og Linux

Filed under: hardware,lego,linux — andreas @ 8:00

Min kone kender mig for godt. Jeg er meget tidligt blevet bidt af en gal Legoklods. Det har været min favoritlegetøj helt indtil hjemmecomputeren blev opfundet og flyttede ind i mit teenageværelse. Så nu da alle børnene skulle have Lego i julegave, så skulle jeg også. Det blev til en kasse med Lego Mindstorms.

Det var en perfekt anledning til, at tage mit gamle tekniklego ud af skabet og få det mellem fingrene igen. Det tekniklego, der følger med Mindstormssættet er dog blevet redesignet siden jeg var lille, så stængerne ikke længere har knopper. En del nye sammenkoblingsklodser er kommet til, så rent konstruktionsmæssigt er det en noget anderledes oplevelse at lege med dagens tekniklego. Der er lidt mere Meccado eller Briomek over det.

Softwaren der følger med Lego Mindstormssættet er kun til Microsoft Windows, så ud med den. Der er endda kun konstruktionstegninger på papir til en meget simpel robot med hjul. De mere advancerede modeller, så som den gående robot, der pryder forsiden af æsken, dem finder man kun elektronisk og kun til Microsoft Windows. Nå pyt med det, det er alligevel sjovere at bygge selv.

Men hvad skal man programmere i? Man kan vælge, at bruge Legos eget sprog. Simpelt, men nok mere begrænset end ladder-diagrammer til PLC-programmering. Så er der Open Source alternativerne. Her kan man vælge imellem java programmering og næsten-C programmering. Her valgte jeg NXC (Not eXactly C), da det er det simpleste og ikke krævede flash af firmwaren for at komme i gang. NXC er  frigivet under Mozilla Public License (MPL) og findes prekompileret til Linux, Mac og Microsoft Windows.

Til NXC er der en udemærket tutorial og en ret uoverskuelig userguide, der bærer præg af at være autogenereret med doxygen ud fra kildekoden. Svagheden er nok især, at der mangler en masse sigende eksempler på brugen af de mange funktioner. Så start med tutorialen og kig en ekstra gang om fuktionalitet ikke er beskrevet her inden du giver dig til at lede i userguiden.

NXC giver mulighed for trådprogrammering og brug af semaforer. Man kan sige, at det er komplekst, men i en shared memory model, da er det nødvendigt for at kunne lave parallelprogrammering. Alternativt kunne det være interesant at køre et Occam eller Erlang inspireret sprog til Lego Mindstorms. Message parsing er for mig at se en mere intuitiv og nemmere model at håndtere parallelisme i end shared memory.

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.

Newer Posts »

Powered by WordPress