Wie mit dkms speziellen Treiber selbst bauen?

Debian auf Notebooks und speziellen Geräten wie eingebetteten Systemen, Routern, Set-Top-Boxen, ...
Antworten
Benutzeravatar
debflash
Beiträge: 259
Registriert: 19.07.2007 20:38:44

Wie mit dkms speziellen Treiber selbst bauen?

Beitrag von debflash » 24.01.2018 18:18:26

Hallo,

ich benutze Debian 9 Stretch und ich möchte evtl. ein Graphic Tablet von Gaomon kaufen, das nicht wie Wacom Linuxtreiber zur Verfügung stellt (gleicher Preis wie Wacom aber doppelte Größe und bessere Ausstattung). In https://bugs.launchpad.net/ubuntu/+sour ... ug/1575957 lese ich, dass in solchen Fällen ein Treiber mit dkms selbst gebaut werden kann, wenn auch mit Workarounds, aber es ging schließlich.

Da ich keine Erfahrung mit sowas, geschweige denn mit dkms, habe:

Gibt es eine einfache, für den Laien wie mich, gut verständliche Anleitung, eigene Treiber zu bauen?

Danke schon mal,

debflash

Benutzeravatar
smutbert
Moderator
Beiträge: 8313
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Wie mit dkms speziellen Treiber selbst bauen?

Beitrag von smutbert » 24.01.2018 18:25:53

Mit dkms funktioniert es im Grunde ganz einfach. Du musst nur die zum Kernel passenden Header installiert haben und installierst das Paket mit den dkms-Quellen für das Modul. Alle notwendigen Pakete wie dkms selbst werden wegen der Abhängigkeiten automatisch installiert und dkms baut automatisch das Modul. Das tut es in weiterer Folge auch bei Kernelupdates oder Updates des Moduls solange du dafür sorgst, dass die Kernelheader installiert sind.

Die zum aktuell laufenden Kernelheader kannst bei Debian du mit

Code: Alles auswählen

# apt install linux-headers-$(uname -r)
installieren.
(Auf Debian aufbauende Distributionen wie armbian halten sich allerdings nicht immer daran und bei Pakete, die nicht von Debian selbst kommen sind auch die Abhängigkeiten nicht immer richtig.)

Benutzeravatar
debflash
Beiträge: 259
Registriert: 19.07.2007 20:38:44

Re: Wie mit dkms speziellen Treiber selbst bauen?

Beitrag von debflash » 24.01.2018 22:32:49

Danke smutbert, aber woher wissen die Kernelheaders und dkms, wie die betreffende Hardware, hier das Graphics Board, zu bedienen/betreiben ist? Der neue Treiber erzeugt sich doch sicher nicht von alleine?

Benutzeravatar
smutbert
Moderator
Beiträge: 8313
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Wie mit dkms speziellen Treiber selbst bauen?

Beitrag von smutbert » 24.01.2018 23:01:49

Nein, das tut er nicht. Du musst das Paket installieren, das die für dkms vorbereiteten Quellen des Kernelmoduls enthält. Die Namen dieser Pakete enden typischerweise auf dkms - nur um ein Beispiel zu nennen: Debianbroadcom-sta-dkms enthält die Quellen für ein Kernelmodul, das einige WLAN-Chips von Broadcom unterstützt.

Ich weiß nicht viel über Grafiktablets, aber wenn das, das du meinst denselben Treiber braucht wie das von dem im Bugreport die Rede ist, stehen meiner Einschätzung nach die Chancen gar nicht so schlecht, dass das Ding nach dem Anstecken einfach funktioniert – dem Alter des Bugreports nach könnte der Treiber im Kernel das Ding längst unterstützen.
Das wäre eventuell auch eine Erklärung warum die letzte Release schon mehr als zwei Jahre her ist. Von der Projektseite bekommt man nämlich das dkms-Paket:
https://github.com/DIGImend/digimend-ke ... s/releases

(Wenn der Treiber, der beim Kernel schon dabei ist doch nicht funktioniert, dann wird es allerdings eventuell schwierig das dkms-Paket mit einem aktuellen Kernel zu verwenden. Meistens müssen solche Module laufend an Änderungen im Kernel angepasst werden.)

Benutzeravatar
debflash
Beiträge: 259
Registriert: 19.07.2007 20:38:44

Re: Wie mit dkms speziellen Treiber selbst bauen?

Beitrag von debflash » 25.01.2018 20:39:33

Danke smutbert! Wenn ich das Ding habe, werde ich es erst mal einstecken und sehen, ob es so schon klappt.

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: Wie mit dkms speziellen Treiber selbst bauen?

Beitrag von NAB » 25.01.2018 23:00:23

Kann es sein, dass es hier ein fettes Missverständnis gibt? Mich stört debflashs "in solchen Fällen".

DKMS kann so oder so keine Treiber herbeizaubern. Jemand muss sie geschrieben haben. In dem Bugreport funktioniert "irgendein" Gaomon-Tablett zufällig mit einem Treiber für ein Huion-Gerät. Das kann bei anderen Gaomon-Tabletts völlig anders sein. Und digimend versucht, möglichst viele Treiber für Nicht-Wacom-Geräte zu erstellen - ich hab keine Ahnung, wie erfolgreich sie sind.

debflashs, du musst "in solchen Fällen" per Online-Recherche sicherstellen, dass es einen Linux-Treiber für genau dein Gerät gibt.
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

Benutzeravatar
debflash
Beiträge: 259
Registriert: 19.07.2007 20:38:44

Re: Wie mit dkms speziellen Treiber selbst bauen?

Beitrag von debflash » 01.02.2018 20:27:32

Ich werde mir als erstes ein kleines Wacom kaufen, um erst mal zu lernen, mit einem GT umzugehen. Gleichzeitig die Treibergeschichte mit dem Gaomon zu lösen, ist zu viel für mich :(
Zum Gaomon kann ich später zurückkehren; vielleicht gibt es dann auch schon bessere Linuxtreiber dafür.

Nochmals vielen Dank für eure Tipps hier :)

caue
Beiträge: 110
Registriert: 18.07.2008 10:38:59

Re: Wie mit dkms speziellen Treiber selbst bauen?

Beitrag von caue » 29.11.2019 03:07:26

Hallo,
bei mir geht es auch um die Installation von DIGImend auf meinem Debian 10, doch bin ich zu unwissend, um das Vorgehen zu durchschauen. Kann mir bitte jemand dabei helfen?

Der freie Treiber DIGImend scheint generisch für viele Modelle zu funktionieren, also auch mit meinem neuen Gaomon M106k. DIDImend soll damit gut laufen:
Method from DIGImend project.

This solution is a collection of graphics tablet drivers for the Linux kernel, produced and maintained by the DIGImend project. Thanks to the efforts of the author, Nikolai Kondrashov, and other volunteers, after installing the driver offered by DIGImend project, you can run S56K and M106K on Linux system computer. If you met some questions, you can discuss and get help from DIGImend project.

Here is the link and recommend you read it carefully
https://blog.gaomon.net/faq/run_on_linux/
Hier habe ich die letzte Version (V9) heruntergeladen:

https://github.com/DIGImend/digimend-ke ... s/releases

Hier werden Angaben für die Installation gemacht, jedoch auf Englisch, was mir das Nachvollziehen noch schwieriger macht:
https://github.com/DIGImend/digimend-kernel-drivers

Die headers für den Kernel habe ich bereits installiert.
Das heruntergeladene Paket digimend-dkms_9_all.deb liegt im Verzeichnis Downloads.

Wie gehe ich jetzt weiter vor?

Dankeschön im Voraus!

Grüße
caue

Benutzeravatar
smutbert
Moderator
Beiträge: 8313
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Wie mit dkms speziellen Treiber selbst bauen?

Beitrag von smutbert » 29.11.2019 11:09:50

Der nächste Schritt nach dem Herunterladen, wäre die Installation des Pakets :wink: etwa

Code: Alles auswählen

# dpkg -i ~/Downloads/digimend-dkms_9_all.deb
und gegebenenfalls hinterher noch nicht erfüllte Abhängigkeiten nachinstallieren

Code: Alles auswählen

# apt -f install
Etwas Skepsis ist bei Fremdpaketem aber auf jeden Fall angebracht und in dem Fall wäre wäre ich auch aufgrund des Alters des Pakets (fast ein Jahr) skeptisch. Typischerweise erfordern außerhalb des Kernels entwickelte Module ständig Pflege damit sie mit aktuellen Kerneln funktionieren. (Andererseits enthält stable bei Debian sowieso eher gut abgehangene Software. Vielleicht ist das also gar kein Problem.)

Antworten