Skip to content

ROCKPro64 - Secondary IP entfernen

ROCKPro64
5 2 736 1
  • 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.

  • [V] RockPro64 V2.1

    Frank's Resterampe rockpro64 verkauf
    1
    1
    0 Stimmen
    1 Beiträge
    150 Aufrufe
    Niemand hat geantwortet
  • Debian Buster 10.9 released

    Linux debian linux
    1
    0 Stimmen
    1 Beiträge
    230 Aufrufe
    Niemand hat geantwortet
  • ROCKPro64 - PCIe NVMe SSD installieren

    Hardware linux rockpro64
    1
    0 Stimmen
    1 Beiträge
    352 Aufrufe
    Niemand hat geantwortet
  • ROCKPro64 (4GB) - Probleme mit der PCIe SATA-Karte??

    ROCKPro64 rockpro64
    8
    1
    0 Stimmen
    8 Beiträge
    1k Aufrufe
    FrankMF
    Die Verlinkung hatte ich überlesen, sorry. Es gibt nur eine Handvoll Karten, die im PCIe Port funktionieren. Warum, kann ich dir leider nicht beantworten. Es liegt aber mit Sicherheit an falschen Einstellungen im Kernel und an fehlenden Treibern. Ich habe hier auch eine andere Karte rumliegen, die erzeugt immer nur eine Kernel Panic In diesem Thread steht einiges was geht und was nicht. https://forum.pine64.org/showthread.php?tid=6459
  • Neues Script "change-default-kernel.sh "

    ROCKPro64 rockpro64
    1
    0 Stimmen
    1 Beiträge
    625 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
  • Recover Button

    Hardware hardware rockpro64
    2
    2
    0 Stimmen
    2 Beiträge
    894 Aufrufe
    FrankMF
    Ich hab das mal ausprobiert. Den Recover Button so lange drücken, bis folgendes erscheint. In: serial@ff1a0000 Out: serial@ff1a0000 Err: serial@ff1a0000 Model: Pine64 RockPro64 rockchip_dnl_mode = 1 mode rockchip_dnl_mode = 2 mode rockchip_dnl_mode = 3 mode rockchip_dnl_mode = 4 mode entering maskrom mode... RKFlashTool clonen root@thinkpad:/home/frank/test# git clone https://github.com/rockchip-linux/rkflashtool Klone nach 'rkflashtool' ... remote: Counting objects: 663, done. remote: Total 663 (delta 0), reused 0 (delta 0), pack-reused 663 Empfange Objekte: 100% (663/663), 114.94 KiB | 0 bytes/s, Fertig. Löse Unterschiede auf: 100% (367/367), Fertig. In das Verzeichnis wechseln root@thinkpad:/home/frank/test# cd rkflashtool/ Inhalt root@thinkpad:/home/frank/test/rkflashtool# ls doc Makefile rkcrc.h rkflashtool.h rkparametersblock examples README rkflashall rkmisc rkunpack.c fixversion.sh release.sh rkflashloader rkpad rkunsign flashuboot rkcrc.c rkflashtool.c rkparameters version.h RKFlashtool bauen root@thinkpad:/home/frank/test/rkflashtool# make gcc -O2 -W -Wall -I/usr/include/libusb-1.0 rkflashtool.c -o rkflashtool -lusb-1.0 gcc -O2 -W -Wall -I/usr/include/libusb-1.0 rkcrc.c -o rkcrc -lusb-1.0 gcc -O2 -W -Wall -I/usr/include/libusb-1.0 rkunpack.c -o rkunpack -lusb-1.0 Ich habe ein USB-A to USB-A Kabel vom USB-C Port des ROCKPro64 zu meinem Notebook hergestellt. root@thinkpad:/home/frank/test/rkflashtool# sudo ./rkflashtool v rkflashtool: info: rkflashtool v5.2 rkflashtool: info: Detected RK3399... rkflashtool: info: interface claimed rkflashtool: info: MASK ROM MODE rkflashtool: info: chip version: -..- Ok, Verbindung steht. Eine Übersicht der Befehle root@thinkpad:/home/frank/test/rkflashtool# sudo ./rkflashtool rkflashtool: info: rkflashtool v5.2 rkflashtool: fatal: usage: rkflashtool b [flag] reboot device rkflashtool l <file load DDR init (MASK ROM MODE) rkflashtool L <file load USB loader (MASK ROM MODE) rkflashtool v read chip version rkflashtool n read NAND flash info rkflashtool i offset nsectors >outfile read IDBlocks rkflashtool j offset nsectors <infile write IDBlocks rkflashtool m offset nbytes >outfile read SDRAM rkflashtool M offset nbytes <infile write SDRAM rkflashtool B krnl_addr parm_addr exec SDRAM rkflashtool r partname >outfile read flash partition rkflashtool w partname <infile write flash partition rkflashtool r offset nsectors >outfile read flash rkflashtool w offset nsectors <infile write flash rkflashtool p >file fetch parameters rkflashtool P <file write parameters rkflashtool e partname erase flash (fill with 0xff) rkflashtool e offset nsectors erase flash (fill with 0xff)
  • ROCKPro64 - eMMC-Modul / SD-Karte auswählen

    Hardware hardware rockpro64
    3
    2
    0 Stimmen
    3 Beiträge
    2k Aufrufe
    FrankMF
    Echtes Problem gefunden. Wenn die eMMC-Karte verbaut ist, ich mit der SD-Karte starte (Jumper gesetzt), kann ich keinen Kernel updaten. Es ist alles ganz normal installiert, er startet aber immer den letzten vorhandenen. Jumper entfernt, eMMC-Modul entfernt! Bootvorgang mit unveränderter SD-Karte, neuer Kernel wird geladen. OK, das verstehe ich im Moment überhaupt nicht !?!?!?