Anleitung 2.3Ghz Kernel kompilieren
So, dann will ich mal nachholen, was schon längst überfällig ist. Zu meiner Entschuldigung, es ist einfach kein Bastelwetter
Was muss gemacht werden?
-Kernel sourcen downloaden
-ath9k Treiber durch den modifizierten ersetzen
-kompilieren
-crda und regdb installieren (schwierig)
Der wichtigste Link:
http://yo3iiu.ro/blog/?p=1301
Hier ist alles beschrieben was zu tun ist, im Prinzip schon das HowTo das ich hier schreibe.
Für die Ubuntu Leute: Im Prinzip müsst ihr auch nur den ath9k Treiber ersetzen und dann kompilieren etc. Wie das funktioniert müsst ihr aber selber rausfinden, ich kann nur den Treiber zur Verfügung stellen.
1.) Alles zum kompilieren vorbereiten:
https://www.raspberrypi.org/documentation/linux/kernel/building.md
Dort ist alles beschrieben, mit einer Ausnahme: Wir müssen den Treiber noch austauschen.
Also erst mal alles runter laden,
Code:
$ git clone --depth=1 https://github.com/raspberrypi/linux
$ sudo apt-get install bc
Jetzt den Treiber austauschen. Ich habe das mit filezilla gemacht, damit kann man über eine SSH Verbindung die Ordnerstruktur anzeigen lassen und wie in Windows durchstöbern, löschen etc.
http://www.chip.de/downloads/FileZilla_13011076.html
Dort muss jetzt der Treiber in dem eben runtergeladenen linux Paket gesucht werden. Ihr findet den Treiber unter:
linux/drivers/net/wireless/ath/
Dort den Ordner löschen und durch meinen ersetzen. Ihr könnt ihn hier runter laden:
https://www.dropbox.com/sh/0k8l3v4f95upatx/AAAw6nEjAfUzTPj8cakGFesBa?dl=0
Jetzt könnt Ihr der Anleitung oben weiter folgen und den Kernel kompilieren.
Dazu sei noch angemerkt, die nervige CRDA/wireless-regdb kann umgangen werden, indem man es fest einkompiliert. Ich habe einen Versuch gemacht, der ist aber gescheitert. Scheinbar an einer falschen Formattierung der db.txt . Es sollte machbar sein, und wer Ausdauer und Zeit hat vllt. 2-3mal zu kompilieren ist das sicher eine Option. Nachteil: Für eine Änderung (bspw. Kanäle im 2,5Ghz Band) muss alles neu kompiliert werden. Aber dazu wäre auch wieder eine Treiber anpassung nötig, also muss sowieso neu kompiliert werden.
2.) CRDA und wireless-regdb
Um die Erlaubnis von Linux zu bekommen, in Deutschland auf 2.3Ghz zu senden (hier noch mal der Hinweis:
2.3Ghz ist kein legales Frequenzband! Jeder ist selber für sein Handeln verantwortlich, ich hafte nicht für Schäden jeglicher Art!) müssen wir eine Datenbank anlegen die Linux sagt es ist alles in Ordnung.
Dazu ist hier viel geschrieben:
https://wireless.wiki.kernel.org/en/developers/regulatory/crda
Und google hilft auch.
Leider kann ich hier keine genaue Anleitung geben, da ich das nur durch Try and Error geschafft habe. Ich helfe aber gerne wenn ihr so weit gekommen seid.
Dort ist auch beschrieben was gemacht werden muss um alles direkt mit zu kompilieren. Einfach die db.txt linux/net/wireless ablegen: "Once enabled you can place the db.txt from the wireless-regdb into net/wireless/db.txt. "
In der db.txt muss dann der Frequenzbereich angepasst werden. Ich bin mir nicht ganz sicher ob in China oder in Global, also am besten beides mal anpassen. Einfach den Bereich von 2402-2482Mhz zu 2302-2482Mhz ändern (siehe Link ganz oben, da steht auch noch mal alles zu crda).
Wer es versucht CRDA nach kompilieren des Kernel zu installieren, hier mal ein roter Faden:
https://wiki.debianforum.de/Ausländische_WLan-Karte_mit_deutschen_Kanälen_betreiben
Hier sind die Sourcen nicht mehr die richtigen, die lassen sich hier finden:
wireless-regdb:
http://kernel.org/pub/software/network/wireless-regdb/
CRDA:
http://www.kernel.org/pub/software/network/crda/
Da die neuesten Versionen raussuchen und alles nach dem Link im debianforum ausführen. Sollte das geklappt haben (bin mir nicht mehr sicher aber sollte sonst vollständig gewesen sein), dann muss noch ein userspace aktiviert werden:
https://wireless.wiki.kernel.org/en/developers/regulatory/crda
Unter Punkt "Letting the Kernel call CRDA".
Einfach die Beispieldatei verwenden.
Wie gesagt, CRDA ist ein bisschen tricky. Aber einfach mal einen Abend Zeit nehmen, die verlinkten Seiten als Anhaltspunkt nutzen und bei Fragen kriegen wir das auch hin.
Und natürlich nicht vergessen den fertigen Kernel hochzuladen
EDIT: Eins noch: Kompilieren auf dem Raspberry (zumindest auf dem 1er) dauert 8-10h. Also am besten abends starten und am nächsten morgen freuen
Wenn ihr es nicht über SSH sondern direkt am Pi mit einer Tastatur startet, könnt ihr auch am nächsten morgen noch schauen ob es Erfolg hatte, die SSH Session wird irgendwann geschlossen.