Treiber/Module kompilieren Asix AX88179 - DS213+

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.
Registriert
06. Dez. 2012
Beiträge
48
Reaktionspunkte
0
Punkte
0
Hallo zusammen,

ich sitze vor einem Problemchen,

ich habe ein USB 3.0 Gigabit Adapter von Asix(AX88179).

Ich habe nach dieser Anleitung, die kernel module kompiliert und eingebunden.

Das klappt auch alles ohne Probleme jedoch jukts die DS nicht wenn ich den Adapter einstecke.

lsmod:
Rich (BBCode):
asix                   15342  0
usbnet                 16682  2 asix,cdc_ether
mii                     7047  2 asix,usbnet
usbcore               155337 14 asix,cdc_ether,usbnet,snd_usb_hiface,snd_usb_audio,snd_usbmidi_lib,usbhid,usblp,usb_storage,etxhci_hcd,xhci_hcd,ohci_hcd,ehci_hcd

dmesg:
Rich (BBCode):
[  118.269945] usbcore: registered new interface driver snd-usb-audio
[  118.378768] usbcore: registered new interface driver snd-usb-hiface
[  216.178719] usbcore: registered new interface driver cdc_ether
[  220.236701] usbcore: registered new interface driver asix
[  236.210050] usb 2-1: new SuperSpeed USB device using xhci_hcd and address 2
[  236.242408] usb 2-1: configuration #1 chosen from 1 choice

Module werden geladen brav, Adapter wird als USB 3.0 Gerät erkannt aber anscheinend keine Treiber geladen.

Die Treiber vom Hersteller kann ich ohne die Headerfiles auf der DS nicht direkt kompilieren, mit dem Toolchain weiss ich nicht wie ich das anstellen soll O.o

Könnt ihr mir Bitte helfen, ich wüsst nicht weiter :(
 
Hallo,

vielleicht hilft Dir ja das hier. Viel Spaß :)

Ich hab's aufgegeben das stabil hinzubekommen.

Gruß Frank
 
Hi Frank,

wenn ich dich in dem Thread richtig verstehe ist es sinnvoller eine DS mit Dual LAN zu nehmen, da die config etc nicht über gui möglich währe mit dem Adapter.

Dein Startscript hab ich probiert siehe hier:
Rich (BBCode):
Synology> ./asix.sh start
Insert Kernelmodules for USB NETWORK ADAPTER from asix
No Device
done

Ich glaube da es USB 3.0 ist das Kernel Modul nicht passt.

Aber noch gebe ich nicht auf, mal schauen was noch möglich ist ;)

EDIT:

auf meiner Debian kiste sieht dmesg so aus:
Rich (BBCode):
[ 1543.480355] ax88179_178a 1-1:1.0 eth1: register 'ax88179_178a' at usb-0000:00:0b.0-1, ASIX AX88179 USB 3.0 Gigabit Ethernet, 00:24:9b:0c:ed:fa
[ 1543.480403] usbcore: registered new interface driver ax88179_178a

Gruss
Marco
 
Zuletzt bearbeitet:
wenn ich dich in dem Thread richtig verstehe ist es sinnvoller eine DS mit Dual LAN zu nehmen,

Eindeutig ja, oder aber das Ziel ist der Weg und Du hast viel Zeit.

da die config etc nicht über gui möglich währe mit dem Adapter.

Wenn das oben genannte Script läuft dann kannst Du auch die Einstellungen über die GUI vornehmen. Es ist aber ein Krampf da beim Start entsprechende Files angelegt werden müssen und beim Shutdown dann auch wieder gesichert werden müssen (siehe Script).

Für den Betrieb deines Sticks mußt Du natürlich den asix-Treiber auch mit der passenden Toolchain von Synology compilieren.

Gruß Frank

Edit: Der Stick wird nur eingebunden wenn er bereits steckt wenn das Script gestartet wird. Ein echtes Plug and Pray ist das nicht.
 
Das Script läuft aber die DS erkennt den Adapter nicht richtig, als fehle der Treiber.

Wie kann ich den den Treiber mit der Toolchain kompilieren?

Makefile ist ja da, ich muss ja irgendwie dort die pfade eintragen zum toolchain-gcc und linux kernel.

Aber damit habe ich bisher noch nicht wirklich gearbeitet :/
 
Wie kann ich den den Treiber mit der Toolchain kompilieren?

Ist doch oben schon in einem Link beschrieben. Soltest das aber nicht auf der DS machen, sondern in einer separaten Linuxmachine.

Aber damit habe ich bisher noch nicht wirklich gearbeitet :/

Willst Du Dir das wirklich antun? Der Erfolg dürfte eher zweifelhaft sein und der Aufwand sicherlich immens. Wie gesagt ich hab das schon aufgegeben und ich hatte das jedenfalls schon am laufen. Allerdings nur mit 100Mbit Adaptern und Asix-Chipsatz. Sicherlich müssen für einen USB 3.0 Adapter auch die Files in der Toolchain erneuert werden. Bin davon aber ab, da das doch recht fehlerträchtig war und ich ein echtes Plug and Play nicht ans laufen bekommen habe. Um hier die Abläufe in der DS zu verstehen ist einfach sehr sehr viel Zeit nötig beim Studium der Scripte auf der DS.

Aber falls Du dich davon nicht abbringen läßt :)
Viel Erfolg
 
Ein versuch bleibt mir noch, vielleicht kannst du mir da sogar helfen.

Wenn ich mir das Makefile vom Hersteller anschaue für den offiziellen Linux Treiber:

Rich (BBCode):
CURRENT = $(shell uname -r)
TARGET  = ax88179_178a
OBJS    = ax88179_178a.o
MDIR    = drivers/net/usb
KDIR    = /volume1/apt-mirror/headers 

ifneq (,$(filter $(SUBLEVEL),14 15 16 17 18 19 20 21))
MDIR = drivers/usb/net
endif

EXTRA_CFLAGS = -DEXPORT_SYMTAB
PWD = $(shell pwd)
DEST = /lib/modules/$(CURRENT)/kernel/$(MDIR)

obj-m      := $(TARGET).o

default:
        make -C $(KDIR) SUBDIRS=$(PWD) modules

$(TARGET).o: $(OBJS)
        $(LD) $(LD_RFLAG) -r -o $@ $(OBJS)

install:
        su -c "cp -v $(TARGET).ko $(DEST) && /sbin/depmod -a"

clean:
        $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) clean

.PHONY: modules clean

-include $(KDIR)/Rules.make

bei KDIR steht normalerweise /lib/modules/$(CURRENT)/build
aber ich hab die header dateien im apt-mirror ordner ^^

Wie gesagt ich kann zwar ein paar sachen in C dir schreiben, aber makefiles.....äh...nein...

die zeile "default:"
will er "modules" erstellen findet beim ausführen von make keine regel dazu....
ich habe das mal spasseshalber auf meinem debian probiert da sind die headers in in /lib/modules
dort aber das selbe.

Ich frag mich was er da machen soll, weil weiter unten linkt er ja mit LD irgendwas zusammen.
Da blick ich garnicht durch was er da machen will.

Im ordner ist nur eine asix.c und asix.h, einfach so kompilieren dürfte ja nix bringen wozu brauch er sonst die header files.

Kannst du da etwas licht ins dunkle bringen?

EDIT: Habs gefunden, jedoch fehlen ihm so einige dinge......so kompliziert wegen nem kleinen modul -.-
Das wird nochwas ;.;
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat