Communication error with 7i92+7i77

More
9 years 2 weeks ago #100389 by Machinen
Hi,
I just bought new 7i92H+7i77 combo. Unfortunately I am having problems with setting it up (so far just on my table).
I flashed the 7i92 with 7i92_7i77x2D.bit using 2m CAT6E patch cable. I am powering both board with ATX power supply 5V by separate lines to both connectors, the field power is 12V from my lab power supply without earth reference. Cable between 7i92H and 7i77 is about 20cm long ribbon cable with idc26->db25 which I did perform continuity test on and also short circuit test. The installation I am using is from linuxcnc.org/docs/html/getting-started/g...th_preempt_rt_kernel , the kernel #1 SMP PREEMPT RT Debian 3.2.93-1, linuxcnc is LINUXCNC - 2.7.11.

When I try the
Code:
mesaflash --device 7i92 --sserial --verbose
I get the
Code:
SSLBP port 0: SSLBP Version: 1.43 SSLBP Channels: 6 SSLBP Baud Rate: 2500000 interface type: 12 interface width: 8 SSLBP Channel Start: 112 SSLBP Channel Stride: 50 SSLBP Processor Type: d8 SSLBP Clock: 100 MHz sserial device at channel 3: 7I77 GPIO SwRevision = 14 NVBaudRate = 2.5Mb NVUnitNumber = 0x12000xxx NVWatchDogTimeout = 50ms EncMode0 = ffff [16 bits UNSIGNED IN | UNIT: None | RANGE: 0.00 - 0.00 | ADDR: 0998] EncMode1 = ffff [16 bits UNSIGNED IN | UNIT: None | RANGE: 0.00 - 0.00 | ADDR: 099A] NVEncMode0 = 0 [16 bits NV UNSIGNED IN | UNIT: None | RANGE: 0.00 - 0.00 | ADDR: 003A] NVEncMode1 = 0 [16 bits NV UNSIGNED IN | UNIT: None | RANGE: 0.00 - 0.00 | ADDR: 003C] SOFTWARE MODE Input_Output [index 00] SOFTWARE MODE IO_Analog [index 01] SOFTWARE MODE IO_Analog_FieldVoltage [index 02] SOFTWARE MODE IO_Encoder_Analog_Fieldvoltage [index 03] sserial device at channel 4: 7I77 ANALOG SwRevision = 14 HwRevision = 1 NVBaudRate = 2.5Mb NVUnitNumber = 0x11000xxx NVWatchDogTimeout = 50ms SOFTWARE MODE AnalogOut_Enables [index 00]
So it is communicating. However when I try
Code:
halrun halcmd: loadrt hostmot2 Note: Using POSIX realtime hm2: loading Mesa HostMot2 driver version 0.15 halcmd: loadrt hm2_eth board_ip="192.168.1.121"
I do get the following error:
Code:
hm2_eth: loading Mesa AnyIO HostMot2 ethernet driver version 0.2 hm2_eth: 192.168.1.121: Hardware address: MAC hm2_eth: discovered 7I92 hm2/hm2_7i92.0: Smart Serial Firmware Version 43 hm2/hm2_7i92.0: hm2_sserial_waitfor: Timeout (51mS) waiting for addr 5b00 &mask ffffffff val 800 hm2/hm2_7i92.0: DATA addr 5c00 after timeout: 800 hm2/hm2_7i92.0: failed to parse Module Descriptor 5 board fails HM2 registration hm2_eth: rtapi_app_main: Invalid argument (-22) <stdin>:2: waitpid failed /usr/bin/rtapi_app hm2_eth <stdin>:2: /usr/bin/rtapi_app exited without becoming ready <stdin>:2: insmod for hm2_eth failed, returned -1
Sometimes:
Code:
hm2_eth: loading Mesa AnyIO HostMot2 ethernet driver version 0.2 hm2_eth: 192.168.1.121: Hardware address: MAC hm2_eth: discovered 7I92 hm2/hm2_7i92.0: Smart Serial Firmware Version 43 Board hm2_7i92.0.7i77.0.3 Hardware Mode 0 = standard Board hm2_7i92.0.7i77.0.3 Software Mode 0 = input_output hm2/hm2_7i92.0: hm2_sserial_waitfor: Timeout (24mS) waiting for addr 5d0c &mask ff00 val 0 hm2/hm2_7i92.0: DATA addr 5e0c after timeout: 400000 hm2/hm2_7i92.0: Timeout trying to read config data in sserial_get_bytes hm2/hm2_7i92.0: hm2_sserial_waitfor: Timeout (51mS) waiting for addr 5b00 &mask ffffffff val 800 hm2/hm2_7i92.0: DATA addr 5c00 after timeout: 800 hm2/hm2_7i92.0: failed to parse Module Descriptor 5 board fails HM2 registration hm2_eth: rtapi_app_main: Invalid argument (-22) <stdin>:4: waitpid failed /usr/bin/rtapi_app hm2_eth <stdin>:4: /usr/bin/rtapi_app exited without becoming ready <stdin>:4: insmod for hm2_eth failed, returned -1
Or:
Code:
hm2_eth: loading Mesa AnyIO HostMot2 ethernet driver version 0.2 hm2_eth: 192.168.1.121: Hardware address: MAC hm2_eth: discovered 7I92 hm2/hm2_7i92.0: Smart Serial Firmware Version 43 Board hm2_7i92.0.7i77.0.3 Hardware Mode 0 = standard Board hm2_7i92.0.7i77.0.3 Software Mode 0 = input_output Board hm2_7i92.0.7i77.0.3 Software Mode 1 = io_analog hm2/hm2_7i92.0: hm2_sserial_waitfor: Timeout (25mS) waiting for addr 5b00 &mask ffffffff val 0 hm2/hm2_7i92.0: DATA addr 5c00 after timeout: 0 hm2/hm2_7i92.0: Timeout during do-it in sserial_get_bytes hm2/hm2_7i92.0: hm2_sserial_waitfor: Timeout (25mS) waiting for addr 5b00 &mask ffffffff val 1008 hm2/hm2_7i92.0: DATA addr 5c00 after timeout: 1008 hm2/hm2_7i92.0: Timeout during do-it in sserial_get_bytes Board hm2_7i92.0.7i77.0.3 Software Mode 2 = io_analog hm2/hm2_7i92.0: hm2_sserial_waitfor: Timeout (51mS) waiting for addr 5b00 &mask ffffffff val 800 hm2/hm2_7i92.0: DATA addr 5c00 after timeout: 800 hm2/hm2_7i92.0: failed to parse Module Descriptor 5 board fails HM2 registration hm2_eth: rtapi_app_main: Invalid argument (-22) <stdin>:9: waitpid failed /usr/bin/rtapi_app hm2_eth <stdin>:9: /usr/bin/rtapi_app exited without becoming ready <stdin>:9: insmod for hm2_eth failed, returned -1
Or something like it. IE sometimes the 7i92 communicates with 7i77 more, sometimes less.

I tried both idc26 connectors on the 7i92H.

Any help would be appreciated.

Thanks.

Edit: I forgot to mention that after this the 7i77 usually has the green led rapidly blinking and the red led shut off. To turn it back to no green light and constant red light I have to communicate to it by mesaflash or power cycle the 12V part.

Please Log in to join the conversation.

More
9 years 2 weeks ago #100390 by PCW
Did you run a latency test on the host PC?

What is you host hardware?

The rapid green LED blinking likely means that the host has lost all communication with the 7I92 some time
during the sserial setup phase and its been left in the channel started phase but no commands have been issued

Please Log in to join the conversation.

More
9 years 2 weeks ago #100393 by Machinen
I actually did, the max jitter was on base thread under 50000ns and about half on servo thread.

The hardware is
Code:
sudo lshw -short H/W path Device Class Description ========================================================= system To Be Filled By O.E.M. /0 bus P4P800 /0/0 memory 64KiB BIOS /0/4 processor Intel(R) Pentium(R) 4 CPU 2.40GHz /0/4/5 memory 8KiB L1 cache /0/4/6 memory 512KiB L2 cache /0/4/0.1 processor Logical CPU /0/4/0.2 processor Logical CPU /0/38 memory 2GiB System Memory /0/38/0 memory 512MiB DIMM SDRAM Synchronous /0/38/1 memory 512MiB DIMM SDRAM Synchronous /0/38/2 memory 512MiB DIMM SDRAM Synchronous /0/38/3 memory 512MiB DIMM SDRAM Synchronous /0/100 bridge 82865G/PE/P DRAM Controller/Host-H /0/100/1 bridge 82865G/PE/P AGP Bridge /0/100/1/0 display Radeon R200 QM [Radeon 9100] /0/100/6 generic 82865G/PE/P Processor to I/O Memor /0/100/1d bus 82801EB/ER (ICH5/ICH5R) USB UHCI C /0/100/1d.1 bus 82801EB/ER (ICH5/ICH5R) USB UHCI C /0/100/1d.2 bus 82801EB/ER (ICH5/ICH5R) USB UHCI C /0/100/1d.3 bus 82801EB/ER (ICH5/ICH5R) USB UHCI C /0/100/1d.7 bus 82801EB/ER (ICH5/ICH5R) USB2 EHCI /0/100/1e bridge 82801 PCI Bridge /0/100/1e/b eth0 network RTL-8139/8139C/8139C+ /0/100/1e/5 eth1 network 3c940 10/100/1000Base-T [Marvell] /0/100/1f bridge 82801EB/ER (ICH5/ICH5R) LPC Interf /0/100/1f.1 scsi0 storage 82801EB/ER (ICH5/ICH5R) IDE Contro /0/100/1f.1/0.0.0 /dev/sda disk 40GB ST340014A /0/100/1f.1/0.0.0/1 /dev/sda1 volume 35GiB EXT4 volume /0/100/1f.1/0.0.0/2 /dev/sda2 volume 1594MiB Extended partition /0/100/1f.1/0.0.0/2/5 /dev/sda5 volume 1594MiB Linux swap / Solaris parti /0/100/1f.1/0.1.0 /dev/sdb disk 40GB ST340016A /0/100/1f.1/0.1.0/1 /dev/sdb1 volume 35GiB EXT4 volume /0/100/1f.1/0.1.0/2 /dev/sdb2 volume 1594MiB Extended partition /0/100/1f.1/0.1.0/2/5 /dev/sdb5 volume 1594MiB Linux swap / Solaris parti /0/100/1f.3 bus 82801EB/ER (ICH5/ICH5R) SMBus Cont /0/100/1f.5 multimedia 82801EB/ER (ICH5/ICH5R) AC'97 Audi

I assumed something like it with the blinking green led.

Please Log in to join the conversation.

More
9 years 2 weeks ago #100395 by PCW
Which Ethernet is the 7I92 connected to?

Do you have the 192.168.1.121 range overlapping with the other Ethernet?

Normally its suggested to use 10.10.10.10 for the 7I92 and 10.10.10.1 for the host
because this does not overlap common NAT ranges

Please Log in to join the conversation.

More
9 years 2 weeks ago #100399 by Machinen
It's the eth1 3c940 10/100/1000Base-T [Marvell] - the motherboard network card. The extra eth0 is for home network. For local network, I am using 192.168.88.0/24 so there should not be any overlap.

Last evening I even tried the 10.10.10.10 settings but with no effect - or actually there was one effect, for some reason the mesaflash --device 7i92 --sserial took forever on the 7i77 part.

I can try it again.

Please Log in to join the conversation.

More
9 years 2 weeks ago #100400 by PCW
I would try the RT8139 for the 7I92
Marvel and Broadcom are known not working for real time

On mesaflash you need to supply the address if you use 10.10.10.10
(and the host needs to be configured properly as well)

Please Log in to join the conversation.

More
9 years 2 weeks ago #100401 by Machinen
OK, did change+restart and tried:
Code:
mesaflash --device 7i92 --addr 10.10.10.10 --sserial --verbose SSLBP port 0: SSLBP Version: 1.43 SSLBP Channels: 6 SSLBP Baud Rate: 2500000 interface type: 12 interface width: 8 SSLBP Channel Start: 112 SSLBP Channel Stride: 50 SSLBP Processor Type: d8 SSLBP Clock: 100 MHz
And blinking cursor at the end.
Then after minute or so
Code:
sserial device at channel 3: 7I77 GPIO
And blinking cursor again.

Please Log in to join the conversation.

More
9 years 2 weeks ago #100402 by PCW
Weird, Host network setup error?
what does
/sbin/ifconfig
show?

Please Log in to join the conversation.

More
9 years 2 weeks ago #100406 by Machinen
Had to change local language

Ok, the output:
Code:
/sbin/ifconfig eth0 Link encap:Ethernet HWaddr 00:08:54:05:53:76 inet addr:192.168.88.86 Bcast:192.168.88.255 Mask:255.255.255.0 inet6 addr: fe80::208:54ff:fe05:5376/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:316 errors:0 dropped:0 overruns:0 frame:0 TX packets:199 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:75731 (73.9 KiB) TX bytes:24839 (24.2 KiB) Interrupt:22 Base address:0xe400 eth1 Link encap:Ethernet HWaddr 00:0c:6e:41:73:79 inet addr:10.10.10.1 Bcast:10.255.255.255 Mask:255.0.0.0 inet6 addr: fe80::20c:6eff:fe41:7379/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:980 errors:0 dropped:0 overruns:0 frame:0 TX packets:1551 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:62770 (61.2 KiB) TX bytes:104674 (102.2 KiB) Interrupt:22 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:12 errors:0 dropped:0 overruns:0 frame:0 TX packets:12 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:720 (720.0 B) TX bytes:720 (720.0 B)

EDIT: OK, did quick change of eth interfaces, reloaded networking and I will be damned, it works! Frankly, I probably wouldn't try it for some time, so thanks a lot.

Please Log in to join the conversation.

More
9 years 1 week ago #100578 by tommylight
For reliable eth connection when using 2 or more eth interfaces on the same computer, this has to be done for the port that the 7i92 or 7i76E is connected to :
Network manager chose "edit connections", double click on the wired connection , go to "ipv4" tab, change from automatic DHCP to manual, under it add the propper address ( 10.10.10.x or 192.168.1.x depending on the address set on the mesa board ), on that same page there is another button on the bottom right side ( am on the phone so i do not recall the label but most probably Advanced ), click on " use this connection for local....something. ok. Ok. Ok That is it.

Please Log in to join the conversation.

Time to create page: 0.235 seconds
Powered by Kunena Forum