Skip to content

ROCKPro WLan Modul

Verschoben ROCKPro64
1 1 766
  • Hardware

    Das Modul was Pine64 verkauft. Dieses Modul wird auf den entsprechenden Steckplatz montiert.
    0_1532760059199_DSC_0034_ergebnis.JPG

    Vorteil, wer kein WLan benötigt braucht das nicht mitbezahlen.

    Das Modul wird über sdio angesteuert, das hat Kamil mit Version 0.7.8 abgeschaltet um die PCIe Funktionalität zu erhalten, weil dort ein Bug drin ist, den er vor seinem Urlaub nicht mehr gefunden hat.

    Das heißt, um das WLan Modul überhaupt zum Leben zu erwecken muss man ein Image vor 0.7.8 nutzen. Ich habe es mal mit 0.7.7 probiert.

    Software

    Hätten wir das Problem, die Software ist nicht drin. Aber JeffD aus dem Forum hatte da eine Idee 🙂 Man klaue sich den Treiber aus der Android Version, da soll es funktionieren (nicht selber getestet).

    Also die 50 GB große Android Datei runter geladen, ausgepackt und durchsucht. Dort findet man dann die Datei

    BCM4359C0.hcd
    

    Diese kopiert man nach /etc/firmware

    root@rockpro64:/home/rock64# ls -la /etc/firmware
    total 184
    drwxr-xr-x  2 root root  4096 Jul 27 21:11  .
    drwxr-xr-x 82 root root  4096 Jul 28 05:29  ..
    -rw-r--r--  1 root root 38644 Jul 15 15:52  4343A0.hcd
    -rw-r--r--  1 root root 57291 Jul 15 15:52  BCM4335C0.hcd
    -rw-r--r--  1 root root 38644 Jul 15 15:52 'BCM4343A0 26M.hcd'
    -rwxr--r--  1 root root 37286 Jul 27 21:11  BCM4359C0.hcd
    

    Danach hat man irgendwelche Ausgaben, die gar nicht so schlecht aussehen. Aber, da meine treuen Leser ja wissen, das ich kein Freund von Bluetooth und WLan auf der Konsole bin (ich hasse das 😉 ) , habe ich jetzt nach einer langen Nacht aufgegeben. Dieses Netplan auf Ubuntu regt mich auch nur noch auf!

    Also wird dem Nerd mit unterdurchschnittlichem Linuxwissen, nicht anderes übrig bleiben, als auf Kamil's nächstes Image zu warten, das dann hoffentlich PCIe & WLan unterstützt!

    Die Befürchtung, das es auf v2.0 nicht richtig läuft, kann ich vorsichtig verneinen. Die Ausgaben auf v2.0 sind gleich, ob es dann auch richtig funktioniert wird man später sehen. https://forum.frank-mankel.org/topic/176/rockpro64-kein-wlan-modul-möglich

    Hier ein paar Ausgaben, ob die sinnvoll sind kann ich nicht beurteilen.

    rfkill list all

    root@rockpro64:/home/rock64# rfkill list all
    0: bt_default: Bluetooth
    	Soft blocked: no
    	Hard blocked: no
    1: phy0: Wireless LAN
    	Soft blocked: no
    	Hard blocked: no
    2: brcmfmac-wifi: Wireless LAN
    	Soft blocked: no
    	Hard blocked: no
    

    lshw -class network

    root@rockpro64:/home/rock64# sudo lshw -class network
      *-network:0 DISABLED      
           description: Wireless interface
           physical id: 7
           logical name: wlan0
           serial: ac:83:f3:e6:1f:b2
           capabilities: ethernet physical wireless
           configuration: broadcast=yes driver=wl driverversion=0 multicast=yes wireless=IEEE 802.11
      *-network:1
           description: Ethernet interface
           physical id: 8
           logical name: eth0
           serial: 1e:0e:99:52:8e:40
           size: 1Gbit/s
           capacity: 1Gbit/s
           capabilities: ethernet physical tp aui bnc mii fibre 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
           configuration: autonegotiation=on broadcast=yes driver=st_gmac driverversion=March_2013 duplex=full ip=192.168.3.17 link=yes multicast=yes port=MII speed=1Gbit/s
    

    iw dev

    root@rockpro64:/etc# iw dev
    phy#0
    	Interface wlan0
    		ifindex 3
    		wdev 0x1
    		addr ac:83:f3:e6:1f:b2
    		type managed
    

    ip a

    root@rockpro64:/home/rock64# 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: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
        link/ether 1e:0e:99:52:8e:40 brd ff:ff:ff:ff:ff:ff
        inet 192.168.3.18/24 brd 192.168.3.255 scope global eth0
           valid_lft forever preferred_lft forever
        inet 192.168.3.205/24 brd 192.168.3.255 scope global secondary eth0
           valid_lft forever preferred_lft forever
        inet6 fe80::1c0e:99ff:fe52:8e40/64 scope link 
           valid_lft forever preferred_lft forever
    3: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
        link/ether ac:83:f3:e6:1f:b2 brd ff:ff:ff:ff:ff:ff
    

    iwlist

    rock64@rockpro64:~$ iw list 
    Wiphy phy0
    	max # scan SSIDs: 10
    	max scan IEs length: 2048 bytes
    	max # sched scan SSIDs: 0
    	max # match sets: 0
    	max # scan plans: 1
    	max scan plan interval: -1
    	max scan plan iterations: 0
    	Retry short limit: 7
    	Retry long limit: 4
    	Coverage class: 0 (up to 0m)
    	Device supports T-DLS.
    	Supported Ciphers:
    		* WEP40 (00-0f-ac:1)
    		* WEP104 (00-0f-ac:5)
    		* TKIP (00-0f-ac:2)
    		* CCMP-128 (00-0f-ac:4)
    		* CMAC (00-0f-ac:6)
    	Available Antennas: TX 0 RX 0
    	Supported interface modes:
    		 * IBSS
    		 * managed
    		 * AP
    		 * P2P-client
    		 * P2P-GO
    		 * P2P-device
    	Band 1:
    		Bitrates (non-HT):
    			* 1.0 Mbps
    			* 2.0 Mbps (short preamble supported)
    			* 5.5 Mbps (short preamble supported)
    			* 11.0 Mbps (short preamble supported)
    			* 6.0 Mbps
    			* 9.0 Mbps
    			* 12.0 Mbps
    			* 18.0 Mbps
    			* 24.0 Mbps
    			* 36.0 Mbps
    			* 48.0 Mbps
    			* 54.0 Mbps
    		Frequencies:
    			* 2412 MHz [1] (20.0 dBm)
    			* 2417 MHz [2] (20.0 dBm)
    			* 2422 MHz [3] (20.0 dBm)
    			* 2427 MHz [4] (20.0 dBm)
    			* 2432 MHz [5] (20.0 dBm)
    			* 2437 MHz [6] (20.0 dBm)
    			* 2442 MHz [7] (20.0 dBm)
    			* 2447 MHz [8] (20.0 dBm)
    			* 2452 MHz [9] (20.0 dBm)
    			* 2457 MHz [10] (20.0 dBm)
    			* 2462 MHz [11] (20.0 dBm)
    			* 2467 MHz [12] (20.0 dBm)
    			* 2472 MHz [13] (20.0 dBm)
    			* 2484 MHz [14] (20.0 dBm)
    Supported commands:
    		 * new_interface
    		 * set_interface
    		 * new_key
    		 * start_ap
    		 * set_bss
    		 * join_ibss
    		 * set_pmksa
    		 * del_pmksa
    		 * flush_pmksa
    		 * remain_on_channel
    		 * frame
    		 * frame_wait_cancel
    		 * set_wiphy_netns
    		 * set_channel
    		 * tdls_mgmt
    		 * tdls_oper
    		 * start_p2p_device
    		 * connect
    		 * disconnect
    	Supported TX frame types:
    		 * IBSS: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
    		 * managed: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
    		 * AP: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
    		 * AP/VLAN: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
    		 * P2P-client: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
    		 * P2P-GO: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
    		 * P2P-device: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
    	Supported RX frame types:
    		 * IBSS: 0xd0
    		 * managed: 0x40 0xd0
    		 * AP: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
    		 * AP/VLAN: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
    		 * P2P-client: 0x40 0xd0
    		 * P2P-GO: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
    		 * P2P-device: 0x40 0xd0
    	WoWLAN support:
    		 * wake up on anything (device continues operating normally)
    		 * wake up on pattern match, up to 8 patterns of 1-255 bytes,
    		   maximum packet offset 255 bytes
    	software interface modes (can always be added):
    	valid interface combinations:
    		 * #{ AP } <= 2, #{ managed } <= 2, #{ P2P-client, P2P-GO } <= 2, #{ P2P-device } <= 1, #{ IBSS } <= 1,
    		   total <= 4, #channels <= 2
    	Device supports scan flush.
    
  • RockPro64 - Mainline Kernel 6.13.0-1197-ayufan

    ROCKPro64 rockpro64 linux
    1
    0 Stimmen
    1 Beiträge
    71 Aufrufe
    Niemand hat geantwortet
  • Images 0.11.x

    Images linux rockpro64
    5
    0 Stimmen
    5 Beiträge
    488 Aufrufe
    FrankMF
    0.11.2: gitlab-ci-linux-build-187 released 0.11.2: Update OMV install (to also be able to run OMV6)
  • SATA - Booten jetzt möglich

    ROCKPro64 rockpro64
    1
    0 Stimmen
    1 Beiträge
    290 Aufrufe
    Niemand hat geantwortet
  • Mainline 5.4.x

    Images rockpro64
    2
    0 Stimmen
    2 Beiträge
    393 Aufrufe
    FrankMF
    Bootet bei mir weder von USB3-SSD noch von SD-Karte. USB3-SSD -> https://pastebin.com/QAS92sme SD-Karte -> https://pastebin.com/Bsr3WLJ7
  • H.265/x265 dekodiert und wiedergegeben (4K Video)

    ROCKPro64 rockpro64
    1
    0 Stimmen
    1 Beiträge
    460 Aufrufe
    Niemand hat geantwortet
  • Kamil hat mal wieder Zeit?

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

    Angeheftet Verschoben Hardware hardware rockpro64
    6
    1
    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 [image: 1537522070243-input_ergebnis.jpg] 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 https://www.youtube.com/watch?v=aPSC0Q0xInw
  • ROCKPro64 - SD-Karte

    Hardware hardware rockpro64
    1
    0 Stimmen
    1 Beiträge
    556 Aufrufe
    Niemand hat geantwortet