Multiple xS50 on a L513 (RS485)
@martin-kudláček Just a quick question, since I also do have this problem with my xS50: Will there be some easy way to upgrade the firmware of the extension? What is the procedure of updating the firmware? Thanks for your answer!
@bsc101 The way to check and update the firmware is fairly easy - just connect the extension via RS485 to the controller, ssh into the controller and run a program. I will write down a tutorial how to do so. We just want to be extra sure, that this problem is tied down to the extension's firmware. I do apologize for this incovenience.
@martin-kudláček Sounds good, thanks for your efforts!
Ok, the issue is definitely with the extension firmware 5.6. The current version is 5.18 and for some reason, both of you received extension units with the old firmware... We do apologize for this, if it is even possible.
The @salorob was able to flash the firmware by his own via our Windows application tool. Unfortunately, the tool is also long time waiting for the update, so the firmware version in this tool is only 5.9, instead of 5.18.
So the official hacker's tutorial is:
- SSH into your controller, the user "pi", the password (if not changed) is "raspberry". If your image is Raspbian, you need to install additional packages:
pi@raspberrypi:~ $ sudo bash root@raspberrypi:/home/pi# echo "deb https://files.unipi.technology/debian stretch main" > /etc/apt/sources.list.d/unipi.list root@raspberrypi:/home/pi# wget -O - https://files.unipi.technology/debian/unipi_pub.gpg | apt-key add root@raspberrypi:/home/pi# apt update root@raspberrypi:/home/pi# apt install -y neuron-firmware neuron-modbus-tools
Connect the extension to the controller over RS485. If you have multiple extensions, connect only one at a time. Right now, all of them thinks they have address 15, so you need to avoid collisions.
Confirm, you have a connection to extension
root@L503-sn101:/home/pi# /opt/neuron-bin/fwserial -p /dev/extcomm/0/0 Boardset: 5 E-14Ro_P-11DiR485 (v1.0) Baseboard: 2 E-14Ro (v1.0) Firmware: v5.6 Modbus timeout set
- Flash the firmware
root@L503-sn101:/opt/fw# /opt/neuron-bin/fwserial -p /dev/extcomm/0/0 -PR Boardset: 5 E-14Ro_P-11DiR485 (v1.0) Baseboard: 2 E-14Ro (v1.0) Firmware: v5.6 Modbus timeout set Programming page 00 ...Finished programming chunk 0, ret: 64 err: 0 Finished programming chunk 1, ret: 64 err: 0 Finished programming chunk 2, ret: 64 err: 0 Finished programming chunk 3, ret: 64 err: 0 Finished programming chunk 4, ret: 64 err: 0 Finished programming chunk 5, ret: 64 err: 0 Finished programming chunk 6, ret: 64 err: 0 Finished programming chunk 7, ret: 64 err: 0 Page written OK. Programming page 01 ...Finished programming chunk 0, ret: 64 err: 0 ..........
- Verify the firmware. Since the flashed firmware now accepts address set by DIP switches, you need to specify the address in the parameter -u. My extension has address 3
root@L503-sn101:/opt/fw# /opt/neuron-bin/fwserial -p /dev/extcomm/0/0 -u 3 Boardset: 5 E-14Ro_P-11DiR485 (v1.0) Baseboard: 2 E-14Ro (v1.0) Firmware: v5.18 Modbus timeout set
- Repeat the process for all of the extensions
Let me know, how it worked. If you don't want to flash the firmware yourself, let me know and we can arrange some remote session with you.
@martin-kudláček Thanks a lot, it works now :) I can set another address than default now!
Firmware is now 5.9 (it was 5.6 as you said), is there any need to upgrade to 5.18?
This post is deleted!
@martin-kudláček My fault, did not do step 1 in your decsription above since fwserial and firmware files were already present. It's 5.18 now, thank you!
Ok, took a while before I had time to do this, but now the downloads don't seem to work anymore, check below (btw, I'm using an own build image, not the Neuron image):
root@L203-sn81:/home/pi# wget -O - https://files.unipi.technology/debian/unipi_pub.gpg | apt-key add\ > ^C root@L203-sn81:/home/pi# wget -O - https://files.unipi.technology/debian/unipi_pub.gpg | apt-key add --2019-09-12 08:05:48-- https://files.unipi.technology/debian/unipi_pub.gpg Resolving files.unipi.technology (files.unipi.technology)... 220.127.116.11 Connecting to files.unipi.technology (files.unipi.technology)|18.104.22.168|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://kb.unipi.technology/debian/unipi_pub.gpg [following] --2019-09-12 08:05:49-- https://kb.unipi.technology/debian/unipi_pub.gpg Resolving kb.unipi.technology (kb.unipi.technology)... 22.214.171.124 Connecting to kb.unipi.technology (kb.unipi.technology)|126.96.36.199|:443... connected. HTTP request sent, awaiting response... 200 OK Length: unspecified [text/html] Saving to: 'STDOUT' - [ <=> ] 13.43K --.-KB/s in 0.03s 2019-09-12 08:05:49 (385 KB/s) - written to stdout  gpg: no valid OpenPGP data found. root@L203-sn81:/home/pi# apt update Get:1 http://archive.raspberrypi.org/debian stretch InRelease [25.4 kB] Get:2 http://raspbian.raspberrypi.org/raspbian stretch InRelease [15.0 kB] Get:3 http://raspbian.raspberrypi.org/raspbian stretch/contrib Sources [75.2 kB] Get:5 http://raspbian.raspberrypi.org/raspbian stretch/non-free Sources [125 kB] Get:6 http://archive.raspberrypi.org/debian stretch/main armhf Packages [221 kB] Get:7 http://raspbian.raspberrypi.org/raspbian stretch/main Sources [9721 kB] Get:8 http://archive.raspberrypi.org/debian stretch/ui armhf Packages [45.0 kB] Err:4 https://kb.unipi.technology/debian stretch InRelease Clearsigned file isn't valid, got 'NOSPLIT' (does the network require authentication?) Get:9 http://raspbian.raspberrypi.org/raspbian stretch/main armhf Packages [11.7 MB] Get:10 http://raspbian.raspberrypi.org/raspbian stretch/contrib armhf Packages [56.9 kB] Get:11 http://raspbian.raspberrypi.org/raspbian stretch/non-free armhf Packages [95.5 kB] Fetched 22.1 MB in 18s (1192 kB/s) Reading package lists... Done E: Failed to fetch https://files.unipi.technology/debian/dists/stretch/InRelease Clearsigned file isn't valid, got 'NOSPLIT' (does the network require authentication?) E: Some index files failed to download. They have been ignored, or old ones used instead. root@L203-sn81:/home/pi# apt install -y neuron-firmware neuron-modbus-tools Reading package lists... Done Building dependency tree Reading state information... Done Note, selecting 'unipi-modbus-tools' instead of 'neuron-modbus-tools' E: Unable to locate package neuron-firmware root@L203-sn81:/home/pi# /opt/neuron-bin/fwserial -p /dev/extcomm/0/0 bash: /opt/neuron-bin/fwserial: No such file or directory
The files has been moved into a new repostirory: https://repo.unipi.technology/debian/ The FW tool for extension can be found here https://kb.unipi.technology/files:software:tools:00-start#extension_firmware_update_tool
Thanks! I was able to flash the device using the FW update tool and now it says it v5.36 on it.
Too bad I'm not able to try it out now, as on my test Unipi I accidentally plugged in the power supply on the RS485 port and now I get
root@L203-sn81:/home/pi# /opt/unipi-bin/fwserial -p /dev/extcomm/0/0 Read version failed: Connection timed out
Will need to get a new Neuron for this.
Thanks for the help! :)
@boy-lenssen Yeah, that's something we are working on to protect bricking the units during the FW upgrade process. If the RUN led is dead, send it to us so we can reflash the FW.