Mesa 7i92 Ethernet Anything I/O Card

Key Notes

This covers the 7i92TH and 7i92TM boards.

A Rose Engine Butler has one card in the base box and, optionally, a second card in the expansion box. Both run the same firmware (7i92t_REB.bin) and are set up the same way; they differ only in their address:

Card Address HAL name Step generators used
Base card 10.10.10.10 hm2_7i92.0 6 (channels 00 - 05)
Expansion card 10.10.10.11 hm2_7i92.1 4 (channels 06 - 09)
Raspberry Pi (wired) 10.10.10.100
  • A new card always answers at its factory address, 192.168.1.121 (W5 and W6 jumpers both down). It answers at its stored address only after its W6 jumper is moved up (W5 stays down) - the setting the 7i92 manual calls EEPROM. Jumpers are read only at power-up.
  • Because both new cards answer at the same factory address, only the card being set up may be connected to the switch.
  • The Raspberry Pi and the base card share one 5V supply. Never switch the card on by itself while the Raspberry Pi is running - that restarts the Raspberry Pi without shutting it down. Shut down and switch the whole machine off to move a jumper.
  • Recovery: putting a card's W5/W6 jumpers back down returns it to 192.168.1.121.

Setting up a card

Use REB_Change_Network.sh, which asks before every change. The full steps are in Installation and Setup for Debian 13 Trixie (Part 3), including how to do each step by hand.

bash /home/reuben/linuxcnc/configs/RoseEngineButler/REB_Change_Network.sh choice

Choice What it does
base Set up the connected card as the base card (10.10.10.10).
expansion Set up the connected card as the expansion card (10.10.10.11).
pi Move the Raspberry Pi's wired connection to 10.10.10.100 (no gateway or DNS).
back Put the Raspberry Pi's wired connection back on 192.168.1.120, to reach a card at its factory address.
check Show the Raspberry Pi's wired address and which cards answer.

Add --dry-run to see the commands without running them. The script stops if LinuxCNC is running.

To load the configuration onto a Mesa card by hand

With only that card connected, at its factory address:

cd /usr/lib/firmware/hm2/hostmot2
mesaflash --device 7i92t --addr 192.168.1.121 --write 7i92t_REB.bin --reload

To display the configuration on a Mesa card

Use the card's address - 10.10.10.10 (base), 10.10.10.11 (expansion), or 192.168.1.121 for a card not yet set up:

mesaflash --device 7i92t --addr 10.10.10.10 --readhmid
mesaflash --device 7i92t --addr 10.10.10.11 --readhmid

How LinuxCNC loads the cards

  • Both cards are loaded on one loadrt hm2_eth line (a realtime module can only be loaded once), e.g. board_ip="10.10.10.10,10.10.10.11" with one config= string for each card (6 and 4 step generators). This gives hm2_7i92.0 and hm2_7i92.1, in that order.
  • REB_Setup/REB_Generate_Local_Ini.py writes that line at every launch: the base card alone, or both cards when Expansion Box - Connected is ticked in the Settings program. It also adds the second card's read/write functions and its timer and watchdog settings.
  • While the Raspberry Pi's wired connection is still on 192.168.1.x (a machine not yet moved to 10.10.10.x), the generator loads the base card at 192.168.1.121 instead, and refuses to start with the expansion box ticked.
  • Servo-thread order (from Mesa): both cards' read-requests, then their reads, then everything else, with the cards' writes last.
  • If either card loses contact (cable pulled, card switched off), LinuxCNC goes into E-stop - see Field Troubleshooting.

See also, https://linuxcnc.org/docs/stable/html/drivers/hostmot2.html.

########## Standard Footer for all pages ##########
 

About the Rose Engine Butler System
Terms of Use

eMail comments to
ColvinTools @ Gmail [period] com -> mailto:ColvinTools [snail] Gmail [period] com