|
1 |
| -= Firmware/Certificates updater for the WiFi 101 and MKR1000 = |
| 1 | += Firmware/Certificates updater for WINC and NINA Wifi module = |
2 | 2 |
|
3 |
| -Use this tool to update the SSL root-certificates installed on the |
4 |
| -Arduino/Genuino WiFi 101 shield or the Arduino/Genuino MKR1000 board. |
| 3 | +Use this tool to update the firmware and/or add SSL certificates for any WINC or NINA modules |
5 | 4 |
|
6 | 5 | == Install ==
|
7 | 6 |
|
8 | 7 | You can download the Firmware/Certificates updater here:
|
9 | 8 |
|
10 |
| -https://github.com/arduino-libraries/WiFi101-FirmwareUpdater/releases/latest |
| 9 | +https://github.com/bcmi-labs/WiFi-FirmwareUpdater-cli/releases/latest |
11 | 10 |
|
12 | 11 | == Usage ==
|
13 | 12 |
|
14 |
| -=== To update SSL Certificates === |
15 |
| - |
16 |
| -1. Upload the https://github.com/arduino-libraries/WiFi101/tree/master/examples/FirmwareUpdater[FirmwareUpdater] |
17 |
| - sketch onto your board. You need to install the lastest WiFi101 library |
18 |
| - (available through the library manager of the Arduino IDE). The sketch is |
19 |
| - included as an example of the library: `File -> Examples -> WiFi101 -> FirmwareUpdater` |
20 |
| -2. Run "winc1500-uploader-gui". |
21 |
| -3. This tool is able to fetch the SSL Root Certificates directly from the |
22 |
| - target websites, just write the IP or domain in the text box and click |
23 |
| - on the "Fetch" button (you can repeat this step multiple times to add |
24 |
| - more certificates). |
25 |
| -4. Select the serial port of the board running the "FirmwareUploader" sketch. |
26 |
| -5. Click "Update" button. |
27 |
| - |
28 |
| -**WARNING:** the storage reserved for the certificates is very small. You can load, |
29 |
| -roughly, 10 certificates but the exact number may be lower depending on the size of the |
30 |
| -certificates. |
31 |
| - |
32 |
| -=== To update firmware === |
33 |
| - |
34 |
| -This is possible using the Command-Line tool: |
35 |
| - |
36 |
| -1. Upload the https://github.com/arduino-libraries/WiFi101/tree/master/examples/FirmwareUpdater[FirmwareUpdater] |
37 |
| - sketch onto your board. You need to install the lastest WiFi101 library |
38 |
| - (available through the library manager of the Arduino IDE). The sketch is |
39 |
| - included as an example of the library: `File -> Examples -> WiFi101 -> FirmwareUpdater` |
40 |
| -2. Read the label on the top of your WINC1500 in order to determine the model of the WiFi module. |
41 |
| - The last letter should tell if you have a Model A or Model B, for example: |
42 |
| - - `ATWINC1500-MR210PA` -> is a WINC1500 Model A |
43 |
| - - `ATSAMW25H18-MR510PB` -> is a WINC1500 Model B |
44 |
| -3. Based on your WINC1500 model you must use: |
45 |
| - - `firmware/19.4.4/m2m_aio_2b0.bin` for Model A |
46 |
| - - `firmware/19.4.4/m2m_aio_3a0.bin` for Model B |
47 |
| -4. Run the following command line |
48 |
| - `./winc1500-uploader -firmware XXX -port YYY` |
49 |
| - replacing `XXX` with your firmware file determined on step 3) and `YYY` with your serial port number. + |
50 |
| - For example: |
51 |
| - `./winc1500-uploader -firmware firmware/19.4.4/m2m_aio_2b0.bin -port /dev/ttyACM0` |
52 |
| - |
53 |
| -=== Other command line options === |
54 |
| - |
55 |
| -The full list of command line options can be obtained with the `-h` option: `./winc1500-uploader -h` |
56 |
| - |
57 |
| - Usage of ./winc1500-uploader: |
58 |
| - -address value |
59 |
| - address (host:port) to fetch and flash root certificate for, multiple values allowed |
60 |
| - -certs string |
61 |
| - root certificate directory |
62 |
| - -firmware string |
63 |
| - firmware file to flash |
64 |
| - -port string |
65 |
| - serial port to use for flashing |
66 |
| - -read |
67 |
| - read all firmware and output to stdout |
| 13 | +Extract the zip file and run (for example, NINA -> WiFi1010) |
68 | 14 |
|
69 |
| -== How to build the tools from source file == |
| 15 | + ./$your_os/updater -flasher firmwares/NINA/FirmwareUpdater.mkrwifi1010.ino.bin -firmware firmwares/NINA/1.2.1/NINA_W102.bin -port /dev/ttyACM0 -address arduino.cc:443 -restore_binary /tmp/arduino_build_619137/WiFiSSLClient.ino.bin -programmer {runtime.tools.bossac}/bossac |
| 16 | + |
| 17 | +To flash a MKR1000: |
| 18 | + |
| 19 | + ./$your_os/updater -flasher firmwares/WINC1500/FirmwareUpdater.mkr1000.ino.bin -firmware firmwares/WINC1500/19.5.4/m2m_aio_3a0.bin -port /dev/ttyACM0 -address arduino.cc:443 -restore_binary /tmp/arduino_build_619137/WiFiSSLClient.ino.bin -programmer {runtime.tools.bossac}/bossac |
| 20 | + |
| 21 | +=== Command line options === |
70 | 22 |
|
71 |
| - go get go.bug.st/serial |
72 |
| - go build src/github.com/arduino-libraries/WiFi101-FirmwareUpdater/cli/main/winc1500-uploader.go |
| 23 | +The full list of command line options can be obtained with the `-h` option: `./updater -h` |
| 24 | + |
| 25 | + Usage of ./distrib/linux64/updater: |
| 26 | + -address value |
| 27 | + address (host:port) to fetch and flash root certificate for, multiple values allowed |
| 28 | + -certs string |
| 29 | + root certificate directory |
| 30 | + -firmware string |
| 31 | + firmware file to flash |
| 32 | + -flasher string |
| 33 | + firmware upload binary (precompiled for the right target) -> if not provided it will expect FirmwareUpdater sketch to be already flashed on the board |
| 34 | + -model string |
| 35 | + module model (winc or nina) |
| 36 | + -port string |
| 37 | + serial port to use for flashing |
| 38 | + -programmer string |
| 39 | + path of programmer in use (avrdude/bossac) |
| 40 | + -read |
| 41 | + read all firmware and output to stdout |
| 42 | + -restore_binary string |
| 43 | + firmware upload binary (precompiled for the right target) -> if not provided it will try to restore the original firmware |
| 44 | + |
| 45 | +== How to build the tools from source file == |
73 | 46 |
|
74 |
| - go get github.com/google/gxui |
75 |
| - go get github.com/google/gxui/drivers/gl |
76 |
| - go get github.com/google/gxui/gxfont |
77 |
| - go get github.com/google/gxui/math |
78 |
| - go get github.com/google/gxui/samples/flags |
79 |
| - go build src/github.com/arduino-libraries/WiFi101-FirmwareUpdater/gui/main/winc1500-uploader-gui.go |
| 47 | + go get src/github.com/arduino-libraries/WiFi101-FirmwareUpdater/cli/main/ |
| 48 | + # important! navigate to src/github.com/facchinm/go-serial/ and checkout branch v1 ! |
| 49 | + # to be solved by vendoring the dependencies |
| 50 | + go build src/github.com/arduino-libraries/WiFi101-FirmwareUpdater/cli/main/ |
80 | 51 |
|
81 | 52 | == License ==
|
82 | 53 |
|
|
0 commit comments