Archiv ‘IT’

Samstag, 14. Oktober 2017

upc cablecoms Verfügbarkeitsabfrage ist äusserst geschwätzig

upc cablecom bietet auf ihrer Web-Site die Möglichkeit, eine Wohnadresse auf die Verfügbarkeit von upc-Produkten zu überprüfen:

Verfügbarkeit prüfen

Füllt man die erforderlichen Angaben in das Formular ein, erhält man eine rein binäre Antwort für jede der drei Produktkategorien Internet, TV und Festnetz:

Im Hintergrund setzt dafür JavaScript eine Abfrage auf eine upc API ab. Die URL lautet für das vorliegende Beispiel:

https://www.upc.ch/aff-upc-cablecom-ch/aav/availability.json?streetName=Schl%C3%B6sslistrasse&streetNumber=39&postalCode=3008&_charset_=UTF-8&lang=de

Als Antwort erhält man eine Datei namens availability.json zurück. Nachfolgend das Beispiel für meine Wohnadresse:

{
    "addressResultState": "uniqueAddress",
    "addresses": [
        {
            "buildingNumber": 39,
            "buildingNumberAnnex": null,
            "buildingStatusId": 3,
            "buildingStatusName": "completed",
            "communeName": "Bern",
            "coordinateX": "599190",
            "coordinateY": "199475",
            "countryCodeA2": "CH",
            "idBuilding": 131767,
            "locationName1": "Bern",
            "locationName2": "Bern",
            "networkOperatorId": 0,
            "postCode": "3008",
            "postCodeAnnex": "00",
            "postOfficeName": "Bern",
            "stateName": "Bern/Berne",
            "stateShort": "BE",
            "streetName1": "Schl\u00f6sslistrasse"
        }
    ],
    "availability": {
        "accessProvider": null,
        "accessTechnology": null,
        "cablecomRegion": "Nord-West",
        "catv": {
            "available": true,
            "houseUpgradeNeeded": false,
            "packages": {
                "_package": [
                    "not available"
                ]
            },
            "partnerNetFlag": false
        },
        "dp": {
            "available": true,
            "availableFrom": {
                "day": 5,
                "fractionalSecond": 0.0,
                "hour": 0,
                "minute": 0,
                "month": 9,
                "second": 0,
                "timezone": 120,
                "year": 2000
            },
            "houseUpgradeNeeded": false,
            "packages": {
                "_package": [
                    "RVO_VSB01",
                    "RVO_VSB02",
                    "RVO_VSB03",
                    "RVO_VSB04",
                    "RVO_VSB05",
                    "RVO_FRC1",
                    "RVO_GBL1",
                    "RVO_FCG1",
                    "RVO_FRC2",
                    "RVO_GBL2",
                    "RVO_FCG2",
                    "RVO_FCE1",
                    "RVO_FCE2",
                    "RVO_FPW1",
                    "RVO_FPW2",
                    "RVO_FPS1",
                    "RVO_FPS2",
                    "RVO_FPP1",
                    "RVO_FPP2",
                    "RVO_BP1",
                    "RVO_BDS13",
                    "RVO_BDS14",
                    "RVO_BDS08",
                    "RVO_BDS11",
                    "RVO_BDS09",
                    "RVO_BDS12"
                ]
            },
            "partnerNetFlag": false
        },
        "dtv": {
            "available": true,
            "availableFrom": {
                "day": 1,
                "fractionalSecond": 0.0,
                "hour": 0,
                "minute": 0,
                "month": 1,
                "second": 0,
                "timezone": 60,
                "year": 1999
            },
            "houseUpgradeNeeded": false,
            "packages": {
                "_package": [
                    "",
                    "NR_SVD01",
                    "RDC_SFRSD",
                    "RDC_SFRS_M",
                    "RDI_CH01",
                    "RDI_CH04",
                    "RDI_CH05",
                    "RDI_CH06",
                    "RDI_CH07",
                    "RDI_CH08",
                    "RDI_CH09",
                    "RDI_CH09",
                    "RDI_CH10",
                    "RDI_CH11",
                    "RDI_CH17",
                    "RDI_CH17H",
                    "RDI_CH18",
                    "RDI_CH18H",
                    "RDI_CH19",
                    "RDI_CH19H",
                    "RDI_CH20",
                    "RDI_CH20H",
                    "RDI_CH21",
                    "RDI_CH21",
                    "RDI_CH21_M",
                    "RDI_CH21_M",
                    "RDI_CH22",
                    "RDI_CH22_M",
                    "RDI_CH24",
                    "RDI_CH24_M",
                    "RDI_CH25",
                    "RDI_CH25_M",
                    "RDI_CH26",
                    "RDI_CH26_M",
                    "RDI_CH27",
                    "RDI_CH27_M",
                    "RDI_CH28",
                    "RDI_CH28_M",
                    "RDI_CH30",
                    "RDI_CH31",
                    "RDI_CH32",
                    "RDI_CH33",
                    "RDI_CH40",
                    "RDI_CH40_M",
                    "RDI_CH41",
                    "RDI_CH41",
                    "RDI_CH42",
                    "RDI_CH44",
                    "RDI_CH47",
                    "RDI_CH47",
                    "RDI_CH48",
                    "RDI_CH49",
                    "RDI_CH50",
                    "RDI_CH51",
                    "RDI_CH52",
                    "RDI_CH53",
                    "RDI_CH54",
                    "RDI_CH55",
                    "RDI_CH56",
                    "RDI_CH57",
                    "RDI_CH59",
                    "RDI_CH60",
                    "RDI_CH61",
                    "RDI_CH62",
                    "RDI_CH65",
                    "RDI_CH66",
                    "RDI_CH67",
                    "RDI_CH68",
                    "RDI_CH72",
                    "RDI_CH73",
                    "RDI_CH74",
                    "RDI_CH81",
                    "RDI_CH93",
                    "RDI_CH97_M",
                    "RDI_D4A_97",
                    "RDI_DUMW",
                    "RDI_DWISR1",
                    "RDI_DWISS1",
                    "RDI_DWR1",
                    "RDI_DWS1",
                    "RDI_HCOD",
                    "RDI_HRZ06",
                    "RDI_HRZ11",
                    "RDI_HRZ17",
                    "RDI_HRZ17",
                    "RDI_CH81",
                    "RDI_HRZ17H",
                    "RDI_HRZ81",
                    "RDI_HRZ18",
                    "RDI_HRZ18H",
                    "RDI_HRZ19",
                    "RDI_HRZ19H",
                    "RDI_HRZ20",
                    "RDI_HRZ20H",
                    "RDI_HRZ21",
                    "RDI_HRZ21",
                    "RDI_HRZ22",
                    "RDI_HRZ24",
                    "RDI_HRZ25",
                    "RDI_HRZ26",
                    "RDI_HRZ27",
                    "RDI_HRZ28",
                    "RDI_HRZ40",
                    "RDI_HRZ52",
                    "RDI_HRZ53",
                    "RDI_HRZ83",
                    "RDI_HRZCL",
                    "RDI_HRZCO",
                    "RDI_HRZDS",
                    "RDI_HRZ_97",
                    "RDI_PREM1",
                    "RDI_PREM2",
                    "RDI_PREM_M",
                    "RDI_PRM",
                    "RDI_PRMM",
                    "RDI_SPTV",
                    "RDI_SPTV_M",
                    "RDI_SVD_51",
                    "RDI_SVD_51",
                    "RDI_SVD_51",
                    "RDI_SVD_52",
                    "RDI_SVD_52",
                    "RDI_SVD_52",
                    "RDI_SVD_59",
                    "RDI_SVD_60",
                    "RHZ_CLAS7",
                    "RHZ_CLAS8",
                    "RHZ_PREM1",
                    "RHZ_PREM2",
                    "RHZ_PRM",
                    "RHZ_SFRSH",
                    "RHZ_SPTV",
                    "RDI_CTDV",
                    "RDI_DUMS",
                    "RDI_DUMM"
                ]
            },
            "partnerNetFlag": false
        },
        "dtvActicationCode": "203",
        "dtvDistributionModel": "Vertriebsmodell Cablecom",
        "dtvSetupId": "01810000",
        "ftthBuildingStatus": null,
        "ftthSla": null,
        "hs": {
            "available": true,
            "availableFrom": {
                "day": 5,
                "fractionalSecond": 0.0,
                "hour": 0,
                "minute": 0,
                "month": 9,
                "second": 0,
                "timezone": 120,
                "year": 2000
            },
            "houseUpgradeNeeded": false,
            "packages": {
                "_package": [
                    "DHS_BSO",
                    "RHS_BDS06",
                    "RHS_BDS07",
                    "RHS_BDS08",
                    "RHS_BDS09",
                    "RHS_BDS10",
                    "RHS_BDS11",
                    "RHS_BDS12",
                    "RHS_BDS13",
                    "RHS_BDS14",
                    "RHS_BDS15",
                    "RHS_BDS16",
                    "RHS_BDS17",
                    "RHS_BDS18",
                    "RHS_BDS20",
                    "RHS_BDS21",
                    "RHS_HC256",
                    "RHS_HS02",
                    "RHS_HS05",
                    "RHS_HS06",
                    "RHS_HS08",
                    "RHS_HS09",
                    "RHS_HS11",
                    "RHS_HS12",
                    "RHS_HS13",
                    "RHS_HS14",
                    "RHS_HS15",
                    "RHS_HS16",
                    "RHS_HS17",
                    "RHS_HSED13",
                    "RHS_HSED21",
                    "RHS_HSED30",
                    "RHS_HSED32",
                    "RHS_NDH25",
                    "RHS_HSED10",
                    "RHS_HSED11",
                    "RHS_HSED12",
                    "RHS_HSED14",
                    "RHS_HSED15",
                    "RHS_HSED16",
                    "RHS_HSED17",
                    "RHS_HSED18",
                    "RHS_HSED19",
                    "RHS_HSED20",
                    "RHS_HSED22",
                    "RHS_HSED23",
                    "RHS_HSED24",
                    "RHS_HSED25",
                    "RHS_HSED26",
                    "RHS_HSED28",
                    "RHS_HSED29",
                    "RHS_WOO"
                ]
            },
            "partnerNetFlag": false
        },
        "idBuilding": 131767,
        "languageRegion": "DE",
        "longText": "An Ihrem Standort ist bereits alles vorbereitet. Melden Sie sich jetzt online an und schon in wenigen Tagen k\u00f6nnen Sie vom gew\u00fcnschten Produkt profitieren.",
        "mobile": {
            "available": true,
            "houseUpgradeNeeded": false,
            "packages": {
                "_package": [
                    "ALL"
                ]
            },
            "partnerNetFlag": false
        },
        "vod": {
            "available": true,
            "houseUpgradeNeeded": false,
            "packages": {
                "_package": [
                    "BM_VODKIT"
                ]
            },
            "partnerNetFlag": false
        }
    },
    "availabilityResultState": "availabilityFound"
}

(Lesbar gemacht mit Google Chrome unter die Haube schauen (und JSON lesbar ausgeben))

Einige Erkenntnisse:

  • Diese API rechnet Strassenanschriften ins Schweizer Koordinatensystem um (600:200, irgendjemand?).
  • Das JSON sagt auch, wann das Gebäude an das cablecom-Netz angeschlossen wurde (Internet am 5. September 2000, Fernsehen am 1. Januar 1999 (wahrscheinlich ein Dummy-Wert, oder aber cablecom hat zu dem Stichtag das Berner Kabelnetz übernommen?)).
  • Benötigt mein Gebäude ein Upgrade? Aus meiner Sicht ein möglicher Hinweis auf Probleme in der Hausverkabelung und somit auf mögliche Geschwindigkeitseinbussen.
  • Es gibt drei Produktekategorien: dtv steht für Digital TV, hs steht für Highspeed (Internet) und dp wohl für Digital Phone.
  • Für jede Produktkategorie wird fein säuberlich aufgelistet, welche Packages verfügbar sind. Leider ist es mir nicht möglich, die Abkürzungen dieser Packages zu entziffern. Bei Digital TV vermute ich, dass einzelne Sender aufgelistet werden. Bei Highspeed Internet könnten es die effektiv verfügbaren Geschwindigkeiten sein.
  • Im JSON sind auch der Activation Code und die Setup ID aufgeführt, die man auf der Horizon-Box oder dem TV-Gerät für die Kanalsuche eingeben muss.
  • Schlussendlich sieht man auch, ob ein Gebäude an das (upc?) Glasfasernetz angeschlossen ist.

Tags: , , , , , ,
Labels: IT, Schweiz, Shopping

Keine Kommentare | neuen Kommentar verfassen

Samstag, 14. Oktober 2017

Sonos Play:1 haben unterschiedliche Hardware-Versionen

Wieso das eine Rolle spielt? Offenbar kann man bei den älteren Modellen sofort aufhören, auf AirPlay 2-Unterstützung zu hoffen:

  • Good: One, Playbase, Play:5 (gen 2)
  • Bad: Play:1 (hardware 1.8x no, 1.20.x yes)
  • Ugly: Play:3, Play:5 (gen 1), Playbar, Connect, Connect:Amp, Sub

Quelle: Airplay 2 not coming to all Sonos speakers

Mit meiner Play:5, 2. Generation, bin ich offenbar auf der sicheren Seite.

Doch wie schaut es mit meinen insgesamt vier über die Wohnung verteilten Play:1 aus? Hier hilft die Sonos Desktop-App, die Hardware-Versionen zu identifizieren:

  • Sonos
  • About My Sonos System

Fazit: Zwei Mal 1.20.1.6-2, d.h. „yes“ (was auch immer Vowe damit meint), zwei Mal 1.8.3.7-2, d.h. „no“.

A propos: Meine Play:5 hat Hardware-Version 1.13.1.7-2.

Tags: , , , , , ,
Labels: Apple, IT

Keine Kommentare | neuen Kommentar verfassen

Samstag, 14. Oktober 2017

Vergesst Intel NUCs und RPIs als Linux-Server zu Hause

Bei mir im Haushalt habe ich beides stehen:

Einen Raspberry Pi 3, der auf einem 22 Zoll-Bildschirm neben der Wohnungstüre hochkant ein Dashboard mit Zeitzonen, Abfahrten von Trams und Bussen, Temperaturen von Netatmo und Sense Peanut-Sensoren, Wetterprognosen, Twitter-Meldungen, Aktienkurse und Umrechnungskurse anzeigt (vor Jahren inspiriert durch einen Besuch bei Cyon in Basel).

Der Raspberry Pi ist (vermeintlich) günstig, benötigt aber ein Gehäuse und flinke SD-Karten. Immerhin läuft er mit dem Strom eines USB-Ports eines Bildschirms und hat mittlerweile Bluetooth und WLAN direkt eingebaut. Trotzdem ein Gefrickel, was die Installation und Konfiguration angeht. Mit nicht immer zeitnahem Software-Support. Wehe, wenn ein Software-Update fehlschlägt oder eine Fehlkonfiguration ausgerollt wird — viel Spass, die SD-Karte unter macOS zu mounten, die Konfigurationsdateien anzupassen, neu zu booten und das Spiel von vorne zu wiederholen, bis man den wirklich Schuldigen gefunden hat (der DAU an der Tastatur, meistens). Ausserdem ist die Hardware sehr schwachbrünstig (Chrome im Fullscreen lässt ihn fast austicken) und eignet sich nicht für jeden Einsatzzweck.

Andererseits einen Intel NUC, welcher primär Netzwerkaufgaben übernimmt: OpenVPN, DHCP, DNS und UniFi-Controller.

Performance-mässig nichts auszusetzen, aber auf Grund der Dimensionen nicht wartungsfreundlich. Und teuer, weshalb meistens Overkill für Standardaufgaben im heimischen Haushalt.

Mein Tipp: Wer die perfekte Hardware für einen Linux-Server sucht, halte nach älteren, gebrauchten Lenovo-Laptops Ausschau. Auf dem Gebrauchtmarkt kriegt man die Modelle X200, X201 und X220 (12 Zoll-Monitor) sowie T400 und T420 (14 Zoll-Monitor) zwischen 50 und 250 CHF.

Wieso ich auf diese Dinger schwöre?

  • x86 respektive x86_64 Prozessorarchitektur, auf welchem ein hundsnormales Linux ohne irgendwelche Handstände läuft
  • Ausgezeichneter Linux-Treibersupport — das neueste Debian ISO mit Etcher auf einen USB-Stick schreiben, Standardinstallation durschpielen, läuft (abgesehen von der leidigen Geschichte mit den WLAN-Treibern, aber solche Server betreibt man am Ethernet, nicht im WLAN).
  • Günstig
  • Man findet sie auf Ricardo, Tutti und Anibis wie Sand am Meer
  • Eingebaute Tastatur und Bildschirm — Debugging leichtgemacht (man wird nie einen Ersatzbildschirm und eine USB-Tastatur anschleppen müssen, wenn das Ding mal die Netzwerkverbindung verliert)
  • Stromsparend
  • Leise
  • Überhitzen nicht kaum
  • RAM und Festplatten lassen sich problemlos aufrüsten; entweder mit kleinen, flinken SATA SSDs oder aber mit fetten, aber etwas teureren Magnetplatten
  • Funktionieren zugeklappt und nehmen dann etwas mehr als die Fläche eines Papierstapels und die Höhe eines Buches (kein Tolstoi) ein
  • Haben die „USV“ (richtig geraten, die Laptop-Batterie) gleich eingebaut. Und wenn deren Kapazität wegen Memory-Effekten und dergleichen nachlässt: Günstig ersetzbar.
  • Docks findet man auf dem Gebrauchtmarkt auch viele (wobei ich immer noch nicht sicher bin, ob es besser ist, diese Dinger im oder ausserhalb des Docks zu betreiben)

Tags: , , , , , , , , , ,
Labels: IT, Shopping

3 Kommentare | neuen Kommentar verfassen

Donnerstag, 7. September 2017

Netgear Arlo Pro Kameras kann man nicht mit einem normalen USB-Ladegerät aufladen

Letzte Woche habe ich in Kalifornien einer Bekannten geholfen, einige Netgear Arlo Pro Überwachungskameras ums Haus herum zu installieren, um einen Obstdieb dingfest zu machen.

Mangels einer ausreichenden Menge an Steckdosen und Original-Ladegeräten wollte ich die Kameras an meinem treuen Reisebegleiter, dem USB-Ladegerät Aukey PA-T15 Quick Charge 3.0 54W mit insgesamt fünf USB A-Ports, aufladen.

Klappt leider nicht. Die LED der Arlo Pro Kamera leuchtete Orange (in der dortigen Landessprache „Amber“) und die Batterie wurde nicht aufgeladen.

Wie sich mit einem nach wenig googlen gefundenem Knowledgebase-Artikel herausstellte, verfügt die Kamera zwar über einen üblichen USB-Anschluss, erwartet aber satte 9V Spannung:

Quick Charge technology only works if you use a compatible Quick Charge power adapter and power adapter cable. A regular 5V Micro USB cable does not have high enough voltage to fully charge your Arlo Pro Wire-Free camera […] You must use the 9V Arlo Pro power adapter and power adapter cable that came with your Arlo Pro system

Quelle: What is Quick Charge and why does my Arlo Pro Wire-Free or Arlo Go camera use it?

Obwohl das Aukey-Ladegerät Quick Charge unterstützt, liefert es leider nur die üblichen 5V:

Quick Charge 3.0 – Charge compatible devices up to 4 times faster than conventional charging
Adaptively charges all 5V USB powered devices including Android and Apple devices at up to 2.4A

Tags: , , , , , ,
Labels: IT

1 Kommentar | neuen Kommentar verfassen

Dienstag, 8. August 2017

Chrome Sync härten

Gemäss den Empfehlungen im Artikel Hardening Google Chrome habe ich die Sync-Einstellungen meines Desktop-Browsers folgendermassen eingeschränkt:

Und auf iOS-Geräten sehen meine Einstellungen so aus:

Tags: , , , , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Dienstag, 8. August 2017

Google Chrome wieder nützliche Informationen über TLS-Verschlüsselung anzeigen lassen

Als Security Officer befasst man sich gelegentlich auch mit TLS-Zertifikaten von Web-Sites. Wenn man die Zertifikate und die Verschlüsselung einer im öffentlichen Internet ansprechbaren Web-Site bewerten lassen möchte, verwendet man dazu am Besten Qualys SSL Server Test.

Manchmal aber sind Web-Applikationen nur im Intranet erreichbar, oder manchmal möchte man einfach nur ganz rasch in Erfahrung bringen, welche Verschlüsselung eine Web-Site einsetzt.

Bis vor kurzem ging das in Chrome ganz flott: In der URL-Bar klickte man auf das Schloss-Symbol und erhielt mit ein, zwei Klicks alle nötigen Informationen präsentiert. Spätestens seit Version 59 klappt das nicht mehr.

In Version 60 haben die Chrome-Entwickler das Problem resp. den Kundenwunsch erkannt und ermöglichen es neu, die Funktionalität mittels einer Konfigurationseinstellung wieder zu reaktivieren:

  1. Chrome starten
  2. Die URL chrome://flags/#show-cert-link ansurfen
  3. Enable anklicken
  4. Chrome neu starten

Via: Configure Google Chrome to display certificates directly

Und ab sofort gibt es mit Klick auf das Schlosssymbol einer Web-Site wieder den Eintrag „Certificate“:

Mit Klick auf Valid öffnet sich danach ein os-spezifisches Fenster mit Informationen zum Zertifikat:

Tags: , , , , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 23. Juli 2017

1Password kann ja auch TOTP (Google Authenticator)

Auf meinem iPhone habe ich Google Authenticator installiert, welcher mir Einmalpasswörter für eine Ladung von Geräten in meinem Heimnetzwerk (Synology NAS, Anleitung hier) sowie Web-Services (Gmail, Rainloop Webmail, WordPress etc.) liefert. Im Fachjargon nennt man das Time-based One-time Password Algorithm TOTP.

Da ich zu Hause manchmal das Smartphone in einem anderen Raum liegenlasse und ich mir in solchen Fällen den Fussweg zum Telefon sparen möchte, habe ich mich nach einer Desktop-Variante von Google Authenticator umgesehen. In einem Artikel werden einige Varianten erläutert, doch bei den meisten handelt es sich um Google Chrome-Extensions. Solche möchte ich nicht verwenden, da ich verhindern möchte, dass Google meine geheimen Schlüssel erfährt und sie zwischen allen Chrome-Instanzen hin- und hersynchronisiert.

Leider funktioniert JAuth 2 unter macOS Sierra nicht (verlangt nach dem nicht installierten Java 6, RLY?), weshalb ich mich nach anderen Lösungen umsehen musste.

Plötzlich die zündende Idee — moment mal, ich habe ja 1Password auf meinem iPhone, iPad sowie meinem MacBook wie auch meinem Mac mini installiert. Kann die Software nicht auch mit TOTP umgehen?

Und tatsächlich: 1Password bringt alles an Bordmitteln mit, um QR-Codes einzulesen und dann in Echtzeit im jeweiligen Zugangsdaten-Eintrag die sechsstelligen Zahlen anzuzeigen. Halt einfach ein wenig versteckt. Doch weiss man einmal, wo suchen, geht es Ruckzuck und der QR-Code ist in der App im jeweiligen Eintrag der Credentials gespeichert.

Natürlich bedeutet das aber auch, dass wer meine 1Password-Datenbank stehlen kann, neben Benutzernamen und Passwort auch gleich den zweiten Faktor zum Login in sensitivere Konten besitzt.

Zum Glück laufen meine spezialisierten TOTP-Apps für die wirklich kritischen (und wertvollen) Anwendungen (sprich: Online-Banking) in eigenen, schön abgeschottenen Containern auf dem iPhone: Credit Suisse SecureSign und Raiffeisen PhotoTAN. Bei Postfinance verwende ich übrigens Swisscoms Mobile ID; d.h. der zweite Faktor ist hier in Hardware ausgelagert, was Vor- und Nachteile hat.

Tags: , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Samstag, 1. Juli 2017

Debian von einem bootbaren USB-Stick installieren

Kürzlich ist Debian 9.0 Stretch erschienen. Zeit, meinen USB-Stick mit den neuesten Installationsdateien zu bestücken, um zukünftige Linux-PCs von diesem Stick aus aufsetzen zu können.

Hierzu habe ich mir das neueste Debian Netinst ISO (für „Netzwerk-Installation“) heruntergeladen, welches man hier findet:

Debian — Network install from a minimal CD

Anschliessend habe ich den USB-Stick an meinen Mac mini eingesteckt (muss zwingend vor dem Starten von unetbootin gemacht werden, da das Drop-Down der Zielvolumes sonst leer bleibt), das bereits installierte unetbootin gestartet, das ISO ausgewählt und danach auf den USB-Stick kopieren lassen. Fertig.

Mangels eines verfügbaren, leeren Geräts konnte ich den Stick noch nicht testen, dieses Prozedere hat aber mit Debian 8.3 (Jessie) bereits perfekt funktioniert.

Tags: , , , , , , , , , ,
Labels: IT, Linux

Keine Kommentare | neuen Kommentar verfassen

Freitag, 16. Juni 2017

Icon zum PDF-Export in Word aktivieren

Auf der Arbeit bevorzuge ich es, PDFs anstelle von Word-Dateien zu versenden.

Damit das ohne langes herumhangeln in Menus funktioniert, habe ich mir in der Quick Access Toolbar einen Button platziert, der dies auf Knopfdruck bewerkstelligt.

Vorgehen:

  1. Rechtsklick auf Quick Access Toolbar
  2. Customize
  3. Choose commands from: All Commands
  4. Publish as PDF or XPS
  5. Klick auf „Add > >“
  6. OK

Quelle: save file as a .pdf shortcut for Word 2013

Tags: , , , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 14. Mai 2017

Factory Reset eines Netgear WNDR3700v2, auf dem DD-WRT installiert ist

Momentan läuft bei uns gerade eine massive Aufräumaktion und ich „verschutte“ viele von uns nicht mehr benötigte Dinge auf Tutti.

Unter anderem ein Netgear WNDR3700v2 (802.11n), welcher bis letztes Wochenende in Betrieb war und auf dem DD-WRT lief (DD-WRT kommt mir für kritische Infrastruktur nicht mehr ins Haus — Gefrickel).

Das Ziel war klar: DD-WRT vom Router löschen, das neueste offizielle Firmware des Herstellers installieren und das Gerät danach verkaufen. Doch das ist gar nicht sooo einfach.

Die Anleitung WNDR3700: Restore Factory Firmware in Five Easy Steps wollte bei mir eben gerade nicht so „easy“ klappen.

Folgendermassen habe ich es dann doch hingekriegt:

Das erste Problem war das betätigen des Reset-Buttons des Gerätes. Ich konnte den gewünschten blinkenden Zustand nie herrichten. Deshalb musste eine andere Lösung her — und die ist in diesem Post zum Thread beschrieben:

ssh or telnet to the router
enter the following command at the shell prompt (this effectively deletes the OS causing the router to go in to recovery mode on the next reboot/power cycle):

mtd erase linux

you should see a message similar to:

Unlocking linux ...
Erasing linux ...

wait until you are returned back to the shell prompt
power cycle the router
allow the router to finish booting (the Power LED will be lit solid for 10-15 seconds)
there after the Power LED should be flashing

Quelle:Anton Wan

Trotz Reset-Versuchen trug mein Router immer noch die IP, die ich konfiguriert hatte (und nicht 192.168.1.1). Mit dem Befehl mtd erase linux konnte ich das Gerät tatsächlich platt machen. Ein Neustart resultierte aber weiterhin nicht in den beschriebenen blinkenden Lichtern.

Stattdessen landete das Gerät wie in einem Thread auf der offiziellen Netgear-Web-Site beschriebenen in einem Reboot-Loop:

The power light is constant amber. Every 14th second, all the LAN ports blink amber, the and power light is turns off for half a second.

Quelle: Is my WNDR3700 bricked?

Letzte Hilfe: Router ausschalten, mit einem spitzen Gegenstand den Factory Reset-Knopf drücken, das Gerät starten und den spitzen Gegenstand gesteckt halten. Und zwar lange — bei mir dauerte es ganze 38 Sekunden, doch dann war das Power LED endlich wie gewünscht am blinken.

Auf meinem MacBook Air (mit der statischen IP 192.168.1.2) führte ich dann auf der Kommandozeile im Ordner mit der Firmware-Datei folgende Befehle aus:

$ tftp
tftp> mode binary
tftp> connect 192.168.1.1
tftp> put WNDR3700v2_WNDR37AVv2-V1.0.1.14.img
Sent 7078081 bytes in 4.3 seconds
tftp> quit

Ganz wichtig ist nun, den Router einfach mal werkeln zu lassen. Das kann einige Minuten dauern. Doch danach ist das Ding wieder im ursprünglichen Werkszustand.

Tags: , , , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen