PCIe-PCI bridge and Linuxcnc

More
21 May 2019 15:28 #134491 by ississ
I was trying to find a replacement (preferably mini-itx) for my current P4 controller PC with Mesa 5i25 PCI card.

So I bought a cheap PCIe - PCI card with ASM1083 controller. First test was made with an old Sunix PAR4018A double paraller port PCI card and Asrock Q1900B-ITX board.

From dmesg:
[ 10.045247] parport_pc 00:06: reported by Plug and Play ACPI
[ 10.045321] parport0: PC-style at 0x278 (0x678), irq 5 [PCSPP,TRISTATE]
[ 10.143072] PCI parallel port detected: 1409:7268, I/O at 0xe030(0xe020), IRQ 16
[ 10.143138] parport1: PC-style at 0xe030 (0xe020), irq 16 [PCSPP,TRISTATE]
[ 10.238072] PCI parallel port detected: 1409:7268, I/O at 0xe010(0xe000), IRQ 16
[ 10.238148] parport2: PC-style at 0xe010 (0xe000), irq 16 [PCSPP,TRISTATE]
...
[ 29.819510] lp0: using parport0 (interrupt-driven).
[ 29.819861] lp1: using parport1 (interrupt-driven).
[ 29.819950] lp2: using parport2 (interrupt-driven).

lspci:
01:00.0 PCI bridge: ASMedia Technology Inc. ASM1083/1085 PCIe to PCI Bridge (rev 04)
02:00.0 Parallel controller: Timedia Technology Co Ltd SUN1888 (Dual IEEE1284 parallel port) (rev 01)

01:00.0 PCI bridge: ASMedia Technology Inc. ASM1083/1085 PCIe to PCI Bridge (rev 04) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=01, secondary=02, subordinate=02, sec-latency=32
I/O behind bridge: 0000e000-0000efff
Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [78] Power Management version 3
Capabilities: [80] Express PCI/PCI-X Bridge, MSI 00
Capabilities: [c0] Subsystem: Device 0000:0000
Capabilities: [100] Virtual Channel

02:00.0 Parallel controller: Timedia Technology Co Ltd SUN1888 (Dual IEEE1284 parallel port) (rev 01) (prog-if 02 [ECP])
Subsystem: Timedia Technology Co Ltd PAR4018A
Flags: stepping, medium devsel, IRQ 16
I/O ports at e030
I/O ports at e020
I/O ports at e010
I/O ports at e000
Kernel driver in use: parport_pc

Parallel card was detected correctly and it worked on linuxcnc, real plug-and-play without issues.
Next I have to get the 5i25 from old controller, if it works ok with the bridge card then there will be a lot more possibilities for the new controller...

Please Log in or Create an account to join the conversation.

More
21 May 2019 17:16 #134504 by pl7i92
Replied by pl7i92 on topic PCIe-PCI bridge and Linuxcnc
full ecp suport cool

the adresses loaded are 3parports

parport0: at 0x278 onbord
parport1: at 0xe030
parport2: at 0xe010

you may go with a 7i92 ETH insted of your 5i25 its almost the same only via ETH insted of the sub25/PCI

...

Please Log in or Create an account to join the conversation.

More
21 May 2019 18:09 #134516 by ississ
Replied by ississ on topic PCIe-PCI bridge and Linuxcnc
Yeah, of course I can buy a new card.

The point is, I see no point in throwing away a working 5i25+7i76 when replacing an old controller PC. And motherboards with a PCI slot are not so common anymore...

That parallel card was the only one easily at hand to test the bridge (yes, the 0x278 is on the MB), left over from earlier PC replacement.

Please Log in or Create an account to join the conversation.

More
24 May 2019 15:32 #134817 by RobTC
Replied by RobTC on topic PCIe-PCI bridge and Linuxcnc
Any update on this so far? I just bought a 6i25 for mobo flexibility, but I'd also like to future-proof my 5i25. Guaranteed-good PCIe-PCI converters would be a valuable thing to know!

Please Log in or Create an account to join the conversation.

More
24 May 2019 18:13 #134837 by ississ
Replied by ississ on topic PCIe-PCI bridge and Linuxcnc
After a busy work week here is an update. My 5i25 seems to work with the cheap PCIe-PCI bridge card !

lspci -v:
02:00.0 DPIO module: Device 2718:5125
Subsystem: Device 2718:5125
Flags: medium devsel, IRQ 11
Memory at d0700000 (32-bit, non-prefetchable) [size=64K]

dmesg from linuxcnc startup:
[ 815.450651] RTAI[hal]: compiled with gcc version 4.7.2 (Debian 4.7.2-5) .
[ 815.450753] RTAI[hal]: mounted (IPIPE-NOTHREADS, IMMEDIATE (INTERNAL IRQs DISPATCHED), ISOL_CPUS_MASK: 0).
[ 815.450759] SYSINFO: CPUs 4, LINUX APIC IRQ 2312, TIM_FREQ 5207884, CLK_FREQ 2000011000, CPU_FREQ 2000011000
[ 815.450765] RTAI_APIC_TIMER_IPI: RTAI DEFINED 2314, VECTOR 2314; LINUX_APIC_TIMER_IPI: RTAI DEFINED 2312, VECTOR 2312
[ 815.450771] TIMER NAME: lapic; VARIOUSLY FOUND APIC FREQs: 5207884, 5207884, 5179750
[ 815.460016] RTAI[malloc]: global heap size = 2097152 bytes, <BSD>.
[ 815.460069] , <uses LINUX SYSCALLs>, kstacks pool size = 524288 bytes.
[ 815.460078] RTAI[sched]: hard timer type/freq = APIC/5207884(Hz); default timing: oneshot; linear timed lists.
[ 815.460084] RTAI[sched]: Linux timer freq = 250 (Hz), TimeBase freq = 2000011000 hz.
[ 815.460089] RTAI[sched]: timer setup = 999 ns, resched latency = 2943 ns.
[ 815.471090] RTAI[math]: loaded.
[ 815.641981] hm2: loading Mesa HostMot2 driver version 0.15
[ 815.645036] hm2_pci: loading Mesa AnyIO HostMot2 driver version 0.7
[ 815.645090] hm2_pci: discovered 5i25 at 0000:02:00.0
[ 815.645426] hm2/hm2_5i25.0: Smart Serial Firmware Version 43
[ 815.702047] hm2/hm2_5i25.0: 34 I/O Pins used:
[ 815.702056] hm2/hm2_5i25.0: IO Pin 000 (P3-01): StepGen #0, pin Direction (Output)
[ 815.702062] hm2/hm2_5i25.0: IO Pin 001 (P3-14): StepGen #0, pin Step (Output)
[ 815.702067] hm2/hm2_5i25.0: IO Pin 002 (P3-02): StepGen #1, pin Direction (Output)
[ 815.702072] hm2/hm2_5i25.0: IO Pin 003 (P3-15): StepGen #1, pin Step (Output)
[ 815.702077] hm2/hm2_5i25.0: IO Pin 004 (P3-03): StepGen #2, pin Direction (Output)
[ 815.702082] hm2/hm2_5i25.0: IO Pin 005 (P3-16): StepGen #2, pin Step (Output)
[ 815.702088] hm2/hm2_5i25.0: IO Pin 006 (P3-04): IOPort
[ 815.702093] hm2/hm2_5i25.0: IO Pin 007 (P3-17): IOPort
[ 815.702098] hm2/hm2_5i25.0: IO Pin 008 (P3-05): IOPort
[ 815.702102] hm2/hm2_5i25.0: IO Pin 009 (P3-06): IOPort
[ 815.702106] hm2/hm2_5i25.0: IO Pin 010 (P3-07): IOPort
[ 815.702111] hm2/hm2_5i25.0: IO Pin 011 (P3-08): IOPort
[ 815.702115] hm2/hm2_5i25.0: IO Pin 012 (P3-09): IOPort
[ 815.702119] hm2/hm2_5i25.0: IO Pin 013 (P3-10): IOPort
[ 815.702124] hm2/hm2_5i25.0: IO Pin 014 (P3-11): IOPort
[ 815.702128] hm2/hm2_5i25.0: IO Pin 015 (P3-12): IOPort
[ 815.702133] hm2/hm2_5i25.0: IO Pin 016 (P3-13): IOPort
[ 815.702137] hm2/hm2_5i25.0: IO Pin 017 (P2-01): IOPort
[ 815.702141] hm2/hm2_5i25.0: IO Pin 018 (P2-14): IOPort
[ 815.702146] hm2/hm2_5i25.0: IO Pin 019 (P2-02): IOPort
[ 815.702150] hm2/hm2_5i25.0: IO Pin 020 (P2-15): IOPort
[ 815.702154] hm2/hm2_5i25.0: IO Pin 021 (P2-03): IOPort
[ 815.702159] hm2/hm2_5i25.0: IO Pin 022 (P2-16): IOPort
[ 815.702163] hm2/hm2_5i25.0: IO Pin 023 (P2-04): IOPort
[ 815.702168] hm2/hm2_5i25.0: IO Pin 024 (P2-17): IOPort
[ 815.702172] hm2/hm2_5i25.0: IO Pin 025 (P2-05): IOPort
[ 815.702176] hm2/hm2_5i25.0: IO Pin 026 (P2-06): IOPort
[ 815.702181] hm2/hm2_5i25.0: IO Pin 027 (P2-07): IOPort
[ 815.702185] hm2/hm2_5i25.0: IO Pin 028 (P2-08): IOPort
[ 815.702189] hm2/hm2_5i25.0: IO Pin 029 (P2-09): IOPort
[ 815.702194] hm2/hm2_5i25.0: IO Pin 030 (P2-10): IOPort
[ 815.702198] hm2/hm2_5i25.0: IO Pin 031 (P2-11): IOPort
[ 815.702203] hm2/hm2_5i25.0: IO Pin 032 (P2-12): IOPort
[ 815.702207] hm2/hm2_5i25.0: IO Pin 033 (P2-13): IOPort
[ 815.702351] hm2/hm2_5i25.0: registered
[ 815.702356] hm2_5i25.0: initialized AnyIO board at 0000:02:00.0

I didn't take the 7i76 out of the machine so this is a simple configuration with only 3 stepgens.
For testing I ran the default linuxcnc text @2000mm/min, no issues.

This is the bridge card: bridge

Please Log in or Create an account to join the conversation.

Time to create page: 0.090 seconds
Powered by Kunena Forum