SSL-Zertifikat des Unifi Wifi Controller austauschen

Wer den Ubiquiti Unifi Wlan Controller nutzt wird vielleicht schon über das mitgelieferte, selbsterstellte Zertifikat gestolpert sein. Das ganze führt auf der Adminoberfläche zu einer kleinen Fehlermeldung die soweit aber noch nicht so dramatisch ist. Nutzt man noch das Gästeportal bekommen jedoch auch alle Clients mit ihrem Smartphone eine Fehlermeldung, wenn auf die Loginseite mit HTTPS weitergeleitet wird.
Leider gibt es noch keine Möglichkeit das Zertifikat über die Admin Oberfläche auszutauschen. Jedoch per Kommandozeile, wie ich hier kurz beschreibe. Ich verwende den Windows Controller. Die Prozedur sollte unter Linux bis auf die Pfade nicht viel anders sein.
Ausgangslage ist ein bereits erstelltes Zertifikat was in Form eines PFX vorliegt. (Der Windows-Standard, wenn man ein Zertifikat exportiert.)
[stextbox id=’alert‘]Vorher unbedingt eine Sicherungskopie des Keystore machen und den Unifi Controller beenden.
(C:\Users\Dein-User\Ubiquiti UniFi\data\keystore)[/stextbox]

Alias des Zertifikats anzeigen lassen:

cd C:\Users\constey\Ubiquiti UniFi\data\
"C:\Program Files\Java\jre1.8.0_131\bin\keytool" -list -keystore mein-eigenes-zertifikat.pfx -storetype pkcs12
Enter keystore password:
Keystore type: PKCS12
Keystore provider: SunJSSE
Your keystore contains 1 entry
1, 16.05.2017, PrivateKeyEntry,
Certificate fingerprint (SHA1): 97:CE:EE:22:3A:B4:1C:76:C5:D5:A6:7A:FB:17:EB:60:
7B:C3:E2:E3

Die erste Zahl (1, 16.05.2017) gibt an welcher Alias das Zertifikat in dem PFX hat. In meinem Fall ist in dem PFX nur ein Zertifikat enthalten, evtl. kann aber z.B. noch das Root Zertifikat enthalten sein – dann muss man die Fingerabdrücke vergleichen und den korrekten Alias auswählen.

cd C:\Users\constey\Ubiquiti UniFi\data\
"C:\Program Files\Java\jre1.8.0_131\bin\keytool" -importkeystore -srcstoretype pkcs12 -srcalias 1 -srckeystore mein-eigenes-zertifikat.pfx -keystore keystore -destalias unifi
Enter destination keystore password:
Enter source keystore password:
Existing entry alias 1 exists, overwrite? [no]: yes

Das Passwort für den keystore lautet: aircontrolenterprise
Zum Abschluss den Unifi Controller wieder starten.

Samsung Galaxy S8+ Daten kopieren – der Wechsel mit Smart Switch

Ich bin einer von vielen, die ein Samsung Galaxy S8+ ihr eigen nennen dürfen.  Wie bei jedem neuen Handy stellt sich die Frage:
Wie kann man am Einfachsten die Daten des alten Handy auf das neue migrieren?  
Im folgenden Stelle ich kurz das beim S8 und S8+ beinhaltete App „Samsung Smart Switch“ vor und erkläre wie die Migration erfolgt.

Samsung Smart Switch

Das Samsung Galaxy S8 kommt mit der Software „Smart Switch“ daher, welche es ermöglich seine Daten von einem alten Smartphone zu kopieren.
Es werden iOS, Android, Blackberry und Windows Phones unterstützt, was eigentlich 99% der Smartphones abdecken sollte.
Ihr braucht lediglich das Samsung Smart Switch App aus dem jeweiligen App-Store zu installieren.
Beim Übertragen der Daten vom Samsung Galaxy S6 oder S7 wird sogar das Hintergrundbild und die Position der Icons auf dem Homescreen übertragen.

Anschließend gibt es die Möglichkeit der Übertragung der Daten per Kabel oder Kabellos. Bei meinem LG G4 mit LineageOS klappte die Übertragung über den beim Galaxy S8+ mitgelieferten USB-Host Adapter leider nicht. Jedoch ließ sich Kabellos alles übertragen.


 

Fazit

Wiederherstellung der Apps aus dem Google Konto

Über das App kann man relativ schnell und unkompliziert seine Daten und einen Großteil der Apps mit Einstellungen sowie Kontakten, Nachrichten (SMS), Anrufprotokoll, Bildern, und Dateien
von der SD-Karte übertragen. Es gibt jedoch Apps wie zum Beispiel WhatsApp oder der Google Authenticator welche sich auf diesem Weg nicht sichern lassen. Jedoch gibt es für WhatsApp ja eine integrierte Backup-Funktion die ihr unter (Einstellungen -> Chats -> Chat Backup) findet.
Der beste Weg um sein Handy zu sichern setzt leider Root-Rechte voraus. Wer Root Rechte auf seinem alten und neuen Handy hat, kann dann wirklich alle Apps und Einstellungen per Titanium Backup sichern.
[stextbox id=“info“]Wichtig: Beim ersten Einrichten eures neuen Galaxy S8 oder S8+ werdet ihr beim Einrichten eures Google Kontos gefragt, ob ihr die Daten eines alten Gerätes wiederherstellen wollt. Hier würde ich unbedingt „Nicht wiederherstellen“ auswählen, da hier lediglich nur die Apps und so gut wie keine weiteren Einstellungen installiert werden.[/stextbox]
 

WSUS 2012R2 für Verteilung von Windows 10 Upgrades vorbereiten

Mit der neusten Version des Windows Update Services bietet Microsoft jetzt endlich auch die Möglichkeit, Upgrades für Windows 10 bereitzustellen.
Dafür wird die WSUS Version „Build 6.3.9600.18324“ vorausgesetzt. Das aktuellste Patchlevel könnt ihr bei wsus.de einsehen (ganz runter scrollen).
In der Regel fehlen bei einem 2012 R2 Server lediglich die beiden Patches: KB3095113 sowie KB3159706 die mittlerweile aber auch per Automatische Updates verteilt werden.
In meinem Fall lies sich danach der WSUS nicht mehr starten, was sich über den Eventlog Eintrag: „Update Services failed its initialization and stopped.“ ausdrückte.

Aus der Fehlermeldung lies sich jetzt noch nicht das Problem erkennen. Das etwas detailliertere Logfile findet sich unter:

C:\Program Files\Update Services\LogFiles\SoftwareDistribution.txt

Dort fand sich dann das eigentliche Problem:

2017-04-24 09:35:55.755 UTC Info WsusService.6 SusService.SusServiceStartUpThreadProc WSUS Server Version: 6.3.9600.18324
2017-04-24 09:36:19.724 UTC Error WsusService.6 SusService.SusServiceStartUpThreadProc WUS Service failed during startup processing, sleeping before retry - Error Details: System.Data.SqlClient.SqlException (0x80131904): Cannot open database "SUSDB" requested by the login. The login failed.
Login failed for user 'NT AUTHORITY\NETWORK SERVICE'.
at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, DbConnectionPool pool, String accessToken, Boolean applyTransientFaultHandling)
at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)
at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
at System.Data.SqlClient.SqlConnection.Open()
at Microsoft.UpdateServices.DatabaseAccess.DBConnection.Connect(String connectionString)
at Microsoft.UpdateServices.Internal.DataAccess.ExecuteSPUpdateServerHealthStatus(String componentName, Boolean isRunning)
at Microsoft.UpdateServices.EventSystem.SusService.SusServiceStartUpThreadProc()
ClientConnectionId:5ef465d2-f07e-466e-a09d-ab40a02d50e8

Mit dieser Fehlermeldung kommt man auf den KB3159706 von Microsoft. Dort wird erklärt, dass noch die folgenden manuelle Schritte notwendig sind um die Installation der beiden vorherigen KB’s abzuschließen:

  1. Als Administrator in der Konsole ausführen
    C:\Program Files\Update Services\Tools\wsusutil.exe" postinstall /servicingführt zu folgendem Output:
    Log file is located at C:\Users\Username\AppData\Local\Temp\2\tmp46DF.tmp
    Post install is starting
    Post install has successfully completed
  2. Im Server Manager über „Add Roles and Features“ das „HTTP Activation“ Feature für .NET Framework 4.5 aktivieren
  3. Den WSUS Dienst neustarten
    net stop WsusService && net start WsusService

Für diejenigen, wo kein SSL für ihren WSUS aktiviert haben, war es dass an dieser Stelle. Wer SSL benutzt bekommt eventuell in dem Moment noch die folgende Fehlermeldung zu Gesicht: „The Client Web Service is not working.“

In diesem Fall muss noch die web.config Datei des Webservices angepasst werden.
 

  1. Wieder als Administrator per cmd ausführen:
    cd C:\Program Files\Update Services\WebServices\ClientWebService\
    takeown /f web.config /a
    icacls "C:\Program Files\Update Services\WebServices\ClientWebService\Web.config" /grant administrators:f
    
  2. Weitere Endpoint Einträge in der Datei „C:\Program Files\Update Services\WebServices\ClientWebService\Web.Config“ hinzufügen.
    Hier am einfachsten nach „endpoint address“ suchen. Der Block fängt mit folgenden Zeilen an:

    <services>
    <service
    name="Microsoft.UpdateServices.Internal.Client"
    behaviorConfiguration="ClientWebServiceBehaviour">

    Anschließend kommen die Einträge der Endpoints, zu denen ihr die folgenden dazu kopiert:

    <!--
    These 4 endpoint bindings are required for supporting both http and https
    -->
    <endpoint address=""
    binding="basicHttpBinding"
    bindingConfiguration="SSL"
    contract="Microsoft.UpdateServices.Internal.IClientWebService" />
    <endpoint address="secured"
    binding="basicHttpBinding"
    bindingConfiguration="SSL"
    contract="Microsoft.UpdateServices.Internal.IClientWebService" /> 

    Der restliche Teil des Eintrages sieht zur Vollständigkeit wie folgt aus:

    <endpoint address=""
    binding="basicHttpBinding"
    bindingConfiguration="ClientWebServiceBinding"
    contract="Microsoft.UpdateServices.Internal.IClientWebService" />
    <endpoint address="secured"
    binding="basicHttpBinding"
    bindingConfiguration="ClientWebServiceBinding"
    contract="Microsoft.UpdateServices.Internal.IClientWebService" />
    </service>
    </services> 
  3. Jetzt noch ganz unten in der Datei den letzten Eintrag wie folgt anpassen/hinzufügen:
    </bindings> <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" /> </system.serviceModel> 
  4. Jetzt zur Sicherheit nochmal das System neustarten, Fertig.

Alexa die Google Suche beibringen – Amazon Echo

Mittlerweile ist der Markt für Sprachassistenten hart umkämpft und mit Google Home gibt es bald den ersten großen Konkurrenten für Amazon Echo.
Wer bereits ein Echo besitzt hat wohl gemerkt, dass Amazon scheinbar einen Vertrag mit Microsoft abgeschlossen hat – denn die Suchfunktion und etliche Features werden von Microsoft Bing bezogen. Von Google keine Spur.
Ich selbst stehe mit der Bing Suchmaschine eher auf Kriegsfuß und benutzte ausschließlich Google.
Ich selbst habe mir ein Echo Dot zugelegt und bin hier und da auf eine Sprachlose Alexa gestoßen, die mir leider nur mit „Entschuldigung, auf diese Frage habe ich leider keine Antwort“ auf  einige Fragen antwortet.
Beispiel: Ab welchem Alter ist man in Deutschland volljährig ?
Wie viele Länder gehören zu Europa ?
Von Haus aus gibt es leider nicht die Möglichkeit von Bing auf die Google Suche umzusteigen, jedoch kann man weitere Funktionalitäten in Alexa über die „Skills“ freischalten.
Ein paar schlaue Füchse haben hier einen Skill geschrieben, der das eigene Alexa an Google anbindet. Das ganze dauert ungefähr 5-10 Minuten.
Die Englischsprachige Anleitung und den Sourcecode findet ihr unter Github: https://github.com/tartanguru/alexa-google-search
Eine Videoanleitung gibt es hier:

Eine weitere (bebilderte) Anleitung, allerdings auf Englisch gibt es hier: http://alexamods.com/guide-install-ask-google-alexa-skill/.
Daher spare ich mir mal, eine weitere Anleitung zu schreiben.
Nach der Installation könnt ihr Alexa dann googlen lassen mit „Alexa frag Google: Was auch immer ihr wollt“.

LG G4 – Ein Custom Rom installieren

Mit der Veröffentlichung von Googles neuem High-End Flaggschiff (dem Pixel) wurde auch Android 7.1 herausgebracht. Die Hersteller haben sich bereits teilweise dazu geäußert, welche ihrer Geräte noch die neuste Android 7 Version erhalten werden – jedoch auch nicht vollständig bzw. ohne Terminangabe. T3n pflegt eine Liste mit Infos dazu, aus der sich entnehmen lässt, dass Android 7.1 bereits für das LG G5 ausgerollt wird. Ob und wann das Update für das LG G4 kommt ist noch offen.
Ich habe seit einigen Tagen das auf Android 7.1 basierende Custom-Rom CM14.1 (crDroid) auf meinem Handy installiert und bin bisher sehr zufrieden. Vorher hatte ich das Original Rom installiert und muss sagen, dass die Performance extrem zugenommen hat. Außerdem ist die Akkulaufzeit ein ganzes Stück besser als zuvor, da Android 7 auf eine „Batterieoptimierung“ setzt, wo durch das „stilllegen“ von Apps im Hintergrund der Akku geschont wird.
Wer also nicht warten kann, ist hier eine kleine Anleitung wie man das neueste Android auf sein LG G4 bekommt.
Das ganze passiert in 3 Schritten:

  1. Bootloader entsperren
  2. TWRP Recovery installieren
  3. Custom-Rom installieren

Weiterlesen

Xiaomi Mi Flower Tester – Der smarte Blumenmonitor

20160622172713_83028Wer kennt es nicht: Da hat man sich mal wieder ein paar Tage nicht den Zimmerpflanzen gewidmet, schaut die ein oder andere nicht mehr ganz so grün drein. Wohl das gießen vergessen ?
Stellt sich die nächste Frage: Wie viel Wasser ist denn jetzt eigentlich gut für meine Pflanze? Was ist die optimale Temperatur? Muss man mal wieder Düngen, oder braucht sie mehr Sonnenlicht ?
Xiaomi hat hier ein nagelneues Gadget herausgebracht, welches das Wohlbefinden eurer Pflanzen überwachen soll. Der „Xiaomi Mi Plant Flowers Tester“. Ich habe mir das Teil für 10,50€ bei Gearbest aus China bestellt. Lieferzeit war ca. 10 Tage, aber nun habe ich das Gadget schon ein paar Tage bei mir im Wohnzimmer platziert.
Wie funktioniert es ?
Man steckt den Flower Tester einfach in die Erde neben die Wurzel der Pflanze. Dieser hat die folgenden Sensoren:

  • Feuchtigkeitsensor (Muss bewässert werden?)
  • Temperatursensor (Stimmt das Raumklima?)
  • Lichtsensor (Bekommt die Pflanze genug Licht?)
  • Nährstoffgehalt als elektrische Leitfähigkeit in µS/cm (Stimmt der Düngeranteil?)

Das ganze kommt mit einer Handelsüblichen CR2032 Knopfzellenbatterie aus.  Zur Laufzeit habe ich noch keine Informationen gefunden, werde euch aber auf dem Laufendem halten.

Weiterlesen

Raspberry Pi 3 – Unnötige Pakete entfernen (Jessie)

Die beliebteste Distribution für den Raspberry Pi, das Raspbian wird mittlerweile in 2 Versionen zum Download angeboten. Einmal mit der neuen „Pixel“ Desktop Oberfläche und einmal als Lite Variante. Die „Pixel“ Version ist mittlerweile auf über 4GB angewachsen, was an den dutzenden vorinstallierten Apps liegt.
Den meisten kram wie Minecraft oder irgendwelche Entwicklungsumgebungen braucht man in der Regel ja eigentlich nie – also weg damit.
Ich habe mal eine Liste gemacht, mit den zusätzlich installierten Apps:

wolfram-engine
minecraft-pi
python-minecraftpi
sonic-pi
python3-numpy
smartsim
penguinspuzzle
timidity
scratch
nuscratch
python3-pygame
python-pygame
python-tk
python-picraft
bluej
claws-mail
greenfoot
minecraft-pi
nodered
geany
libreoffice*
xpdf

Um die Pakete zu deinstallieren folgenden Befehl absetzen:

apt-get remove wolfram-engine minecraft-pi python-minecraftpi sonic-pi python3-numpy smartsim penguinspuzzle timidity scratch nuscratch python3-pygame python-pygame python-tk python-picraft bluej claws-mail greenfoot minecraft-pi nodered geany libreoffice* xpdf

Anschließend gibt es noch eine Menge an nicht mehr benötigten Abhängigkeiten, die man ebenfalls deinstallierten sollte:

apt-get autoremove --purge

Was sagt ihr, gibt es noch weitere Pakete die man aufnehmen sollte ?

SMTP Warteschlange (postqueue) unter Ubuntu leeren

Hat man aufgrund eines Problems auf einmal eine riesige Anzahl Mails in der SMTP Warteschlange eines Servers kann man diese auch händisch leeren.
Natürlich nur wenn die Mails nicht mehr relevant sind. Wie dies geht, bzw. wie man auch nur einzelne Mails aus dem Ausgang entfernt ist hier kurz beschrieben.
Klappt unter Ubuntu 14.04, sollte aber auch bei älteren Versionen sowie Debian funktionieren, da fast die gleichen Postfix Versionen eingesetzt werden.
Um die SMTP Warteschlange anzeigen zu lassen:

postqueue -p 

Führt zu der Ausgabe:

27389E2449 609 Mon Aug 8 13:17:40 nagios@domain.de
(host smtp.host[1.2.3.4] said: 451-Unknown sender ip address. check your settings. 451 2016-08-11-120-dad7d58089e2f4ab10811ddf75be38fd (in reply to MAIL FROM command))
absender@domain.de
-- 973 Kbytes in 1090 Requests.

Um die Warteschlange komplett zu löschen wird dies mit dem Befehl gemacht:

postsuper -d ALL
postsuper: Deleted: 1090 messages

Alternativ kann man aber auch nur einzelne Mails löschen indem man die ID angibt:

postsuper -d 27389E2449
postsuper: Deleted: 1 messages

Wenn man im Anschluss nochmal mit postqueue -p abfragt sollte man eine leere Warteschlange haben:

postqueue -p
Mail queue is empty

QNAP – Dateinamen von ISO-8859-1 in UTF8 umbenennen

Es war an der Zeit Daten eines QNAP-NAS auf einen anderen Netzwerkspeicher zu migrieren. Als Tool hatte ich dazu WinSCP verwendet um die Dateien via SCP auf einer externen Festplatte zwischenzuspeichern. Jedoch hat es mir dabei alle Umlaute aus Dateinamen in nicht lesbare Zeichen umgewandelt:

Sperrmüll.jpg wurde zu Sperrm¦ll.jpg
Häuser.docx wurde zu H¦user.docx

Im Nachhinein lag es vermutlich an der falschen Codepage die im QNAP Webinterface falsch eingestellt war. Eine nachträgliche Änderung brachte jedoch auch keine Verbesserung mehr.
Also mussten ich die Dateien alle wieder korrekt umbenennen. Das habe ich mit Hilfe des ConvMV Tools gemacht, wie hier beschrieben:

Schritt 1: Perl installieren (OPKG Paket)

Über das  QNAP Webinterface kann über dass „App Center“ Perl installiert werden. Dies benötigen wir um später das Tool „convmv“ auszuführen.

Schritt 2: ConvMV herunterladen

Eventuell gibt es schon eine neuere Version, kann hier nachgeschaut werden.

wget https://www.j3e.de/linux/convmv/convmv-2.0.tar.gz --no-check-certificate

Schritt 3: ConvMV Entpacken

tar xzf convmv-2.0.tar.gz
cd convmv-2.0/
config_util

Schritt 4: ConvMV / Perl Pfad anpassen

Da bei QNAP der Pfad für Extensions nicht unter /bin/ liegt muss in der ersten Zeile des convmv Skriptes der korrekte Perl Pfad angegeben werden. Dieser sollte bei QNAP dieser sein, kann bei Synology ggf. variieren:

#!/share/MD0_DATA/.qpkg/Optware//bin/perl

Schritt 5: ConvMV im Testmodus durchlaufen lassen

Hier wird angegeben, dass wir Dateien aus dem Format „ISO-8859-1“ in „UTF8“ umbenennen wollen. Es wird noch nichts umbenannt, nur eine Ausgabe mit den Änderungen vorgegeben.

/share/Constey/temp/convmv-2.0/convmv -f iso-8859-1 -t utf8  -r /share/Constey/Privat/

Schritt 6: Änderung durchführen

Sieht die Ausgabe korrekt aus, wird der Parameter „–notest“ angehängt, damit werden die Dateien dann auch endgültig umbenannt.

Bsp:
mv "/share/Constey/Privat/Garage Sperrm¦ll.jpg" "/share/Constey/Privat/Garage Sperrmüll.jpg"
mv "/share/Constey/Privat/H¦user.docx" "/share/Constey/Privat/Häuser.docx"
Skipping, already UTF-8: /share/Constey/Privat/Pictures/2016-04-16/Königslutter (16).jpg
Skipping, already UTF-8: /share/Constey/Privat/Pictures/2016-04-16/Königslutter (7).jpg
Ready! I converted 2002 files in 155 seconds.

Codepage im QNAP Webinterface einstellen:

Unter „Systemeinstellungen -> Allgemeine Einstellungen“ findet man den Reiter „Codeseite“ dort kann man die Dateinamenkodierung auf „Westeuropäisch/Latin1“ umstellen.

Fix Raspberry Pi 3 Wifi after Upgrade from Pi 2

Ich hatte ein Raspberry Pi 2 Image (Debian Wheezy) per rpi-update, und apt-get dist-upgrade bereit für den Raspberry Pi 3 gemacht, und wollte dann beim neuen Pi 3 das integrierte WLAN benutzen. Klappte leider auf anhieb nicht wie erwartet, denn das wlan0 interface fehlte und ich bekam Fehler wie:

iwconfig wlan0 power off
Error for wireless request "Set Power Management" (8B2C) :
SET failed on device wlan0 ; No such device.

Fehler ist wohl dass die Bibliotheken für den Chipsatz fehlen (brcmfmac4340-sdio.bin). Das kann man schnell verifizieren per:

ls -l /lib/firmware/brcm/
-rw-r--r-- 1 2625 2625 96224 Jun 15 2014 bcm43xx-0.fw
-rw-r--r-- 1 2625 2625 180 Jun 15 2014 bcm43xx_hdr-0.fw
-rw-r--r-- 1 2625 2625 397312 Oct 7 2014 brcmfmac43143.bin
-rw-r--r-- 1 2625 2625 385067 Jun 15 2014 brcmfmac43143-sdio.bin
-rw-r--r-- 1 2625 2625 455745 Jun 15 2014 brcmfmac43241b0-sdio.bin
-rw-r--r-- 1 2625 2625 403855 Jun 15 2014 brcmfmac43241b4-sdio.bin
-rw-r--r-- 1 2625 2625 253748 Jun 15 2014 brcmfmac4329-sdio.bin
-rw-r--r-- 1 2625 2625 222126 Jun 15 2014 brcmfmac4330-sdio.bin
-rw-r--r-- 1 2625 2625 451566 Jun 15 2014 brcmfmac4334-sdio.bin
-rw-r--r-- 1 2625 2625 569291 Jun 15 2014 brcmfmac4335-sdio.bin
-rw-r--r-- 1 2625 2625 219557 Jun 15 2014 brcmfmac43362-sdio.bin
-rw-r--r-- 1 2625 2625 507752 Jun 15 2014 brcmfmac4354-sdio.bin

Man kann die Bibliotheken manuell aus dem github fork herunterladen:

cd /lib/firmware/brcm/
wget https://github.com/RPi-Distro/firmware-nonfree/raw/master/brcm80211/brcm/brcmfmac43430-sdio.bin
wget https://raw.githubusercontent.com/RPi-Distro/firmware-nonfree/master/brcm80211/brcm/brcmfmac43430-sdio.txt

Damit diese aktiv werden nochmal den Pi neustarten und dann kanns losgehen.
Den Stromsparmodus des Wifi Chips kann man deaktivieren mit:

iwconfig wlan0 power off

Nach aktiven WLAN’s in der Umgebung kann man dann auch suchen per:

iwlist wlan0 scan