WLAN mit Edimax-Antenne
-
- Posts: 12
- Joined: 02 Oct 2019, 14:33
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
2) dmesg: Erkennt das Modell AC 600.
3) lsusb: Erkennt, dass es ein Edimax-Gerät ist
Was kann ich noch machen?
Viele Grüße
Dennis
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
2) dmesg: Erkennt das Modell AC 600.
3) lsusb: Erkennt, dass es ein Edimax-Gerät ist
Was kann ich noch machen?
Viele Grüße
Dennis
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
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
-
- Posts: 12
- Joined: 02 Oct 2019, 14:33
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
2) Build schlägt fehl
Nun kann man versuchen den Treiber entsprechend der Anleitung zu kompilieren:
Dabei kommt es zu dem folgeden Fehler:
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:
Um diesen Fehler zu verhindern habe ich das Build-Script folgendermaßen angepasst:
In dieser Datei habe ich die Zeile mit sortextable auskommentiert:
Anschließend kann man die Kernel-Scripte bauen.
4) Treiber bauern
Anschließend klappt es auch mit dem Treiber:
Verifizieren Teil 1:
Nach einem Neustart zeigt modinfo den Treiber an:
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+/
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
Es stellt sich heraus, dass u.a. fixdep nicht in komplilierter Variante vorhanden ist, wie es auf dem Raspi der Fall ist.scripts/basic/fixdep: not found
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
Code: Select all
sudo nano /usr/src/linux-headers-4.9.76-rt60-v7+/scripts/Makefile
Code: Select all
#hostprogs-$(CONFIG_BUILDTIME_EXTABLE_SORT) += sortextable
4) Treiber bauern
Anschließend klappt es auch mit dem Treiber:
Code: Select all
make
sudo make install
Code: Select all
ll /lib/modules/4.9.76-rt60-v7+/kernel/drivers/net/wireless/88XXau.ko
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.
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
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
-
- Posts: 12
- Joined: 02 Oct 2019, 14:33
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
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
-
- Posts: 12
- Joined: 02 Oct 2019, 14:33
Leider war das Ganze noch nicht erfolgreich. Sobald ich die Antenne an den USB-Port anschließe stützt der RevPi ab:
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.):
Danach bitte noch mal make und make install.
Gruß Nicolai
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
Gruß Nicolai
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?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.
Gruß Nicolai
Hallo zusammen, wir haben die Anfrage auf dem Schirm und werden uns dazu nochmal melden.
Hallo Dennis, Hallo Nicolai,
bitte entschuldigt die verzögerte Antwort.
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.
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.
bitte entschuldigt die verzögerte Antwort.
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.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)
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.
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.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.
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.
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.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: