PCIe Parallel cards - what chipset?

More
16 Apr 2018 14:18 #109123 by cupakm
Hi all,

I'm an absolute beginner to LinuxCNC (please excuse the post if in wrong subforum), but it looks very promising, so I was asked by a friend if I could help him setup a simple 3-axis CNC machine.
The first thing I wonder about and can't seem to be able to find is what chipset should the PCIe expansion card be equipped with - my MoBo unfortunately doesn't offer any Parallel port.

Many thanks for any answer in advance.

Best wishes!
More
16 Apr 2018 15:34 #109128 by jmelson
To handle software-generated step/direction signals, ANY parport that has standard register assignment will do.
I do know of ONE totally crazy unit that seems to be nonstandard, that is the WCH382L.
Otherwise, Netmos and Oxford chips work fine.

If you need a PCIe card for a hardware interface that uses the parport in EPP mode, that gets a little more complicated, but the later NetMos chips (9900, 9901) and the Oxford chips on Siig cards work well.

Jon
More
17 Apr 2018 20:45 - 17 Apr 2018 20:47 #109222 by cupakm
Thanks for your suggestions! I've found one available at some local dealer - it says Moschip MCS9901 (most probably that one you've mentioned...?) and lists 1x parport (DB25), 2x serial port (RS232 type DB9) and EPP also, among others.

Indeed, that WCH CH382L thing can be found on eBay, pretty cheap. Also some unspecified chipsets.
It is mentioned here wiki.linuxcnc.org/cgi-bin/wiki.pl?WCH but strangely, linked from the "supported hardware" page here wiki.linuxcnc.org/cgi-bin/wiki.pl?LinuxCNC_Supported_Hardware
Last edit: 17 Apr 2018 20:47 by cupakm.
More
18 Apr 2018 02:14 #109228 by jmelson
Yes, the MCS9901 has worked not just for software stepping but also for EPP-connected motion controllers like the ones I make.

I'm less sure about the WCH unit, I wasn't able to get it to work in EPP mode, at the least.

Jon
The following user(s) said Thank You: cupakm
More
29 Apr 2018 10:57 #109794 by cupakm
So, the card arrived and is pluged into:
4.9.0-6-rt-amd64 #1 SMP PREEMPT RT Debian 4.9.82-1+deb9u3 (2018-03-02) x86_64 GNU/Linux
which recognizes:
01:00.0 Serial controller: MosChip Semiconductor Technology Ltd. PCIe 9912 Multi-I/O Controller (prog-if 02 [16550])
	Subsystem: Device a000:1000
	Flags: bus master, fast devsel, latency 0, IRQ 25
	I/O ports at e030 [size=8]
	Memory at ffa05000 (32-bit, non-prefetchable) [size=4K]
	Memory at ffa04000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [50] MSI: Enable- Count=1/8 Maskable- 64bit+
	Capabilities: [78] Power Management version 3
	Capabilities: [80] Express Legacy Endpoint, MSI 00
	Capabilities: [100] Virtual Channel
	Capabilities: [800] Advanced Error Reporting
	Kernel driver in use: serial

01:00.1 Serial controller: MosChip Semiconductor Technology Ltd. PCIe 9912 Multi-I/O Controller (prog-if 02 [16550])
	Subsystem: Device a000:1000
	Flags: bus master, fast devsel, latency 0, IRQ 26
	I/O ports at e020 [size=8]
	Memory at ffa03000 (32-bit, non-prefetchable) [size=4K]
	Memory at ffa02000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [50] MSI: Enable- Count=1/8 Maskable- 64bit+
	Capabilities: [78] Power Management version 3
	Capabilities: [80] Express Legacy Endpoint, MSI 00
	Capabilities: [100] Advanced Error Reporting
	Kernel driver in use: serial

01:00.2 Parallel controller: MosChip Semiconductor Technology Ltd. PCIe 9912 Multi-I/O Controller (prog-if 03 [IEEE1284])
	Subsystem: Device a000:2000
	Flags: bus master, fast devsel, latency 0, IRQ 27
	I/O ports at e010 [size=8]
	I/O ports at e000 [size=8]
	Memory at ffa01000 (32-bit, non-prefetchable) [size=4K]
	Memory at ffa00000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
	Capabilities: [78] Power Management version 3
	Capabilities: [80] Express Legacy Endpoint, MSI 00
	Capabilities: [100] Advanced Error Reporting
	Kernel driver in use: parport_serial
	Kernel modules: parport_serial
Do I need to change the "parport_serial" kernel module? Why does it state "serial"?
More
29 Apr 2018 11:46 #109795 by AnnoyingMutt
Here's to why it states serial:

Part output of command:
modinfo parport_serial


filename: /lib/modules/4.4.0-122-generic/kernel/drivers/parport/parport_serial.ko
license: GPL
description: Driver for common parallel+serial multi-I/O PCI cards
author: Tim Waugh <This email address is being protected from spambots. You need JavaScript enabled to view it.>

skipping the alias bits

depends: parport_pc

So it is the driver for that card
The following user(s) said Thank You: cupakm
More
29 Apr 2018 18:48 #109816 by jmelson
The problem is that LinuxCNC does NOT use the standard kernel driver, it uses drivers that are part of LinuxCNC. If the parport card uses some version of the standard register addresses and bit assignments, then it ought to work. If it uses some DIFFERENT register layout or bit assignment, then it WILL NOT work, unless you rewrite the LinuxCNC driver, such as hal_parport to match the layout of the card.

Jon
More
29 Apr 2018 19:33 #109819 by AnnoyingMutt
Can you try this command and post the output ?

dmesg | grep par
More
29 Apr 2018 19:35 - 29 Apr 2018 19:36 #109820 by cupakm
Uhm... and how can I find out? (Whether the parport card uses some version of the standard register addresses and bit assignments.)

edit: ok, I'll try
Last edit: 29 Apr 2018 19:36 by cupakm.
More
29 Apr 2018 20:11 #109821 by cupakm
sudo dmesg | grep par
[    0.000000] Booting paravirtualized kernel on bare hardware
[    0.013194] AppArmor: AppArmor disabled by boot time parameter
[    0.509268] hpet0: 3 comparators, 32-bit 14.318180 MHz counter
[    1.740880] xhci_hcd 0000:00:10.0: hcc params 0x014040c3 hci version 0x100 quirks 0x00000410
[    1.745219] ahci 0000:00:11.0: flags: 64bit ncq sntf ilck led clo pmp pio slum part 
[    1.750858] ahci 0000:02:00.0: SSS flag set, parallel bus scan disabled
[    1.750909] ahci 0000:02:00.0: flags: 64bit ncq sntf stag led clo pmp pio slum part ccc sxs 
[    1.805518] xhci_hcd 0000:04:00.0: hcc params 0x0200e081 hci version 0x100 quirks 0x10000410
[    2.744108] PM: Hibernation image partition 8:5 present
[    4.528250] parport0: PC-style at 0xe010 (0xe000), irq 27 [PCSPP,TRISTATE,EPP]
[    5.716547] ppdev: user-space parallel port driver
[    6.149908] Support for cores revisions 0x17 and 0x18 disabled by module param allhwsupport=0. Try b43.allhwsupport=1
Moderators: PCWjmelson
Time to create page: 0.098 seconds
Powered by Kunena Forum