Kernelmodule für USB

Status
Für weitere Antworten geschlossen.

JoachimS

Benutzer
Mitglied seit
29. Dez 2009
Beiträge
143
Punkte für Reaktionen
0
Punkte
0
Hi Franzl,
bei mir klappt es leider nicht ganz:
insmod ftdi_sio.ko vendor=0x0403 product=0xf06a
kennt parameter vendor nicht.
insmod usbserial.ko vendor=0x03eb product=0x204b
ging
Rich (BBCode):
dmesg
[3916895.790000] usbserial: Unknown parameter `vendor'
[3916920.110000] usbcore: registered new interface driver usbserial
[3916920.120000] usbserial: USB Serial Driver core
[3916941.580000] USB Serial support registered for FTDI USB Serial Device
[3916941.610000] usbcore: registered new interface driver ftdi_sio
[3916941.610000] ftdi_sio: v1.5.0:USB FTDI Serial Converters Driver
[3917856.490000] usbcore: deregistering interface driver ftdi_sio
[3917856.490000] USB Serial deregistering driver FTDI USB Serial Device
[3917925.910000] USB Serial support registered for FTDI USB Serial Device
[3917925.940000] usbcore: registered new interface driver ftdi_sio
[3917925.940000] ftdi_sio: v1.5.0:USB FTDI Serial Converters Driver
[3924343.510000] usb 1-1.3.4: USB disconnect, address 6
[3924350.150000] usb 1-1.3.4: new full speed USB device using orion-ehci and address 10
[3924350.260000] usb 1-1.3.4: configuration #1 chosen from 1 choice
[3924350.270000] Got empty serial number. Generate serial number from product.

Normalerweise muesste es so aussehen:
Rich (BBCode):
usbcore: registered new interface driver usbserial_generic
drivers/usb/serial/usb-serial.c: USB Serial Driver core
drivers/usb/serial/usb-serial.c: USB Serial support registered for FTDI USB Serial Device
usbcore: registered new interface driver ftdi_sio
drivers/usb/serial/ftdi_sio.c: v1.4.3:USB FTDI Serial Converters Driver
usb 1-1.3.3: new full speed USB device using ehci_marvell and address 6
usb 1-1.3.3: configuration #1 chosen from 1 choice
ftdi_sio 1-1.3.3:1.0: FTDI USB Serial Device converter detected
drivers/usb/serial/ftdi_sio.c: Detected FT232BM
usb 1-1.3.3: FTDI USB Serial Device converter now attached to ttyUSB2

Hast Du ne Idee woran es liegt?

Gruss Joachim
 

zentis666

Benutzer
Mitglied seit
08. Dez 2008
Beiträge
17
Punkte für Reaktionen
0
Punkte
0
Hallo!
Hab es leider immer noch nicht hinbekommen, aber vielleicht bekommt es jemand mit mehr Erfahrung hin.

Nach dem 3rd Party Apps Integration Guide und ein bischen rumgesuche bekommt man das entsprechende .config-File für die benötigte Plattform aus den Sourcen: http://sourceforge.net/projects/dsgpl/files/
(Hatte anfangs gar nicht gesehen was hier noch so alles liegt ;-)

Die .configs für die unterschiedlichen Architekturen liegen unter /linux-2.6.32/synoconfigs. Dort findet man auch usb-serial.c usw., unter /linux-2.6.32/drivers/usb/serial.

Kann damit jemand funktionierende Module bauen?

Laut diesem Guide bekomme ich es nicht hin, man soll das Ganze per make oldconfig und make menuconfig konfigurieren, ich scheitere allerdings schon bei der Prozessorauswahl (hab einen freescale mpc8543 PPC Prozessor, unter freescale finde ich aber nichts passendes). Und wenn ich dann durch das weitere config-Programm gehe, weiss ich ehrlich gesagt bei kaum einem der Punkte was genau eingetragen werden muss :mad:
 

AkeSeMu

Benutzer
Mitglied seit
02. Nov 2009
Beiträge
10
Punkte für Reaktionen
0
Punkte
0
Hallo!
Hab es leider immer noch nicht hinbekommen, aber vielleicht bekommt es jemand mit mehr Erfahrung hin.
[...]
Kann damit jemand funktionierende Module bauen?

Ok, da ich den Thread vor über einem Jahr losgetreten und mittlerweile eine Cross-Dev-VM nur für die Synology aufgesetzt habe und es ja auch bald Weihnachten ist ;)... hier die beiden Module für ppc853x Kisten (z.B. 109+... bitte hier überprüfen, ob Deine Synology die passende CPU hat).
Sind noch ganz frisch dampfend, gestern für mein DSM 3.0-1354 gebaut und getestet.

Hier downloaden

Viel Erfolg und Spaß damit,

AkeSeMu
 

zentis666

Benutzer
Mitglied seit
08. Dez 2008
Beiträge
17
Punkte für Reaktionen
0
Punkte
0
Ok, da ich den Thread vor über einem Jahr losgetreten und mittlerweile eine Cross-Dev-VM nur für die Synology aufgesetzt habe und es ja auch bald Weihnachten ist ;)... hier die beiden Module für ppc853x Kisten
AkeSeMu

Hallo AkeSeMu,

danke erstmal für die Module!
Ich bekomme leider folgende Meldung wenn ich Dein usbserial Modul laden will:

insmod usbserial.ko vendor=0x03eb product=0x204b
insmod: error inserting 'usbserial.ko': -1 Unknown symbol in module

Gruß
Zentis
 

JoachimS

Benutzer
Mitglied seit
29. Dez 2009
Beiträge
143
Punkte für Reaktionen
0
Punkte
0
Hallo AkeSeMu,
habe leider ne 209, könntest Du bitte für die Plattform die USB Module auch bilden?

Thx Joachim
 

AkeSeMu

Benutzer
Mitglied seit
02. Nov 2009
Beiträge
10
Punkte für Reaktionen
0
Punkte
0
Hallo Zentis,

Ich bekomme leider folgende Meldung wenn ich Dein usbserial Modul laden will:

insmod usbserial.ko vendor=0x03eb product=0x204b
insmod: error inserting 'usbserial.ko': -1 Unknown symbol in module

Ich vermute mal, daß Du einen älteren Kernel hast. Wie gesagt habe ich mit den aktuellsten Synology Kernel-sourcen (2.6.32) compiliert.

Mit 'uname -a' auf der shell solltest Du sehen, was für einen Kernel und welche CPU Du hast.
Mit 'dmesg' nach einem fehlgeschlagenen 'insmod' könntest Du evtl. sehen, was da knirscht...

Viele Grüße, AkeSeMu
 

AkeSeMu

Benutzer
Mitglied seit
02. Nov 2009
Beiträge
10
Punkte für Reaktionen
0
Punkte
0
Synology Weihnachts-Modulbasteleien

Hallo Joachim,
Hallo AkeSeMu,
habe leider ne 209, könntest Du bitte für die Plattform die USB Module auch bilden?

Sorry, auch wenn bald Weihnachten ist, ich kann nicht für all die verschiedenen CPUs, die in den Synology boxen verbaut wurden/werden, module bauen.

Aaaaber, es ist sicher lohnend sich selbst mal in das Prozedere einzuarbeiten... die nächste Firmware kommt bestimmt! Ist wirklich nicht schwer. Hier ein schnelles how-to:

1) Man besorge sich eine VM Lösung, z.B. VM-Ware oder Parallels oder ähnliches (gibt alles auch als free-variante) und installiert ein x86-Linux darauf.

2) Man holt sich die cross-compiler ("Tool chain") passend zur Syno-CPU hier und packt das in /usr/local in der VM aus.

3) Man holt sich die Kernel sources hier und packt diese z.B. nach /usr/local/source_2.6.32 aus.

4) Wechselt darin in das "linux-2.26.32" Verzeichnis. Hier gibt es einen Ordner 'synoconfigs'. Kopiere das passende Config-File aus diesem Ordner in den Source-root als Datei '.config' (z.B. cp synoconfigs/ppc854x ./.config)

5a) 'make menuconfig' - nach einer Weile bekommt man das Kernel config menü und kann die entsprechenden Module, die gebaut werden sollen, auswählen. (Also [M] auswählen, Siehe hier)
5b) Kernel bauen mit 'make'
5c) Module bauen mit 'make modules'

6) Die module aus ./arch/powerpc/drivers/usb/[rest vergessen, musst Du nachschauen] auf die Synology kopieren....

7) Device auf der Synology erstellen mit 'mknod /dev/ttyUSB0 c 188 0'

8) Fertig! Nun solltest Du die Module mit 'insmod' laden können.
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Ich hab mal den Thread-Titel ein wenig abgeändert, da sich ja das Thema weiterentwickelt hat. Ist das ok so?

Itari
 

JoachimS

Benutzer
Mitglied seit
29. Dez 2009
Beiträge
143
Punkte für Reaktionen
0
Punkte
0
Hallo AkeSeMu,
Danke für die Anleitung.
Was mir nicht klar ist, sind die USB Module bei den Kernel sources schon dabei oder wo bekomme ich die her?
Hier ist auch noch ne Anleitung. Die Module passen sogar für meine CPU aber sie untestützen keine Parameter wie zB vendor=...
Wo bekomme ich die denn her?

Thx Joachim
 

Lacknone

Benutzer
Mitglied seit
13. Okt 2008
Beiträge
35
Punkte für Reaktionen
0
Punkte
0
Hy Zusammen,

da ich nicht immer auf andere angewiesen sein wollte, dachte ich mir, ich kompiliere als "Newbie" mir die Treiber selbst anhand der Anleitung von AkeSeMu.

Leider stoße ich hier an die Grenzen meiner Fähigkeiten :(

Ich habe mir den VMware-Player heruntergeladen und darin das aktuelle Ubuntu installiert.

Ich habe mich an die folgenden Schritte von AkeSeMu gehalten:

Rich (BBCode):
 2) Man holt sich die cross-compiler ("Tool chain") passend zur Syno-CPU hier und packt das in /usr/local in der VM aus.

3) Man holt sich die Kernel sources hier und packt diese z.B. nach /usr/local/source_2.6.32 aus.

4) Wechselt darin in das "linux-2.26.32" Verzeichnis. Hier gibt es einen Ordner 'synoconfigs'. Kopiere das passende Config-File aus diesem Ordner in den Source-root als Datei '.config' (z.B. cp synoconfigs/ppc854x ./.config)

Dies musste ich unter Ubuntu ja schon mit "sudo" ausführen, da ich es nicht mit root ausführen konnte.

Allerdings bekomme ich bei make menuconfig bereits nen Fehler (ausm Gedächtnis "...no target.... stop")

Jetzt meine Frage, kann mir hier jemand etwas Hilfestellung geben? Ist Ubuntu dafür evtl. nicht geeignet? Was wäre euer Vorschlag?

Danke vorab schon für eure Hilfe
 

JoachimS

Benutzer
Mitglied seit
29. Dez 2009
Beiträge
143
Punkte für Reaktionen
0
Punkte
0
Hi,
ich werde mich demnächst auch dran machen.
Ich vermute mal, dass Du den TARGET-PREFIX nicht richtig gesetzt hast.
Siehe hier, oder hier oder hier

Gruss Joachim
 

Lacknone

Benutzer
Mitglied seit
13. Okt 2008
Beiträge
35
Punkte für Reaktionen
0
Punkte
0
Nochmal ich :rolleyes:

Bin in der Zwischenzeit etwas weitergekommen.

Da es mir ja nur um die Seriellen USB-Treiber geht, die ich benötige habe ich nun folgendes gemacht:
Rich (BBCode):
linux-1rxw:/usr/local/source/linux-2.6.32 # make ARCH=powerpc \CROSS_COMPILE=/usr/local/powerpc-linux-gnuspe/bin/powerpc-linux-gnuspe- modules
scripts/kconfig/conf -s arch/powerpc/Kconfig                  
#                                                             
# configuration written to .config                            
#                                                             
  CHK     include/linux/version.h         
.
.
.
.
.
  LD [M]  drivers/usb/core/usbcore.o                                            
  CC [M]  drivers/usb/serial/usb-serial.o                                       
  CC [M]  drivers/usb/serial/generic.o                                          
  CC [M]  drivers/usb/serial/bus.o                                              
  LD [M]  drivers/usb/serial/usbserial.o                                        
  CC [M]  drivers/usb/serial/ftdi_sio.o
.
.
.....

Was ich jetzt wieder gar nicht verstehe, warum er mir die Treiber nicht richtig macht?
Das erwartete Ergebnis hätte dann lauten müssen:
-usbserial.ko
-ftdi_sio.ko

Warum kam dabei jetzt aber nur *.o raus?

Hat mir hier jemand vielleicht eine Antwort?

Danke im Voraus.

Lacknone
 

alochter

Benutzer
Mitglied seit
08. Nov 2009
Beiträge
61
Punkte für Reaktionen
1
Punkte
8
Hallo zusammen,

ich mühe mich auch seit einiger Zeit mit einem usbserial.ko (vom polnischen Server) ab. Ich benötige es auf meiner DS209 (DSM 2.2 / Kernel 2.6.24) um FHEM (Hausautomation) zum Laufen zu bekommen. Leider disconnected das Kernel Modul oft nach einiger Zeit mit der Meldung:

Apr 5 15:45:08 kernel: usbserial_generic 1-1.3:1.0: Generic device with no bulk out, not allowed.
Apr 5 15:45:08 kernel: usbserial_generic: probe of 1-1.3:1.0 failed with error -5

Kann mir jemand weiterhelfen und mir evtl. das passende cdc-acmd Modul zukommen lassen?

Gruss,
Arne
 
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