Liebe C64 Gemeinde!
Ich gehöre auch zu den Träumern, die das Mainboard ausgetauscht haben und nun verzweifelt einen Anschluß suchen an der Rückseite des PCs.
Etwas Google Forschung und Tips von Spiro zeigten auf, daß man mit Linux und einer PCI Karte ganz gute Chancen hätte. Also flugs eine Karte besorgt, eine Digitus 2xParallel, kann alles, von ECP, SPP und weiß der Geier.
Bis zum Laden des Moduls, unter Linux 2.6.32.5 alles in bester Ordnung, der Motor hört auf zu drehen alles ok. Das lp modul noch kurz entladen, und los gehts:
# rmmod lp
# modprobe cbm
# tail /var/log/kern.log
Nov 26 21:51:35 wiesenthal kernel: [ 161.965329] CPU1 attaching NULL sched-domain.
Nov 26 21:51:35 wiesenthal kernel: [ 161.992065] CPU0 attaching sched-domain:
Nov 26 21:51:35 wiesenthal kernel: [ 161.992069] domain 0: span 0-1 level MC
Nov 26 21:51:35 wiesenthal kernel: [ 161.992072] groups: 0 1
Nov 26 21:51:35 wiesenthal kernel: [ 161.992078] CPU1 attaching sched-domain:
Nov 26 21:51:35 wiesenthal kernel: [ 161.992081] domain 0: span 0-1 level MC
Nov 26 21:51:35 wiesenthal kernel: [ 161.992083] groups: 1 0
Nov 26 21:52:30 wiesenthal kernel: [ 217.263840] cbm_init: using passive (XM1541) cable (auto), irq 17
Nov 26 21:52:30 wiesenthal kernel: [ 217.263844] cbm: resetting devices
Nov 26 21:52:31 wiesenthal kernel: [ 217.360015] cbm: waiting for free bus...
Dann, bei der Statusabfrage bleibt er hängen. Wenn man mit CTRL-C oder anderen Signalen den Prozess killt, bleibt das System hart hängen:
# cbmctrl status 8
Bin allerdings draufgekommen, wenn man die 1570 abschaltet, fängt sich das System wieder. Die Interuptverteilung:
# cat /proc/interrupts
CPU0 CPU1
0: 44 1 IO-APIC-edge timer
1: 101 108 IO-APIC-edge i8042
4: 2 1 IO-APIC-edge
6: 2 3 IO-APIC-edge floppy
8: 1 0 IO-APIC-edge rtc0
9: 0 0 IO-APIC-fasteoi acpi
16: 6820 6832 IO-APIC-fasteoi pata_marvell, sata_via, uhci_hcd:usb3, nvidia
17: 0 1 IO-APIC-fasteoi parport0, parport1
18: 98 94 IO-APIC-fasteoi ehci_hcd:usb1, uhci_hcd:usb5, uhci_hcd:usb8
19: 21 21 IO-APIC-fasteoi uhci_hcd:usb7
21: 0 0 IO-APIC-fasteoi uhci_hcd:usb4
22: 162 163 IO-APIC-fasteoi HDA Intel
23: 2 1 IO-APIC-fasteoi ehci_hcd:usb2, uhci_hcd:usb6
28: 945 932 PCI-MSI-edge ahci
29: 3329 3327 PCI-MSI-edge eth4
NMI: 0 0 Non-maskable interrupts
LOC: 9372 10475 Local timer interrupts
SPU: 0 0 Spurious interrupts
PMI: 0 0 Performance monitoring interrupts
PND: 0 0 Performance pending work
RES: 721 819 Rescheduling interrupts
CAL: 2798 3615 Function call interrupts
TLB: 1371 1356 TLB shootdowns
TRM: 0 0 Thermal event interrupts
THR: 0 0 Threshold APIC interrupts
MCE: 0 0 Machine check exceptions
MCP: 1 1 Machine check polls
ERR: 1
MIS: 0
Also der 17er. Für beide parports halt. Vielleicht ist das das Problem? Im /proc Verzeichnis finden sich die parports, und auch das cbm modul, sogar mit 1 Wert zum einstellen:
# find /proc | grep parp
/proc/irq/17/parport1
/proc/irq/17/parport0
/proc/sys/dev/parport
/proc/sys/dev/parport/default
/proc/sys/dev/parport/default/timeslice
/proc/sys/dev/parport/default/spintime
/proc/sys/dev/parport/parport0
/proc/sys/dev/parport/parport0/spintime
/proc/sys/dev/parport/parport0/base-addr
/proc/sys/dev/parport/parport0/irq
/proc/sys/dev/parport/parport0/dma
/proc/sys/dev/parport/parport0/modes
/proc/sys/dev/parport/parport0/devices
/proc/sys/dev/parport/parport0/devices/active
/proc/sys/dev/parport/parport0/devices/cbm
/proc/sys/dev/parport/parport0/devices/cbm/timeslice
/proc/sys/dev/parport/parport0/autoprobe
/proc/sys/dev/parport/parport0/autoprobe0
/proc/sys/dev/parport/parport0/autoprobe1
/proc/sys/dev/parport/parport0/autoprobe2
/proc/sys/dev/parport/parport0/autoprobe3
/proc/sys/dev/parport/parport1
/proc/sys/dev/parport/parport1/spintime
/proc/sys/dev/parport/parport1/base-addr
/proc/sys/dev/parport/parport1/irq
/proc/sys/dev/parport/parport1/dma
/proc/sys/dev/parport/parport1/modes
/proc/sys/dev/parport/parport1/devices
/proc/sys/dev/parport/parport1/devices/active
/proc/sys/dev/parport/parport1/autoprobe
/proc/sys/dev/parport/parport1/autoprobe0
/proc/sys/dev/parport/parport1/autoprobe1
/proc/sys/dev/parport/parport1/autoprobe2
/proc/sys/dev/parport/parport1/autoprobe3
wiesenthal:~# cat /proc/sys/dev/parport/parport0/devices/cbm/timeslice
200
Der Adapter:
05:01.0 Parallel controller: Timedia Technology Co Ltd SUN1888 (Dual IEEE1284 parallel port) (rev 01)
Hat irgendwer sachdienliche Hinweise? Ich kaufe auch gern einen anderen PCI Adapter, der schon besser erprobt ist.
Beste Grüße
Clemens