Another 7i96 Error finishing read
- chadfawcett
-
Topic Author
- Offline
- New Member
-
- Posts: 7
- Thank you received: 0
I've had a plasma cutter set up and running for over a year now. It recently started throwing the finishing read/write errors. I did just do a bit of a rebuild of motor/sensor wiring, but everything was external to the control box. I'm able to replicate the read/write errors with none of the motors plugged in, so I'm assuming this is unrelated to my recent change, and just an unfortunate coincidence.
I've searched around and seen several instances of these errors showing up, but I can't seem to find a solution. From my understanding the other instances were when a new computer was being used. Nothing on my setup has changed in terms of the computer and control board, so not sure why it started throwing the errors. I've attached a screenshot of the errors for reference.
Another difference with my case seems to be that the errors don't always come up right away. It'll throw the errors anywhere from immediately upon opening linuxcnc to sometimes several minutes into a job.
I've attached a screenshot of the output for `halcmd show param *.tmax` which shows 4,571,563 for hm2_7i96.0.read.tmax.
Here's what I've tried so far, with no luck:
Ethernet cable
- Tried with a different ethernet cable.
- Tested the ethernet cable with a cable tester.
Servo Period
I changed the servo period to 2,000,000 and P value to 500 as recommended in several threads.
Power Supply
I saw mention that this error could appear with an inadequate 5v supply. I have the PC and 7i96 in a large PC case, so I'm using the 5v from the PC power supply. While debugging I noticed that the PC power cable wasn't making great electrical contact, which lead me to think the power supply might be the culprit.- Used a different power cable that had better electrical contact
- Used a 5v supply from an iPad charger and cut up USB cable
- Replaced computer power supply (still with iPad USB power to 7i96)
- Used 5v from the replaced power supply (noted mention that USB cables might not be adequate)
Configuring Intel Network Chip
The computer being used is an older intel. I don't know the specs, but the motherboard has an intel silkscreen. (I can get the specs if necessary). I can't find the thread anymore, but @PCW mentioned that intel chips need some "IRQ Coalesce" setting disabled. Tried adding the following lines to my `/etc/network/interface` as suggested in the docs, but I get a network error when booting up the computer (Failed to start Raise network interfaces.).
- Used 5v from the replaced power supply (noted mention that USB cables might not be adequate)
- Replaced computer power supply (still with iPad USB power to 7i96)
- Used a 5v supply from an iPad charger and cut up USB cable
- Used a different power cable that had better electrical contact
- Tested the ethernet cable with a cable tester.
Please Log in or Create an account to join the conversation.
- phillc54
-
- Offline
- Platinum Member
-
- Posts: 5716
- Thank you received: 2091
Please Log in or Create an account to join the conversation.
- chadfawcett
-
Topic Author
- Offline
- New Member
-
- Posts: 7
- Thank you received: 0
Please Log in or Create an account to join the conversation.
- PCW
-
- Offline
- Moderator
-
- Posts: 18112
- Thank you received: 4890
Also, you can verify if the coalesce settings took (or are even applicable)
with:
ethtool -c enp2s0
(from the command line)
Please Log in or Create an account to join the conversation.
- chadfawcett
-
Topic Author
- Offline
- New Member
-
- Posts: 7
- Thank you received: 0
Changing eth1 to enp2s0 seemed to have an affect. My `/etc/network/interfaces` now looks as follows:Looks like your Ethernet name is enp2s0, not eth1
Also, you can verify if the coalesce settings took (or are even applicable)
with:
ethtool -c enp2s0
(from the command line)
I tried running `ethtool -c enp2s0` but apparently `ethtool` isn't installed on my machine.source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug enp2s0
auto enp2s0
iface enp2s0 inet static
address 192.168.1.1
hardware-irq-coalesce-rx-usecs 0
I'm unable to replicate the issue after making this change, hurray! If I change my network config back to what it was before (pre disabling irq coalesce), I can replicate the issue within a few minutes. So it appears this has resolved the issue.
Since this is an intermittent issue, and because the shop this is normally setup in is an hour away from home, I'd like to do some further digging if possible before sending it back to the shop. Especially considered this error just started happening after a year or more of it running fine.
After linux cnc has run for a few minutes, the read.tmax is `714326`. Is this high? I ran a few commands to get the specs for the machine, and it's an Intel Core 2 Duo @ 2.80 GHz.
I've attached a couple more screenshots. Any further help to debug/double check that this has been resolved would be greatly appreciated!
Chad
Please Log in or Create an account to join the conversation.
- PCW
-
- Offline
- Moderator
-
- Posts: 18112
- Thank you received: 4890
4571563 ( about 1600 usec) that is was previously...
Please Log in or Create an account to join the conversation.
- chadfawcett
-
Topic Author
- Offline
- New Member
-
- Posts: 7
- Thank you received: 0
Please Log in or Create an account to join the conversation.
- billykid
-
- Offline
- Platinum Member
-
- Posts: 507
- Thank you received: 79
Please Log in or Create an account to join the conversation.
- PCW
-
- Offline
- Moderator
-
- Posts: 18112
- Thank you received: 4890
Please Log in or Create an account to join the conversation.
- johnbl
- Offline
- Senior Member
-
- Posts: 40
- Thank you received: 3
tmax in ms = TMAX / TSC_kHz
Where tsc_kHz can be retrieved with
bpftrace -e 'BEGIN { printf("%u\n", *kaddr("tsc_khz")); exit(); }'
Please Log in or Create an account to join the conversation.