Moin,
Zitat von
nomad
zitat 1: hab bloss bei den kernelbauoptionen noch nie den namen "moxa" direct
auftauchen sehen.
== bei mir ist unter /lib/modules/2.4.21-99-athlon/kernel/driver/char/
== moxa.o enthalten.
OK, jetzt weiss ich bloss nicht, ob moxa.o schon der eigenstaendige Treiber ist, oder ob moxa.o noch mit anderen .o zu einem Treiber gelinkt wird und ob das Dingens als Modul oder fest in deinem Kernel ist...
Zitat von
nomad
zitat 2.: die karte ersetzt nicht die internen ports
wenigstens: Onboard rs232 no 1 com1 ttyS0 irq 4
(ist herausgefuehrt)
rs232 no 2 com2 ttyS1 irq 3
Yepp, habbich gesehen, die moxa haengt bei viel groesseren io-adressen rum.
Zitat von
nomad
zitat 3: test com1: OK
hab ein kleines communications-pgm geschrieben, Master31.c
rs232 verbindung zu meinem linuxLaptop
laeuft ueber ttyS0
gesteuert wird das ganze mit MODEMDEVICE = "/dev/ttyS0"
und mit BAUDRATE B9600
benutz das pgm mit diversen 8-bit microcontrollern/gps-receiver
und anderen linux-rechnern
hab dir mal das pgm als Master31_c.txt als attachment beigelegt
vieleicht kannst du,s mal gebrauchen.
Yep, danke. hihi, das kommt mir doch maechtig bekannt vor. Serial-programming-howto? :-)
OK, aus dem Rest erseh' ich, dass du die noetigen device nodes schon (mit dem script) erstellt hast.
Dann kannste ja mal probieren, obs mit dem "normalen" seriellen Treiber hinhaut. Tipp mal z.b. :
Code:
setserial /dev/ttyS3 uart 16550A irq 11 port 0x9400
(statt 0x9400 gerne auch mal die anderen Adressen durchprobieren).
Und guck', ob du dann mit ttyS3 quaken kannst. Aus den angegebenen port-adressbereichen werd' ich nicht so ganz schlau, denn die sind ja fast immer 4 byte gross, ein UART braucht aber 8.
Beim irq 11 bin ich mir auch nicht so recht sicher. Mit kannst du auch nachgucken, welchen IRQ und welche IO Bereiche deine Karte "beansprucht". Dem wuerd' ich mehr vertrauen, als der Moxa doku. Wenn das mit einer Schnittstelle hinhaut, sollte das auch mit allen gehen. Die settings von setserial sind nach jedem Einschalten weg, da brauchst du dann ein script, dass die setserial kommandos beim hochfahren einmal abarbeitet. Ist aber dann ziemlich simpel, wenns erstmal einmal geklappt hat.
zu den Problemen mit dem Makefile:
Probiers mal mit diesen optionen:
Code:
OPTS=-DMODULE -D__MODULE__ -D__KERNEL__ -Wall -Wstrict-prototypes -O2 \
-fomit-frame-pointer -pipe -march=athlon -I/lib/modules/`uname -r`/build/include
Du hattest noch den Pfad /usr/src/linux/include drinnen, der ist auch gaaaanz boese . Stimmen die kernelsourcen mit deinem momentan laufenden Kernel ueberein, d.h. haut alles das hin, was in den #error Meldungen ausgeben wird?
Wenn der Kernel naemlich noch nie aus diesen sourcen gebaut wurde, koennte das imho diese Fehlermeldung hervorrufen:
#error unknown processor family
Ich hab bei mir im Rechner so ne 2x seriell PCI Karte, die laeuft prima, wenn man sie mit den setserial kommandos "einstellt"; vielleicht klappts ja auch mit deiner 8fach Karte.
Gruss
WK
Lesezeichen