Skip to content

WLan auf der Konsole einrichten

Angeheftet Linux
  • Ja, mein Lieblingsthema 🙂 Wer mich kennt, weiß das ich es immer an den Nerven bekomme, wenn ich das auf den kleinen Platinen versuche ans Laufen zu bekommen.

    Bedingt durch den neuen Quartz64 war es mal wieder an der Zeit, das auszuprobieren.

    Software

    Ich nutze auf dem Quartz64 ein Manjaro Image.

    [root@quartz64 ~]# uname -a
    Linux quartz64 5.14.0-rc1-0.2-MANJARO-ARM #1 SMP PREEMPT Fri Jul 23 15:43:38 UTC 2021 aarch64 GNU/Linux
    

    Hardware

    • Quartz64 Modell A
    • Pine64 WLan Modul

    Treiber

    Das Problem sind ja immer die Treiber 😉 Die richtig guten Jungs (Danke Peter) haben es irgendwie hinbekommen, das WLan jetzt funktionieren soll. Dan hatte das Image fertig, das jeden Montag released wird und ich hatte getestet. Ok, kein WLan. Dann mal nachgefragt. Dan hatte da was fertig und so installierte ich das Ganze.

    [root@quartz64 nvme]# pacman -Syu
    :: Paketdatenbanken werden synchronisiert …
     core ist aktuell
     extra ist aktuell
     community                                                                                              6,0 MiB  10,2 MiB/s 00:01 [###############################################################################] 100%
    :: Vollständige Systemaktualisierung wird gestartet …
    Abhängigkeiten werden aufgelöst …
    Nach in Konflikt stehenden Paketen wird gesucht …
    
    Pakete (1) ap6256-firmware-2020.02-6
    
    Gesamtgröße des Downloads:             0,42 MiB
    Gesamtgröße der installierten Pakete:  0,70 MiB
    Größendifferenz der Aktualisierung:    0,00 MiB
    
    :: Installation fortsetzen? [J/n] 
    :: Pakete werden empfangen …
     ap6256-firmware-2020.02-6-aarch64                                                                    432,9 KiB   618 KiB/s 00:01 [###############################################################################] 100%
    (1/1) Schlüssel im Schlüsselbund werden geprüft                                                                                   [###############################################################################] 100%
    (1/1) Paket-Integrität wird überprüft                                                                                             [###############################################################################] 100%
    (1/1) Paket-Dateien werden geladen                                                                                                [###############################################################################] 100%
    (1/1) Auf Dateikonflikte wird geprüft                                                                                             [###############################################################################] 100%
    (1/1) Verfügbarer Festplattenspeicher wird ermittelt                                                                              [###############################################################################] 100%
    :: Paketänderungen werden verarbeitet …
    (1/1) Aktualisierung läuft ap6256-firmware                                                                                        [###############################################################################] 100%
    :: Post-transaction-Hooks werden gestartet …
    (1/1) Arming ConditionNeedsUpdate...
    

    Das ist dann folgender Treiber

    [root@quartz64 ~]# pacman -Ss ap6256-firmware
    community/ap6256-firmware 2020.02-6
        Firmware files for the ap6256 wifi/bt module
    

    Geht natürlich nicht!!!

    [root@quartz64 ~]# dmesg | grep brcmfmac
    [   64.671442] brcmfmac: F1 signature read @0x18000000=0x17294359
    [   64.678506] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4359-sdio for chip BCM4359/9
    [   64.680338] brcmfmac mmc2:0001:1: Direct firmware load for brcm/brcmfmac4359-sdio.bin failed with error -2
    [   64.700295] usbcore: registered new interface driver brcmfmac
    [   65.700673] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50
    

    Ok, mit Dan hin und hergeschrieben. Dann war sehr schnell klar, das das der falsche Treiber ist. Warum? Die Menschen, die versuchen den Quartz64 zum Leben zu erwecken, bauen da im Moment auf diesen Treiber, weil das WLan-Modul im kommenden Quartz64 Modell B diesen Treiber benötigt. Ok, das ist natürlich suboptimal, wenn man wie ich das WLan-Modul vom ROCKPro64 verwendet. Wir können dieses Modul ja separat erwerben, das wird dann auf's Board gesteckt.

    Ich brauchte was anderes 🙂

    [root@quartz64 brcm]# pacman -S ap6398s-firmware
    Abhängigkeiten werden aufgelöst …
    Nach in Konflikt stehenden Paketen wird gesucht …
    :: ap6398s-firmware und ap6256-firmware stehen miteinander in Konflikt. ap6256-firmware entfernen? [j/N] j
    
    Pakete (2) ap6256-firmware-2020.02-6 [Entfernung]  ap6398s-firmware-2020.04-3
    
    Gesamtgröße des Downloads:             0,35 MiB
    Gesamtgröße der installierten Pakete:  1,86 MiB
    Größendifferenz der Aktualisierung:    1,15 MiB
    
    :: Installation fortsetzen? [J/n] J
    :: Pakete werden empfangen …
     ap6398s-firmware-2020.04-3-aarch64                                                                   356,2 KiB   990 KiB/s 00:00 [###############################################################################] 100%
    (1/1) Schlüssel im Schlüsselbund werden geprüft                                                                                   [###############################################################################] 100%
    (1/1) Paket-Integrität wird überprüft                                                                                             [###############################################################################] 100%
    (1/1) Paket-Dateien werden geladen                                                                                                [###############################################################################] 100%
    (1/1) Auf Dateikonflikte wird geprüft                                                                                             [###############################################################################] 100%
    (2/2) Verfügbarer Festplattenspeicher wird ermittelt                                                                              [###############################################################################] 100%
    :: Paketänderungen werden verarbeitet …
    (1/1) Entfernung läuft ap6256-firmware                                                                                            [###############################################################################] 100%
    (1/1) Installation läuft ap6398s-firmware                                                                                         [###############################################################################] 100%
    :: Post-transaction-Hooks werden gestartet …
    (1/1) Arming ConditionNeedsUpdate...
    

    Er meckerte über den anderen Treiber, ok lassen wir ihn entfernen. Danach Reboot.

    [root@quartz64 ~]# dmesg | grep brcmfmac
    [   64.507144] brcmfmac: F1 signature read @0x18000000=0x17294359
    [   64.513631] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4359-sdio for chip BCM4359/9
    [   64.519002] usbcore: registered new interface driver brcmfmac
    [   64.565244] brcmfmac mmc2:0001:1: Direct firmware load for brcm/brcmfmac4359-sdio.pine64,quartz64-a.txt failed with error -2
    [   64.565358] brcmfmac mmc2:0001:1: Direct firmware load for brcm/brcmfmac4359-sdio.txt failed with error -2
    [   65.571089] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50
    

    Immer noch nichts. Dan hatte mir aber noch gesagt, was ich noch kopieren sollte.

    [root@quartz64 ~]# cp /usr/lib/firmware/brcm/brcmfmac4359-sdio.ugoos,am6.txt /usr/lib/firmware/brcm/brcmfmac4359-sdio.pine64,quartz64-a.txt
    

    Erneuter Reboot. Schön, das wir mittlerweile nicht jedes mal eine Kernelpanic bekommen, mittlerweile geht das einwandfrei.

    Und da ist das WLAN Modul ja.... 😇

    [root@quartz64 ~]# ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: ip6tnl0@NONE: <NOARP> mtu 1452 qdisc noop state DOWN group default qlen 1000
        link/tunnel6 :: brd :: permaddr e69a:54fd:e442::
    3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether ba:e9:dc:11:06:2d brd ff:ff:ff:ff:ff:ff
        inet 192.168.3.176/24 brd 192.168.3.255 scope global dynamic noprefixroute eth0
           valid_lft 43185sec preferred_lft 37785sec
        inet6 fd8a:6ff:2880:0:a402:37db:441a:b2d1/64 scope global mngtmpaddr noprefixroute 
           valid_lft forever preferred_lft forever
        inet6 2a02:908:1260:13bc:110d:7a76:xxxx:xxxx/64 scope global dynamic mngtmpaddr noprefixroute 
           valid_lft 6180sec preferred_lft 2580sec
        inet6 fe80::7094:a2d5:3b06:3879/64 scope link 
           valid_lft forever preferred_lft forever
    4: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
        link/ether ac:83:f3:e6:1f:b2 brd ff:ff:ff:ff:ff:ff
    

    Hier die dmesg Meldungen, des korrekten Ladens der Firmware.

    [root@quartz64 ~]# dmesg | grep brcmfmac
    [   64.335287] brcmfmac: F1 signature read @0x18000000=0x17294359
    [   64.352771] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4359-sdio for chip BCM4359/9
    [   64.355076] usbcore: registered new interface driver brcmfmac
    [   64.635986] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4359-sdio for chip BCM4359/9
    [   64.636925] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-2), device may have limited channels available
    [   64.638599] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4359/9 wl0: Jan 19 2018 12:14:30 version 9.87.51.11.8 (a85e25e@shgit) (r) FWID 01-cb5aa0a5
    

    Softwareeinstellungen

    Wir erstellen uns folgenden Text, den wir dann kopieren und in die Konfig eintragen.

    [root@quartz64 ~]# wpa_passphrase 'SSID' 'password'
    network={
    	ssid="SSID"
    	#psk="password"
    	psk=password_hash
    }
    

    Konfiguration bearbeiten

    nano /etc/wpa_supplicant/wpa_supplicant.conf
    

    Inhalt der Datei

    ctrl_interface=/run/wpa_supplicant GROUP=wheel
    update_config=1
    
    # AP scanning
    ap_scan=1
    
    # ISO/IEC alpha2 country code in which the device is operating
    country=DE
    
    network={
            ssid="SSID"
            scan_ssid=1
            key_mgmt=WPA-PSK
            #psk="password"
            psk=password_hash
    }
    

    Update 03.10.2021

    Die Zeile entfernt

        ctrl_interface_group=wheel
    

    und in die erste Zeile angefügt. Hatte auf Debian 11 Probleme, jetzt geht es auf dem Manjaro Image und auf einem Debian 11 Bullseye. Sollte auch bei den anderen Distros dann so funktionieren.

    Wir starten das WLan mit

    [root@quartz64 ~]# wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
    Successfully initialized wpa_supplicant
    nl80211: kernel reports: Match already configured
    nl80211: kernel reports: Match already configured
    nl80211: kernel reports: Match already configured
    nl80211: kernel reports: Match already configured
    nl80211: kernel reports: Match already configured
    

    Kontrolle

    Kurz warten, IPv4 und IPv6 da!!

    [root@quartz64 ~]# ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: ip6tnl0@NONE: <NOARP> mtu 1452 qdisc noop state DOWN group default qlen 1000
        link/tunnel6 :: brd :: permaddr 26d9:4c15:798c::
    3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether ba:e9:dc:11:06:2d brd ff:ff:ff:ff:ff:ff
        inet 192.168.3.176/24 brd 192.168.3.255 scope global dynamic noprefixroute eth0
           valid_lft 43070sec preferred_lft 37670sec
        inet6 fd8a:6ff:2880:0:a402:37db:441a:b2d1/64 scope global mngtmpaddr noprefixroute 
           valid_lft forever preferred_lft forever
        inet6 2a02:908:1260:13bc:110d:7a76:xxxx:xxxx/64 scope global dynamic mngtmpaddr noprefixroute 
           valid_lft 5815sec preferred_lft 2215sec
        inet6 fe80::7094:a2d5:3b06:3879/64 scope link 
           valid_lft forever preferred_lft forever
    4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
        link/ether ac:83:f3:e6:1f:b2 brd ff:ff:ff:ff:ff:ff
        inet 192.168.178.26/24 brd 192.168.178.255 scope global dynamic noprefixroute wlan0
           valid_lft 863975sec preferred_lft 755975sec
        inet6 2a02:908:1260:13a0:2344:b366:xxxx:xxxx/64 scope global dynamic mngtmpaddr noprefixroute 
           valid_lft 7170sec preferred_lft 3570sec
        inet6 fe80::c2a9:6b19:87ee:806e/64 scope link 
           valid_lft forever preferred_lft forever
    [root@quartz64 ~]# 
    

    Fazit

    Wir wissen jetzt wie man das Pine64 WLan-Modul auf dem Quartz64 Modell A zum Laufen bekommen. Das hier sollte auf fast jeder Distribution funktionieren, vorausgesetzt man bekommt den Treiber. Da das jetzt nicht nur für den Quartz64 so gemacht werden kann, habe ich das mal in die Kategorie Linux einsortiert.

    Übrigens benutze ich für meine SOC's nie WLan, ich teste das nur 😉

    Danksagung

    Danke an Dan Johansen vom Manjaro ARM Team und Peter Geis, für die Hilfe!

  • FrankMF FrankM hat dieses Thema am angepinnt
  • Kurzer Test, Download Debian Image

    wget https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.10.0-amd64-netinst.iso
    

    Auf dem Quartz64 21,4 MB/s

    Zum Vergleich auf meinem Haupt-PC 27,6 MB/s (LAN)

  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • Ich kann im Manjaro keine WPA3 Sicherheit auswählen, dann bekomme ich keine Verbindung. Es geht nur WPA2 Personal. Gegenstelle ist eine FRITZ!Box 6591 Cable.

    2021-11-28_16-37.png

    In der Fritzbox sieht das so aus

    50d23aa8-5f67-485e-a994-244ef4f6a270-image.png

    Das kam als Fehlermeldung

    Nov 28 11:03:07 frank-pc wpa_supplicant[700]: wlan0: Trying to associate with SSID 'FRITZ!Box 6591 Cable AK'
    Nov 28 11:03:07 frank-pc wpa_supplicant[700]: wlan0: WPA: Failed to select authenticated key management type
    Nov 28 11:03:07 frank-pc wpa_supplicant[700]: wlan0: WPA: Failed to set WPA key management and encryption suites
    

    Ich denke, der Treiber unterstützt das nicht.

  • Links zu Vaultwarden

    Vaultwarden
    1
    0 Stimmen
    1 Beiträge
    97 Aufrufe
    Niemand hat geantwortet
  • OpenWrt - Basics der Firewall

    Linux
    1
    0 Stimmen
    1 Beiträge
    93 Aufrufe
    Niemand hat geantwortet
  • [V] ROCKPro64 incl. PCIe SATA-Karte

    Verschoben Archiv
    2
    0 Stimmen
    2 Beiträge
    211 Aufrufe
    FrankMF

    Verkauft!

  • 0 Stimmen
    1 Beiträge
    529 Aufrufe
    Niemand hat geantwortet
  • Hetzner Cloud - Server einrichten

    Linux
    6
    0 Stimmen
    6 Beiträge
    2k Aufrufe
    FrankMF

    Heute den Proxmox gekündigt. Warum? Das erzähle ich Euch die Tage......

    Damit ist das Projekt Umzug für mich abgschlossen.

    dffa4a7c-b5d3-4363-8d8b-39961021ff09-image.png

    Vier Server in der Hetzner Cloud machen jetzt da ihre Arbeit. Bis jetzt läuft das alles sehr geil, ich bin da echt von überzeugt. Würde ich mit dem Projekt Geld verdienen, würde ich das so nicht machen! Da käme nur ein eigener Root-Server in Frage. Aber, das soll mich bei meinen paar Hobby Seiten jetzt auch nicht stören. Da liegen sowieso keine Geheimnisse und alles was wichtig ist, lege ich eh verschlüsselt im Netz ab.

    Also, wenn ihr mal was sucht, hier ein wenig Werbung 🙂

    https://www.hetzner.de/cloud

  • checkmk - Agent installieren

    Verschoben checkmk
    1
    0 Stimmen
    1 Beiträge
    2k Aufrufe
    Niemand hat geantwortet
  • ROCKPro64 - Der Bootvorgang

    Verschoben Hardware
    3
    0 Stimmen
    3 Beiträge
    1k Aufrufe
    FrankMF

    Um einen neuen Kernel booten zu können, brauche ich diese 4 Dateien unter /boot

    config-4.19.0-rc4-1065-ayufan-g72e04c7b3e06 initrd.img-4.19.0-rc4-1065-ayufan-g72e04c7b3e06 System.map-4.19.0-rc4-1065-ayufan-g72e04c7b3e06 vmlinuz-4.19.0-rc4-1065-ayufan-g72e04c7b3e06

    Und den Ordner /boot/dtbs/4.19.0-rc4-1065-ayufan-g72e04c7b3e06 mit folgendem Inhalt

    rock64@rockpro64v2_0:/boot/dtbs/4.19.0-rc4-1065-ayufan-g72e04c7b3e06$ ls -la total 104 drwxr-xr-x 26 root root 4096 Sep 30 09:54 . drwxr-xr-x 6 root root 4096 Sep 30 09:55 .. drwxr-xr-x 2 root root 4096 Sep 30 09:54 al drwxr-xr-x 2 root root 4096 Sep 30 09:54 allwinner drwxr-xr-x 2 root root 4096 Sep 30 09:54 altera drwxr-xr-x 2 root root 4096 Sep 30 09:54 amd drwxr-xr-x 2 root root 4096 Sep 30 09:54 amlogic drwxr-xr-x 2 root root 4096 Sep 30 09:54 apm drwxr-xr-x 2 root root 4096 Sep 30 09:54 arm drwxr-xr-x 4 root root 4096 Sep 30 09:54 broadcom drwxr-xr-x 2 root root 4096 Sep 30 09:54 cavium drwxr-xr-x 2 root root 4096 Sep 30 09:54 exynos drwxr-xr-x 2 root root 4096 Sep 30 09:54 freescale drwxr-xr-x 2 root root 4096 Sep 30 09:54 hisilicon drwxr-xr-x 2 root root 4096 Sep 30 09:54 lg drwxr-xr-x 2 root root 4096 Sep 30 09:54 marvell drwxr-xr-x 2 root root 4096 Sep 30 09:54 mediatek drwxr-xr-x 2 root root 4096 Sep 30 09:54 nvidia drwxr-xr-x 2 root root 4096 Sep 30 09:54 qcom drwxr-xr-x 2 root root 4096 Sep 30 09:54 renesas drwxr-xr-x 2 root root 4096 Sep 30 09:54 rockchip drwxr-xr-x 2 root root 4096 Sep 30 09:54 socionext drwxr-xr-x 2 root root 4096 Sep 30 09:54 sprd drwxr-xr-x 2 root root 4096 Sep 30 09:54 synaptics drwxr-xr-x 2 root root 4096 Sep 30 09:54 xilinx drwxr-xr-x 2 root root 4096 Sep 30 09:54 zte

    Unter /boot/extlinux liegt dann die Datei extlinux.conf

    Die sieht bei mir dann so aus

    timeout 10 menu title select kernel label kernel-4.19.0-rc4-1065-ayufan-g72e04c7b3e06 kernel /boot/vmlinuz-4.19.0-rc4-1065-ayufan-g72e04c7b3e06 initrd /boot/initrd.img-4.19.0-rc4-1065-ayufan-g72e04c7b3e06 devicetreedir /boot/dtbs/4.19.0-rc4-1065-ayufan-g72e04c7b3e06 append rw panic=10 init=/sbin/init coherent_pool=1M ethaddr=${ethaddr} eth1addr=${eth1addr} serial=${serial#} cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1 root=LABEL=TEST rootwait rootfstype=ext4 label kernel-4.19.0-rc4-1065-ayufan-g72e04c7b3e06-memtest kernel /boot/vmlinuz-4.19.0-rc4-1065-ayufan-g72e04c7b3e06 initrd /boot/initrd.img-4.19.0-rc4-1065-ayufan-g72e04c7b3e06 devicetreedir /boot/dtbs/4.19.0-rc4-1065-ayufan-g72e04c7b3e06 append rw panic=10 init=/sbin/init coherent_pool=1M ethaddr=${ethaddr} eth1addr=${eth1addr} serial=${serial#} cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1 root=LABEL=TEST rootwait rootfstype=ext4 memtest

    Darunter kommen dann evt. die alten Kernel die installiert waren, das habe ich hier im Beispiel weg gelassen.

  • Android - Youtube

    ROCKPro64
    2
    0 Stimmen
    2 Beiträge
    780 Aufrufe
    FrankMF

    0_1526915377060_Android_Home.jpg