Navullen: HP301 ‘xl’

HP301 weegt met onbekende hoeveelheid inkt 39 gram.

Op het moment stokt magenta, als troubleshoot:

  • Eerst een magenta-gradient geprint; de lichte gebieden worden totaal niet geprint, de donkere stukken wel, maar met onderbrekingen.
    • Het kan zijn dat de inkt een beetje op is
    • waarschijnlijker is dat een aantal spuitmondjes verstopt zijn
    • het wordt niet beter met meerdere keren printen
  • Weken, bijvullen en leegtrekken:
    • Eerst even weken op een papiertje met spiritus
    • dan magenta bijvullen
    • daarna de inkt met het ‘primer’ tooltje er doorheen trekken
  • Gevuld tot (netto) 44 gram met 5 gram magenta en 2 gram geel, 2 ml gemengde verf eruit getrokken

De 2 ml gemengde inkt heb ik in de zwarte cartridge gespoten. Die bleek bij aanvang slechts 33 gram te wegen, en bij primen van de kop kwam er geen inkt uit. Daarom meer bijgevuld; met 44 gram stroomde de cartridge nog niet over.

Nadat de cartridges weer in de printer zitten, is zwart weer zwart (het ging een beetje tegen grijsgroen), maar magenta laat niets van zich weten.

Ik heb nog wat geemmerd met navullen en leegtrekken:

  • gaatjes geel en cyaan afsluiten
  • zuigen aan de onderkant om magenta er door te trekken
  • bovenaan magenta bijvullen

… maar dat heeft enkel tot gevolg gehad dat er magenta in geel en cyaan kwam (die werden immers vacuum gezogen, en trokken de beschikbare magenta weer naar binnen).

Bij opnieuw testen kwamen er bruin en paars uit de gele- en cyaankanalen; magenta deed niets. Het kan zijn dat de kop volledig stuk is, maar het zou ook kunnen dat het sponsje er zo slecht aan toe was, dat het wel ruimte maar geen inkt opnam.

Conclusie: deze cartridge vervangen. Het was al een cartridge van een refill-merk, in een printer die ik tien jaar terug gekregen heb en met enige regelmaat bijgevuld heb. Toevalligerwijs heb ik nog een refill-merk cartridge van Kringloop liggen die ik meteen kan wegen voor het ‘nieuw’-gewicht, en een continuous ink system van AliExpress wat ik al eens wilde uitproberen.

Print this entry

Vakantie zomer 2024

Dit jaar Normandie, verdeeld over drie locaties en een vierde enkele overnachting op de terugweg.

Duclair

De eerste etappe gaat van Zwolle naar Duclair. Foto’s van het huisje op booking.com

Het is ongeveer 600 kilometer, we laden een keer voordat we Belgie binnenrijden, en daarna weer in Frankrijk.

Het ligt aan de (schone…) Seine (…lang leve de Olympische spelen…), in de buurt van Rouen en op afzienbare afstand van zee.

We blijven daar vier nachten.

Agy

De tweede stop is Agy, op ongeveer 150 kilometer van Duclair. We zitten daar dichter bij zee. Op weg naar de zee komen we door Bayeux, van de tapijten.

Agy ligt ongeveer 30 kilometer ten westen van Caen.

We blijven hier het langste, een hele week.

Montaigu-les-Bois

De laatste locatie is maar een kleinstukje (~60 km) naar het Zuid-Westen.

Vanaf daar is het ongeveer een uur naar Mont-Saint-Michel.

We blijven daar vier nachten.

Noyelles-Godault

Terug naar Zwolle is in een dag te doen, maar met 800 kilometer wel een een wat lange zit zonder uitstapjes. Verspreid over twee dagen kunnen we nog wat bekijken onderweg.

We beginnen met 450 kilometer naar het Noord-Oosten en overnachten in “Novetel Lens“, met zwembad en ontbijt.

De volgende dag is het dan nog ruim 350 kilometer naar Zwolle.

Print this entry

Speculaasbrokken van restjes

In de uitverkoop na Sinterklaas heb ik een paar dozen ‘kruidnotenmix’ gekocht. Die stonden maar te staan.
Nu ik speculaas wilde bakken, leek het wel handig die dozen kruidnotenmix te gebruiken. De online-speculaasrecepten hebben meestal twee delen meel tegen een deel boter en een deel suiker. Volgens de voedingswaarde op de doosjes volgen ze dat met enige vrijheid voor de pepernoten; tussen de 18% en 33% suiker, een kleine 20% vet. Vast geen roomboter, hopelijk RSPO.

In totaal had ik 1300 gram aan bakmix. Volgens de gebruiksaanwijzing zou daar, in totaal, zo’n 140 ml water aan toegevoegd moeten worden voor heerlijke pepernoten. Ik heb er aan toegevoegd:

  • ruim 200 gram bruine basterdsuiker
  • een kleine 200 gram roomboter
  • 100 gram tarwezemelen
  • 20 gram speculaaskruiden
  • een zakje vanillesuiker (vanelline, bij gebrek aan beter)
  • anderhalf kokertje poeder voor anijsmelk
  • een ei

Bereidingswijze:

De zelfbedachte toevoegingen in de opgesomde volgorde in de mengkom en mengen met een ‘halve garde’: eerst de suiker en de boter door elkaar zodat de boter niet een klont wordt, daarna de zemelen er rustig bijgegoten en gemengd; als het een beetje door elkaar zit, de kleine dingetjes er bij en ten slotte het ei.

Daarna de bakmixen; na de eerste twee heb ik 100 ml water toegevoegd, en twee zakken mix later nog een keer aangekeken en er een paar druppeltjes bijgedaan. In totaal ~110 ml water en een ei van ongeveer 65 gram aan vocht, voor een indrukwekkende bal deeg van ongeveer 2 kilo.

De oven is al bezet, dat komt goed uit anders was ik in de verleiding gekomen meteen te gaan bakken. Nu moet ik uit nood het deeg de aanbevolen nacht in de ijskast laten liggen.

Plan voor morgen:

  • De helft van het deeg gebruiken om te bakken, de andere helft terug in de ijskast voor een andere keer
  • Er is nog wat appeltaartdeeg over, 100-200 gram, misschien is daar wat leuks mee te combineren
  • Ik kwam ook nog een restje amandelspijs tegen dat ik de vorige keer vergeten ben door de appeltaart te doen, misschien bereiden voor gevulde speculaas. Of gewoon door het deeg mengen.
  • Als ik het niet vergeet: versieren met noten. Naast amandelen wilde ik walnoten proberen.
  • Als ik er aan denk: foto maken en aan het blog hangen

Print this entry

Voor de volgende keer…

Door omstandigheden is het de afgelopen jaren drie keer keer nodig geweest mijn workstation in te richten. De eerste keer ging het enkel om uitwisselen van opslagruimte, zoals eerder beschreven.

De al wat oudere C7SIM-Q met eerste generatie i3 voldeed in vrijwel alle opzichten, alleen het maximum geheugen van 16 GB zat zo nu en dan in de weg. Ik heb het bord kunnen vervangen door een X11SSH-LN4F. Ook met i3, maar wel 6e generatie, en 32 GB RAM met uitbreidingsmogelijkheid tot 64 GB. Bovendien is het nu DDR4 ECC geheugen, waar het eerst DDR3 zonder ECC was.

Toen ik het moederbord verving zat er in een van de bestaande volumes iets scheef (ze het eerdere verhaal); de kortste weg naar een werkend systeem was een nieuwe installatie – met UEFI.

Installeren op UEFI geeft me vaak problemen bij het inrichten van de UEFI-partitie, meestal kom ik niet weg zonder installatie naar ‘removable storage’, maar het werkt uiteindelijk wel. Bij dit moederbord niet. Daarbij komt dat het moederbord, met remote management, wat geavanceerder is. Nadeel is dat boot voorbij ‘BIOS’ een stuk langer duurt; troubleshoot kost heel veel tijd.

Uiteindelijk heb ik Debian volledig automatisch laten installeren, met alle opties op default en minimale ingreep in het partitioneren. Daarmee werkte het eindelijk, maar ik had voor een kleine /var-partitie gekozen, waar vrij veel optionele pakketten in terechtkwamen. Zoveel, dat er voor Apt geen ruimte was om nieuwe programma’s te downloaden. Bovendien stond alles op defaultwaarden, met voeten in Fahrenheit en een Amerikaanse tijdzone. Daarnaast stond alles op een SSD die ik niet voor het systeem in gedachten had.

Snel was het wel! Door tien jaar upgrades over te slaan, merk je bij een upgrade veel meer van de vooruitgang. Niet alleen ruim voldoende geheugen (de 16 GB was niet dagelijks een bottleneck), maar vooral sneller geheugen. De CPU heeft geen veel hogere kloksnelheid, maar kan wel sneller schakelen en heeft geavanceerdere functies waardoor bestanden uitpakken bijvoorbeeld veel sneller gaat. Het systeem draaide nu niet op SSD-cached LVM-volumes, maar op LVM-volumes rechtstreeks op een (ouder model, SATA2) SSD.

Het nieuwe moederbord heeft plaats voor een NVMe-reepje. In tegenstelling tot mijn eerste ingeving, 2e-hands een zo klein en goedkoop mogelijk reepje aanschaffen, heb ik er een nieuwe ingeprikt: in veel gevallen zijn de 2e-hands exemplaren duurder dan een nieuwe. Met een paar euro extra bovenop de laagst geprijsde SSD heb ik me verwend met een ouder model Samsung. Met krap 2 TB aan 3-bits TLC NAND is er voldoende ruimte voor systeempartities, home partities, databasepartities en partities voor caching van datavolumes.

Met minimale moeite is de installatie, met UEFI, in een keer geslaagd. Daar zit je dan, in een mum van tijd met een kale installatie. Want snel dat ging het wel! Een flink deel van het TLC NAND wordt als SLC NAND ingezet, om snel de gigabyte aan DDR-geheugen te vereeuwigen. Waarschijnlijk haal ik het maximum er niet uit: de SSD heeft een 4xPCIe3 interface, terwijl de aansluiting op het moederbord er slechts 2 kanalen biedt.

Aanvullende instellingen / applicaties / packages

Todo’s: er zijn wat instellingen te doen en aanvullende packages te downloaden. Installeer eerst de programma’s, anders kun je ze niet inrichten natuurlijk.

Packages installeren:

apt update
apt upgrade 
apt install openssh-server screen tmux links htop powertop dstat sysstat nicstat curl sshfs gpm # altijd handig
apt install lvm2 thin-provisioning-tools # systeem-onderdelen
apt install firefox dolphin dolphin-nextcloud nextcloud-desktop nextcloud-desktop-cmd   kdeconnect konsole vlc subtitlecomposer # in grafische omgeving (ook NC-cmd!)
apt install growlight # diskmanagement, onderweg tegengekomen

Overige software

Niet alle software is beschikbaar via Apt, of is de AppImage-versie net wat nieuwer dan de versie in Apt.

  • DigiKam; even kijken hoever Apt achter loopt –> Apt heeft v7, laatste appimage is v8
  • Chrysalis; nog niet in Apt

Firefox

  • Firefox sync instellen
  • Sync-server aanpassen in about:config ; zoeken naar token en vind identity.sync.tokenserver.uri, zet die op https://ffs.osba.nl/ffsync/token/1.0/sync/1.5
  • Eventueel synchronisatie van autoscroll uitzetten, omdat de defaultwaarde op verschillende platforms niet gelijk is, services.sync.prefs.sync.general.autoScroll op false
  • Inloggen via de sync-instellingen in Firefox. De eerste keer gebeurt er waarschijnlijk niets (alleen tabs kunnen dan naar een ander apparaat gestuurd worden, maar synchronisatie vindt niet plaats). Tot nu toe kunnen oplossen door alle synchronisatievinkjes uit te zetten, Firefox te restarten, uitloggen uit het Firefox-account, Firefox restarten, en dan weer inloggen. De tweede keer is het niet nodig een bevestigingscode door te geven, maar start de synchronisatie wel. Foutlogs zijn te vinden via about:sync-log, er is ook een sync-extension die daarna info weergeeft op about:sync
  • Als de sync eenmaal draait, komt er steeds meer mee. Ondertussen niet alleen de wachtwoorden en bookmarks, maar ook open tabs, extensies en inrichting van extensies (zoals bijvoorbeeld de benoemde containers voor de containerplugin).
  • Momenteel zit nog niet in de sync:
    • instellingen voor temporary containers
    • blokkeren van de “login met Google” popup op allerlei websites via uBlock Origin. Om die popups te blokkeren, open ‘My filters’ in de uBlock-instellingen, en voeg daar toe: accounts.google.com/gsi/*

Nextcloud sync instellen

  • app-password instellen via personal settings –> security –> nieuwe entry maken onderaan de pagina ; de ingevoerde omschrijving zie je later pas, je hebt nu je eigen (getoonde) gebruikersnaam nodig en het random wachtwoord. Houdt ’t wachtwoord even in beeld, niet op ‘Done’ klikken
  • Nextcloud desktop openen en verbinden met https://online.osba.nl/nextcloud
  • Kopieer de link (hij opent vanzelf, maar het kan zijn dat de timeout te snel verstrijkt)
  • Open de link in een incognito-venster (om te voorkomen dat er automatisch ingelogd wordt met de reguliere gebruikersnaam)
  • Klik op ‘use an app token’, oid (de onderste optie)
  • Gebruik de eerder aangemaakte credentials
  • Als het niet werkte, nog een keer proberen. Als het wel werkte volgt er een melding, “Account connected”

Met de sync-client op Android gaat het nog makkelijker: in plaats van handmatig de gegevens invullen en overnemen: maak het app password aan, klik op ‘Show QR code for mobile apps’ en scan de code met je telefoon.

Dolphin

dolphin-nextcloud geeft een contextmenu waarin Nextcloud-bewerkingen vrijgegeven worden.

Met de Nextcloud Desktop client wordt synchronisatie geregeld, maar geen integratie. Installeer dolphin-nextcloud om vanuit Dolphin bestanden via Nextcloud te delen.

Voeg onder het Remote-kopje in de “Places” zijbalk een link naar Nextcloud toe via WebDAV en SSHFS. SSHFS geeft snellere toegang en betere integratie aan deze kant van de verbinding, maar wijzigingen worden niet door Nextcloud opgemerkt. WebDAV wordt aan deze kant echt als remote gezien, wat soms voor caching of vertraging zorgt, maar loopt via de Nextcloud-logica. Wijzigingen, verwijderingen en toevoegingen zijn meteen in Nextcloud beschikbaar.

De WebDAV link geeft Nextcloud via de web-interface, bij het kopje met settings linksonderin bij bestanden: https://online.osba.nl/nextcloud/remote.php/dav/files/wbk

Pas de link aan naar webdavs://online.osba.nl/nextcloud/remote.php/dav/files/wbk om hem in Dolphin te gebruiken. Meteen plakken in de adresbalk, en dan de locatie opslaan werkt het eenvoudigst; het werkt ook via Knetattach (de knop rechtsbovenin het scherm als je in Dolphin op Network klikt, onder remote).

Knetattach foutmelding, met op de achtergrond de (hoogst waarchijnlijk correcte) instellingen

Op welke manier dan ook: soms werkt het in ene keer, soms werkt het totaal niet. Deze keer is het een “totaal niet”-geval. Troubleshoot gaat erg moeizaam; Dolphin noch Knetattach geven enige feedback naast “The file or folder … does not exist” (Dolphin) of “Unable to connect to server. Please check your settings and try again.”
Een enkele keer lijkt het proces een stap verder te komen: dan volgt er een vraag of ik zeker weet dat ik wil inloggen op Nextcloud, om vervolgens alsnog te vertellen dat de file or folder does not exist.

De “bookmark” in Dolphin’s places-balk heb ik uit de settings van de oude installatie gehaald (~/.local/share/user-places.xbel)

De locatie in Dolphin, met op de achtergrond de ‘does not exist’-melding

Mogelijk zit de KWallet-entry voor Nextcloud-Desktop in de weg. Die client logt in met een app-password, maar in KWallet lijkt het een reguliere user/pass combinatie. Misschien geeft KWallet onder water het verkeerde wachtwoord (of het goede wachtwoord, maar via het verkeerde mechanisme) aan Dolphin en Knetattach door, zonder daar feedback over te geven. Na sluiten van zowel de wallet als de NC-client lukt het echter nog steeds niet. Wordt vervolgd.

Vervolg op een nieuwe laptop: inloggen op Nextcloud via Dolphin werkt op bovenstaande wijze meteen, althans, als ik het adres rechtstreeks invoer in de locatiebalk van Dolphin. Deze keer heb ik voor Nextcloud Desktop (expres) geen app-password gebruikt.

Toevoegen als “Network” entry via knetattach loopt nu op een andere manier stukt: het proces hangt een kleine minuut (popup “examining”), geeft dan “Failed, application closed unexpectedly”. Als ik knetattach uitvoer in een konsole venster, zie ik fouten en waarschuwingen voorbijkomen. Die specifieke meldingen zijn misschien geen probleem, maar er zijn wel eerder bugs gemeld op bugs.kde.org die spelen in mijn versie. Met Debian stable zit ik niet direct op de bleeding edge wat betreft KDE-ontwikkelingen, ik laat een bugmelding achterwege.

De genoemde workaround werkt echter ook voor WebDAV! Dus:

  • Open een tweede tab in Dolphin
  • Log daarmee in op Nextcloud, in de webdavs://user@domain-notatie
  • Bevestig dat je inderdaad als die gebruiker wil inloggen, en zet het vinkje om niet herinnerd te worden; geef je wachtwoord en wacht tot de directory geladen is
  • Start nu de knetattach-activiteiten om een locatie toe te voegen
  • Waar initieel de boel bleef hangen door de in de bugmelding genoemde loop, ontstaat nu die loop niet meer omdat we al akkoord gegeven hebben

GUI / gebruikersinstellingen

Fonts ophalen

  • De fonts Linux Biolinum en Linux Libertine zijn na 2012 gefork’d; releases van de vork zijn te vinden onder Libertinus op Github.
  • Pak het release file uit en (in het geval van KDE) gooi de bestanden in de fontmanager om ze te installeren.

Mountpoints inrichten

Voorheen waren datapartities zoals voor foto’s en video’s rechtstreeks in m’n home-directory gemount. Ik mount ze nu in een gebruiker-agnostische directory, en bind-mount ze lokaal.

De eerder o-zo-mooi ingerichte LVM is goed over te dragen, ware het niet dat:

  • ik een van de fysieke volumes een beetje verziekt heb
  • de tools om LVM te beheren na x jaar anders verpakt zijn en sommige binaries lijken te ontbreken; vgchange -ay data had LVM klachten:
root@fractal:~# vgchange -ay data
  /usr/sbin/cache_check: execvp failed: No such file or directory
  WARNING: Check is skipped, please install recommended missing binary /usr/sbin/cache_check!
  /usr/sbin/thin_check: execvp failed: No such file or directory
  WARNING: Check is skipped, please install recommended missing binary /usr/sbin/thin_check!
  14 logical volume(s) in volume group "data" now active

Het ontbrekende pakket blijkt thin-provisioning-tools

(Eenmalige todo’s: boeken en bieb naar data, geenmuziek naar home)

Keyboard

Ctrl+Alt+Backspace om X de nek om te draaien: advanced keyboard tab in KDE settings:

Alternatief: Alt+SysRq+k

Systeeminstellingen

Netwerk

Twee NIC’s samen laten werken als bond0. Met het vernietigen van de root-directory is de configuratie in /etc/network/interfaces helaas verloren gegaan. Er staat nog een todo op het lijstje, “/etc in git onderbrengen”, maar dat helpt nu niet.

De nieuwerwetse huidige installatie heeft autoconfig voor netwerk, waarschijnlijk via networkmanager. nmcli kan bonding interfaces aanmaken. De man-pages van nmcli zijn erg uitgebreid maar daar kan ik niet eenvoudig de bond-syntax terugvinden. Er is onder andere documentatie te vinden bij Red Hat en bij Gnome; die bij Red Hat heeft meer diepgang, die bij Gnome geeft passende voorbeelden.

# nmcli connection add type bond con-name bond0 mode 6
Connection 'bond0' (cf29cf16-692b-4925-95fd-0102aa758cc0) successfully added.
# nmcli device status
DEVICE  TYPE      STATE         CONNECTION         
eno2    ethernet  connected     Wired connection 1 
eno1    ethernet  disconnected  --                 
eno3    ethernet  unavailable   --                 
eno4    ethernet  unavailable   --                 
lo      loopback  unmanaged     --     
# nmcli connection add type ethernet slave-type bond con-name bond0-port1 ifname eno1 master bond0
Connection 'bond0-port1' (1a8cdccb-1363-40f5-b9aa-072936ca1544) successfully added.
# nmcli device status 
DEVICE   TYPE      STATE        CONNECTION         
eno2     ethernet  connected    Wired connection 1 
nm-bond  bond      connected    bond0              
eno1     ethernet  connected    bond0-port1        
eno3     ethernet  unavailable  --                 
eno4     ethernet  unavailable  --                 
lo       loopback  unmanaged    --                 

Aanmaken van een bonded interface ondersteund de networkmanager-GUI (nog?) niet, maar onderhoud/beheer ervan wel. Nadat eno1 aan bond0 gehangen was hierboven, maakte nm de verbinding actief. In de GUI heb ik ‘Wired connection 1’ verwijderd om geen verrassingen te krijgen bij het koppelen van eno2 aan bond0:

# nmcli device status 
DEVICE   TYPE      STATE         CONNECTION  
nm-bond  bond      connected     bond0       
eno1     ethernet  connected     bond0-port1 
eno2     ethernet  disconnected  --          
eno3     ethernet  unavailable   --          
eno4     ethernet  unavailable   --          
lo       loopback  unmanaged     --          
# nmcli connection add type ethernet slave-type bond con-name bond0-port1 ifname eno2 master bond0
Warning: There is another connection with the name 'bond0-port1'. Reference the connection by its uuid '67af71f7-f7b5-4f50-a02e-0fcfa4910960'
Connection 'bond0-port1' (67af71f7-f7b5-4f50-a02e-0fcfa4910960) successfully added.
# nmcli device status 
DEVICE   TYPE      STATE        CONNECTION  
nm-bond  bond      connected    bond0       
eno1     ethernet  connected    bond0-port1 
eno2     ethernet  connected    bond0-port1 
eno3     ethernet  unavailable  --          
eno4     ethernet  unavailable  --          
lo       loopback  unmanaged    --       

Oepsie… opdracht hergebruikt, maar slechts deels aangepast (Warning: there is another connection with the name 'bond0-port1'). Bij de eerste poging om de poort uit bond0 te trekken, heb ik de volledige bond verwijderd. Na opnieuw toevoegen is de status nu:

# nmcli device status
DEVICE   TYPE      STATE        CONNECTION  
nm-bond  bond      connected    bond0       
eno1     ethernet  connected    bond0-port1 
eno2     ethernet  connected    bond0-port2 
eno3     ethernet  unavailable  --          
eno4     ethernet  unavailable  --          
lo       loopback  unmanaged    --          

Losse todo’s:

  • SSH sleutels kopieren – het wordt afgeraden om dezelfde sleutels op meerdere systemen te gebruiken, maar hier wordt het oude systeem uit de vaart gehaald. Na overzetten van het private/public keypair werken de SSH-verbindingen meteen weer.
  • Toegang tot seriele interfaces, zoals /dev/ttyACM0 voor Arduino, ESP of toetsenbord
  • Blogpost nalopen op slordigheden en bijwerken met de laatste inzichten; eerst maar uit concept halen om er makkelijk bij te kunnen. Bij deze!

Print this entry

Thermische printer TS-M420

Deze printer wordt herkend als een "POS Label Printer", van "STMicroelectronics": 

Dec 3 15:53:08 fractal kernel: [21588.019430] usb 1-2: new full-speed USB device number 13 using xhci_hcd
Dec 3 15:53:08 fractal kernel: [21588.409078] usb 1-2: New USB device found, idVendor=0416, idProduct=5011, bcdDevice= 2.00
Dec 3 15:53:08 fractal kernel: [21588.409087] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Dec 3 15:53:08 fractal kernel: [21588.409092] usb 1-2: Product: POS Label Printer
Dec 3 15:53:08 fractal kernel: [21588.409097] usb 1-2: Manufacturer: STMicroelectronics
Dec 3 15:53:08 fractal kernel: [21588.414492] usblp 1-2:1.0: usblp1: USB Bidirectional printer dev 13 if 0 alt 0 proto 2 vid 0x041

De USB-poort is aangesloten op een seriele poort, volgens lsusb:

# lsusb|grep 0416
Bus 001 Device 013: ID 0416:5011 Winbond Electronics Corp. Virtual Com Port
# lsusb|grep 5011
Bus 001 Device 013: ID 0416:5011 Winbond Electronics Corp. Virtual Com Port

Op de sites van “Star” is het model niet te vinden; de supportpagina geeft een hint hoe je het modelnummer kunt vinden maar de productstickers lijken totaal niet op die van mijn goedkope imitatieprinter. Op de productpagina een van de labelprinters zijn CUPS-drivers (met beperkende licentie) te vinden, maar daarmee wordt de printer nog niet herkend op mijn systeem.

Volgens de zelfgeprinte specificatiepagina (“FEED” ingedrukt houden bij het inschakelen tot er een piepje klinkt, dan loslaten) spreekt de printer TSPL.

Voor TSPL zijn meerdere mensen druk geweest een werkende driver te publiceren. De eenvoudigste is een klein Python programma’tje van abrasive op Github. Het heet pdf2tspl, en bestaat, als je via CUPS wil printen, uit twee delen:

Zie de readme voor details.

Voeg jezelf aan de lp-groep toe om het niet telkens als root uit te hoeven voeren:

usermod -a -G lp username

De printer komt bij de page feed telkens een halve centimeter te kort. De paginahoogte staat (correct) ingesteld op 150 mm, maar ik zie geen variabele voor de ruimte (5 mm…) tussen de labels op mijn rol. Als ik even tijd heb, test ik het met 155 mm als paginahoogte.


Print this entry

LVM thin pool extension v3

Na het eerste artikeltje en een tweede versie, nu een deel drie.

  • deel 1 was erg uitgebreid, meer een verkenningstocht
  • deel 2 was gericht op specifieke commando’s en checks, maar ging in op het vergroten van een thin volume
  • deel 3, deze tekst, gaat over het vergroten van de pool zelf, om meer ruimte te bieden aan de thin volumes.

In het kort

Controleer of er voldoende ruimte is op het physieke volume:

# pvs /dev/sdd1 -a -o+vg_name,vg_size,vg_free,lv_name,origin,pool_lv,data_lv
  PV         Fmt  Attr PSize  PFree   VG   VSize VFree  LV                  Origin Pool Data
  /dev/sdd1  lvm2 a--  <2.00t 985.57g data 7.31t <1.38t [datatlvpool_tdata]                 
  /dev/sdd1  lvm2 a--  <2.00t 985.57g data 7.31t <1.38t      

Er is nog 986 GB vrij op sdd1; vergroot de thin pool door toewijzing van ruimte specifiek op deze partitie:

# lvextend -L+500G data/datatlvpool /dev/sdd1

Indien nodig een thin volume groter maken; vanwege verschillende eigenschappen van de onderliggende media, vergroten op specifieke PV:

# lvextend -r -L+200G data/fotosRW /dev/sdd1
fsck from util-linux 2.36.1
foto: Inode 974452 extent tree (at level 1) could be shorter.  IGNORED.
foto: 297302/3427840 files (37.7% non-contiguous), 829469850/877497344 blocks
  WARNING: Sum of all thin volume sizes (5.06 TiB) exceeds the size of thin pool data/datatlvpool and the amount of free space in volume group (<911.36 GiB).
  Size of logical volume data/fotosRW changed from <3.27 TiB (856931 extents) to 3.46 TiB (908131 extents).
  Logical volume data/fotosRW successfully resized.
resize2fs 1.46.2 (28-Feb-2021)
Resizing the filesystem on /dev/mapper/data-fotosRW to 929926144 (4k) blocks.
The filesystem on /dev/mapper/data-fotosRW is now 929926144 (4k) blocks long.

Toelichting

De grootte van het beschrijfbare deel van de pool is nu 1,5 TB. In de onderstaande ‘snapshots’ zie je de grootte toenemen (van LV datatlvpool) van 798 TB via “<1.04t” naar de huidige “<1.53t”.

Na v1

root@fractal:~# lvs -a data -o+thin_count,thin_id,devices
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert #Thins ThId Devices
archief data -wi-a----- 800.00g /dev/sda9(0)
[cache_fotos] data Cwi---C--- 48.00g 99.99 9.16 0.00 cache_fotos_cdata(0)
[cache_fotos_cdata] data Cwi-ao---- 48.00g /dev/sdd4(0)
[cache_fotos_cmeta] data ewi-ao---- 100.00m /dev/sdb4(0)
datatlvpool data twi-aot--- 798.21g 92.02 47.56 5 datatlvpool_tdata(0)
[datatlvpool_tdata] data Twi-ao---- 798.21g /dev/sde1(0)
[datatlvpool_tmeta] data ewi-ao---- 400.00m /dev/sdb4(10265)
fotosRO data ori-a-C--- 2.68t [cache_fotos] [fotosRO_corig] 99.99 9.16 0.00 fotosRO_corig(0)
[fotosRO_corig] data owi-aoC--- 2.68t /dev/sda1(1)
fotosRW data Vwi-aot--- <3.27t datatlvpool fotosRO 15.21 5
geluidRO data ori-a----- 16.56g /dev/sda1(703333)
geluidRW data Vwi-aot--- 16.56g datatlvpool geluidRO 5.19 1
[lvol0_pmspare] data ewi------- 400.00m /dev/sda1(707573)
muziekRO data ori-a----- 150.00g /dev/sda2(1)
muziekRW data Vwi-aot--- 150.00g datatlvpool muziekRO 26.97 2
pubNR data ori-a----- 8.00g /dev/sda2(323587)
pubRW data Vwi-aot--- 8.00g datatlvpool pubNR 0.01 3
romRO data -wi-ao---- 90.00g /dev/sda3(1)
ssdata data -wi-ao---- 40.00g /dev/sdb4(25)
videoRO data ori-a----- <1.09t /dev/sda2(38402)
videoRW data Vwi-aot--- 1.23t datatlvpool videoRO 14.56 4

Na v2

root@fractal:~# lvs -a data -o+thin_count,thin_id,devices
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert #Thins ThId Devices
archief data -wi-a----- 800.00g /dev/sde9(0)
[cache_fotos] data Cwi---C--- 48.00g 99.99 9.18 0.00 cache_fotos_cdata(0)
[cache_fotos_cdata] data Cwi-ao---- 48.00g /dev/sda4(0)
[cache_fotos_cmeta] data ewi-ao---- 100.00m /dev/sdb4(0)
datatlvpool data twi-aot--- <1.04t 89.09 45.29 5 datatlvpool_tdata(0)
[datatlvpool_tdata] data Twi-ao---- <1.04t /dev/sdd1(0)
[datatlvpool_tmeta] data ewi-ao---- 532.00m /dev/sdb4(10265)
fotosRO data ori-a-C--- 2.68t [cache_fotos] [fotosRO_corig] 99.99 9.18 0.00 fotosRO_corig(0)
[fotosRO_corig] data owi-aoC--- 2.68t /dev/sde1(1)
fotosRW data Vwi-aot--- <3.27t datatlvpool fotosRO 17.55 5
geluidRO data ori-a----- 16.56g /dev/sde1(703333)
geluidRW data Vwi-aot--- 16.56g datatlvpool geluidRO 1.08 1
[lvol0_pmspare] data ewi------- 532.00m /dev/sde1(707573)
muziekRO data ori-a----- 150.00g /dev/sde2(1)
muziekRW data Vwi-aot--- 150.00g datatlvpool muziekRO 33.59 2
pubNR data ori-a----- 8.00g /dev/sde2(323587)
pubRW data Vwi-aot--- 8.00g datatlvpool pubNR 0.01 3
romRO data -wi-ao---- 90.00g /dev/sde3(1)
ssdata data -wi-ao---- 40.00g /dev/sdb4(25)
videoRO data ori-a----- <1.09t /dev/sde2(38402)
videoRW data Vwi-aot--- <1.43t datatlvpool videoRO 21.08 4

Na v3

root@fractal:~# lvs -a data -o+thin_count,thin_id,devices
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert #Thins ThId Devices
archief data -wi-a----- 800.00g /dev/sde9(0)
[cache_fotos] data Cwi---C--- 48.00g 99.99 9.18 0.00 cache_fotos_cdata(0)
[cache_fotos_cdata] data Cwi-ao---- 48.00g /dev/sda4(0)
[cache_fotos_cmeta] data ewi-ao---- 100.00m /dev/sdb4(0)
datatlvpool data twi-aot--- <1.53t 60.58 45.47 5 datatlvpool_tdata(0)
[datatlvpool_tdata] data Twi-ao---- <1.53t /dev/sdd1(0)
[datatlvpool_tmeta] data ewi-ao---- 532.00m /dev/sdb4(10265)
fotosRO data ori-a-C--- 2.68t [cache_fotos] [fotosRO_corig] 99.99 9.18 0.00 fotosRO_corig(0)
[fotosRO_corig] data owi-aoC--- 2.68t /dev/sde1(1)
fotosRW data Vwi-aot--- <3.27t datatlvpool fotosRO 17.55 5
geluidRO data ori-a----- 16.56g /dev/sde1(703333)
geluidRW data Vwi-aot--- 16.56g datatlvpool geluidRO 1.08 1
[lvol0_pmspare] data ewi------- 532.00m /dev/sde1(707573)
muziekRO data ori-a----- 150.00g /dev/sde2(1)
muziekRW data Vwi-aot--- 150.00g datatlvpool muziekRO 33.59 2
pubNR data ori-a----- 8.00g /dev/sde2(323587)
pubRW data Vwi-aot--- 8.00g datatlvpool pubNR 0.01 3
romRO data -wi-ao---- 90.00g /dev/sde3(1)
ssdata data -wi-ao---- 40.00g /dev/sdb4(25)
videoRO data ori-a----- <1.09t /dev/sde2(38402)
videoRW data Vwi-aot--- <1.43t datatlvpool videoRO 21.08 4

Overig

Op LV-niveau kun je een totaal-vrije-ruimte krijgen voor de VG waartoe ze behoren, maar niet zien hoe de toewijzing van LV-extends over de verschillende PV’s is en (dus) ook niet waar je nieuwe groei van de LV wil laten plaatsvinden:

lvs data -o+vg_free

Zolang de VG bestaat uit identieke PV’s maakt dat niet uit. Als de onderliggende PV’s verschillende eigenschappen hebben, maakt het wel uit en moet je op onderzoek aan welke PV je specifieke LV’s wil toewijzen.

Om van de betreffende VG te zien uit welke PV’s het bestaat, en hoeveel ruimte er nog beschikbaar is per PV om de VG uit te breiden:

vgs data -o+pv_name,pv_free

Daarna gebruik je pvs om van PV’s een redelijk smalle weergave met wat extra informatie te krijgen:

pvs  -a  -o+vg_free,lv_name,data_lv

Print this entry

LVM cache aan bestaande LVM RAID1 mirror toevoegen

Een nieuwe HP Microserver gen8 is ingericht met Proxmox.

Proxmox is geinstalleerd op een RAID1 LVM dat draait op twee uSD-kaartjes: eentje in het op het moederbord geintegreerde slot, en eentje via een adapter in de op het moederbord geintegreerde USB A aansluiting.

Dat was ik volledig vergeten, tot ik me realiseerde waarom `apt dist-upgrade` zo langzaam liep.

In het verdere reilen en zeilen van de server is er weinig aan te merken. Ik maak me wel enige zorgen over het schrijven van logbestanden, en swap heb ik nog niet aangemaakt.

Om het wat te verlichten voor de geheugenkaartjes, voeg ik 1 GB SSD cache toe (op een volume van 18 GB).

Uit te voeren stappen:

  • SSD partitioneren
    • fdisk /dev/sdh
    • bij een ongebruikt/nieuw opslagmedium, g voor GPT partitielabel
    • n voor nieuwe partitie, t voor type lvm, w om op te slaan
  • Partitie aanmerken als LVM-partitie
    • pvcreate /dev/sdh1
  • Fysiek volume toevoegen aan de volumegreop van de rootpartitie
    • vgextend usbsdraid /dev/sdh1
  • Toekomstig caching volume toevoegen aan bestaande volumegroep
    • lvcreate -vn cache_mt_usbsdraid -l254 mt_usbsdraid /dev/sdh1
  • Volume omzetten naar gecached volume, verwijzend naar het caching volume
    • lvconvert --type cache --cachepool cache_mt_usbsdraid /mt_usbsdraid mt_prox_sys

Dat is alles. Bekijk het resultaat met lvs mt_usbsdraid:

# lvs mt_usbsdraid
  LV          VG           Attr       LSize  Pool                       Origin              Data%  Meta%  Move Log Cpy%Sync Convert
  mt_prox_sys mt_usbsdraid Cwi-aoC--- 18.00g [cache_mt_usbsdraid_cpool] [mt_prox_sys_corig] 0.04   2.10            0.00     

Bovenstaand cache heet in LVM-termen ‘dm-cache’. Het cached in de eerste plaats veelgebruikte data voor snellere toegang, en voorziet bovendien in cache voor schrijfacties.

Daarnaast is er ‘dm-writecache’, specifiek voor het cachen van schrijfoperaties. Ik weet niet of een combinatie van dm-cache en dm-writecache mogelijk is, en of er dan een cascade van caches ontstaat bij het schrijven.

Juist voor het schrijven naar de uSD-kaartjes wil ik caching hebben; aan de ene kant voor de snelheid, maar vooral omdat ik bang ben dat de willekeurige schrijfacties naar verschillende logbestanden funest zijn voor de geheugenkaartjes.

Helaas is het voor het toepassen van dm-writecache nodig het volume offline te halen (vgchange -an mt_usbsdraid/mt_prox_sys), waarmee het systeem z’n rootpartitie kwijtraakt. Misschien probeer ik wat de gevolgen zijn op een VM, maar voor een live systeem heb ik er niet zoveel zin in. Wordt allicht vervolgd.

Print this entry

Containers met internet, maar Proxmox zonder

Het lukte niet meer om Proxmox de upgraden. Het bleek dat er geen internettoegang meer was. Specifieker: het hele lan, behalve de (interne kant) router was bereikbaar. Bij nader onderzoek bleek PBS, de backupserver, hetzelfde probleem te hebben.

Het lukte ook niet om vanaf de router die twee machines te bereiken. Ondertussen werkten de containers gewoon en waren bereikbaar vanaf internet, en konden er ook gewoon backups verstuurd worden.

Na toch wel een tijdje puzzelen met DNS, DHCP/statisch, bonds en bridges, kwam ARP in beeld als boosdoener. arping gaf niet thuis op het IP dat ik voor ogen had, en gaf een incorrect MAC bij een IP wat wel een reactie gaf.

De oorzaak zat er in dat ik voor enkele hosts een statische MAC/IP koppeling in de ARP-tabel van OPNSense had laten vastleggen, met het idee de MAC-adressen niet uit het hoofd te hoeven leren voor wake-on-lan.

De boosdoener: een statisch ARP record

Na uitvinken van de vinkjes, toepassen van de wijzigingen en leeggooien van de ARP-tabel, werkte het weer!

Print this entry

Vakantie 2023 – Denemarken

Dag 1 (24) – Naar Hamburg met stop in Bremen

Het kan zijn dat we een milieusticker moeten halen om op het raam te plakken. Een sticker kunnen we krijgen bij een Dekra-, GTÜ- of TÜV-locatie. Het lijkt er in de eerste instantie op dat voor Bremen noch Hamburg een milieuzone geldt.

  • Naar Bremen:
    • Iets meer dan 200 km, maar vooral over kleinere wegen lijkt het; we zijn volgens de routeplanner krap 3 uur onderweg.
    • Route: vanaf Zwolle door de Hessenpoort over de N758 om Nieuwleusen heen dan N377 richting Dedemsvaart en Gramsbergen, daar de grens over richting Emlichheim en Meppen.
      We zijn dan halverwege Bremen. De enige plaats van meer dan drie huizen op de route is dan nog Werlte; vanaf daar achtereenvolgens Vrees, Garrel, Beverbruch, Huntlosen, Sandhatten, Kirchhatten, Dingstede en Delmenhorst. –> dat was dus ook de voetgangersplanning. De link geeft een autoplanning.
    • De batterij zal in Bremen op zo’n 25% zitten; met 50% hebben we al ruim voldoende voor Hamburg. Als we wat laden terwijl we wat eten/drinken en rondkijken in Bremen is de batterij bijna vol.
  • Naar Hamburg:
    • Vanuit Bremen in noordoostelijke richting, het eerste plaatsje op de kaart is Lilienthal. Daarna Tarmstedt en Zeven. Hamburg zal al lang op de borden staan voor we door Buxthude rijden aan de Zuidkant van de Elbe … Ik had de routeplanner op voetganger staan.
    • In Oostelijke richting over de A1, vlak onder Hamburg een paar kilometer de A261 die overgaat in de A7. Over de Elbe afslag 29, Hamburg-Othmarschen, daar rechts de Behringstrasse afrijden. Na twee kilometer onder het station door, dan niet direct na de tunnel maar de volgende rechtsaf naar de Goetheallee.
  • Overnachting: Meiningen Hamburg ; hostel-met-familie-kamers. Redelijk betaalbaar, goed geslapen met z’n viertjes op een kamer. Niet zo prettig: het raam konden we niet openzetten vanwege rokers buiten op de stoep voor het gebouw. Het probleem is bekend, maar er is nog geen oplossing voor. Opladen mochten we op 230V in de parkeergarage doen.
  • Eten: bij Burger Heroes aan de Reeperbaan. Hamburgers zijn niet mijn ding, maar we hebben best lekker gegeten. Als toetje bubbelthee bij Vietnamees restaurant Mekong

Dag 2 (25) – naar Vikaer strand camping aan zee bij Haderslev

Het is ongeveer 200 km van Hamburg naar de camping. Haderslev ligt nog een 20 kilometer verder naar het noorden.

  • Vanuit de Goetheallee eerst in omgekeerde richting onder het spoor door, na de bocht in de weg bij de eerste grote kruising rechtsaf naar het Noorden, die weg met enkele kronkelingen blijven volgen tot de A7 richting Quickborn/Kaltenkirchen.
  • De A7 heeft na 70 km een afslag naar Kiel, die nemen we niet: gewoon de A7 blijven volgen.
  • De grens is bij Flensburg. Nog steeds A7 blijven volgen, het wordt even later in Denemarken de E45
  • Afslag 70 bij Rodekro er van af, bij de rotonde onder de snelweg door, rotonde na het viaduct de eerste niet-snelweg afslag naar het Noorden, richting Lojt Kirkeby en daarna Genner.
  • Dan naar de kust, voor Sonderballe landinwaarts buigen. Aan de andere kant van de landtong is Vikaer strand camping.

We waren al op tijd op de camping, tegen het eind van de middagpauze van de receptie. In het halve uurtje tot de receptie weer openging hebben we de camping en een stuk van het strand bewandeld. Toen we het huisje eenmaal in konden, constateerden we al snel dat er in Denemarken voor geaarde stekkers een stopcontact gebruikt wordt dat niet compatibel is met de EU.

Er leek in de buurt een doe-het-zelf zaak te zitten, in Lojt Kirkeby onderweg naar Aabenraa. Aabenraa leek groot genoeg om een paar laadpalen en een eetgelegenheid en misschien ook nog iets te zien of te doen te hebben, daarmee hadden we voldoende vulling voor de rest van de dag.

De doe-het-zelf-zaak bleek een loods op een bouwterrein in een woonwijk te zijn; de eigenaren lang genoeg op vakantie om spinnenwebben achter de kleine stoffige raampjes te hebben.

Het idee was daarna om de auto aan een lader te hangen en dan ergens wat te eten. Aabenraa bleek Deens voor ‘Wijhe’. De beloftes waarin Denemarken als het vakantieland met een electrische auto bestemeld wordt ten spijt, viel het tegen met de laadpalen in Aabenraa: een verkeersbord met een grote stekker en een pijl richting een parkeerplaats leverde niets op, de laadpaal bij Lidl was defect, de laadpalen bij de ene autodealer waren vergrendeld (en bleken na een beetje prutsen met de vergrendeling onze pasjes niet te accepteren), terwijl bij een andere autodealer er een heeeleboel demo-modellen aangesloten waren in de zaak en de laders buiten niet werkten (noch met onze pas, noch met die van hen).

Bij de Lidl zat gelukkig een doe-het-zelf-zaak die wel open was. Het personeel begreep niet echt wat ik met een adapter voor een stekker met randaarde bedoelde (ik had een voorbeeld-EU-stekker meegenomen), is het toch gelukt een adapter en een losse stekker te kopen.

Toen dat probleem opgelost was, hebben we Oyishi gevonden om sushi te eten. Dat was in een keer geslaagd: we hebben lekker en redelijk betaalbaar gegeten.

Thuis bleek de electriciteit af te slaan zodra de auto begon te laden, en hebben we bij de receptie aangeklopt voor een oplossing. Die hadden ze in de vorm van een verloop-met-telwerk van een 3-polige buitenstekker naar Deens geaard, waardoor onze nieuwe verloopstekker toch nog van pas kwam.

Dag 3 (26) – strand en omgeving verkennen: Haderslev

Een dag kijken wat er in de buurt te zien en te doen is. Resultaat: Haderslev bezoeken en boodschappen doen. Haderslev is wat groter dan Aabenraa en behalve een werkende laadpaal was er is een vijver met een parkje er omheen.

Op de camping was voldoende kook-en-bakgelegenheid om eten klaar te maken.

Dag 4 (27) – Legoland, als het weer een beetje OK is

Legoland Billund ligt een kleine 100 kilometer ten Noorden van de camping, ruim een uur rijden. Het park is open van 10u tot 20u. Kaartjes kunnen we online bestellen via de Lego-site of met een paar euro korting via een Denemarken-site; voor de rest geen korting gevonden.

We zouden eventueel een 2-dagen ticket kunnen nemen, dan kun je binnen 6 dagen nog een keer naar binnen.

Het is een kaartje voor een enkele dag geworden. De zon scheen tussen de buien door, en de meeste buien hebben we gemist door een binnen-attractie te bezoeken. Het was leuk om een keer in Legoland te zijn geweest.

Voor het eten zijn we net voor het sluiten van de keuken bij Rafaels binnengerend en hebben we lekker gegeten.

Dag 5 (28) – nog in te vullen – stranddag

bijkomen en inpakken?

Wat een geluk: op onze bijkomdag scheen de zon, en was het best ondanks de wind te doen op het strand. Het water was wat fris om in te zwemmen, maar met boek/telefoon en iets te eten en te drinken zijn we de dag doorgekomen.

Voor het eten hebben we in Haderslev een tafel gereserveerd. We hadden daar de vorige keer, buiten openingstijden, een Chinees restaurant gezien met een Vietnamese naam, en dachten daar Vietnamees te eten. Toen we er aankwamen bleken er enkel Europese stijl Chinese gerechten geserveerd te worden. Na een tijdje dwalen zijn we bij iGourmet / Elisa terechtgekomen.

Dag 6 (29) – Wandeling met hunebedden

Om het natuurschoon niet ongezien aan ons voorbij te laten gaan en ook nog iets van een actieve vakantie te beleven, zijn we op zoek gegaan naar een wandelroute. Niet te ver van de camping was een route met een paar hunebedden te vinden: “Varnaes hoved og vig”.

De hunebedden vielen een beetje tegen. Een van de twee hebben we niet gezien, omdat het ergens in het natte bos zou moeten liggen. De andere was met een paadje vanaf de wandelroute te bereiken. Waar ik een bouwwerk van steen verwacht had, was het een bouwwerk van aarde, met een kring van keien er omheen. De rest van de route was afwisselend: in de drie uur die we er over deden, hebben we seizoenen (vooral herfst) en alle landschappen die Denemarken te bieden heeft voorbij zien komen. Er waren stukjes met bomen, stukjes met gras, stukjes braakliggend terrein, stukjes agrarisch landschap, stukjes langs struiken en stukjes langs de zee.

’s Avonds was het helder. We hebben een vos op de camping zien lopen en vaagjes de melkweg.

Dag 7 (30) – andere locatie – Aarhus

Nog te bedenken: eerst verder naar het Noorden, of direct richting Kopenhagen? Het is ‘verder naar het Noorden’ geworden: Aarhus.

Aarhus is ‘de tweede stad’ van Denemarken. We konden last-minute per SMS boeken bij ‘Bed and kitchen Rugbjergvej‘. Bij aankomst bleek de site niet up-to-date: de prijzen waren niet 700, maar 800 kronen per nacht. Het appartement op de verdieping onder die van de bewoners was niet het nieuwste en in de hoeken zat hier en daar een spinnenweb, maar het was schoon, ruim en comfortabel. Geen laadmogelijkheid voor de auto, maar die was er wel in Aarhus.

Op zoek naar ‘de’ laadpaal zijn we langs een Vietnamees restaurant gekomen, wat er deze keer wel echt uitzag alsof ze ook Vietnamese gerechten bereidden. Het heet Pho C&P, we hebben er erg lekker gegeten: voor herhaling vatbaar.

Dag 8 (31) – openluchtmuseum “Den gamle by”

Den Gamle By” is een openluchtmuseum miden in Aarhus. Het is opgezet als een klein stadje. Je komt binnen in het heden, en verder naar achteren staan steeds oudere gebouwen waardoor je in de tijd terug loopt. Het is niet verschrikkelijk groot, maar in een dag hebben we niet alles (uitgebreid) kunnen bekijken.

Onder een deel van het gebied zit een ondergrondse uitbreiding, als regulier museum ingericht. Daar begin je met de eerste nederzetting in Aarhus en vanaf daar in chronologische volgorde naar het heden.

In veel van de grotere huizen/gebouwen zijn afzonderlijke exposities ingericht.

Al met al een interessante en goed gevulde dag. Na afloop hebben we bij verschillende standjes van “Aarhus street food” gegeten. De gerechten waren best betaalbaar en goed te eten. Om zonder al te veel risico van de lokale keuken te genieten, heb ik bij de tent met Deense specialiteiten iets uitgezocht. Bloemkoolstampot heb ik op een volle maag niet meer geprobeerd, maar “tarteletter” leek er nog wel in te kunnen. De tarteletter bleek een bladerdeeg bakje met kip/aspergeragout.

De auto hadden we bij de universiteit geparkeerd, redelijk in de buurt van den Gamle By, maar wel een eindje wandelen bij de haven vandaan. Parallel aan den Gamle By, tot aan de universiteit, is de botanische tuin. Het was jammer dat het al wat later was, want het was een mooie tuin om in te wandelen in plaats van enkel via de kortste route er doorheen te lopen.

Dag 9 (1) – Museum Moesgaard

Toen we zondag dingen te doen in de buurt van Aarhus zochten, kwamen we er achter dat net dat weekeind de “Moesgaard Vikingedage” geweest waren. Het was jammer dat we dat niet eerder gezien hadden en daardoor gemist hebben, maar het museum zelf was ook mooi.

Na afloop hadden we bij “Seacrets” willen eten, maar doordat er bij de betaalde parkeerplaats alleen met een Deens telefoonnummer geparkeerd kon worden, is daar niet van gekomen. We zijn voor de tweede keer bij Aarhus street food gaan eten, deze keer bij een paar andere eetgelegenheden.

Dag 10 (2) – Salling in Aarhus, naar Praesto

Woensdag was het weer een verhuisdag. We hadden naar Kopenhagen willen verkassen, maar van de paar betaalbare (en leefbare, meer dan een schuur met een kampvuur) overnachtingslocaties heeft er eentje afgezegd en de andere niet geregeerd. Een laatste hebben we zelf afgezegd toen we een huis in Praesto gevonden hadden.

Daarmee zaten we een eind bij Kopenhagen vandaan, maar niet te ver om er met een uurtje te zijn. We hadden een heel huis ter beschikking, met parkeerplaats en laadmogelijkheid aan huis, voor bijna dezelfde prijs als het huisje op de camping.

’s Ochtends zijn we nog naar Aarhus geweest. Eerst, op aanbevelen van de verhuurder, naar Salling Rooftop: een parkje van hout en staal op het dak van een warenhuis in het midden van Aarhus. Het uitzicht is beter dan vanuit het regenboogpanorama op Museum Aros, zonder dat je een kaartje nodig hebt.

Na Salling Rooftop hebben we geluncht in Pho C*P, op de terugweg naar de auto kwamen we langs een mooie spelletjes-en-LARP-winkel waar we onze ogen uitkeken en werden doorverwezen naar hun andere pand om de hoek, meer op comics gericht. Nadat we daar geslaagd waren zijn we op pad gegaan naar Praesto.

Dag 11 (3) – Praesto verkennen

Praesto is een leuk dorpje aan een baai. De zee is net een meer, zo stil staat het. Omdat het brakke water zo zoet is, staat er riet langs de kant in plaats van zoutbestendige planten, wat de indruk van een zoetwaterplas nog versterkt.

De oude dorpskern ziet er aardig uit en is overzichtelijk voor een korte wandeling. Er is een straatje met een paar winkels en er zijn twee supermarkten op loopafstand van de haven.

Die dag hebben we thuis gegeten, en plannen gemaakt voor de volgende twee dagen.

Dag 12 (4) – Kopenhagen

Met een electrische auto mag je gratis parkeren in Kopenhagen (voorzover het parkeerplaatsen betreft die door de gemeente beheerd worden). Dat was, met prijzen van rond 5 euro per uur, erg prettig.

De hoofdreden om naar Denemarken te gaan, was een winkel in Kopenhagen. Ze verkopen schoolspullen, maar verzenden niet naar Nederland. Die winkel hebben we als eerste bezocht. De rest van de dag werd zodoende mentaal verlicht door de last die van schouders gevallen was.

De rest van de dag hebben we door Kopenhagen gezworven. We hebben over de 17e-eeuwse verdedigingswallen gewandeld, we zijn in Christiania geweest (waar we bij een Tibetaans eetstalletje geluncht hebben), we zijn door Nyhavn gewandeld, hebben een barnsteen-museum(pje) bezocht, een standje gekregen van de wachten op het slotplein van de Amalienborg, om en door Kastellet gelopen onderweg naar de kleine zeemeermin. We hadden graag de botanische tuin bezocht. Daar waren we ’s ochtends al langsgekomen, maar hadden geen ingang gezien. Het bleek dat alle ingangen op een na gesloten waren wegens werkzaamheden, en die ene ingang zat natuurlijk precies aan de verkeerde kant. Toen we het park binnenkwamen, hadden we nog krap een half uur. We zijn als eerste naar het Palmhuis gelopen, maar toen we daar aankwomen werden we aangesproken door een pensionaris in een park-pak. Het was tijd om naar de uitgang te lopen, het park ging sluiten.

Onderweg naar de uitgang zijn we even op een bankje gaan zitten om de diner-opties door te nemen. Op plaatsen 1-5 stond “Sticks’n’sushi”, met een ook nog een paar locaties rond de 10e plaats. Er bleek er ook nog een niet al te ver van de botanische tuin, op weg naar de auto, te zitten.

Daar aangekomen was er nog een tweepersoonstafeltje met vier stoelen beschikbaar op het terras, met risico op rokende buren. Het meisje dat de tafel aanwees, bood aan bij de dichtstbijzijnde locatie te informeren of ze ruimte voor vier personen hadden, wat het geval was. Het bleek anderhalve kilometer de verkeerde kant op te zijn, aan de andere kant van de botanische tuin. Daarna heeft ze gebeld (met succes) of er bij de locatie in de richting van onze parkeerplaats ook ruimte was, maar het bleek dat we daarmee verder moesten lopen voor het eten en daarna nog ruim twee kilometer van de auto zaten; terug naar het eerste alternatief. Na al het geregel en een wandeling zijn we goed aangekomen en hebben we niet goedkoop, maar wel lekker gegeten.

Dag 13 (5) – Mons Klint

Praesto ligt op hetzelfde eiland als Kopenhagen, Zeeland. Ten zuiden van Zeeland ligt Mon (Meun, met een streepje door de o, net als bij Praesteu). Aan de Oostkust van Mon zijn krijtrotsen: Mons Klint.

Mons Klint is een klein uur bij Praesto vandaan, maar omdat we niet zo vroeg vertrokken waren we er pas na de middag. Dat is wel jammer: aan de oostkant heb je natuurlijk ’s ochtends zon, nu liepen we veel in de schaduw. Desondanks was het de moeite waard.

In het krijt zijn fossielen te vinden. Daar hebben we nog wel een beetje naar gezocht, maar we hadden niet veel geluk.

Mon is naar mijn idee het mooiste stukje Denemarken waar we geweest zijn, maar van de drie restaurants was er eentje gesloten, eentje was een pizzeria (natuurlijk) en de andere sushi (wat we net gehad hadden). Onderweg naar huis hebben we gezocht welke opties Praesto bood. Het best beoordeelde restaurant van de vijf had geen plaats toen we belden, bij nummer twee kostte een gerecht net zoveel als een week bij andere restaurants eten en voor de rest hadden we geen zin in pizza.

De dichtstbijzijnde plaats met meer dan een pizzeria is Naestved. Daarmee is alles gezegd: de restaurants die we belden gaven niet thuis, dus of ze waren opgedoekt of het telefoonnummer op de websites was niet (meer) goed. We zijn uiteindelijk bij “Wok og Chopsticks” terechtgekomen. Het personeel was vriendelijk zoals in de reviews, maar voor het eten zouden we niet terugkomen.

Uiteindelijk waren we bijtijds weer thuis

Dag 14 (6) – Op weg terug, Praesto – Stemmen

We hadden de avond van tevoren gedacht in een dag terug te reizen, maar het bleek dat de 600-km-route met de veerboot over ging van Lolland naar Duitsland. Dat gaf veel uitzoekwerk, daarom besloten we in twee dagen terug te reizen via dezelfde route als we gekomen waren. Overnachten zouden we in “Hotel Landgut Stemmen“.

Om te voorkomen dat de veer-route genomen werd door de navigatie, gaf ik Odense in als tussenstop; later heb ik die verwijderd om omwegen te voorkomen. Dat moment heeft de navigatie meteen aangegrepen om een route via een andere veerboot te selecteren, waar we pas achter kwamen toen voorbij Bojden de weg ophield en er een boot voor ons in het water lag. Toen zijn we alsnog met de boot gegaan en hebben we wat uitgewaaid aan dek.

Bij Fynshav kwamen we weer aan land met nog 300 km te gaan. Het werd ongeveer tijd wat te eten, en na te denken over waar we zouden avondeten: Kiel, Hamburg, Hotel?

Al rijdende kwamen we daar niet uit; met een file in het vooruitzicht zijn we bij Schuby van de snelweg gegaan om de opties door te nemen. We hadden zeker voldoende batterij om Kiel te halen (als in, om er te komen, niet als activiteit); Hamburg net niet. Na een tijdje peinzen zijn we eerst maar naar een laadpaal gereden om in ieder geval niet door de batterij beperkt te zijn. Naast de laadpaal zagen we “Kaplan Doner”, een shoarmarestaurantje (zonder eigen website), waar we naartoe liepen met het idee niet op een lege maag na te hoeven denken.

De porties bleken groot zat, en het smaakte beter dan verwacht. Toen we onze bordjes leeg hadden, konden we er zeker tot het avondeten tegenaan en was de batterij vol genoeg om niet meer te hoeven stoppen.

Zonder touristische tussenstop kwamen we bovendien voor sluitingstijd van de keuken bij het hotel aan, dus hebben we daar gegeten. Het restaurant (“Schultens“) was erg betaalbaar, maar het eten niet om over naar huis te schrijven. Gelukkig was het hotel beter dan het restaurant, en het ontbijt was goed. Ook aan de auto was gedacht: het hotel had twee vrij snelle laadpalen, waardoor we de volgende ochtend niet alleen uitgerust en met een volle maag, maar ook met een volle batterij op pad konden.

Dag 15 (7) – Stemmen – Umleitung – thuis

Van Stemmen naar Zwolle is het ongeveer 300 kilometer; goed te doen zonder opladen als je niet te snel rijdt. Het eerste stuk was echter veel snelweg, wat snel in de reikwijdte vrat. Halverwege Bremen en de grens met Nederland kwamen daarbij nog omleidingen; daardoor kwam Nordhorn op een gegeven moment in zicht. Daar hebben we eerder gegeten en opgeladen; met een blik op de batterijmeter en de klok zijn we daar gaan lunchen. Wok. Het restaurant bleek na corona overgegaan in andere handen, maar de formule was nog hetzelfde: niet heel uitgebreid, slechte koffie en sushi met iets teveel azijn, maar verder OK. Op de koffie na beter dan bij de chopsticks in Naestved, en voor minder dan de helft van het geld.

Met alle omleidingen zijn we gaan eten voor het restaurant sloot, om daarna de auto te laden. Dat bleek niet nodig, dus we zijn meteen doorgereden. Tegen het eind van de middag was de vakantie afgelopen, en na het uitpakken van de koffers leek het halverwege de avond of we niet weggeweest waren.

Epiloog

Ik keek er niet bijzonder naar uit om in Denemarken op vakantie te gaan, met wat ik wist aan “onbekend, onbemind”: ik had geen idee wat ik er, naast Legoland, te zoeken of te vinden had.

Na de vakantie heb ik die leemte in ieder geval gevuld. Ik zou als voorproefje een week in Drenthe op vakantie gaan, bij voorkeur een week waarin het geen dag droog is. Als dat bevalt, kun je overwegen naar Denemarken te gaan: “meer” (als in: “weinig”) van hetzelfde, alleen duurder. Er zijn best mooie/aardige stukjes Denemarken, maar voor mooie/aardige stukjes <vul in> hoef je niet speciaal naar Denemarken.

Wat me bijblijft van Denemarken:

  • Alles is 20% duurder (of je krijgt 30% minder) dan in NL na inflatie; eten, restaurants, pretparken, overnachtingen. Prettige uitzondering: in veel musea hoeven enkel ouders te betalen; de musea die we bezocht hebben zijn mooi ingericht.
  • Huizen en gebouwen zijn ingestort, staan op instorten, zijn net voldoende opgelapt om niet in te storten of zijn na instorten net voldoende opgelapt om bewoonbaar te verklaren.
  • Het landschap is net Drenthe, behalve dat de glooing in het landschap het uitzicht in de weg zit. Er is vrij veel van niets, we hebben geen noemenswaardige bossen gezien (misschien zijn die allemaal gezonken als Vikingschip), er zijn geen indrukwekkende uitzichten (de heuvels zijn hoog genoeg om in de weg te staan, maar niet hoog genoeg om er overheen te kijken); er zijn geen uitgestrekte akkers of weiden, telkens enkele velden en dan wat stenen.
  • Het weer doet erg zijn best om Nederlanders zich thuis te laten voelen, maar door alle zee tussen de eilanden is er teveel wind om de regen lang vast te houden. We hebben in twee weken 1 dag zonder regen gehad, en maar een paar dagen helemaal zonder zon. Het gevolg was dat je iedere dag (behalve die drie, maar dat wisten we niet van tevoren) zowel een korte broek en paraplu (bij regen zonder wind) als een lange broek en trui (bij wind zonder regen), als een korte broek en een regenjas (bij regen met wind) als een korte broek en een t-shirt (als zowel wind als regen ontbraken) nodig had
  • Denemarken is toegankelijk voor toeristen (vrijwel overal is een omschrijving in het Engels beschikbaar, en als er geen Engelstalige menukaart is, dan spreekt de bediening Engels), maar het is niet ingesteld op gelegenheidstoeristen. Op korte termijn zijn er vrij weinig overnachtingsmogelijkheden beschikbaar.
  • Zonder inmenging van Google of Apple en zonder Deens telefoonnummer kun je op veel plaatsen niet betalen: de digitale ekonomie leunt zwaar op 1 app die enkel via commerciele downloadwinkels beschikbaar is, en waarvoor je een Deens telefoonnummer nodig hebt.

Adressen

MEININGER Hotel Hamburg City Center
Goetheallee 11
22765 Hamburg

Vikær Strand Camping
Dundelum 29
6100 Haderslev
74 57 54 64

Print this entry

IPv6 – nogmaals

Vorige week heb ik – eindelijk – een laadpaal geinstalleerd ter vervanging van de kabel die al ruim 6 jaar uit het zolderraam hing te bungelen. Voordat de stroom er af ging, heb ik alle apparatuur in het zicht netjes uitgeschakeld, maar de server staat niet in het zicht en kwam niet meer online toen er weer stroom was.

Zodra ik dat door had, kon ik met een handmatige ingrepen het gros weer draaiend krijgen, voor het moment, maar na een blikseminslag vandaag was de stroom er opnieuw vanaf met hetzelfde resultaat: website en webservices off-line.

Iets wat zowiezo nog niet goed werkte, en nu dus zeker niet, was het betrouwbaar uitdelen van IPv6-adressen in het netwerk. Daarbij kwam nu dat IPv4 niet goed terechtkwam.

In de logging van OPNsense viel me op dat er regelmatig no route to host gemeld werd:

<187>1 2023-07-09T20:39:33+02:00 vpoort.osba.nl dhcpd 54250 - [meta sequenceId="5"] send_packet6: No route to host

Daar had ik eerder nog niet naar gezocht, of niet op de juiste zoekresultaten geklikt. Deze keer klikte ik een link naar het Netgate forum, waar met name een post er uitsprong. Het relevante deel:

I added to the bridge a link local IPv6 address … Soon after the DHCP log started indicating the DHCP response completed successfully

wallabybob

Ik controleerde de configuratie van de bridge op de router; er was wel een IPv6-adres aan toegekend, maar geen local link adres. Bovenstaand citaat is uit 2011, ruim 12 jaar geleden. Ik kon bijna niet geloven dat ik nu nog steeds tegen dat probleem aan kon lopen, maar na lezen (en leren) van de rest van de thread heb ik het toch geprobeerd:

# ifconfig bridge0 inet6 add fe80::5a9c:fcff:fe10:ff91/64

Geloof het of niet, maar direct daarna verdwenen de no route to host’s , en verschenen daarvoor in de plaats Reply NA‘s; zie de stukjes log, als eerste de fouten:

<190>1 2023-07-09T20:39:33+02:00 vpoort.osba.nl dhcpd 54250 - [meta sequenceId="1"] Solicit message from fe80::dab6:b7ff:feb7:981a port 546, transaction ID 0x577C2900
<191>1 2023-07-09T20:39:33+02:00 vpoort.osba.nl dhcpd 54250 - [meta sequenceId="2"] Picking pool address 2a10:3781:2d49:172:26:90:0:f525
<190>1 2023-07-09T20:39:33+02:00 vpoort.osba.nl dhcpd 54250 - [meta sequenceId="3"] Advertise NA: address 2a10:3781:2d49:172:26:90:0:f525 to client with duid 00:03:00:01:d8:b6:b7:b7:98:1a iaid = -1212704742 valid for 7200 seconds
<190>1 2023-07-09T20:39:33+02:00 vpoort.osba.nl dhcpd 54250 - [meta sequenceId="4"] Sending Advertise to fe80::dab6:b7ff:feb7:981a port 546
<187>1 2023-07-09T20:39:33+02:00 vpoort.osba.nl dhcpd 54250 - [meta sequenceId="5"] send_packet6: No route to host
<187>1 2023-07-09T20:39:33+02:00 vpoort.osba.nl dhcpd 54250 - [meta sequenceId="6"] dhcpv6: send_packet6() sent -1 of 104 bytes
<190>1 2023-07-09T20:39:44+02:00 vpoort.osba.nl dhcpd 54250 - [meta sequenceId="7"] Solicit message from fe80::225:61ff:fee3:1ee0 port 546, transaction ID 0xFB62AD00
<191>1 2023-07-09T20:39:44+02:00 vpoort.osba.nl dhcpd 54250 - [meta sequenceId="8"] Picking pool address 2a10:3781:2d49:172:26:90:0:f79c
<190>1 2023-07-09T20:39:44+02:00 vpoort.osba.nl dhcpd 54250 - [meta sequenceId="9"] Advertise NA: address 2a10:3781:2d49:172:26:90:0:f79c to client with duid 00:03:00:01:00:25:61:e3:1e:e0 iaid = 2424874 valid for 7200 seconds
<190>1 2023-07-09T20:39:44+02:00 vpoort.osba.nl dhcpd 54250 - [meta sequenceId="10"] Sending Advertise to fe80::225:61ff:fee3:1ee0 port 546
<187>1 2023-07-09T20:39:44+02:00 vpoort.osba.nl dhcpd 54250 - [meta sequenceId="11"] send_packet6: No route to host
<187>1 2023-07-09T20:39:44+02:00 vpoort.osba.nl dhcpd 54250 - [meta sequenceId="12"] dhcpv6: send_packet6() sent -1 of 100 bytes
<190>1 2023-07-09T20:39:46+02:00 vpoort.osba.nl dhcpd 54250 - [meta sequenceId="13"] Information-request message from fe80::ec4:7aff:fec1:25e4 port 546, transaction ID 0x7A418D00
<190>1 2023-07-09T20:39:46+02:00 vpoort.osba.nl dhcpd 54250 - [meta sequenceId="14"] Sending Reply to fe80::ec4:7aff:fec1:25e4 port 546
<187>1 2023-07-09T20:39:46+02:00 vpoort.osba.nl dhcpd 54250 - [meta sequenceId="15"] send_packet6: No route to host
<187>1 2023-07-09T20:39:46+02:00 vpoort.osba.nl dhcpd 54250 - [meta sequenceId="16"] dhcpv6: send_packet6() sent -1 of 73 bytes

… daarna de correcte verwerking:

<190>1 2023-07-09T21:55:09+02:00 vpoort.osba.nl dhcpd 54250 - [meta sequenceId="19"] Solicit message from fe80::dab6:b7ff:feb7:981a port 546, transaction ID 0x577C2900
<191>1 2023-07-09T21:55:09+02:00 vpoort.osba.nl dhcpd 54250 - [meta sequenceId="20"] Picking pool address 2a10:3781:2d49:172:26:90:0:f525
<190>1 2023-07-09T21:55:09+02:00 vpoort.osba.nl dhcpd 54250 - [meta sequenceId="21"] Advertise NA: address 2a10:3781:2d49:172:26:90:0:f525 to client with duid 00:03:00:01:d8:b6:b7:b7:98:1a iaid = -1212704742 valid for 7200 seconds
<190>1 2023-07-09T21:55:09+02:00 vpoort.osba.nl dhcpd 54250 - [meta sequenceId="22"] Sending Advertise to fe80::dab6:b7ff:feb7:981a port 546
<190>1 2023-07-09T21:57:08+02:00 vpoort.osba.nl dhcpd 54250 - [meta sequenceId="133"] Reply NA: address 2a10:3781:2d49:172:26:90:0:f525 to client with duid 00:03:00:01:d8:b6:b7:b7:98:1a iaid = -1212704742 valid for 7200 seconds

Ik ben er nog niet uit hoe het met de volgordelijkheid zit: eerder liepen de meta sequence id’s slechts tot ergens in de 20, nu ver voorbij 100. Nummers <190> en <191> lijken OK, de eerdere fouten vallen onder <187>.

Het resultaat is nu dat opeens heel veel apparaten een IPv6 toegewezen hebben gekregen. Waar ik er eerst met hangen en wuren twee of drie kreeg, instabiel (telkens andere IP’s, telkens andere apparaten), is er nu opeens een hele lijst.

Nog te doen: herkenbare statische leases aanmaken voor vaste apparatuur, en natuurlijk waar het om begon: zorgen dat de webserver een IP krijgt tijdens boot.

Print this entry