Category: Advanced Configuration
The non-native parallel port is a parallelized serial port. The Linux kernel takes it as a serial PCIE port. That's where linuxcnc comes into conflict and raises the alarm. The older parallel port PCI expansion boards were neater and sent the OS the message (I'm a parallel port). This Generation does not, that is why this alarm appears that tells us (continue, it may not be a mistake). The issue is that linuxcnc starts in a messy way and I would like to solve it.
I'm not at all sure what you mean by a "parallelized serial port".
The chips used in these cards are multi function,some of them can be strapped to work as SPI ports. Or they can be configured for a combination of serial only or serial & parallel ports. The kernel does not take the board as a serial PCIE port. Whilst some do load the parport_serial driver that does not mean it is seen a just a serial PCIE port.
I have a multifunction card installed that uses the parport_serial drive
dmesg | grep parport
[ 9.596507] parport0: PC-style at 0x3000, irq 22 [PCSPP,TRISTATE]
As you can see it is recogonised as a parallel port at 0x3000.
Now for the serial part of the card, there is also an on board serial port at the "regular address"
dmesg | grep tty
[ 0.000000] printk: legacy console [tty0] enabled
[ 0.383862] 00:03: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
[ 9.712793] 0000:06:0d.0: ttyS4 at I/O 0x3008 (irq = 22, base_baud = 115200) is a 16550A
As you can see it is recogonised as a serail port at 0x3008.
The device doesn't say "I'm a parallel port" the kernel loads the driver depending on the devices PCIID
modinfo parport_serial
filename: /lib/modules/6.8.0-55-generic/kernel/drivers/parport/parport_serial.ko.zst
license: GPL
description: Driver for common parallel+serial multi-I/O PCI cards
author: Tim Waugh <twaugh@redhat.com>
srcversion: A846D47B63100191101D385
alias: pci:v0000135Ad0000402Csv*sd*bc*sc*i*
alias: pci:v0000135Ad00000DA0sv*sd*bc*sc*i*
alias: pci:v0000135Ad00000982sv*sd*bc*sc*i*
alias: pci:v0000135Ad00000981sv*sd*bc*sc*i*
alias: pci:v0000135Ad00000E61sv*sd*bc*sc*i*
alias: pci:v0000135Ad00000863sv*sd*bc*sc*i*
alias: pci:v0000135Ad00000862sv*sd*bc*sc*i*
alias: pci:v0000135Ad00000861sv*sd*bc*sc*i*
alias: pci:v0000135Ad00000BC2sv*sd*bc*sc*i*
alias: pci:v0000135Ad00000BC1sv*sd*bc*sc*i*
alias: pci:v00001FD4d00001999sv00001FD4sd00000104bc*sc*i*
alias: pci:v00001FD4d00001999sv00001FD4sd00000102bc*sc*i*
alias: pci:v00001FD4d00001999sv00001FD4sd00000101bc*sc*i*
alias: pci:v00001FD4d00001999sv00001FD4sd00000100bc*sc*i*
alias: pci:v0000135Ad00004100sv*sd*bc*sc*i*
alias: pci:v00001C00d00003250sv00001C00sd00003250bc*sc*i*
alias: pci:v00001C00d00003050sv00001C00sd00003050bc*sc*i*
alias: pci:v00004348d00007053sv00004348sd00003253bc*sc*i*
alias: pci:v00004348d00005053sv*sd*bc*sc*i*
alias: pci:v00001409d00007168sv00001409sd0000D079bc*sc*i*
alias: pci:v00001409d00007168sv00001409sd0000C079bc*sc*i*
alias: pci:v00001409d00007168sv00001409sd0000B079bc*sc*i*
alias: pci:v00001409d00007168sv00001409sd0000A079bc*sc*i*
alias: pci:v00001409d00007168sv00001409sd00009079bc*sc*i*
alias: pci:v00001409d00007168sv00001409sd00008079bc*sc*i*
alias: pci:v00001409d00007168sv00001409sd00007079bc*sc*i*
alias: pci:v00001409d00007168sv00001409sd00006079bc*sc*i*
alias: pci:v00001409d00007168sv00001409sd00005085bc*sc*i*
alias: pci:v00001409d00007168sv00001409sd00005079bc*sc*i*
alias: pci:v00001409d00007168sv00001409sd00005078bc*sc*i*
alias: pci:v00001409d00007168sv00001409sd00004096bc*sc*i*
alias: pci:v00001409d00007168sv00001409sd00004095bc*sc*i*
alias: pci:v00001409d00007168sv00001409sd00004089bc*sc*i*
alias: pci:v00001409d00007168sv00001409sd00004088bc*sc*i*
alias: pci:v00001409d00007168sv00001409sd00004085bc*sc*i*
alias: pci:v00001409d00007168sv00001409sd00004079bc*sc*i*
alias: pci:v00001409d00007168sv00001409sd00004078bc*sc*i*
alias: pci:v0000131Fd00002062sv*sd*bc*sc*i*
alias: pci:v0000131Fd00002061sv*sd*bc*sc*i*
alias: pci:v0000131Fd00002060sv*sd*bc*sc*i*
alias: pci:v0000131Fd00002012sv*sd*bc*sc*i*
alias: pci:v0000131Fd00002011sv*sd*bc*sc*i*
alias: pci:v0000131Fd00002010sv*sd*bc*sc*i*
alias: pci:v0000131Fd00002042sv*sd*bc*sc*i*
alias: pci:v0000131Fd00002041sv*sd*bc*sc*i*
alias: pci:v0000131Fd00002040sv*sd*bc*sc*i*
alias: pci:v0000131Fd00001036sv*sd*bc*sc*i*
alias: pci:v0000131Fd00001035sv*sd*bc*sc*i*
alias: pci:v0000131Fd00001034sv*sd*bc*sc*i*
alias: pci:v0000131Fd00001012sv*sd*bc*sc*i*
alias: pci:v0000131Fd00001011sv*sd*bc*sc*i*
alias: pci:v0000131Fd00001010sv*sd*bc*sc*i*
alias: pci:v000014DBd00002162sv*sd*bc*sc*i*
alias: pci:v000014DBd00002161sv*sd*bc*sc*i*
alias: pci:v000014DBd00002160sv*sd*bc*sc*i*
alias: pci:v000014DBd00002142sv*sd*bc*sc*i*
alias: pci:v000014DBd00002141sv*sd*bc*sc*i*
alias: pci:v000014DBd00002140sv*sd*bc*sc*i*
alias: pci:v000014DBd00002112sv*sd*bc*sc*i*
alias: pci:v000014DBd00002111sv*sd*bc*sc*i*
alias: pci:v000014DBd00002110sv*sd*bc*sc*i*
alias: pci:v00009710d00009912sv0000A000sd00002000bc*sc*i*
alias: pci:v00009710d00009900sv0000A000sd00003020bc*sc*i*
alias: pci:v00009710d00009900sv0000A000sd00003012bc*sc*i*
alias: pci:v00009710d00009900sv0000A000sd00003011bc*sc*i*
alias: pci:v00009710d00009855sv*sd*bc*sc*i*
alias: pci:v00009710d00009855sv00001000sd00000022bc*sc*i*
alias: pci:v00009710d00009855sv00001000sd00000020bc*sc*i*
alias: pci:v00009710d00009845sv*sd*bc*sc*i*
alias: pci:v00009710d00009835sv*sd*bc*sc*i*
alias: pci:v00009710d00009745sv*sd*bc*sc*i*
alias: pci:v00009710d00009735sv*sd*bc*sc*i*
alias: pci:v000014D2d00008021sv*sd*bc*sc*i*
alias: pci:v000014D2d00008011sv*sd*bc*sc*i*
As you can see the this is the list of ID it is loaded for.
The message comes from /src/rtapi/uspace_rtapi_parport.cc