Pico Universal PWM Won't boot Random pins not working
- LearningLinuxCNC
-
Topic Author
- Offline
- Elite Member
-
Less
More
- Posts: 226
- Thank you received: 39
19 Dec 2025 02:19 #340295
by LearningLinuxCNC
Pico Universal PWM Won't boot Random pins not working was created by LearningLinuxCNC
So I have not used my RB1-CNC machine for a while. I tried starting it up today and I am getting errors on load that have to do with not being able to find pins on the Pico Systems Universal PWM board. Sometimes it won't find the board at all other times it won't find an generic IO pin other times it won't find an encoder pin.
This was working then I had to reconfigure from 2.7 to 2.8 and got it working again and now after setting for around a year I can't get it to load into linuxcnc unless I comment out of the hal files that tie to the pins on the UPWM board.
Here is one of the error outputs.
This was working then I had to reconfigure from 2.7 to 2.8 and got it working again and now after setting for around a year I can't get it to load into linuxcnc unless I comment out of the hal files that tie to the pins on the UPWM board.
Here is one of the error outputs.
Error report created by /usr/lib/tcltk/linuxcnc/show_errors.tcl:
Print file information:
RUN_IN_PLACE=no
LINUXCNC_DIR=
LINUXCNC_BIN_DIR=/usr/bin
LINUXCNC_TCL_DIR=/usr/lib/tcltk/linuxcnc
LINUXCNC_SCRIPT_DIR=
LINUXCNC_RTLIB_DIR=/usr/lib/linuxcnc/modules
LINUXCNC_CONFIG_DIR=
LINUXCNC_LANG_DIR=/usr/lib/tcltk/linuxcnc/msgs
INIVAR=inivar
HALCMD=halcmd
LINUXCNC_EMCSH=/usr/bin/wish8.6
LINUXCNC - 2.8.4-1-gb7824717b
Machine configuration directory is '/home/jim/linuxcnc/configs/RB1-CNC_Gmoccapy_DEV_1_10'
Machine configuration file is 'RB1-CNC_Gmoccapy.ini'
INIFILE=/home/jim/linuxcnc/configs/RB1-CNC_Gmoccapy_DEV_1_10/RB1-CNC_Gmoccapy.ini
VERSION=1.1
PARAMETER_FILE=sim.var
TASK=milltask
HALUI=halui
DISPLAY=gmoccapy
COORDINATES=XYZ
KINEMATICS=trivkins coordinates=XYZ
Starting LinuxCNC...
Starting LinuxCNC server program: linuxcncsvr
Loading Real Time OS, RTAPI, and HAL_LIB modules
Starting LinuxCNC IO program: io
Starting HAL User Interface program: halui
Found file(REL): ./univpwm_load.hal
Found file(REL): ./univpwm_servo.hal
Found file(REL): ./univpwm_io.hal
Shutting down and cleaning up LinuxCNC...
Removing HAL_LIB, RTAPI, and Real Time OS modules
Removing NML shared memory segments
Debug file information:
Note: Using POSIX realtime
PPMC: bus 0 epp_dir = 0
PPMC: bus 1 epp_dir = 0
PPMC: bus 2 epp_dir = 0
PPMC: checking EPP bus 0 at port 0378
PPMC: slot 0: ID code: 08 PPMC: Check Parallel Port connection.
read cache bitmap: 00000000
write cache bitmap: 00000000
PPMC: slot 1: ID code: 10 PPMC encoder card 1
PPMC: exporting encoder pins / params
read cache bitmap: 00001fff
write cache bitmap: 00002000
PPMC: slot 2: ID code: 28 PPMC DAC card
PPMC: exporting PPMC DAC
read cache bitmap: 00000000
write cache bitmap: 000000ff
PPMC: slot 3: ID code: 21 PPMC DAC card
PPMC: exporting PPMC DAC
read cache bitmap: 00000000
write cache bitmap: 000000ff
PPMC: slot 4: nothing detected at addr 4 reads 4f
PPMC: slot 5: nothing detected at addr 5 reads 5f
PPMC: slot 6: nothing detected at addr 6 reads 6f
PPMC: slot 7: nothing detected at addr 7 reads 7f
PPMC: slot 8: nothing detected at addr 8 reads 8f
PPMC: slot 9: nothing detected at addr 9 reads 9f
PPMC: slot 10: nothing detected at addr a reads af
PPMC: slot 11: nothing detected at addr b reads bf
PPMC: slot 12: nothing detected at addr c reads cf
PPMC: slot 13: nothing detected at addr d reads 5f
PPMC: slot 14: nothing detected at addr e reads ef
PPMC: slot 15: nothing detected at addr f reads ff
PPMC: bus 0 complete
./univpwm_io.hal:14: Pin 'ppmc.0.din.04.in' does not exist
1199
Stopping realtime threads
Unloading hal components
PPMC: shutting down
Note: Using POSIX realtime
-----------------------------------------------------------------------
Info report created by linuxcnc_info:
The file: /tmp/linuxcnc_info.txt
can be posted to a forum or a web site like:
http://pastebin.com
in order to provide information about the linuxcnc
system and configuration.
Date: Thu 18 Dec 2025 08:12:47 PM CST
UTC Date: Fri 19 Dec 2025 02:12:47 AM UTC
this program: /usr/bin/linuxcnc_info
uptime: 20:12:47 up 1 min, 1 user, load average: 0.98, 0.53, 0.20
lsb_release -sa: Debian Debian GNU/Linux 10 (buster) 10 buster
which linuxcnc: /usr/bin/linuxcnc
pwd: /home/jim/linuxcnc/configs/RB1-CNC_Gmoccapy_DEV_1_10
USER: jim
LOGNAME: jim
HOME: /home/jim
EDITOR:
VISUAL:
LANGUAGE:
TERM: dumb
COLORTERM:
DISPLAY: :0.0
DESKTOP: lightdm-xsession
display size: 1600x900 pixels (423x238 millimeters)
PATH: /usr/bin:/home/jim/linuxcnc/configs/RB1-CNC_Gmoccapy_DEV_1_10/bin:/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
uname items:
nodename -n: RB1CNC
kernel-name -s: Linux
kernel-vers -v: #1 SMP PREEMPT RT Debian 4.19.249-2 (2022-06-30)
machine -m: x86_64
processor -p: unknown
platform -i: unknown
oper system -o: GNU/Linux
/proc items:
cmdline: BOOT_IMAGE=/boot/vmlinuz-4.19.0-21-rt-amd64 root=UUID=43e45ba2-b737-4e61-84e3-76e380b282e4 ro quiet
model name: Intel(R) Celeron(R) CPU J3455 @ 1.50GHz
cores: 4
cpu MHz: 1191.600
parport: 0000-0000 : parport0 0000-0000 : parport0
serial: 0000-0000 : serial 0000-0000 : serial
Versions:
gcc: gcc (Debian 8.3.0-6) 8.3.0
python: Python 2.7.16
git: not_in_PATH
git commit: NA
tcl: 8.6
tk: 8.6
glade: not_in_PATH
glade-gtk2: not_in_PATH
linuxcnc_var all:
LINUXCNCVERSION: 2.8.4-1-gb7824717b
LINUXCNC_AUX_GLADEVCP: /usr/share/linuxcnc/aux_gladevcp
LINUXCNC_AUX_EXAMPLES: /usr/share/linuxcnc/aux_examples
REALTIME: /etc/init.d/realtime
RTS: uspace
HALLIB_DIR: /usr/share/linuxcnc/hallib
dpkg -l '*linuxcnc*':
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-===================-====================-============-=====================================================================
un linuxcnc <none> <none> (no description available)
un linuxcnc-dev <none> <none> (no description available)
un linuxcnc-doc <none> <none> (no description available)
ii linuxcnc-doc-en 1:2.8.4.1.gb7824717b all motion controller for CNC machines and robots (English documentation)
ii linuxcnc-doc-es 1:2.8.4.1.gb7824717b all controlador de movimiento para máquinas CNC y robots (Español).
ii linuxcnc-doc-fr 1:2.8.4.1.gb7824717b all motion controller for CNC machines and robots (French documentation)
un linuxcnc-sim <none> <none> (no description available)
un linuxcnc-sim-dev <none> <none> (no description available)
ii linuxcnc-uspace 1:2.8.4.1.gb7824717b amd64 motion controller for CNC machines and robots
ii linuxcnc-uspace-dev 1:2.8.4.1.gb7824717b amd64 PC based motion controller for real-time Linux
Please Log in or Create an account to join the conversation.
- jmelson
- Offline
- Moderator
-
Less
More
- Posts: 520
- Thank you received: 126
19 Dec 2025 15:44 #340304
by jmelson
Replied by jmelson on topic Pico Universal PWM Won't boot Random pins not working
That report lists 4 PPMC boards at "slots" 0, 1, 2 and 3. That is pretty odd. Are you sure this machine has a PWM controller? Are you sure the parallel port is set up correctly? Did the CMOS battery go dead? If so, the BIOS settings for the parallel port would have gotten lost. Make sure the BIOS peripheral settings for the parallel port are set to EPP mode.
Those are the first things that come to mind.
Report back if these hints don't fix it.
Jon
Those are the first things that come to mind.
Report back if these hints don't fix it.
Jon
The following user(s) said Thank You: tommylight
Please Log in or Create an account to join the conversation.
- LearningLinuxCNC
-
Topic Author
- Offline
- Elite Member
-
Less
More
- Posts: 226
- Thank you received: 39
20 Dec 2025 01:34 #340326
by LearningLinuxCNC
Replied by LearningLinuxCNC on topic Pico Universal PWM Won't boot Random pins not working
John,
Yes it is the UPWM board. It is driving your pwm servo drives. The CMOS battery did die at one point but the parallel port is set up in epp mode. I am not sure why it is doing this. If you have any troubleshooting tips I would be glad to hear them. Could the eeprom be bad?
Yes it is the UPWM board. It is driving your pwm servo drives. The CMOS battery did die at one point but the parallel port is set up in epp mode. I am not sure why it is doing this. If you have any troubleshooting tips I would be glad to hear them. Could the eeprom be bad?
Please Log in or Create an account to join the conversation.
- jmelson
- Offline
- Moderator
-
Less
More
- Posts: 520
- Thank you received: 126
20 Dec 2025 13:34 #340346
by jmelson
The FPGA on the UPC runs a checksum on the data loaded from EPROM, so if the red (load fail) LED flashes and goes out when power is applied, then it is accepting the firmware as valid. If that LED stays on, then the firmware did NOT load. First, check that the BIOS settings are for the parallel port to be at address 378, as that is what LinuxCNC is using. If this is a PCI or PCIe parallel port, then the address will not be 0x378. There are several versions of EPP mode, if the BIOS allows to select between 1.7 and 1.9 versions, try both. If your parport cable is not rated for IEEE1284 operation, that can be the problem.
Oh, one other thing is there are some ppmc driver options that may need to be changed for the newer LinuxCNC version.
In your config file set, in ppmc_load.hal, on the line that loads the ppmc driver,
loadrt hal_ppmc timestamp="0x00"
try adding this to the end of that line:
< space> epp_dir=1
That might fix it. This is documented in a comment in that file.
I'm not too sure what else to suggest.
Jon
Replied by jmelson on topic Pico Universal PWM Won't boot Random pins not working
OK, so the scan of the parallel port is getting some random stuff, since it thinks it sees a bunch of PPMC boards there.John,
Yes it is the UPWM board. It is driving your pwm servo drives. The CMOS battery did die at one point but the parallel port is set up in epp mode. I am not sure why it is doing this. If you have any troubleshooting tips I would be glad to hear them. Could the eeprom be bad?
The FPGA on the UPC runs a checksum on the data loaded from EPROM, so if the red (load fail) LED flashes and goes out when power is applied, then it is accepting the firmware as valid. If that LED stays on, then the firmware did NOT load. First, check that the BIOS settings are for the parallel port to be at address 378, as that is what LinuxCNC is using. If this is a PCI or PCIe parallel port, then the address will not be 0x378. There are several versions of EPP mode, if the BIOS allows to select between 1.7 and 1.9 versions, try both. If your parport cable is not rated for IEEE1284 operation, that can be the problem.
Oh, one other thing is there are some ppmc driver options that may need to be changed for the newer LinuxCNC version.
In your config file set, in ppmc_load.hal, on the line that loads the ppmc driver,
loadrt hal_ppmc timestamp="0x00"
try adding this to the end of that line:
< space> epp_dir=1
That might fix it. This is documented in a comment in that file.
I'm not too sure what else to suggest.
Jon
Please Log in or Create an account to join the conversation.
- LearningLinuxCNC
-
Topic Author
- Offline
- Elite Member
-
Less
More
- Posts: 226
- Thank you received: 39
20 Dec 2025 23:15 #340359
by LearningLinuxCNC
Replied by LearningLinuxCNC on topic Pico Universal PWM Won't boot Random pins not working
Jon,
I have tried both 1.9 and 1.7 on the bios epp setting.
I tried the epp_dir=1 setting as you suggested.
The cable is the same one I have been using since I converted the machine back in 2015 or so.
The load fail red led does come on and stay on when I boot up linuxcnc and get the error messages. also the green estop ok led is lit as well. Prior to starting linuxcnc the light is off.
I decided to try and update to 2.9 linuxcnc and see if that helps but I am running into issues with that also. I need to get python3.7 installed but it is not playing nice. I will keep working on it but I suspect it is a hardware issue.
Do we need to try another eprom?
I have tried both 1.9 and 1.7 on the bios epp setting.
I tried the epp_dir=1 setting as you suggested.
The cable is the same one I have been using since I converted the machine back in 2015 or so.
The load fail red led does come on and stay on when I boot up linuxcnc and get the error messages. also the green estop ok led is lit as well. Prior to starting linuxcnc the light is off.
I decided to try and update to 2.9 linuxcnc and see if that helps but I am running into issues with that also. I need to get python3.7 installed but it is not playing nice. I will keep working on it but I suspect it is a hardware issue.
Do we need to try another eprom?
Please Log in or Create an account to join the conversation.
- jmelson
- Offline
- Moderator
-
Less
More
- Posts: 520
- Thank you received: 126
21 Dec 2025 22:17 #340383
by jmelson
That should read +3.3 V. Then check the wide tab of U32, that should read +1.2V. If either of these is out of range, something got popped. You can also check for correct power up with the parallel port cable disconnected. D4 (Load Fail) should blink once and then stay out.
Jon
Replied by jmelson on topic Pico Universal PWM Won't boot Random pins not working
This is the killer problem! The FPGA is not accepting the load of its program. It is somewhat unlikely the EPROM has gone bad, but possible. First, check that the +12V supply is operating properly, and does not have excessive ripple. Without a valid program in the FPGA, nothing will ever work. If the power supply is good, then it is possible the FPGA has been damaged, or one of the regulators on the board has gone bad or is overloaded. You can check from the wide tab of U31 to one of the G terminals of P2.Jon,
The load fail red led does come on and stay on when I boot up linuxcnc and get the error messages.
That should read +3.3 V. Then check the wide tab of U32, that should read +1.2V. If either of these is out of range, something got popped. You can also check for correct power up with the parallel port cable disconnected. D4 (Load Fail) should blink once and then stay out.
Jon
Please Log in or Create an account to join the conversation.
- jmelson
- Offline
- Moderator
-
Less
More
- Posts: 520
- Thank you received: 126
21 Dec 2025 22:20 #340384
by jmelson
Please give a bit more detail.
Jon
Replied by jmelson on topic Pico Universal PWM Won't boot Random pins not working
OH, didn't read closely enough! If you are saying the Load Fail LED only stays on after LinuxCNC starts? I know of NO WAY LinuxCNC can turn this light on, except by maybe causing a fluctuation of the 12 V supply.The load fail red led does come on and stay on when I boot up linuxcnc and get the error messages. also the green estop ok led is lit as well. Prior to starting linuxcnc the light is off.
Please give a bit more detail.
Jon
Please Log in or Create an account to join the conversation.
Moderators: PCW, jmelson
Time to create page: 0.071 seconds