Skip to content

ROCKPro64 - Secondary IP entfernen

ROCKPro64
  • Eben festgestellt, das mein NAS noch mit einem Ubuntu läuft. Damit es hier einheitlich ist, soll das weg 🙂
    Dafür bin ich gerade ein neues System am Aufsetzen. Dabei ist mir was aufgefallen, auch früher schon, aber diesmal soll das weg!

    Image

    Linux rockpro64 4.4.190-1233-rockchip-ayufan-gd3f1be0ed310 #1 SMP Wed Aug 28 08:59:34 UTC 2019 aarch64
    

    Aktualisiert auf Debian Buster 10.1

    Problem

    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: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
        link/ether 62:03:b0:d6:dc:b3 brd ff:ff:ff:ff:ff:ff
        inet 192.168.3.2/24 brd 192.168.3.255 scope global dynamic eth0
           valid_lft 7191sec preferred_lft 7191sec
        inet 192.168.3.4/24 brd 192.168.3.255 scope global secondary noprefixroute eth0
           valid_lft forever preferred_lft forever
        inet6 2a02:908:1266:9690:xxxxxxxxxxxxxxxxxx/64 scope global dynamic mngtmpaddr noprefixroute 
           valid_lft 7189sec preferred_lft 589sec
        inet6 fe80::6003:b0ff:fed6:dcb3/64 scope link 
           valid_lft forever preferred_lft forever
    

    Ich habe auf der LAN-Schnittstelle zwei IP-Adressen.

    inet 192.168.3.2/24 brd 192.168.3.255 scope global dynamic eth0
    inet 192.168.3.4/24 brd 192.168.3.255 scope global secondary noprefixroute eth0
    

    Die secondary brauch ich nicht. Ok, ein wenig gegoogelt und dann folgendes eingegeben.

    systemctl stop dhcpcd
    systemctl disable dhcpcd
    

    Danach neustarten

    reboot
    

    Dann schauen wir mal nach.

    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: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
        link/ether 62:03:b0:d6:dc:b3 brd ff:ff:ff:ff:ff:ff
        inet 192.168.3.2/24 brd 192.168.3.255 scope global dynamic eth0
           valid_lft 7193sec preferred_lft 7193sec
        inet6 2a02:908:1266:9690:xxxxxxxxxxxxxxx/64 scope global dynamic mngtmpaddr 
           valid_lft 7198sec preferred_lft 598sec
        inet6 fe80::6003:b0ff:fed6:dcb3/64 scope link 
           valid_lft forever preferred_lft forever
    

    Gut, sie ist weg 😉

    Warum das so ist, weiß ich nicht. Für mich macht ein dhcpd da aktuell keinen Sinn!?!? Ich möchte ja keinen Clients Adressen zuteilen. Wenn ich völlig daneben liege, bitte ich um Korrektur.

  • Hoppla, etwas aus der Übung. Mit dem letzten Release 0.9.16 gibt es dieses Problem nicht mehr.

    Das scheint nicht immer der Fall zu sein!

    Gerade nach einer Neuinstallation schon wieder zwei IP-Adressen.

  • Ich grabe das Thema noch mal aus.

    Oben habe ich den Dienst dhcpcd ausgeschaltet. Dieser sorgt dafür, das wir zwei IP-Adressen auf der Schnittstelle haben. Aber, ein kleiner feiner Denkfehler von mir, der Dienst dhcpcd ist nicht gleich Dienst dhcpd !!

    dhcpcd

    Welcome to the project page for dhcpcd, a DHCP and DHCPv6 client.

    Wenn ich diesen Dienst auf folgendem Image abschalte, dann bekomme ich nicht mehr die zweite IP, der ROCKPro64 holt sich aber immer noch per DHCP eine Adresse!?? Welcher Dienst ist dafür verantwortlich??

    pstree

    Nach dem Abschalten, sieht das so aus.

    root@rockpro64:~# pstree
    systemd-+-NetworkManager---2*[{NetworkManager}]
            |-2*[agetty]
            |-alsactl
            |-avahi-daemon---avahi-daemon
            |-cron
            |-dbus-daemon
            |-dhclient
            |-dhcpd
            |-ntpd---{ntpd}
            |-polkitd---2*[{polkitd}]
            |-rsyslogd---3*[{rsyslogd}]
            |-sshd---sshd---sshd---bash---su---bash---pstree
            |-systemd---(sd-pam)
            |-systemd-journal
            |-systemd-logind
            |-systemd-udevd
            `-wpa_supplicant
    

    Hier sieht man das ich einen dhpcd am Laufen habe, der auch artig Adressen verteilt. Hmm, was ich immer noch nicht verstehe, wer macht denn jetzt den DHCP für den Client? Networkmanager? systemd?

    Wird fortgesetzt....

  • Hallo Frank,

    also ich hatte auf meiner installation dhcpcd5 mit apt remove --purge dhcpcd5 deinstalliert und in /etc/network/interfaces.d/eth0 die statische Konfiguration zugefügt.

    Evtl. kann es auch noch zusätzlich sein das der dhcpcd durch einen upgrade wieder aktiviert wurde, habe ich halt auch schon mal gesehen.

    Den dhcpd brauchst du vermutlich auch nicht, wenn du nicht neben deinem router IPs verteilen möchtest.

    Evtl. hast du auch noch das Paket isc-dhcp-client installiert, aber das stört üblicherweise nicht da es der dhclient dort nicht als daemon läuft.

    Gruß
    Martin

  • Hallo @mabs,

    es ging bei meinem Post gar nicht um den dhcpd, also den Daemon der die Adressen verteilt. Hintergrund, ich versuche gerade mal wieder einen Router auf Basis eines ROCKPro64 zu bauen. Dabei bin ich in Kamils Debian Minimal über die zweite IP-Adresse gestolpert.

    Danke aber für deine Anregungen.

    Es gibt da aber wohl mit dem Debian Minimal irgendwelche Probleme mit dem Forwarding, so das ich das jetzt auf einem Bionic mache, dort klappt das einwandfrei. Aber dazu später ausführlich in einem anderen Thread.

  • Debian Bookworm 12 - Btrfs Installation

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

    Das mit den Namen der btrfs Subvolumes ist bekannt bei Timeshift. Im Readme steht dazu folgendes.

    BTRFS volumes

    BTRFS volumes must have an Ubuntu-type layout with @ and @home subvolumes. Other layouts are not supported. Systems having the @ subvolume and having /home on a non-BTRFS partition are also supported.

    Text file busy / btrfs returned an error: 256 / Failed to create snapshot can occur if you have a Linux swapfile mounted within the @ or @home subvolumes which prevents snapshot from succeeding. Relocate the swapfile out of @ or *@home, for example into it's own subvolume like @swap.

  • Debian Buster 10.6 released

    Linux
    1
    0 Stimmen
    1 Beiträge
    204 Aufrufe
    Niemand hat geantwortet
  • ROCKPro64 - Anpassen resize_rootfs.sh

    Angeheftet ROCKPro64
    3
    0 Stimmen
    3 Beiträge
    457 Aufrufe
    FrankMF

    Seit Release 0.10.10 ist das automatische Vergrößern der Root Partition mit drin 🙂

    0.10.10: Support automated resize when booting from nvme

    Einfach das Image auf die NVMe SSD schreiben, ab in den ROCKPro64 und fertig! Nach dem Booten wird die Partition dann automatisch auf die maximal mögliche Größe erweitert.

    Kamil hat das Script auch ein wenig angepasst.

    case $dev in /dev/mmcblk?p?) DISK=${dev:0:12} PART=${dev:13} NAME="sd/emmc" ;; /dev/sd??) DISK=${dev:0:8} PART=${dev:8} NAME="hdd/ssd" ;; /dev/nvme?n?p?) DISK=${dev:0:12} PART=${dev:13} NAME="pcie/nvme" ;;

    Das Resultat bei einer Samsung 979 EVO mit 500GB Speicher

    rock64@rockpro64:~$ df -h Filesystem Size Used Avail Use% Mounted on udev 918M 0 918M 0% /dev tmpfs 192M 5.2M 187M 3% /run /dev/nvme0n1p4 459G 1.2G 439G 1% / tmpfs 957M 0 957M 0% /dev/shm tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 957M 0 957M 0% /sys/fs/cgroup /dev/nvme0n1p3 229M 44M 169M 21% /boot /dev/nvme0n1p2 12M 0 12M 0% /boot/efi tmpfs 192M 0 192M 0% /run/user/1000

    Perfekt. Danke Kamil!

  • ROCKPro64 - USB-OTG funktioniert!

    ROCKPro64
    1
    0 Stimmen
    1 Beiträge
    537 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

  • NAS Gehäuse für den ROCKPro64

    Verschoben Hardware
    4
    0 Stimmen
    4 Beiträge
    2k Aufrufe
    FrankMF
    POWER-LED

    Die LEDs werden mit 3,3 Volt versorgt. Das ist jetzt recht einfach 😉

    POWER LED + / Pi2-Connector Pin 1 (3,3V) POWER-LED - / Pi2-Connector Pin 9 (GND)

    Pi2-Connector

    0_1537358092990_IMG_20180919_134656_ergebnis.jpg

    0_1537358113178_IMG_20180919_134731_ergebnis.jpg

  • Wichtig!

    Verschoben Archiv
    1
    0 Stimmen
    1 Beiträge
    743 Aufrufe
    Niemand hat geantwortet
  • Shop-Bestellung

    ROCKPro64
    10
    0 Stimmen
    10 Beiträge
    2k Aufrufe
    V

    @FrankM besten Dank für die ausführliche Infos.