Closed lungsi closed 3 years ago
I think your second error is occurring because you have something like "version = 3 # None" rather than "version = 3" in the config file. You can't have comments on the same line as a value like that in a config file, as far as I'm aware.
I'm not quite sure what's going on with your first error, though - the machineName and version values are correct for a standard spinn-3 board. Are the LEDs on the board flashing / on at all? If they are, as a first attempt, try resetting it by pushing the white button and then running your script again...
Hang on, I've just re-read what you said above and now I'm not sure what you've set your network settings IP address to. It should be 192.168.240.254 (the address of the adapter) not 192.168.240.253 (the address of the board).
Thank you @andrewgait I corrected the network setting where IP Address = 192.168.240.254 while the machineName = 192.168.240.253
, i.e, they now have different addresses.
The board is still not recognized
>>> sim.run(runtime)
2019-05-21 16:56:54 INFO: Simulating for 5 1000.000000ms timesteps using a hardware timestep of 1000000us
2019-05-21 16:56:54 INFO: Starting execution process
2019-05-21 16:56:54 INFO: Creating transceiver for 192.168.240.253
2019-05-21 16:56:54 INFO: Working out if machine is booted
2019-05-21 16:56:56 INFO: Attempting to boot machine
2019-05-21 16:57:03 INFO: Attempting to boot machine
2019-05-21 16:57:10 INFO: Attempting to boot machine
2019-05-21 16:57:17 ERROR: Error when calling spinn_front_end_common.interface.interface_functions.MachineGenerator.__call__ with inputs {'downed_chips': set([]), 'reset_machine_on_start_up': False, 'hostname': '192.168.240.253', 'scamp_connection_data': None, 'boot_port_num': None, 'bmp_details': None, 'enable_reinjection': True, 'downed_links': set([]), 'max_sdram_size': None, 'downed_cores': set([]), 'auto_detect_bmp': False, 'board_version': 3}
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/envs/py27/local/lib/python2.7/site-packages/spynnaker8/__init__.py", line 515, in run
return __pynn_run(simtime, callbacks=callbacks)
File "/envs/py27/local/lib/python2.7/site-packages/pyNN/common/control.py", line 110, in run
return run_until(simulator.state.t + simtime, callbacks)
File "/envs/py27/local/lib/python2.7/site-packages/pyNN/common/control.py", line 92, in run_until
simulator.state.run_until(time_point)
File "/envs/py27/local/lib/python2.7/site-packages/spynnaker8/spinnaker.py", line 128, in run_until
self._run(tstop - self.t)
File "/envs/py27/local/lib/python2.7/site-packages/spynnaker8/spinnaker.py", line 175, in _run
AbstractSpiNNakerCommon.run(self, duration_ms)
File "/envs/py27-pyNNmoose/local/lib/python2.7/site-packages/spynnaker/pyNN/abstract_spinnaker_common.py", line 312, in run
AbstractSpinnakerBase._run(self, run_time)
File "/envs/py27/local/lib/python2.7/site-packages/spinn_front_end_common/interface/abstract_spinnaker_base.py", line 850, in _run
self._get_machine(total_run_time, n_machine_time_steps)
File "/envs/py27/local/lib/python2.7/site-packages/spinn_front_end_common/interface/abstract_spinnaker_base.py", line 1214, in _get_machine
inputs, algorithms, outputs, "machine_generation")
File "/envs/py27/local/lib/python2.7/site-packages/spinn_front_end_common/interface/abstract_spinnaker_base.py", line 1105, in _run_algorithms
executor.execute_mapping()
File "/envs/py27/local/lib/python2.7/site-packages/pacman/executor/pacman_algorithm_executor.py", line 432, in execute_mapping
self._execute_mapping()
File "/envs/py27/local/lib/python2.7/site-packages/pacman/executor/pacman_algorithm_executor.py", line 448, in _execute_mapping
results = algorithm.call(self._internal_type_mapping)
File "/envs/py27/local/lib/python2.7/site-packages/pacman/executor/algorithm_classes/abstract_python_algorithm.py", line 44, in call
results = self.call_python(method_inputs)
File "/envs/py27/local/lib/python2.7/site-packages/pacman/executor/algorithm_classes/python_class_algorithm.py", line 56, in call_python
return method(**inputs)
File "/envs/py27/local/lib/python2.7/site-packages/spinn_front_end_common/interface/interface_functions/machine_generator.py", line 71, in __call__
enable_reinjector=enable_reinjection)
File "/envs/py27/local/lib/python2.7/site-packages/spinnman/transceiver.py", line 1000, in ensure_board_is_ready
"Failed to communicate with the machine")
spinnman.exceptions.SpinnmanIOException: IO Error: Failed to communicate with the machine
I tried again by pushing the "white" reset button for few seconds and the led came back on and four other led started flickering (as it did earlier). But I still got the same error.
Since I have set the wired IP address to the board's adapter 192.168.240.254, I can ping that 192.168.240.254 but I can't ping 192.168.240.253 anymore.
Is there a command to see if my computer can shake hands with the board, for instance via 192.168.240.253?
If you can't ping the address, the tools won't be able to speak to the board; ping is the test that has to work, or else the board won't work. I would go back and make sure your setting are as you think they are, and that the cable is properly connected to your computer and to the SpiNNaker board. Also make sure that you are using the correct subnet mask when setting up your network.
I have my ipv4 IP address = 192.168.240.254 and sub-mask = 255.255.255.0
$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default _gateway 0.0.0.0 UG 600 0 0 wlp3s0
192.168.0.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp3s0
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
192.168.240.0 0.0.0.0 255.255.255.0 U 100 0 0 enp0s25
and
$ ip addr show enp0s25
2: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 3c:97:0e:28:7f:5c brd ff:ff:ff:ff:ff:ff
inet 192.168.240.254/24 brd 192.168.240.255 scope global noprefixroute enp0s25
valid_lft forever preferred_lft forever
Pinging 192.168.240.254 returns
$ ping -w3 192.168.240.254
PING 192.168.240.254 (192.168.240.254) 56(84) bytes of data.
64 bytes from 192.168.240.254: icmp_seq=1 ttl=64 time=0.084 ms
64 bytes from 192.168.240.254: icmp_seq=2 ttl=64 time=0.105 ms
64 bytes from 192.168.240.254: icmp_seq=3 ttl=64 time=0.129 ms
--- 192.168.240.254 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 43ms
rtt min/avg/max/mdev = 0.084/0.106/0.129/0.018 ms
But if I ping 192.168.240.253 I get
$ ping -w3 192.168.240.253
PING 192.168.240.253 (192.168.240.253) 56(84) bytes of data.
--- 192.168.240.253 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 11ms
PS: Also I have made sure there are no loose connections by connecting, disconnecting, powering off/on and pushing the reset button. Besides, if I disconnect I can't ping 192.168.240.254 so its unlikely due to cable connectivity.
It's possible then that you have a board whose machine address has been set to a different value. Does your board have a black number on a white background on it (usually in the centre of the four chips)?
I don't know but it has the number 35 as black font on white background.
Also, below shows that pinging from 0 to 255 (253 being the default spinn-3 machine) results in only one hit.
$ nmap -T5 -sP 192.168.240.0-255
Starting Nmap 7.70 ( https://nmap.org ) at 2019-05-22 12:00 CEST
Nmap scan report for 192.168.240.254
Host is up (0.0021s latency).
Nmap done: 256 IP addresses (1 host up) scanned in 7.29 seconds
Thanks for the further information. We currently have this board (35) listed as being with Andrew Davison in Paris - is that who you got it off, and are you working with him? Our next suggestion would be to try to find out from him whether he either changed the board address or knows what it is.
Yes I am working with Andrew. I will get in touch with him and ask if he remembers changing the board address.
PS: Does that mean I can also change the board address to its default machineName = 192.168.240.253
?
No - the machineName (the board address) is what will have been changed. You said above that the only address that you could ping was 192.168.240.254 - this is the adaptor to the board and should be what you set in your network settings.
Please let us know what you find out from Andrew Davison and we’ll take it from there.
After looking into the configuration in Andrew's laptop where it was last known to work. I used it and now it works.
Here's our working configuration .spynnaker.cfg
Network Address: 192.168.240.240
Submask: 255.255.255.0
machineName: 192.168.240.39
Pinging both the network address and machine are now successful
$ ping -w3 192.168.240.240
PING 192.168.240.240 (192.168.240.240) 56(84) bytes of data.
64 bytes from 192.168.240.240: icmp_seq=1 ttl=64 time=0.057 ms
64 bytes from 192.168.240.240: icmp_seq=2 ttl=64 time=0.124 ms
64 bytes from 192.168.240.240: icmp_seq=3 ttl=64 time=0.032 ms
--- 192.168.240.240 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.032/0.071/0.124/0.038 ms
$ ping -w3 192.168.240.39
PING 192.168.240.39 (192.168.240.39) 56(84) bytes of data.
64 bytes from 192.168.240.39: icmp_seq=1 ttl=64 time=0.636 ms
64 bytes from 192.168.240.39: icmp_seq=2 ttl=64 time=0.329 ms
64 bytes from 192.168.240.39: icmp_seq=3 ttl=64 time=0.277 ms
--- 192.168.240.39 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 64ms
rtt min/avg/max/mdev = 0.277/0.414/0.636/0.158 ms
Thanks again @andrewgait for the assistance.
@andrewgait @SimonDavidson
Hi,
I'm in a similair siutation. I am using a Spinn-5 board (031) which I got from another group.
In my .spynnaker.cfg file, I have:
machineName = 192.168.240.1 version = 5
And I also followed the network configuration from http://spinnakermanchester.github.io/spynnaker/6.0.0/PyNNOnSpinnakerInstall.html#LocalBoard
route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default gw.wism-onex2.n 0.0.0.0 UG 20600 0 0 wlx1cbfce60f7ec link-local 0.0.0.0 255.255.0.0 U 1000 0 0 eno1 172.20.96.0 0.0.0.0 255.255.240.0 U 600 0 0 wlx1cbfce60f7ec 192.168.0.0 0.0.0.0 255.255.0.0 U 100 0 0 eno1 192.168.0.0 0.0.0.0 255.255.0.0 U 100 0 0 eno1
ip addr show eno1 2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 30:9c:23:7c:2b:96 brd ff:ff:ff:ff:ff:ff inet 192.168.240.254/16 brd 192.168.255.255 scope global noprefixroute eno1 valid_lft forever preferred_lft forever inet6 fe80::906f:58d1:8aee:dce4/64 scope link noprefixroute valid_lft forever preferred_lft forever
nmap -T5 -sP 192.168.240.0-255 Starting Nmap 7.60 ( https://nmap.org ) at 2021-06-17 15:06 BST Nmap scan report for le-ThinkStation-P320 (192.168.240.254) Host is up (0.000046s latency). Nmap done: 256 IP addresses (1 host up) scanned in 10.87 seconds
ping -w3 192.168.240.254 PING 192.168.240.254 (192.168.240.254) 56(84) bytes of data. 64 bytes from 192.168.240.254: icmp_seq=1 ttl=64 time=0.023 ms 64 bytes from 192.168.240.254: icmp_seq=2 ttl=64 time=0.022 ms 64 bytes from 192.168.240.254: icmp_seq=3 ttl=64 time=0.022 ms --- 192.168.240.254 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2035ms rtt min/avg/max/mdev = 0.022/0.022/0.023/0.004 ms
ping -w3 192.168.240.1 PING 192.168.240.1 (192.168.240.1) 56(84) bytes of data. --- 192.168.240.1 ping statistics --- 3 packets transmitted, 0 received, 100% packet loss, time 2035ms
The error I got is always :
2021-06-17 15:04:38 INFO: Starting execution process 2021-06-17 15:04:38 INFO: Simulating for 1000 1.0ms timesteps using a hardware timestep of 1000us 2021-06-17 15:04:38 INFO: Creating transceiver for 192.168.240.1 2021-06-17 15:04:38 INFO: Working out if machine is booted 2021-06-17 15:04:42 INFO: Attempting to boot machine 2021-06-17 15:04:51 INFO: Attempting to boot machine 2021-06-17 15:05:00 INFO: Attempting to boot machine 2021-06-17 15:05:16 ERROR: Error when calling spinn_front_end_common.interface.interface_functions.MachineGenerator.call with inputs dict_keys(['report_waiting_logs', 'hostname', 'reset_machine_on_start_up', 'bmp_details', 'downed_chips', 'downed_cores', 'downed_links', 'board_version', 'auto_detect_bmp', 'scamp_connection_data', 'boot_port_num', 'max_sdram_size', 'repair_machine', 'ignore_bad_ethernets', 'default_report_directory']) Traceback (most recent call last): ................................. File "/home/le/Installation/anaconda/anaconda3/lib/python3.6/site-packages/spinnman/transceiver.py", line 982, in ensure_board_is_ready "Failed to communicate with the machine") spinnman.exceptions.SpinnmanIOException: IO Error: Failed to communicate with the machine
I am wondering if my problem is also caused by the alteration of the default IP address on my spinn-5 board? I asked the people I got the board from and he has no idea how the board has been used before. Is there any chance I can reset the IP address?
best, le
It sounds like the default address is different. @lplana has a list of boards somewhere, so he might be able to help here... ?
This is one of the 3 boards that Alan had in Edinburgh.
In case that it helps, I found an old email from Alan asking about the process to change the IP addresses of one of his boards. I'm not sure if it refers to this board though. He wanted the following changes:
192.168.240.0 which has mac address -00-00-a4-f0-00-00 to move to ip address 129.215.63.136 192.168.240.1 which has mac address -00-00-a4-f0-00-01 to move to ip address 129.215.63.137
Oh, it's the other one of Alan's old boards (I have the other two), in which case I think the IP address you need to use might be 192.268.2.203 (based on the conversation I had with him when setting up the other two boards here).
Please let us know which IP address works and we'll update our records.
Thank you for your quick reply! I have tried all of them and none is working. I also tried changing the network configuration. Can you check again the IP (192.268.2.203), should it be 192.168.2.203 or something else? In each case, after changing the machine name to the new IP address in .spynnaker.cfg, how should I modify the network configuration?
Apologies, yes, the machineName in the config file should be 192.168.2.203. The network configuration should still be 192.168.240.254, but if that still doesn’t work then try 192.168.2.254 instead.
I tried
Network Address: 192.168.240.254 machineName: 192.168.2.203
Network Address: 192.168.2.254 machineName: 192.168.2.203
Network Address: 192.168.240.254 machineName: 192.168.240.203
Sadly, none of them is working.
My desktop is connected to WiFi and then using a cable connects the Spinn-5 board (I also tried switching between the 2 Ethernet ports on the spinn-5 board, also used different cables).
I'm afraid I'm not sure what else we can try here. Can I check again what you have set in your network configuration settings? It should (I think) be:
IP address: 192.168.2.254 Subnet mask: 255.255.255.0 (It looked like you may have set 255.255.0.0 from your output above?)
and then in the cfg file:
machineName = 192.168.2.203
If this still doesn't work another option I guess is a video call where you share your screen and we try to troubleshoot it. If you need to do this then let me know (email andrew.gait@manchester.ac.uk) and we can probably arrange something.
From the above, shouldn't the IP address of the board be 129.215.63.137?
In that case, you would need to set your IP address to something in that range e.g. 129.215.63.254, with a subnet mask of 255.255.255.0.
Note that this is an official IP address probably from Edinburgh. If you are using this with a cable connected only between your computer and the board, this should be fine, but note that it could otherwise interfere with communications, particularly if you ever connect to the Edinburgh network that this was connected to. I am mainly saying this to trigger a memory of this message in case that ever happens!
Hi @andrewgait , I certainly tried what you said but it was not working last time. But it is working now!
I haven't realized what else I changed but I can confirm this board is now working with:
MachineName = 192.168.2.203 IP address: 192.168.2.254 Subnet mask: 255.255.255.0
Also, there is only one Ethernet port working with the above configuration. Is this something that should happen? (I am already happy with having one port working correctly.)
Hi, glad to hear you have it working! Only one of the ports should be working if I remember correctly (I think the lower one of the two), the other is for the BMP.
Python: 2.7 sPyNNaker8
Board: SpiNN-3 DMC, ST, Sep11
As per instructions I set my wired network settings as
But I noticed that the
machineName = 192.168.240.253
in the instructions as well as in the nengo_spinnaker.conf.example so I setIP address = 192.168.240.254
.I then pinged
Now in my local
.spinnaker.cfg
I setand ran the example
synfire_if_curr_exp.py
but I got IO Error: Failed to communicate with the machineI also commented out the above configuration file and did the same thing in
/envs/py27/local/lib/python2.7/site-packages/spinn_front_end_common/interface/spinnaker.cfg
which resulted in a different error ValueError: invalid literal for int() with base 10: '3#None'machineName = 192.168.240.253
andversion = 3
values correct for my board SpiNN-3 DMC, ST, Sep11?