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
    

  • H.265/x265 dekodiert und wiedergegeben (4K Video)

    ROCKPro64
    1
    0 Stimmen
    1 Beiträge
    434 Aufrufe
    Niemand hat geantwortet
  • ROCKPro64 - RP64.GPIO

    Angeheftet Verschoben Hardware
    6
    0 Stimmen
    6 Beiträge
    6k Aufrufe
    FrankMF

    Hallo zusammen,

    da ich weiß das dieser Artikel recht beliebt ist, wollen wir den heute mal aktualisieren. Vieles aus den vorherigen Beiträgen passt noch. Es gibt aber kleine Anpassungen.

    Hardware ROCKPro64v21. 2GB RAM Software Kamils Release 0.10.9 Linux rockpro64 5.6.0-1132-ayufan-g81043e6e109a #ayufan SMP Tue Apr 7 10:07:35 UTC 2020 aarch64 GNU/Linux Installation apt install python

    Danach laden wir das Projekt

    git clone https://github.com/Leapo/Rock64-R64.GPIO

    PIN Nummern anpassen

    cd Rock64-R64.GPIO/R64 nano _GPIO.py

    Datei ergänzen

    # Define GPIO arrays #ROCK_valid_channels = [27, 32, 33, 34, 35, 36, 37, 38, 64, 65, 67, 68, 69, 76, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 96, 97, 98, 100, 101, 102, 103, 104] #BOARD_to_ROCK = [0, 0, 0, 89, 0, 88, 0, 0, 64, 0, 65, 0, 67, 0, 0, 100, 101, 0, 102, 97, 0, 98, 103, 96, 104, 0, 76, 68, 69, 0, 0, 0, 38, 32, 0, 33, 37, 34, 36, 0, 35, 0, 0, 81, 82, 87, 83, 0, 0, 80, 79, 85, 84, 27, 86, 0, 0, 0, 0, 0, 0, 89, 88] #BCM_to_ROCK = [68, 69, 89, 88, 81, 87, 83, 76, 104, 98, 97, 96, 38, 32, 64, 65, 37, 80, 67, 33, 36, 35, 100, 101, 102, 103, 34, 82] ROCK_valid_channels = [52,53,152,54,50,33,48,39,41,43,155,156,125,122,121,148,147,120,36,149,153,42,45,44,124,126,123,127] BOARD_to_ROCK = [0,0,0,52,0,53,0,152,148,0,147,54,120,50,0,33,36,0,149,48,0,39,153,41,42,0,45,43,44,155,0,156,124,125,0,122,126,121,123,0,127] BCM_to_ROCK = [43,44,52,53,152,155,156,45,42,39,48,41,124,125,148,147,124,54,120,122,123,127,33,36,149,153,121,50]

    Abspeichern.

    Datei test.py anlegen

    nano test.py

    Inhalt

    #!/usr/bin/env python # Frank Mankel, 2018, LGPLv3 License # Rock 64 GPIO Library for Python # Thanks Allison! Thanks smartdave! import R64.GPIO as GPIO from time import sleep print("Output Test R64.GPIO Module...") # Set Variables var_gpio_out = 156 var_gpio_in = 155 # GPIO Setup GPIO.setwarnings(True) GPIO.setmode(GPIO.ROCK) GPIO.setup(var_gpio_out, GPIO.OUT, initial=GPIO.HIGH) # Set up GPIO as an output, with an initial state of HIGH GPIO.setup(var_gpio_in, GPIO.IN, pull_up_down=GPIO.PUD_UP) # Set up GPIO as an input, pullup enabled # Test Output print("") print("Testing GPIO Input/Output:") while True: var_gpio_state_in = GPIO.input(var_gpio_in) var_gpio_state = GPIO.input(var_gpio_out) # Return State of GPIO if var_gpio_state == 0 and var_gpio_state_in == 1: GPIO.output(var_gpio_out,GPIO.HIGH) # Set GPIO to HIGH print("Input State: " + str(var_gpio_state_in)) # Print results print("Output State IF : " + str(var_gpio_state)) # Print results else: GPIO.output(var_gpio_out,GPIO.LOW) # Set GPIO to LOW print("Input State: " + str(var_gpio_state_in)) # Print results print("Output State ELSE: " + str(var_gpio_state)) # Print results sleep(0.5) exit() Beispiel

    Bild Text

    Wenn der Taster im Bild betätigt wird, soll die LED blinken.

    Wir benutzen folgende Ein- Augänge des ROCKPro64.

    # Set Variables var_gpio_out = 156 var_gpio_in = 155

    Das heißt:

    an Pin 1 (3,3V) kommt eine Strippe des Tasters an Pin 29 (Input) kommt eine Strippe des Tasters an Pin 31 (Output) kommt der Plus-Pol der LED an Pin 39 (GND) kommt der Minus-Pol der LED

    Somit wird auf den Eingang (Pin 29) bei Betätigung des Tasters 3,3 Volt angelegt. Damit wird dann der Eingang als High (1) erkannt. Die LED wird über den Ausgang (Pin 31) gesteuert.

    Starten kann man das Script mit

    python test.py

  • Neue Artikel im Pine64 Shop (August 2018)

    Hardware
    2
    0 Stimmen
    2 Beiträge
    735 Aufrufe
    FrankMF

    Neue Artikel im Pine64 Shop

    ABS Gehäuse https://www.pine64.org/?product=rockpro64-abs-enclosure Gehäuse für einen ROCKPro64 und einen LCD-Bildschirm https://www.pine64.org/?product=rockpro64-playbox-enclosure
  • Release Empfehlung für Einsteiger

    Verschoben Archiv
    2
    0 Stimmen
    2 Beiträge
    1k Aufrufe
    FrankMF

    Sieht so aus, als wenn wir ein neues Traumpaar haben. 🙂

    0.7.7

    und

    rock64@rockpro64:/mnt$ uname -a Linux rockpro64 4.18.0-rc3-1046-ayufan-ge76778b6aa4b #1 SMP PREEMPT Thu Jul 19 14:10:17 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux
  • stretch-openmediavault-rockpro64

    Verschoben Linux
    1
    0 Stimmen
    1 Beiträge
    805 Aufrufe
    Niemand hat geantwortet
  • Android - Youtube

    ROCKPro64
    2
    0 Stimmen
    2 Beiträge
    791 Aufrufe
    FrankMF

    0_1526915377060_Android_Home.jpg

  • ROCKPro64 - Platinenerkundung

    ROCKPro64
    1
    0 Stimmen
    1 Beiträge
    601 Aufrufe
    Niemand hat geantwortet
  • 2GB Version - Out of stock

    Verschoben Archiv
    1
    0 Stimmen
    1 Beiträge
    717 Aufrufe
    Niemand hat geantwortet