Mesa 7i92T - compiling firmware
- jg
- Offline
- New Member
-
Less
More
- Posts: 4
- Thank you received: 1
08 Jun 2025 07:31 - 08 Jun 2025 07:38 #329933
by jg
Mesa 7i92T - compiling firmware was created by jg
Afternoon,
I'm having a bit of trouble compiling a custom firmware for a new 7i92TF. What I'm after is a config for a G540 on P1 and a Mesa 7i76U on P2 (or vice versa really, not fussed). I have been attempting to build a custom firmware that fits this config, but cannot get the Field I/O via SmartSerial to resolve correctly.
Where I'm at:
Dumping the hmid, the outputs (for factory firmware and the freshly compiled) are identical with the exception of line 11:
Clock High frequency: 175.0000 MHz on the new firmware and
Clock High frequency: 180.0000 MHz on the supplied.
I also note that comparing a hex dump of the two bin files shows significant differences, but I'm not familiar enough with the toolchains involved to know if building on different environments should lead to variance in output.
Any suggestions appreciated. Cheers.
I'm having a bit of trouble compiling a custom firmware for a new 7i92TF. What I'm after is a config for a G540 on P1 and a Mesa 7i76U on P2 (or vice versa really, not fussed). I have been attempting to build a custom firmware that fits this config, but cannot get the Field I/O via SmartSerial to resolve correctly.
Where I'm at:
- Have the latest source+fimware from Mesa (www.mesanet.com/software/parallel/7i92t.zip)
- 7i92T connected to a machine w/ new install of LinuxCNC (2.9.4 + all apt updates),
- 7i76U on P2, +5v from the parent card and 12v applied to the field power.
- mesaflash connects to 7i92T, write the supplied 7i92t_7i76x2d.bin firmware and reload
- get the SmartSerial info w/ mesaflash ... --sserial, finds the 7i76: ...7I76 GPIO+SPINDLE (unit 0x1000E070)..
- check w/ hal: can load the hostmot2 driver, connect to the 7i92T, ss finds 7i76, test I/O, can detect inputs high/low
- hardware thus seems to be ok, and behaving as expected using the prebuilt firmware. - Running Efinity v2021.2.323.4.6 on WSL Ubuntu 24.04 (this appears to be the version the seveni92t project was last compiled in, have also tried the latest Efinity version w/ same outcome)
- Using the source from 7i92t-hm2/seveni92t.xml
- uncomment line 114 of TopEthernet16HostMot2_efx.vhd (appears to be the top file for the project?)
114: use work.PIN_7I76X2D_34.all; -- seed 5
- comment line 110
110: --use work.PIN_MX3660X2D_34.all; --seed 4
- clean build, creates a valid binary file
- this is the minimum reproducible, tried much fiddling with the source working back to here. - Flash new bin to the 7i92T and run same tests, no SS/Field IO
SSLBP port 0:
SSLBP Version: 1.43
SSLBP Channels: 4
SSLBP Baud Rate: 2500000
halrun:
[code]...
halcmd: loadrt hm2_eth board_ip="192.168.1.121" config="sserial_port_0=0x1000E070"
hm2_eth: loading Mesa AnyIO HostMot2 ethernet driver version 0.2
hm2_eth: 192.168.1.121: INFO: Hardware address (MAC): 00:60:1b:11:84:5f
hm2_eth: discovered 7I92T
hm2/hm2_7i92.0: Low Level init 0.15
hm2/hm2_7i92.0: Smart Serial Firmware Version 43
hm2/hm2_7i92.0: 34 I/O Pins used:
hm2/hm2_7i92.0: IO Pin 000 (P2-01): StepGen #0, pin Direction (Output)
hm2/hm2_7i92.0: IO Pin 001 (P2-14): StepGen #0, pin Step (Output)
hm2/hm2_7i92.0: IO Pin 002 (P2-02): StepGen #1, pin Direction (Output)
hm2/hm2_7i92.0: IO Pin 003 (P2-15): StepGen #1, pin Step (Output)
hm2/hm2_7i92.0: IO Pin 004 (P2-03): StepGen #2, pin Direction (Output)
hm2/hm2_7i92.0: IO Pin 005 (P2-16): StepGen #2, pin Step (Output)
hm2/hm2_7i92.0: IO Pin 006 (P2-04): StepGen #3, pin Direction (Output)
hm2/hm2_7i92.0: IO Pin 007 (P2-17): StepGen #3, pin Step (Output)
hm2/hm2_7i92.0: IO Pin 008 (P2-05): StepGen #4, pin Direction (Output)
hm2/hm2_7i92.0: IO Pin 009 (P2-06): StepGen #4, pin Step (Output)
hm2/hm2_7i92.0: IO Pin 010 (P2-07): IOPort
hm2/hm2_7i92.0: IO Pin 011 (P2-08): IOPort
hm2/hm2_7i92.0: IO Pin 012 (P2-09): IOPort
hm2/hm2_7i92.0: IO Pin 013 (P2-10): IOPort
hm2/hm2_7i92.0: IO Pin 014 (P2-11): Encoder #0, pin Index (Input)
hm2/hm2_7i92.0: IO Pin 015 (P2-12): Encoder #0, pin B (Input)
hm2/hm2_7i92.0: IO Pin 016 (P2-13): Encoder #0, pin A (Input)
...
Dumping the hmid, the outputs (for factory firmware and the freshly compiled) are identical with the exception of line 11:
Clock High frequency: 175.0000 MHz on the new firmware and
Clock High frequency: 180.0000 MHz on the supplied.
I also note that comparing a hex dump of the two bin files shows significant differences, but I'm not familiar enough with the toolchains involved to know if building on different environments should lead to variance in output.
Any suggestions appreciated. Cheers.
Last edit: 08 Jun 2025 07:38 by jg. Reason: formatting
Please Log in or Create an account to join the conversation.
- PCW
-
- Offline
- Moderator
-
Less
More
- Posts: 18705
- Thank you received: 5163
08 Jun 2025 14:55 - 09 Jun 2025 18:09 #329953
by PCW
Replied by PCW on topic Mesa 7i92T - compiling firmware
I just built this config using the current 7i92t-hm2.zip source and made a new pinout filefor G540 on P2 and 7I76 on P1. The 7I76 works for me.
Attachments:
Last edit: 09 Jun 2025 18:09 by PCW.
Please Log in or Create an account to join the conversation.
- jg
- Offline
- New Member
-
Less
More
- Posts: 4
- Thank you received: 1
09 Jun 2025 00:28 #329983
by jg
Replied by jg on topic Mesa 7i92T - compiling firmware
Hi Peter,
Thanks for the firmware build. I have flashed it to the 7I92T and read back an identical hm2 configuration to the supplied pin file.
Unfortunately the 7I76 is still not coming up correctly; --sserial query finds no devices. Loading the board in hal fails to enumerate the hm2_7i92.0.7i76.0.2. Back to the stock firmware w/ identical hardware configuration and the 7I76 is found.
Thanks for the firmware build. I have flashed it to the 7I92T and read back an identical hm2 configuration to the supplied pin file.
Unfortunately the 7I76 is still not coming up correctly; --sserial query finds no devices. Loading the board in hal fails to enumerate the hm2_7i92.0.7i76.0.2. Back to the stock firmware w/ identical hardware configuration and the 7I76 is found.
Please Log in or Create an account to join the conversation.
- PCW
-
- Offline
- Moderator
-
Less
More
- Posts: 18705
- Thank you received: 5163
09 Jun 2025 00:57 - 09 Jun 2025 01:01 #329984
by PCW
Replied by PCW on topic Mesa 7i92T - compiling firmware
OK then the problem is not the firmware (I tried that firmware with a 7I92TF and a 7I76
and the 7I76 was discovered and operated under LinuxCNC))
but rather a hardware issue, perhaps cabling or 7I92T 5V cable power settings.
Note that hm2_7i92.0.7i76.0.2 is not present in the G540+7I76 firmware I supplied, only
sserial channels 0 (7I76 field I/O) and 1 (7I76 expansion channel)
and the 7I76 was discovered and operated under LinuxCNC))
but rather a hardware issue, perhaps cabling or 7I92T 5V cable power settings.
Note that hm2_7i92.0.7i76.0.2 is not present in the G540+7I76 firmware I supplied, only
sserial channels 0 (7I76 field I/O) and 1 (7I76 expansion channel)
Last edit: 09 Jun 2025 01:01 by PCW.
Please Log in or Create an account to join the conversation.
- jg
- Offline
- New Member
-
Less
More
- Posts: 4
- Thank you received: 1
09 Jun 2025 08:00 #329998
by jg
Replied by jg on topic Mesa 7i92T - compiling firmware
Thanks for your help in attempting to debug this, but I'm struggling to find the h/w issue. The setup is PC > 7I92T via eth, +5v supply to the 7I92, +12v to 7I76 field, grounds tied. The 7I76 is connected to P1 with a new ribbon connector (~10cm) I just made and buzzed all pins on. W3 jumper on 7I92 set to supply power to the daughter, and I see the power LEDs on both cards (total of 3).
Flash the 7i92t_7i76x2d.bin firmware from website DL and I can see the 7I76 field I/O with mesaflash <...> --sserial, a manual halrun enumerates the SS interface, can see the 7I76 pins, and detect toggle on I/O. Created a clean LinuxCNC test config assigning some of the field I/O as limits, when I pull the pins high LinuxCNC trips as expected.
Flash the firmware you attached below, no change to hardware config, none of the above works. However it does seem like something is marginal somewhere - repeated probing with the mesaflash --sserial query does occasionally report "sserial device at channel 0: 7I76 (unit 0x00000000)" but never the remaining device information. The 7I76 green comms LED does trigger with each query.
I will dig up some different power supplies, that's about the only thing left I haven't swapped out yet.
Flash the 7i92t_7i76x2d.bin firmware from website DL and I can see the 7I76 field I/O with mesaflash <...> --sserial, a manual halrun enumerates the SS interface, can see the 7I76 pins, and detect toggle on I/O. Created a clean LinuxCNC test config assigning some of the field I/O as limits, when I pull the pins high LinuxCNC trips as expected.
Flash the firmware you attached below, no change to hardware config, none of the above works. However it does seem like something is marginal somewhere - repeated probing with the mesaflash --sserial query does occasionally report "sserial device at channel 0: 7I76 (unit 0x00000000)" but never the remaining device information. The 7I76 green comms LED does trigger with each query.
I will dig up some different power supplies, that's about the only thing left I haven't swapped out yet.
Please Log in or Create an account to join the conversation.
- PCW
-
- Offline
- Moderator
-
Less
More
- Posts: 18705
- Thank you received: 5163
09 Jun 2025 15:43 - 09 Jun 2025 17:22 #330027
by PCW
Replied by PCW on topic Mesa 7i92T - compiling firmware
There is definitely something wrong in the current source
I went through a bunch of test builds and sserial shows
some random startup issues.
Here's some older source that seems OK
freeby.mesanet.com/7i92t-hm2.zip
Sorry for the problem.
EDIT: found the issue, I built custom firmware for a company which had a hacked vhd file
that I meant to remove but was left in the 7I92t project...
You can use the current source by removing wordpr-efx-fpo.vhd from the project and adding
wordpr.vhd
Fixed firmware files:
I went through a bunch of test builds and sserial shows
some random startup issues.
Here's some older source that seems OK
freeby.mesanet.com/7i92t-hm2.zip
Sorry for the problem.
EDIT: found the issue, I built custom firmware for a company which had a hacked vhd file
that I meant to remove but was left in the 7I92t project...
You can use the current source by removing wordpr-efx-fpo.vhd from the project and adding
wordpr.vhd
Fixed firmware files:
Attachments:
Last edit: 09 Jun 2025 17:22 by PCW.
The following user(s) said Thank You: tommylight, jg
Please Log in or Create an account to join the conversation.
- jg
- Offline
- New Member
-
Less
More
- Posts: 4
- Thank you received: 1
10 Jun 2025 12:23 #330073
by jg
Replied by jg on topic Mesa 7i92T - compiling firmware
vmt. Can confirm that your fixed firmware works for me and that I can compile functional f/w by making the file substitution back to wordpr.vhd.
Cheers.
Cheers.
The following user(s) said Thank You: tommylight
Please Log in or Create an account to join the conversation.
Moderators: PCW, jmelson
Time to create page: 0.108 seconds