Raspberry PI4, MESA 7I96S problems

More
13 May 2023 09:30 #271283 by vidgabor@gmail.com
I use LinuxCNC (version 2.8.4) on a Raspberry PI 4. I bought a MESA 7I96S card. When I try to configure the PNCCONF "Test/Tune Axis", the whole system stops (does not respond to anything). After that, the RPI must be turned off and on for it to work. I have set the IP addresses.

If I use Linuxcnc directly through the GPIO ports (on the same hardware), it works perfectly fine without the 7I96S. It runs the machine properly, only sometimes there are speed problems. That's why I bought the 7I96S, because I read that it eliminates these kinds of problems.

The mesaflash utility can communicate with the 7i96s.

The ping test also runs fine.

Does anyone have any advice on what I can do?

IP address of RPI: 192.168.3.80
IP address of MESA 7I96S: 192.168.3.81

Mesaflash readhmid: (extract)

root@raspberrypi:~# mesaflash --device 7I96S --addr 192.168.3.81 --readhmid
Configuration Name: HOSTMOT2

General configuration information:

  BoardName : MESA7I96
  FPGA Size: 20 KGates
  FPGA Pins: 256
  Number of IO Ports: 3
  Width of one I/O port: 17
  Clock Low frequency: 100.0000 MHz
  Clock High frequency: 200.0000 MHz
  IDROM Type: 3
  Instance Stride 0: 4
  Instance Stride 1: 64
  Register Stride 0: 256
  Register Stride 1: 256

Modules in configuration:
...

Ping test from RPI to MESA 7I96S:

root@raspberrypi:~# ping 192.168.3.81
PING 192.168.3.81 (192.168.3.81) 56(84) bytes of data.
64 bytes from 192.168.3.81: icmp_seq=1 ttl=64 time=0.283 ms
64 bytes from 192.168.3.81: icmp_seq=2 ttl=64 time=0.181 ms
64 bytes from 192.168.3.81: icmp_seq=3 ttl=64 time=0.181 ms
64 bytes from 192.168.3.81: icmp_seq=4 ttl=64 time=0.190 ms
64 bytes from 192.168.3.81: icmp_seq=5 ttl=64 time=0.178 ms
64 bytes from 192.168.3.81: icmp_seq=6 ttl=64 time=0.173 ms
64 bytes from 192.168.3.81: icmp_seq=7 ttl=64 time=0.174 ms
^C
--- 192.168.3.81 ping statistics ---
7 packets transmitted, 7 received, 0% packet loss, time 226ms
rtt min/avg/max/mdev = 0.173/0.194/0.283/0.038 ms


Version info of my RPI:

root@raspberrypi:~# inxi -Fxz
System:    Host: raspberrypi Kernel: 4.19.71-rt24-v7l+ armv7l bits: 32 compiler: gcc v: 8.3.0
           Desktop: LXDE 0.10.0 Distro: Raspbian GNU/Linux 10 (buster)
Machine:   Type: ARM Device System: Raspberry Pi 4 Model B Rev 1.1 details: BCM2835 rev: b03111
           serial: <filter>
Argument "Raspberry Pi 4 Model B Rev 1.1" isn't numeric in sprintf at /usr/bin/inxi line 6969.
CPU:       Topology: Quad Core model: ARMv7 v7l variant: cortex-a72 bits: 32 type: MCP arch: v7l
           rev: 3
           features: Use -f option to see features bogomips: 1080
           Speed: 1500 MHz min/max: 600/1500 MHz Core speeds (MHz): 1: 1500 2: 1500 3: 1500
           4: 1500
Graphics:  Device-1: bcm2835-vc4 driver: vc4_drm v: N/A bus ID: N/A
           Device-2: bcm2835-hdmi driver: N/A bus ID: N/A
           Display: server: X.Org 1.20.4 driver: modesetting unloaded: fbdev
           resolution: 1024x768~60Hz
           OpenGL: renderer: V3D 4.2 v: 2.1 Mesa 19.3.2 direct render: Yes
Audio:     Device-1: bcm2835-audio driver: bcm2835_audio bus ID: N/A
           Device-2: bcm2835-hdmi driver: N/A bus ID: N/A
           Sound Server: ALSA v: k4.19.71-rt24-v7l+
Network:   Message: No ARM data found for this feature.
           IF-ID-1: eth0 state: up speed: 100 Mbps duplex: full mac: <filter>
           IF-ID-2: wlan0 state: down mac: <filter>
Drives:    Local Storage: total: 28.91 GiB used: 5.32 GiB (18.4%)
           ID-1: /dev/mmcblk0 model: Y032V size: 28.91 GiB
Partition: ID-1: / size: 28.15 GiB used: 5.28 GiB (18.8%) fs: ext4 dev: /dev/mmcblk0p2
           ID-2: /boot size: 252.0 MiB used: 43.3 MiB (17.2%) fs: vfat dev: /dev/mmcblk0p1
Sensors:   Message: No sensors data was found. Is sensors configured?
Info:      Processes: 190 Uptime: 20m Memory: 1.97 GiB used: 393.6 MiB (19.5%) gpu: 128.0 MiB
           Init: systemd runlevel: 5 Compilers: gcc: 8.3.0 Shell: bash v: 5.0.3 inxi: 3.0.32

Memory:

root@raspberrypi:/home/pi# free -h
              total        used        free      shared  buff/cache   available
Mem:          1,8Gi       221Mi       1,2Gi        49Mi       421Mi       1,5Gi
Swap:          99Mi          0B        99Mi

 
The following user(s) said Thank You: behai

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

More
13 May 2023 16:47 #271292 by PCW
Does LinuxCNC run?

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

More
13 May 2023 17:12 #271295 by vidgabor@gmail.com
Yes, linuxcnc is work fine. If I use it with simulation or directly on GPIO pins, everything is OK. The problems are only when I want to control the movement with the 7i96S. I tried creating the config files with PNCONF without starting the test. The config file is created and everything seems OK. Then LinuxCNC starts, I select the new configuration in the menu, then the whole system freezes (In this case, the RPI reacts to anything only after the power is turned off and on). If I choose the old GPIO configuration, it works, the milling machine works fine (except that it can be worked slowly due to speed problems)..
The following user(s) said Thank You: behai

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

More
13 May 2023 17:22 #271298 by PCW
Is this with a 1ms servo thread? (and no base thread)

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

More
13 May 2023 17:26 #271300 by vidgabor@gmail.com
No. It's an 3 axis mini milling machine, with three steppers. I use step-dir interfaces.

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

More
13 May 2023 20:08 #271311 by PCW
I was asking what the servo thread period was (it should be 1 ms or 2 ms for a RPI)
and also making sure that you had no base thread enabled
The following user(s) said Thank You: behai

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

More
15 May 2023 02:56 #271383 by MikeM
I started out with the RPI4 and the Mesa 7i96 (not the S version). It seemed like it worked well at first. However, I would get very random disconnects, which obviously is not a good situation, especially running large jobs. I made the decision to abandon the RPI4, and got a refurb HP mini PC and it has worked great since then. (Amazon has them for $100)

I didn't figure out why the disconnects were occurring till recently. I was working on one of my other PIs and happened to run 'lsusb' that I noticed the ethernet port was listed as a USB device, which is not a good situation for real time operation. Random disconnects explained!

Your best bet with using a RPI is using one of the Mesa boards that interface directly the GPIO
The following user(s) said Thank You: RNZ, behai

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

More
12 Nov 2024 13:10 #314322 by behai

No. It's an 3 axis mini milling machine, with three steppers. I use step-dir interfaces.
 

Hi This email address is being protected from spambots. You need JavaScript enabled to view it.,

Have you managed to get it to work, please? I am asking because I am thinking of trying out the same set up. I have a Raspberry Pi 4B with 8 GB and real-time kernel. I have not bought a MESA 7I96S yet. But I am planning too.

Thank you and best regards,

...behai.

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

More
12 Nov 2024 14:43 #314324 by PCW
Basically the issue is that the RPI4 Ethernet interface is connected via USB
and USB is not suited for real time.

For a RPI4 I would use a SPI interfaced device, The RPI5 (or most PCs) are fine with Ethernet
LinuxCNC motion controllers because their Ethernet hardware are not USB devices.
The following user(s) said Thank You: behai

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

More
13 Nov 2024 01:15 #314357 by cornholio
I was always under the impression that up to version 3 the ethernet was on the USB bus and 4 and after were on the PCIe bus.
The following user(s) said Thank You: behai

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

Time to create page: 0.480 seconds
Powered by Kunena Forum