PCIe - No parport registered at "0x " . This is not Always an error.Continuing.

  • RobotMatic
  • RobotMatic's Avatar Topic Author
  • Offline
  • Elite Member
  • Elite Member
More
14 Mar 2025 15:04 #323931 by RobotMatic
I installed a PCIe board on debian 12 linuxcnc 2.9.4 and even though it works perfectly I get this error at the start of linuxcnc.
Is there a way to delete the message?
thanks 
Attachments:

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

  • tommylight
  • tommylight's Avatar
  • Away
  • Moderator
  • Moderator
More
17 Mar 2025 16:22 #324127 by tommylight
Had the same issue yesterday, PCI-E Sunix card, works perfectly but the error shows up whenever LinuxCNC is started.
Did not bother with it, but i did notice LSPCI does not show loaded module for it at all, but it does show all the other info with addresses and stuff.

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

More
17 Mar 2025 20:15 - 17 Mar 2025 20:22 #324148 by unknown
As the message says it's not really an error, I think the only way to stop the message would be to modify the hal_parport code, or I not sure if this would work but add a debug level when loading the driver. First would work but means compiling Linuxcnc one's self the second option is just a guess.
If the machine works I wouldn't bother too much about it. Yeah it is a little annoying. But then again you have the convenience of CNC :)
Last edit: 17 Mar 2025 20:22 by unknown. Reason: add a guess

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

  • RobotMatic
  • RobotMatic's Avatar Topic Author
  • Offline
  • Elite Member
  • Elite Member
More
17 Mar 2025 23:14 #324157 by RobotMatic
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.

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

More
17 Mar 2025 23:59 #324159 by PCW
Yeah, this deserves a log file entry for debugging, but not an error pop-up...
The following user(s) said Thank You: tommylight

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

  • tommylight
  • tommylight's Avatar
  • Away
  • Moderator
  • Moderator
More
18 Mar 2025 00:54 #324160 by tommylight
So far i would think this is hardware related or blacklisted, the same card i removed from another PC that does not complain about it.
The warning PC had a PCI to parallel card and up to yesterday was working fine, for years, two days ago it was shut down as usual and yesterday morning it could not find the PCI card although LSPCI show it and the addresses and everything, but does not show kernel module nor kernel driver in use.
I have a stinking suspicion the card is being blacklisted, but i had no time to check as it was 11:30PM and the client was waiting for it (with his friends) and they are some 90KM far.
Nor did i try to modprobe, i could have done that, cr@p, but i forgot as i was poised at fixing it promptly.

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

More
18 Mar 2025 01:29 - 18 Mar 2025 01:43 #324162 by unknown

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
Last edit: 18 Mar 2025 01:43 by unknown.
The following user(s) said Thank You: tommylight

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

More
18 Mar 2025 02:29 #324165 by PCW
I'd probably just change:

        rtapi_print_msg(RTAPI_MSG_ERR, "No parport registered at 0x%x. "
                    "This is not always an error. Continuing.\n", base);

to

        rtapi_print_msg(RTAPI_MSG_WARN, "No parport registered at 0x%x. "
                    "This is not always an error. Continuing.\n", base);

 
The following user(s) said Thank You: tommylight

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

  • RobotMatic
  • RobotMatic's Avatar Topic Author
  • Offline
  • Elite Member
  • Elite Member
More
18 Mar 2025 23:03 #324238 by RobotMatic


I attach 2 images of different boards Pcie.La board that has Kernel Driver parport_serial(Linuxcnc boots clean without the alarm in question). The board that has the Kernel Driver Serial (Triggers the Alarm in question). Both plates work perfectly.
I insist on the concept of a parallelized serial port. The PCEI architecture is serial and the expansion boards are responsible for parallelizing so that we can have an LPT port at the end. LinuxCNC should contemplate this situation to boot clean without the alarm. Because everything works perfectly.
Attachments:
The following user(s) said Thank You: tommylight

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

More
19 Mar 2025 00:04 #324240 by unknown
By your definition of the PCIe being serial, no arguments there, it would be better described as a serialised parallel port. Generally any PCIe card would be described as a serialised device.
A more correct definition is a parallel/serial chip with a PCIe interface. Mesa sells PCIe motion control cards, would you call them serialised motion control cards ? What about GPUs, multilaned serialised devices ? Or look at the RPi 5 with the new RP interface chip, the GPIOs are on this chip which is connected via the PCIe bus, are they part of your serialised definition ?
Generally most people would look at the end point, not the bus of the computer. It's just easier to increase the speed of a serial bus compared to a parallel bus on a PCB. Trace length really comes into play, reflection, termination and many other things are more difficult routing wise with high speed parallel buses.

With regards to the chips used I think you would get a better understanding if you had a look at the data sheets. You'd be surprised the actual functions that these cards can perform. Some go further than just serial or parallel.

As PCW mentioned a change in the definition of the message would sort this out. If you feel strongly enough this should be changed, mention this on the Linuxcnc GitHub, as this is where changes to the code get done.
The following user(s) said Thank You: tommylight

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

Time to create page: 0.153 seconds
Powered by Kunena Forum