WLAN mit Edimax-Antenne

Rund um die Software von Revolution Pi
dennis.boldt
Posts: 12
Joined: 02 Oct 2019, 14:33
Answers: 0

WLAN mit Edimax-Antenne

Post by dennis.boldt »

Hallo,

wir haben für den RevPi die folgenden WLAN-Antenne gekauft (bessere Reichweite als nur ein kleiner Dongle):

https://www.amazon.de/Edimax-EW-7811UAC ... 00JML3S66/

Leider wird die WLAN-Antenne nicht erkannt.

1) ifconfig: Zeigt leider kein wlan0 an
2020-01-27 17_32_02-pi@RevPi30265_ ~.png
2020-01-27 17_32_02-pi@RevPi30265_ ~.png (19.98 KiB) Viewed 7620 times
2) dmesg: Erkennt das Modell AC 600.
2020-01-27 17_34_19-pi@RevPi30265_ ~.png
2020-01-27 17_34_19-pi@RevPi30265_ ~.png (8.27 KiB) Viewed 7620 times
3) lsusb: Erkennt, dass es ein Edimax-Gerät ist
2020-01-27 17_32_38-pi@RevPi30265_ ~.png
2020-01-27 17_32_38-pi@RevPi30265_ ~.png (9.15 KiB) Viewed 7620 times
Was kann ich noch machen?

Viele Grüße
Dennis
Best Answerby phmoll » 16 Jun 2021, 18:07
Hallo zusammen,
ich habe soeben die Anleitung von oben befolgt und kann ein Update dazu geben. Mit dem aktuellen Buster Kernel `Linux RevPi2910 4.19.95-rt38-v7` treten die oben genannten Fehler nicht mehr auf. Installation funktioniert wie folgt:

Code: Select all

# Install headers 
sudo apt install raspberrypi-kernel-headers

# Download driver source, compile and install
git clone https://github.com/aircrack-ng/rtl8812au.git
cd rtl8812au
make
sudo make install

# Reboot and check driver is loaded into the kernel
sudo reboot
modinfo 88XXau
Go to full post
User avatar
nicolaiB
KUNBUS
Posts: 873
Joined: 21 Jun 2018, 10:33
Answers: 7
Location: Berlin
Contact:

Re: WLAN mit Edimax-Antenne

Post by nicolaiB »

Hallo Dennis,

der Treiber (Realtek rtl8812au) ist nicht im Kernel enthalten, weswegen du ihn selbst übersetzen musst. Eine Anleitung findest du z.B. hier:

https://edimax.freshdesk.com/support/so ... -than-v4-1

Gruß Nicolai
dennis.boldt
Posts: 12
Joined: 02 Oct 2019, 14:33
Answers: 0

Re: WLAN mit Edimax-Antenne

Post by dennis.boldt »

Mit Umwegen haben ich den Treiber nun kompiliert bekommen.

Die Hauptherausforderung war, dass nicht alle Kernel-Scripte in raspberrypi-kernel-headers vorhanden sind.

1) Kernel header installieren

Code: Select all

# Verify, folder exists
cd /usr/src/linux-headers-4.9.76-rt60-v7+/

# Install headers 
sudo apt install raspberrypi-kernel-headers

# Verify, folder exists
cd /usr/src/linux-headers-4.9.76-rt60-v7+/
2) Build schlägt fehl

Nun kann man versuchen den Treiber entsprechend der Anleitung zu kompilieren:

Code: Select all

git clone https://github.com/aircrack-ng/rtl8812au.git
cd rtl8812au
make
Dabei kommt es zu dem folgeden Fehler:
scripts/basic/fixdep: not found
Es stellt sich heraus, dass u.a. fixdep nicht in komplilierter Variante vorhanden ist, wie es auf dem Raspi der Fall ist.

Siehe auch: [url]http://revolution.kunbus.de/forum/viewtopic.php?f=6&t=1270[/url]

3) Fehlende Kernel-Scripte installieren

Folgendes führt zu dem zu sehenden Fehler:

Code: Select all

cd /usr/src/linux-headers-4.9.76-rt60-v7+/
sudo make scripts
2020-01-27 21_45_05-pi@RevPi30229_ _usr_src_linux-headers-4.9.76-rt60-v7+.png
2020-01-27 21_45_05-pi@RevPi30229_ _usr_src_linux-headers-4.9.76-rt60-v7+.png (32.26 KiB) Viewed 7610 times
Um diesen Fehler zu verhindern habe ich das Build-Script folgendermaßen angepasst:

Code: Select all

sudo nano /usr/src/linux-headers-4.9.76-rt60-v7+/scripts/Makefile
In dieser Datei habe ich die Zeile mit sortextable auskommentiert:

Code: Select all

#hostprogs-$(CONFIG_BUILDTIME_EXTABLE_SORT) += sortextable
Anschließend kann man die Kernel-Scripte bauen.

4) Treiber bauern

Anschließend klappt es auch mit dem Treiber:

Code: Select all

make
sudo make install
Verifizieren Teil 1:

Code: Select all

ll /lib/modules/4.9.76-rt60-v7+/kernel/drivers/net/wireless/88XXau.ko
Nach einem Neustart zeigt modinfo den Treiber an:

Code: Select all

modinfo 88XXau
filename:       /lib/modules/4.9.76-rt60-v7+/kernel/drivers/net/wireless/88XXau.ko
version:        v5.6.4.2_35491.20191025
Last edited by dennis.boldt on 28 Jan 2020, 08:25, edited 1 time in total.
User avatar
nicolaiB
KUNBUS
Posts: 873
Joined: 21 Jun 2018, 10:33
Answers: 7
Location: Berlin
Contact:

Re: WLAN mit Edimax-Antenne

Post by nicolaiB »

Hallo Dennis,

Danke das du deinen Weg aufgeschrieben hast. Ich denke das wird anderen, vielleicht weniger erfahrenen Anwendern helfen ähnliche WLAN Sticks mit dem selben Chipsatz zu installieren.

Gruß Nicolai
dennis.boldt
Posts: 12
Joined: 02 Oct 2019, 14:33
Answers: 0

Re: WLAN mit Edimax-Antenne

Post by dennis.boldt »

Hallo Nicolai,

das finde ich wichtig, dass ich meinen Weg dokumentiere. Auch für mich selbst :)

Fragen die ich mir noch stelle:

1) Warum sind die Kernel-Scripte nicht bereits vorkompiliert, wie es beim RevPi der fall ist? (Fehler scripts/basic/fixdep: not found)
2) Warum lässt sich das Kernel-Script sortextable nicht bauen? Es kann ja durchaus auch mal einen Treiber geben, welcher sortextable benötigt.

Ohne diese beiden Hürden würden sich Treiber wie [url=http://revolution.kunbus.de/forum/viewtopic.php?f=6&t=1270]USB2CAN[/url] oder dieser rtl8812au viel einfacher bauen lassen.

Viele Grüße
Dennis
dennis.boldt
Posts: 12
Joined: 02 Oct 2019, 14:33
Answers: 0

Re: WLAN mit Edimax-Antenne

Post by dennis.boldt »

Leider war das Ganze noch nicht erfolgreich. Sobald ich die Antenne an den USB-Port anschließe stützt der RevPi ab:
2020-01-28 09_33_13-Window.png
2020-01-28 09_33_13-Window.png (15.73 KiB) Viewed 7590 times
User avatar
nicolaiB
KUNBUS
Posts: 873
Joined: 21 Jun 2018, 10:33
Answers: 7
Location: Berlin
Contact:

Re: WLAN mit Edimax-Antenne

Post by nicolaiB »

Hallo Dennis,

wie es scheint muss im Makefile noch die Zielarchitektur angepasst werden. Obige Anleitung ist nicht explizit für die ARM-Architektur.

Passe das Makefile für den Realtek Treiber mal bitte wie folgt an (Zeile 88ff.):

Code: Select all

CONFIG_PLATFORM_I386_PC = n
CONFIG_PLATFORM_ARM_RPI = y
Danach bitte noch mal make und make install.

Gruß Nicolai
User avatar
nicolaiB
KUNBUS
Posts: 873
Joined: 21 Jun 2018, 10:33
Answers: 7
Location: Berlin
Contact:

Re: WLAN mit Edimax-Antenne

Post by nicolaiB »

dennis.boldt wrote: 28 Jan 2020, 08:22 1) Warum sind die Kernel-Scripte nicht bereits vorkompiliert, wie es beim RevPi der fall ist? (Fehler scripts/basic/fixdep: not found)
2) Warum lässt sich das Kernel-Script sortextable nicht bauen? Es kann ja durchaus auch mal einen Treiber geben, welcher sortextable benötigt.
Das kann ich leider nicht beantworten. Wie in dem von dir verlinkten Beitrag bereits vorgeschlagen, ist es durchaus sinnvoll die Scripte mitzuliefern - wie es ja auf dem RaspberryPi üblich ist. Vielleicht kann Dirk mal bei seinen Kollegen nachfragen, ob es einen bestimmten Grund für das Fehlen gibt und falls nein anregen, das in zukünftigen Versionen anzupassen?

Gruß Nicolai
User avatar
dirk
KUNBUS
Posts: 1946
Joined: 15 Dec 2016, 13:19
Answers: 4

Re: WLAN mit Edimax-Antenne

Post by dirk »

Hallo zusammen, wir haben die Anfrage auf dem Schirm und werden uns dazu nochmal melden.
User avatar
lukas
Expert
Posts: 186
Joined: 13 Feb 2017, 10:29
Answers: 0

Re: WLAN mit Edimax-Antenne

Post by lukas »

Hallo Dennis, Hallo Nicolai,

bitte entschuldigt die verzögerte Antwort.
dennis.boldt wrote: 28 Jan 2020, 08:22 1) Warum sind die Kernel-Scripte nicht bereits vorkompiliert, wie es beim RevPi der fall ist? (Fehler scripts/basic/fixdep: not found)
Das liegt daran, dass wir den Kernel auf x86 cross-compilieren. Das kbuild System vom Kernel baut diese Tools wie fixdep, die man zum Kompilieren von Modulen braucht, nur für die Host-Architektur. Also jene, auf der man den Kernel cross-compiliert. Nicht für die Target-Architektur. Deshalb fehlen die in unserem raspberrypi-kernel-headers Paket.

Die Raspberry Pi Foundation kompiliert den Kernel offensichtlich nativ auf ARM. Entweder auf einem Raspberry Pi oder in einer VM. So können sie die Tools für ARM kompiliert mitliefern in ihrem raspberrypi-kernel-headers Paket. Das ist halt deutlich langsamer als cross-compilieren, deshalb machen wir das nicht.

Allerdings gibt es jetzt eine Lösung für das Problem: Ich habe das kbuild System erweitert, so dass es die Tools zum Kompilieren von Modulen auf Wunsch auch für die Target-Architektur kompiliert, nicht nur für die Host-Architektur. Die Änderungen dafür findest du im obersten Commit auf dem revpi-4.19 Branch. Wir werden einen Kernel mit dieser Änderung sowie ein Image mit diesem Kernel jetzt im Juni veröffentlichen.

Damit ist es dann möglich, externe Module zu kompilieren, ohne vorher die Scripte kompilieren zu müssen.
dennis.boldt wrote: 28 Jan 2020, 08:22 2) Warum lässt sich das Kernel-Script sortextable nicht bauen? Es kann ja durchaus auch mal einen Treiber geben, welcher sortextable benötigt.
Das liegt daran, dass dieses Programm das File tools/include/tools/be_byteshift.h inkludieren möchte, und das fehlt im raspberrypi-kernel-headers Paket. In diesem Paket sind nämlich nur Files enthalten, die man wirklich zum Bauen von Modulen braucht, nicht der komplette Kernel Source Tree.

Allerdings macht das nichts, denn sortextable ("sort exception table") wird nur zum Bauen von vmlinux benötigt, also dem Kernel selbst, und nicht für Module.
dennis.boldt wrote: 28 Jan 2020, 08:22 Leider war das Ganze noch nicht erfolgreich. Sobald ich die Antenne an den USB-Port anschließe stützt der RevPi ab:
Konntest du dieses Problem lösen oder besteht das noch? Falls letzteres könntest du es mal mit unserem kommenden 4.19 Kernel probieren, es wäre denkbar dass das Problem nur auf 4.9 auftritt.
Post Reply