CAT-6 Module Basteleien

Blaubeere

Mobilfunk Teilnehmer
13 Dez 2015
757
275
Woah, das ist jetzt drei Jahre her, ich hab leider auch nicht mehr alles im Kopf
... u.A. auch deshalb, weil es seitdem stabil läuft. Ich trau mich das garnicht mehr verändern. 😅

Ich werde aber versuchen dir bestmöglich zu helfen. Zu deiner Frage:
Kann in der Theorie getrennt compiliert werden. Es geht einfach darum, dass dnsmasq die selbe IP ausgeben kann, welche bereits ein anderes Interface am Gerät besitzt. Beim "normalen" dnsmasq, sind sicherheitsvorkehrungen implementiert, die das verhindern.
Achte aber darauf, dass du für die richtige architektur compilierst, die zu deiner Hardware passt.

Ich weiß grad echt garnicht mehr wie ich das gemacht hab damals. 😅



//edit:
Ich versuche seit einer weile vergebens OpenWRT + EM7565 (MBIM) einzustellen.
Wenn du nur openWRT + MBIM haben willst, dann reicht die mbim.sh. --> easy
Solltest du den Bridgemode haben wollen (welcher nur mit mbim funktioniert), ist der ganze Aufwand nötig.
 
Zuletzt bearbeitet:

Iridium

Mobilfunk Teilnehmer
13 Jan 2019
72
27
So, ich habe ein funktionsfähiges build von OpenWRT mit das nnötige drauf (Rooter habe ich nicht beigefügt dies mal).

Ich habe den DNSASQ_MOD in den /tmp Verzeichnis kopiert.
Da ich aber eine Felhermeldung "CC: not found" habe ich dann im Makefile folgende Zeile beigefügt: "CC = gcc"

Aber jetzt bekomme ich folgende Warnungen:

root@OpenWrt:/tmp/DNSMASQ_mod# make
In file included from /tmp/DNSMASQ_mod/src/dnsmasq.h:85:0:
/usr/include/sys/poll.h:1:2: warning: #warning redirecting incorrect #include <sys/poll.h> to <poll.h> [-Wcpp]
#warning redirecting incorrect #include <sys/poll.h> to <poll.h>
^~~~~~~
make: Warning: File 'Makefile' has modification time 995 s in the future
/bin/sh: /tmp/DNSMASQ_mod/bld/get-version: Permission denied
/bin/sh: /tmp/DNSMASQ_mod/bld/pkg-wrapper: Permission denied
/bin/sh: /tmp/DNSMASQ_mod/bld/pkg-wrapper: Permission denied
/bin/sh: /tmp/DNSMASQ_mod/bld/pkg-wrapper: Permission denied
/bin/sh: /tmp/DNSMASQ_mod/bld/pkg-wrapper: Permission denied
/bin/sh: /tmp/DNSMASQ_mod/bld/pkg-wrapper: Permission denied
/bin/sh: /tmp/DNSMASQ_mod/bld/pkg-wrapper: Permission denied
/bin/sh: /tmp/DNSMASQ_mod/bld/pkg-wrapper: Permission denied
/bin/sh: /tmp/DNSMASQ_mod/bld/pkg-wrapper: Permission denied
/bin/sh: /tmp/DNSMASQ_mod/bld/pkg-wrapper: Permission denied
/bin/sh: /tmp/DNSMASQ_mod/bld/pkg-wrapper: Permission denied
/bin/sh: /tmp/DNSMASQ_mod/bld/pkg-wrapper: Permission denied
make[1]: Entering directory '/tmp/DNSMASQ_mod/src'
In file included from /tmp/DNSMASQ_mod/src/dnsmasq.h:85:0:
/usr/include/sys/poll.h:1:2: warning: #warning redirecting incorrect #include <sys/poll.h> to <poll.h> [-Wcpp]
#warning redirecting incorrect #include <sys/poll.h> to <poll.h>
^~~~~~~
make[1]: Warning: File '/tmp/DNSMASQ_mod/Makefile' has modification time 995 s in the future
gcc -g -Wall -W -O2 -DVERSION='""' -c cache.c
In file included from dnsmasq.h:85:0,
from cache.c:17:
/usr/include/sys/poll.h:1:2: warning: #warning redirecting incorrect #include <sys/poll.h> to <poll.h> [-Wcpp]
#warning redirecting incorrect #include <sys/poll.h> to <poll.h>
^~~~~~~
gcc -g -Wall -W -O2 -DVERSION='""' -c rfc1035.c
In file included from dnsmasq.h:85:0,
from rfc1035.c:17:
/usr/include/sys/poll.h:1:2: warning: #warning redirecting incorrect #include <sys/poll.h> to <poll.h> [-Wcpp]
...
...
...
...
gcc -g -Wall -W -O2 -DVERSION='""' -c edns0.c
In file included from dnsmasq.h:85:0,
from edns0.c:17:
/usr/include/sys/poll.h:1:2: warning: #warning redirecting incorrect #include <sys/poll.h> to <poll.h> [-Wcpp]
#warning redirecting incorrect #include <sys/poll.h> to <poll.h>
^~~~~~~
edns0.c: In function 'calc_subnet_opt':
edns0.c:350:7: warning: 'addrp' may be used uninitialized in this function [-Wmaybe-uninitialized]
memcpy(opt->addr, addrp, len);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -g -Wall -W -O2 -DVERSION='""' -c arp.c
In file included from dnsmasq.h:85:0,
from arp.c:17:
/usr/include/sys/poll.h:1:2: warning: #warning redirecting incorrect #include <sys/poll.h> to <poll.h> [-Wcpp]
#warning redirecting incorrect #include <sys/poll.h> to <poll.h>
^~~~~~~
gcc -o dnsmasq cache.o rfc1035.o util.o option.o forward.o network.o dnsmasq.o dhcp.o lease.o rfc2131.o netlink.o dbus.o bpf.o helper.o tftp.o log.o conntrack.o dhcp6.o rfc3315.o dhcp-common.o outpacket.o radv.o slaac.o auth.o ipset.o domain.o dnssec.o blockdata.o tables.o loop.o inotify.o poll.o rrfilter.o edns0.o arp.o
make[1]: warning: Clock skew detected. Your build may be incomplete.
make[1]: Leaving directory '/tmp/DNSMASQ_mod/src'
make: warning: Clock skew detected. Your build may be incomplete.

Also ich muss ehrlich sagen, ich bin nicht sehr begabt für Linux o_O
 

Iridium

Mobilfunk Teilnehmer
13 Jan 2019
72
27
Auf deinem Linux dürfte die Uhrzeit nicht stimmen.
Danke (Y)

Clock skew ist dann schon mal weg.

...
...
#warning redirecting incorrect #include <sys/poll.h> to <poll.h>
^~~~~~~
gcc -g -Wall -W -O2 -DVERSION='""' -c rrfilter.c
In file included from dnsmasq.h:85:0,
from rrfilter.c:19:
/usr/include/sys/poll.h:1:2: warning: #warning redirecting incorrect #include <sys/poll.h> to <poll.h> [-Wcpp]
#warning redirecting incorrect #include <sys/poll.h> to <poll.h>
^~~~~~~
gcc -g -Wall -W -O2 -DVERSION='""' -c edns0.c
In file included from dnsmasq.h:85:0,
from edns0.c:17:
/usr/include/sys/poll.h:1:2: warning: #warning redirecting incorrect #include <sys/poll.h> to <poll.h> [-Wcpp]
#warning redirecting incorrect #include <sys/poll.h> to <poll.h>
^~~~~~~
edns0.c: In function 'calc_subnet_opt':
edns0.c:350:7: warning: 'addrp' may be used uninitialized in this function [-Wmaybe-uninitialized]
memcpy(opt->addr, addrp, len);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -g -Wall -W -O2 -DVERSION='""' -c arp.c
In file included from dnsmasq.h:85:0,
from arp.c:17:
/usr/include/sys/poll.h:1:2: warning: #warning redirecting incorrect #include <sys/poll.h> to <poll.h> [-Wcpp]
#warning redirecting incorrect #include <sys/poll.h> to <poll.h>
^~~~~~~
gcc -o dnsmasq cache.o rfc1035.o util.o option.o forward.o network.o dnsmasq.o dhcp.o lease.o rfc2131.o netlink.o dbus.o bpf.o helper.o tftp.o log.o conntrack.o dhcp6.o rfc3315.o dhcp-common.o outpacket.o radv.o slaac.o auth.o ipset.o domain.o dnssec.o blockdata.o tables.o loop.o inotify.o poll.o rrfilter.o edns0.o arp.o
make[1]: Leaving directory '/tmp/DNSMASQ_mod/src'
Bleibt dann all diese Warnings. Ich habe nachgeschaut, der poll.h file ist eigentlich im Ordner "./usr/include/sys/poll.h"


Noch eine andere Frage wenn ich richtig verstanden habe, die compilierten dateien werden den originellene dnsmasq automatisch ersetzen, nicht?

Im makefile:
PREFIX = /usr/local
BINDIR = $(PREFIX)/sbin


EDIT:
Die Datei poll.h ist tatsächlich im Ordner ./usr/include/sys/poll.h" vorhanden. Wieso denn der Fehler???


In der Datei dnsmasq.h:

#include <sys/poll.h>
 
Zuletzt bearbeitet:

Blaubeere

Mobilfunk Teilnehmer
13 Dez 2015
757
275
Kannst du mal versuchen am normalen Rechner OpenWRT für die passende Architektur zu bauen und den source von dnsmasq zu ersetzen?
 

Iridium

Mobilfunk Teilnehmer
13 Jan 2019
72
27
Also unter Debian x64 kompiliert es, es bestehen einige Warnmeldungen aber die binaries werden generiert.
Habe aber jetzt einige Schwierigkeiten mit den cross-compiling 😣 .

Muss ich den make file neu generieren???
Ich sehe nicht wie ich dort die Architektur (ARM) einstellen kann.
 

Gsicht

Mobilfunk Teilnehmer
22 Mrz 2014
6.472
1.550
Im OpenWrt bei "make menuconfig".

Wenn du nur dnsmasq für ARM kompilieren willst musst du vermutlich den Compiler den die Buildumgebung von OpenWrt gebaut hat verwenden.
 

Iridium

Mobilfunk Teilnehmer
13 Jan 2019
72
27
Das "einfachsten" wäre dann die Sources des modifizierten dnsmasq in den Sources des OpenWrt du patchen und dann alles miteinander zu kompilieren? :-/

edit:
Ist ok, es hat jetzt unter OpenWrt kompiliert.
 
Zuletzt bearbeitet:

Blaubeere

Mobilfunk Teilnehmer
13 Dez 2015
757
275
Ist ok, es hat jetzt unter OpenWrt kompiliert.
Cool! Wie hast du das gemacht? Ich weiß es leider selbst nicht mehr ... hab mir damals keine Notizen gemacht.
Lass mich weiter wissen wie es dir ergangen ist. :)

Was mich zudem ärgert ist, dass ich die veränderten sources eingecheckt habe und nicht zuvor die original sourcen. So sieht man die Änderungen nicht, wie es sich eigentlich gehört. Aber naja... bei Bedarf hole ich das vielleicht nochmal nach.
 

Aktuelle Themen