Skip to content

Ayufan Release 0.7.13 (WiFi)

ROCKPro64
  • Kamil hat die WLan Funktionalität eingebaut. Gleichzeitig soll jetzt auch PCIe gehen. Ok, zu mindestens das kann ich schon mal verneinen, bei mir crasht mit PCIe jeder Bootvorgang. Dann schauen wir uns mal die WiFi Funktionalität an.

    Hardware

    • RockPro64 v2.1 2GB RAM
    • WiFi-Modul von pine64.org
    • Boot von SD-Karte

    Software

    Wie ihr wisst, nutze ich fast ausschließlich das bionic-minimal Image.

    rock64@rockpro64:~$ uname -a
    Linux rockpro64 4.4.154-1134-rockchip-ayufan-g0d09c8d7de9b #1 SMP Sun Mar 3 19:09:51 UTC 2019 aarch64 aarch64 aarch64 GNU/Linux
    

    Konfiguration

    Ok, wie wir wissen ein Ubuntu. Wie bekomme ich da WLan ans Laufen??? Ubuntu nutzt ja mittlerweile Netplan und wir brauchen eine Konfigurationsdatei. Also nicht so schwierig 😉

    Erstellen wir die Konfigurationsdatei wpa_supplicant.conf im Verzeichnis /etc/wpa_supplicant/

    ctrl_interface=/var/run/wpa_supplicant
    ctrl_interface_group=rock64
    # Die Gruppe muss natuerlich angepasst werden
    eapol_version=1
    # 0: Der Treiber des Interfaces kümmert sich um das Scannen von Netzen und die AP-Auswahl.
    #    Dieser Modus sollte benutzt werden, wenn man eine Verschlüsselung auf ein Kabelnetzwerk legt.
    # 1: wpa_supplicant kümmert sich um das Scannen von Netzen und die AP-Auswahl.
    # 2: Fast wie 0, es wird aber mit Hilfe von Sicherheitsrichtlinien und der SSID zu APs verbunden (BSSID wird nicht unterstützt)
    #
    # Normalerweise funktioniert entweder Modus 1 oder Modus 2.
    ap_scan=1
    
    network={
            ssid="SSID"
            scan_ssid=1
            proto=RSN
            key_mgmt=WPA-PSK
            pairwise=CCMP
            group=CCMP
            psk="password"
    }
    

    Anstelle von SSID kommt der Name des WLAN-Funknetzes (SSID). Unter psk ersetzt ihr bitte password mit Eurem Passwort. Abspeichern - fertig! Damit haben wir die Konfiguration erstellt. Nun müssen wir noch das Netzwerk anlegen. Dazu gibt es unter Netplan in folgendem Verzeichnis /etc/netplan die Datei eth0.yaml

    Der Inhalt der Datei vor der Änderung.

    network:
      version: 2
      renderer: networkd
      ethernets:
        eth0:
          dhcp4: true
    

    Das Ganze mit der Ergänzung von wlan0

    network:
      version: 2
      renderer: networkd
      ethernets:
        eth0:
          dhcp4: true
      wifis:
        wlan0:
          dhcp4: yes
          dhcp6: no
          #addresses: [192.168.0.21/24]
          #gateway4: 192.168.0.1
          nameservers:
            addresses: [192.168.178.1, 8.8.8.8]
          access-points:
            "SSID":
              password: "password"
    

    Abspeichern - fertig! Hier bitte auch wieder SSID und password mit Euren Daten ergänzen! Außerdem den Nameserver angeben, das ist die IP-Adresse Eures Routers, in meinem Fall eine Fritzbox mit 192.168.178.1 Wie Ihr seht habe ich das WiFi auf DHCP eingestellt, es holt sich also automatisch eine IP-Adresse. Dann mal das Ganze testen.

    sudo reboot
    

    Kontrolle

    Dann wollen wir mal nachsehen, ob das klappt.

    rock64@rockpro64:~$ ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
        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: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
        link/ether 62:03:b0:d6:dc:b3 brd ff:ff:ff:ff:ff:ff
        inet6 fe80::6003:b0ff:fed6:dcb3/64 scope link 
           valid_lft forever preferred_lft forever
    3: 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.31/24 brd 192.168.178.255 scope global dynamic wlan0
           valid_lft 863203sec preferred_lft 863203sec
    

    In meinem Beispiel oben, habe ich das LAN-Kabel abgezogen und die SSH-Verbindung mittels WLan aufgebaut. Wichtig ist, das man unter wlan0 eine IP-Adresse bekommt. Am besten erstmal mit einer LAN-Verbindung testen!

    Testdownload

    rock64@rockpro64:~$ wget https://ftp.fau.de/mint/iso/stable/19.1/linuxmint-19.1-cinnamon-64bit.iso
    --2019-03-04 08:09:28--  https://ftp.fau.de/mint/iso/stable/19.1/linuxmint-19.1-cinnamon-64bit.iso
    Resolving ftp.fau.de (ftp.fau.de)... 131.188.12.211, 2001:638:a000:1021:21::1
    Connecting to ftp.fau.de (ftp.fau.de)|131.188.12.211|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 1973911552 (1.8G) [application/x-iso9660-image]
    Saving to: ‘linuxmint-19.1-cinnamon-64bit.iso’
    
    linuxmint-19.1-cinn 100%[===================>]   1.84G  12.4MB/s    in 3m 48s  
    
    2019-03-04 08:13:16 (8.27 MB/s) - ‘linuxmint-19.1-cinnamon-64bit.iso’ saved [1973911552/1973911552]
    

    Fazit

    WLan scheint zu funktionieren, ob es stabil ist kann ich aktuell noch nicht 100% sagen, sieht aber gut aus. Warten wir mal die Tests von einigen anderen noch ab. Jetzt noch PCIe vernünftig zusammen mit WiFi und das Ding 🙂 ist fast fertig!

  • DMESG Ausgabe für die Leute, die da was von verstehen.

    rock64@rockpro64:~$ dmesg | grep "wl"
    [    2.417589] [WLAN_RFKILL]: Enter rfkill_wlan_init
    [    2.418294] [WLAN_RFKILL]: Enter rfkill_wlan_probe
    [    2.418818] [WLAN_RFKILL]: wlan_platdata_parse_dt: wifi_chip_type = ap6354
    [    2.419445] [WLAN_RFKILL]: wlan_platdata_parse_dt: enable wifi power control.
    [    2.420088] [WLAN_RFKILL]: wlan_platdata_parse_dt: wifi power controled by gpio.
    [    2.420766] of_get_named_gpiod_flags: can't parse 'WIFI,poweren_gpio' property of node '/wireless-wlan[0]'
    [    2.420774] of_get_named_gpiod_flags: can't parse 'WIFI,vbat_gpio' property of node '/wireless-wlan[0]'
    [    2.420782] of_get_named_gpiod_flags: can't parse 'WIFI,reset_gpio' property of node '/wireless-wlan[0]'
    [    2.420817] of_get_named_gpiod_flags: parsed 'WIFI,host_wake_irq' property of node '/wireless-wlan[0]' - status (0)
    [    2.420824] [WLAN_RFKILL]: wlan_platdata_parse_dt: get property: WIFI,host_wake_irq = 3, flags = 0.
    [    2.421694] [WLAN_RFKILL]: wlan_platdata_parse_dt: The ref_wifi_clk not found !
    [    2.422399] [WLAN_RFKILL]: rfkill_wlan_probe: init gpio
    [    2.422878] [WLAN_RFKILL]: Exit rfkill_wlan_probe
    [    7.681669] ======== dhd_wlan_init_plat_data ========
    [    7.681704] dhd_wlan_init_gpio: WL_REG_ON=-1, WL_HOST_WAKE=-1
    [    7.681718] dhd_wlan_init_gpio: oob_irq=66, oob_irq_flags=0x414
    [    8.024245] CFG80211-ERROR) wl_setup_wiphy : Registering Vendor80211
    [    8.026210] CFG80211-ERROR) wl_init_prof : wl_init_prof: No profile
    [    8.026467] wl_escan_attach: Enter
    [    8.026494] wl_escan_init: Enter
    [    8.026923] wl_create_event_handler(): thread:wl_escan_handler:1a8 started
    [    8.066132] wl_ext_iapsta_attach_netdev: bssidx=0
    [    8.066146] Register interface [wlan0]  MAC: ac:83:f3:e6:1f:b2
    [    8.067154] dhd_wl_ioctl: returning as busstate=0
    [    8.102552] wl_ext_iapsta_attach_netdev: bssidx=0
    [    8.102558] wl_android_wifi_on in 1
    [    8.102564] wl_android_wifi_on in 2: g_wifi_on=0
                     Firmware: wl0: Mar  6 2017 10:16:06 version 9.87.51.7 (r686312) FWID 01-4dcc75d9
    [    9.034093] wl_android_wifi_on: Success
    [    9.180606] wl_cfgp2p_add_p2p_disc_if: wdev: ffffffc07a850c00, wdev->net:           (null)
    [    9.276042] wl_run_escan: LEGACY_SCAN sync ID: 0, bssidx: 0
    [   10.686203] wl_iw_event: Link UP with 44:4e:6d:a1:19:67
    [   10.686381] wl_bss_connect_done succeeded with 44:4e:6d:a1:19:67 
    [   10.686895] CFG80211-ERROR) wl_cfg80211_scan_abort : scan abort  failed 
    [   10.738415] wl_bss_connect_done succeeded with 44:4e:6d:a1:19:67 vndr_oui: 8C-FD-F0
    
  • Bluetooth

    Installation

    rock64@rockpro64:~$ sudo apt-get install blueman bluez bluez-obexd
    

    rfkill

    rock64@rockpro64:~$ sudo rfkill list
    0: bt_default: Bluetooth
    	Soft blocked: yes
    	Hard blocked: no
    1: phy0: Wireless LAN
    	Soft blocked: no
    	Hard blocked: no
    2: brcmfmac-wifi: Wireless LAN
    	Soft blocked: no
    	Hard blocked: no
    

    Bluetooth geblockt, freimachen.

    sudo rfkill unblock 0
    

    dmesg

    rock64@rockpro64:~$ dmesg | grep Blue
    [    1.455446] Bluetooth: Core ver 2.21
    [    1.455504] Bluetooth: HCI device and connection manager initialized
    [    1.455529] Bluetooth: HCI socket layer initialized
    [    1.455551] Bluetooth: L2CAP socket layer initialized
    [    1.455586] Bluetooth: SCO socket layer initialized
    [    2.290921] Bluetooth: Virtual HCI driver ver 1.5
    [    2.291448] Bluetooth: HCI UART driver ver 2.3
    [    2.291858] Bluetooth: HCI UART protocol H4 registered
    [    2.292325] Bluetooth: HCI UART protocol LL registered
    [    2.292792] Bluetooth: HCI UART protocol ATH3K registered
    [    2.407249] Bluetooth: RFCOMM socket layer initialized
    [    2.407741] Bluetooth: RFCOMM ver 1.11
    [    2.408107] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
    [    2.408649] Bluetooth: HIDP socket layer initialized
    

    Nein, BT ist nicht mein Spezialgebiet. Ergebnis, hier tut sich nix! Obwohl eigentlich sieht das doch so weit gut aus!??

  • Heute mal kurz vermelden, das das WiFi so weit stabil läuft.

     frank@frank-MS-7A34:~$ ssh rock64@192.168.178.31
     rock64@192.168.178.31's password: 
     Welcome to Ubuntu 18.04.2 LTS (GNU/Linux 4.4.154-1134-rockchip-ayufan-g0d09c8d7de9b aarch64)
                     _                     __   _  _   
      _ __ ___   ___| | ___ __  _ __ ___  / /_ | || |  
     | '__/ _ \ / __| |/ / '_ \| '__/ _ \| '_ \| || |_ 
     | | | (_) | (__|   <| |_) | | | (_) | (_) |__   _|
     |_|  \___/ \___|_|\_\ .__/|_|  \___/ \___/   |_|  
                         |_|                           
     
      * Documentation:  https://help.ubuntu.com
      * Management:     https://landscape.canonical.com
      * Support:        https://ubuntu.com/advantage
     
       System information as of Tue Mar  5 18:23:03 UTC 2019
     
       System load:  0.0               Processes:            169
       Usage of /:   5.0% of 28.30GB   Users logged in:      1
       Memory usage: 6%                IP address for eth0:  192.168.3.8
       Swap usage:   0%                IP address for wlan0: 192.168.178.31
     
      * Ubuntu's Kubernetes 1.14 distributions can bypass Docker and use containerd
        directly, see https://bit.ly/ubuntu-containerd or try it now with
     
          snap install microk8s --channel=1.14/beta --classic
     Last login: Tue Mar  5 15:31:16 2019 from 192.168.178.20
     rock64@rockpro64:~$ uptime
      18:23:08 up 1 day,  3:37,  2 users,  load average: 0.00, 0.00, 0.00
    
  • Kurztest mit 0.8.0rc8: gitlab-ci-linux-build-116

    da77049a-a1be-4658-a378-cc2d17a66c6a-grafik.png

    WiFi, wie oben beschrieben konfiguriert.

    Hardware

    • ROCKPro64 v2.1 mit WLan-Modul
    • Fritzbox 5GHz

    Download Test

    rock64@rockpro64:/mnt/home/rock64$ wget https://ftp.fau.de/mint/iso/stable/19.1/linuxmint-19.1-cinnamon-64bit.iso
    --2019-04-06 17:22:42--  https://ftp.fau.de/mint/iso/stable/19.1/linuxmint-19.1-cinnamon-64bit.iso
    Resolving ftp.fau.de (ftp.fau.de)... 131.188.12.211, 2001:638:a000:1021:21::1
    Connecting to ftp.fau.de (ftp.fau.de)|131.188.12.211|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 1973911552 (1.8G) [application/x-iso9660-image]
    Saving to: ‘linuxmint-19.1-cinnamon-64bit.iso’
    
    linuxmint-19.1-cinn 100%[===================>]   1.84G  11.9MB/s    in 2m 37s  
    
    2019-04-06 17:25:19 (12.0 MB/s) - ‘linuxmint-19.1-cinnamon-64bit.iso’ saved [1973911552/1973911552]
    

    Wenn das Speichermedium ausreichend schnell ist, dann bekommt man eine sehr flotte Verbindung hin. Die 11,9MB/s müssten mein maximaler Download sein. (100Mbit/s). Auf der SD-Karte kam es zu Pausen, ich vermute das die die Daten nicht schnell genug wegschreiben kann.

  • Für Bluetooth scheint noch was zu fehlen

    root@rockpro64:/mnt/home/rock64# service bluetooth status
    ● bluetooth.service - Bluetooth service
       Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
       Active: active (running) since Sat 2019-04-06 17:36:54 UTC; 2min 11s ago
         Docs: man:bluetoothd(8)
     Main PID: 2421 (bluetoothd)
       Status: "Running"
        Tasks: 1 (limit: 2380)
       CGroup: /system.slice/bluetooth.service
               └─2421 /usr/lib/bluetooth/bluetoothd
    
    Apr 06 17:36:54 rockpro64 systemd[1]: Starting Bluetooth service...
    Apr 06 17:36:54 rockpro64 bluetoothd[2421]: Bluetooth daemon 5.48
    Apr 06 17:36:54 rockpro64 systemd[1]: Started Bluetooth service.
    Apr 06 17:36:54 rockpro64 bluetoothd[2421]: Starting SDP server
    Apr 06 17:36:54 rockpro64 bluetoothd[2421]: kernel lacks bnep-protocol support
    Apr 06 17:36:54 rockpro64 bluetoothd[2421]: System does not support network plugin
    Apr 06 17:36:54 rockpro64 bluetoothd[2421]: Bluetooth management interface 1.10 initialized