Mit rpi-update installiert man nicht den "offiziellen" Raspbian Distributions-Kernel sondern den gerade aktuellen der Raspi Foundation, der kann unstabil bzw. nicht grossartig getestet sein.
Ja, der Kernel kann durchaus unstabil sein, trotzdem kriegst du nur so die aktuellste Firmware. Wenn du also die V2 Kamera unmittelbar nach release gekauft hattest hat sie nur nach einem 'rpi-update' funktioniert.
Ich hab' das Image vom 10/05 auf 2x RPi3 + V2 Camera + CSL300 am laufen; Übertragung funktioniert (konzentriere mich jedoch nur auf 5.8GHz), jedoch muss ich noch etwas am Kanal/Datenrate tunen da irgendwann ein deutliches Lag auftritt. Sieht so aus dass das Preview am TX 'normal' läuft, die Daten aber am RX mit bis zu 8sec Verzögerung ankommen.
Was mich auch genervt hat ist die Zuordnung der Device Namen. Da der RPi3 bereits ein eingebautes WLAN Interface hat kann es vorkommen dass die nach jedem Boot anders sind, je nachdem welcher Treiber zuerst geladen wurde.
Ich hab das dann wie folgt gelöst:
Erst mal nachsehen was der RPI3 für eine WLAN MAC-Adresse hat
Zum Beispiel 'addr b8:27:eb:ea:fa:c1'
Ich habe die WLAN Geräte dann kurzerhand auf die Whitelists hinzugefügt. Dadurch werden die Geräte (eineindeutig) anhand ihrer MAC-Adresse identifizierbar.
Um das - auf dem Raspberry Pi3 - richtig konfigurieren zu können muss deshalb erst mal das integrierte WLAN (bis zum nächsten Bootvorgang) abgeschaltet werden.
Code:
sudo modprobe -r -v brcmfmac
Jetzt wird die Datei ‚
/lib/udev/rules.d/75-persistent-net-generator.rules‘ geändert.
Code:
sudo nano /lib/udev/rules.d/75-persistent-net-generator.rules
Die DEVICE NAME WHITELIST wird um die WLAN-Devices erweiterte
KERNEL!="ath*|wlan*[0-9]|msh*|ra*|sta*|ctc*|lcs*|hsi*", \
GOTO="persistent_net_generator_end"
Abspeichern mit STRG]+O und dann den Editor mit [STRG]+X verlassen —> den RPI neu booten.
sudo reboot
Durch diese kleine Modifikation wird die Datei '
/etc/udev/rules.d/70-persistent-net.rules' erstellt. Durch diese Datei erfolgt künftig die Zuordnung des Device-Namens (z.B. wlan0) zu einer MAC Adresse.
Öffnet jetzt einfach mal die Datei mit einem Editior und schaut euch den Inhalt/Formart an. Bei mir sieht die nach diesem Reboot wie folgt aus:
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.
# Unknown net device (/devices/platform/soc/3f300000.mmc/mmc_host/mmc1/mmc1:0001/mmc1:0001:1/net/wlan0) (brcmfmac_sdio)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="b8:27:eb:ea:fa:c1", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"
—> Der MAC-Adresse "b8:27:eb:ea:fa:c1" wird künftig IMMER der Device-Name ‚wlan0‘ zugeordnet.
Jetzt können weitere WLAN-Adapter hinzugefügt werden - jedoch immer einer nach dem anderen!
Dazu den RPi herunterfahren, den USB WLAN-Stick anstecken und neu booten.
Ein Blick in die ‚/etc/udev/rules/70-persistent-net.rules' zeigt dass neue Stick wlan1 genannt wurde:
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.
# Unknown net device (/devices/platform/soc/3f300000.mmc/mmc_host/mmc1/mmc1:0001/mmc1:0001:1/net/wlan0) (brcmfmac_sdio)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="b8:27:eb:ea:fa:c1", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"
# USB device 0x:0x (rt2800usb)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="24:05:0f:77:b1:d4", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan1“
Der CSL300 (MAC 24:05:0f:77:b1:d4) heißt ab jetzt immer wlan1 --> das ‚Namen-Problem‘ sollte somit gelöst sein.