Release notes Umikaze 2.1.1
- 1 Release notes
- 1.1 Important notice about redeem
- 1.2 Upgrading from Kamikaze 2.0.8
- 1.3 Upgrading from Kamikaze 2.1.0 with Redeem's master branch
- 1.4 Upgrading from Kamikaze 2.1.0 with Redeem's development branch
- 1.5 Upgrading
- 1.6 After Flashing
It's been a good 8 months in coming.
Below follows a list of features added to 2.1.1 since Kamikaze 2.1.0 came out:
- BeagleBone Black Wireless support
- Staging branch of Redeem installed by default, to get the latest goodies (tag 2.0.0).
- TI C PRU compilation software packages (for new PRU firmwares in use on the development branch of redeem)
- CPU governor fixed to "performance" by default, guaranteeing superior computational power when printing
- Octoprint version number now the official release version, instead of git commit modifications.
- Slic3r command line, allowing the use of the Slic3r plugin in OctoPrint
Errata: Octoprint and the /etc/kamikaze-release file will show Umikaze 2.1.1 RC2, however this is an oversight and will not impact functionality
Granted it sounds like a small feature change, given the amount of time it took to get it all done. However the trickiest of them was the wireless support. That alone took nearly 4 months of tinkering with the kernel in all sorts of ways to get it just right.
Now for the reason the release is made available before the integrated backup & restore of config files is built: The new version of Redeem requires the TI C PRU software packages (and a few python ones) not available in previous images of Kamikaze.
This new release of 2.1.1 unfortunately cannot fit in the eMMC of the 2GB beaglebones anymore - despite best efforts to keep the size down, the added requirements for Redeem make it just too large to fit.
Before merging the develop branch into master for Redeem, we want to make sure our users have all the needed tools to be able to install it, thus, 2.1.1.
So how do you upgrade to 2.1.1 without losing your files? Choose your current version below to get to the right section as needed:
Important notice about redeem
If you've been running a recent develop checkout (i.e. less than 3 months old) you can skip this section and move on.
The redeem code consists of multiple components, that run in different ways. Two of them are PRU firmwares - independent real-time pieces of code similar in essence to what arduino sketches would do (pardon the layman's explanation if you know better). The PRU firmwares in master until Kamikaze 2.1.0 were originally written by Elias Bakken in PRU assembly language and served the Replicape community well. But they were, in fact, not perfect. For one thing, the speeds and accelerations were incorrect - generally lower values physically than what was defined in the configuration. Andrew Wiley, one of the fearless redeem developers, has fixed that, by re-writing the PRU firmwares in C.
This means that any speed or acceleration value you had previously working with your machine will result in much higher acceleration and higher top speeds! It is highly recommended that you modify your values to be half to two-thirds of your previous values initially, then re-tune them to your machine.
You have our sincere apologies from the whole development team about this need to re-tune your values, however this guarantees a true correlation between configuration values and actual accelerations and speeds actuated by your printers, meaning if you had a working configuration using a RAMPS or other board, similar values should now be adequately close with Redeem.
These new PRU firmwares also require additional software packages to compile properly (and they get compiled and sent to the PRU each time redeem starts or the endstop configurations are modified). Umikaze 2.1.1 will not currently fit on the 2GB variants of the Beaglebone - efforts are ongoing to try and reduce footprint while maintaining functionality, but in the meantime it is recommended that you run Umikaze 2.1.1 off the microSD card if you use a 2GB beaglebone.
Below is a snippet with the main parameters that have changed in the new Redeem version, though there may be some that have slipped through the cracks here and there. We will try to maintain this list updated if any omissions are found, so make sure to check back here if you have difficulties, or ask for help in the Google+ community, or even better, on the Replicape Slack (invite link here
Sections with changes on default from master to staging:
[Delta] Hez = no longer used in calculations Ae/Be/Ce = effector offset no longer used. A/B/C_tangential - no longer used. A_angular, B_angular, C_angular = now used.
[Planner] No Longer used: max_length = 0.001 New: # if total buffered time gets below (min_buffered_move_time) then wait for (print_move_buffer_wait) before moving again, (ms) min_buffered_move_time = 100 No longer used: min_speed_x = 0.005 min_speed_y = 0.005 min_speed_z = 0.005 min_speed_e = 0.01 min_speed_h = 0.01 min_speed_a = 0.01 min_speed_b = 0.01 min_speed_c = 0.01
Upgrading from Kamikaze 2.0.8
Liked the stability of 2.0.8? Umikaze 2.1.1 RC3 has been tested thoroughly for several weeks by multiple users on cartesian, delta and core XY geometries. Few negative reports were made, and most of those pertained to Redeem bugs which were quickly fixed.
To backup your configuration you'll need either: - a USB drive of 4GB or more that you can plug in while maintaining network connection (i.e. USB hub if you have a wifi dongle) - a microSD card of 4GB with an empty file system and that doesn't contain a BBB image on it.
You'll also need a little bit of patience, and a computer where you can run SSH to connect to the BBB.
First you need to tell Kamikaze where to find the SD card, and which folder it should be made accessible as. Linux folks will know this as a "mount command".
The SD card on the BBB (and BBBW) should always have the same device name, so the following command should work:
mount /dev/mmcblk0p1 /mnt/
Now, any file or folder added, created or removed in /mnt/ will be on the SD card.
So, the interesting part is to select what to backup:
cp -r /etc/redeem/ /mnt/redeem_cfg_backup will copy the files from /etc/redeem/ into a new folder on the SD named "redeem_cfg_backup".
OctoPrint configuration + Timelapses
cp -r /home/octo/.octoprint/ /mnt/octoprint_cfg_backup will copy the Octoprint files (including timelapses) over.
STL and GCode files uploaded to OctoPrint
cp -r /usr/share/models /mnt/models will copy the files you've uploaded to Octoprint.
Unfortunately the 2.0 and the 2.1 *kaze image series don't use the same network configurator - there's no easy way to port this over, so you're most likely going to want to re-do this part after installing 2.1.1. If you're a linux guru and defined your own IPtables rules, though, go ahead and save those, I'm assuming you know how to do that since you set them up in the first place :)
Update your configuration for the new version of redeem
Keep a copy of your old files in some place relatively safe, in case you decide to come back to 2.0.8 for some reason.
Then you'll want to edit your local.cfg to look for any of the parameters described in the configuration change section, and edit your file in accordance (remove no longer used parameters, and if you know what they do, override the relevant new ones with the values you need.
Upgrading from Kamikaze 2.1.0 with Redeem's master branch
Please backup your files as per the instructions for Kamikaze 2.0.8 users above.
However, as network settings for 2.1.0 and 2.1.1 are compatible, do back those up as well:
cp -r /etc/NetworkManager /mnt/NetworkManager will copy the network configuration settings you have saved.
Upgrading from Kamikaze 2.1.0 with Redeem's development branch
Good news - your configuration should be up to date, depending on when was the last time you did a git pull for the develop branch! So, what you need to do first is to go to the /usr/src/redeem folder, then execute (when not printing, obviously!):
git pull && git checkout stating && python setup.py clean install && pip install nympy && systemctl restart redeem
Check that Redeem has restarted properly, and look for any messages about obsolete or undefined configuration options. If redeem hasn't restarted, use
systemctl status redeem -l -n 100 as a means of checking for errors before redeem starts dumping things into the log file. Those error messages should be pretty explanatory. If not, come to #support on Slack and ask for help, we're always happy to help.
Once Redeem is starting again, finish backing up everything else, using the instructions for 2.0.8 and 2.1.0 and get ready for the flash.
As always, the recommended way of flashing the Umikaze 2.1.1 image is to use Etcher.
You'll need a microSD card of 4GB at least, and be ready for the fact that all data on it will be erased to make room for the Umikaze image.
Important note if you can't easily access your BBB mounted on the printer
If you have difficulty accessing your BeagleBone to connect it via ethernet or the mini-USB socket, please take the time to read this section before proceeding, it'll save you time and pain. Or at least warn you of what's ahead.
If you were using 2.1.0 and have a backup of your Network settings (i.e. NetworkManager folder on your backup disk), it may be helpful to copy that file directly over into the image you flashed for Umikaze 2.1.1 before flashing the BBB with it. Why? Because then when you flash, you're flashing with the files already pre-installed.
If you were running 2.0.8, the network manager has changed and is no longer connman, but NetworkManager instead. Why? Mostly because we like the ability to use
nmtui as a simple text interface network configuration tool where you don't need to issue arcane commands picky on the syntax.
Copying NetworkManager settings onto the Umikaze flashed image
You'll need to be able to read the files on the flashed SD card. OS X and Linux will have no trouble doing this, Windows will be slightly more of a challenge. The SD card uses an ext3 file system, which Windows doesn't natively read. However this tutorial will help you achieve that.
Once you see the files on the SD card, copy the entire NetworkManager folder from your backup drive to within the
etc folder on the Umikaze image. You will want to overwrite any files and folders previously existing there.
Creating a NetworkManager setting on the Umikaze flashed image
Assuming you've been using 2.0.8 for a while, you may be wondering "how in the world will I get Umikaze connected if I can't hook up a cable to my BBB?" Fear not. Two ways for this exist.
- The simpler, easier way, is that if you have a spare BBB lying around, you can edit one line of one file on the SD card so it will boot from SD instead of flash from SD. This file is
boot/uEnv.txtand the line to edit is the very last one in the file - simply add a # in front of the command. Now, you can boot the spare BBB off the SD card, set the wifi network you want using
nmtui, make sure you're connected to the 'net with it, and then shut it down. Pull out the SD, insert it into your computer, open up the
boot/uEnv.txtfile again, remove the # sign you inserted on the very last line, save, remove the SD card and flash away.
- The slightly more complex way, because you'll need to create a configuration file instead of use the tools to set one up for you, means creating a file and editing it on the SD card. You'll need to be very careful about following the right syntax and not having typos. You'll need to create a file in this folder:
[connection] id=<your network name as you want it to appear in the manager> uuid=8836d6ae-0218-4c96-a204-247109ab820a type=wifi permissions= secondaries= [wifi] mac-address=<the mac address of your BBB's wifi device> # you can get your BBB's mac address by running
ifconfigon your BBB and looking for the entry with the IP of your network. mac-address-blacklist= mac-address-randomization=0 mode=infrastructure seen-bssids= ssid=<your wifi SSID, the name of the wifi network> [wifi-security] auth-alg=open group= key-mgmt=wpa-psk pairwise= proto= psk=<your wifi password> [ipv4] dns-search= method=auto [ipv6] addr-gen-mode=stable-privacy dns-search= method=auto
Insert the microSD into the BeagleBone when it's powered off.
Power up the BeagleBone, holding down the boot button (the button closes to the SD card slot) until you see all 4 LEDs light up. After up to a minute the cylon (or Knight-Rider) pattern should start going, indicating the flash is happening.
Now's the tricky bit, how do you make sure you get all your files back on, especially if you've mounted the BBB in a place it's hard to reach and not easy to connect to a computer?
If you were running 2.1.0 before, you should have your previous network settings if you were using a wifi network. There's a trick you can use if you're running Mac OSX or Linux, where before you flash you can insert your settings in the SD card's files in the proper location, so they get copied over with the flash.
Otherwise, your best bet is to manage to get your BBB tethered to a computer via USB (the mini or micro port next to the power connector, away from the replicape's power input). Whether you use Windows or a *nix system, you should be able to access it locally on the USB-ethernet bridge. Then use
ssh or PuttY on Windows to logon (if 192.168.7.2 doesn't ping on Windows, try 192.168.6.2).
Restoring Network Configuration
This is assuming that you have managed to connect to your BBB after the upgrade (either via ethernet or USB-ethernet tether), and haven't copied the files into the image SD card first. This step is only helpful if you were using Kamikaze 2.1.0 prior to the upgrade.
Mount the USB drive or SD card back in after being logged in via SSH to the BBB.
- If using an SD card, mount it with
mount /dev/mmcblk0p1 /mnt/
- If using a USB flash drive, mount it with
mount /dev/sdb1 /mnt
Then copy the NetworkManager files back in place with:
cp -r /mnt/NetworkManager /etc/
Restoring OctoPrint Configuration & TimeLapses
This one needs to be done right after you restore the network communication. This is because OctoPrint itself has an internal upgrade mechanism and if you use old configuration files, OctoPrint reads them, then just upgrades them after having loaded the values it can from the files on disk. Cool, right? Thank Gina over at octoprint.org. We're still trying to catch to all the awesome bells and whistle's she's managed to build into OctoPrint!
Assuming you've mounted your SD card or backup drive as indicated in Restoring Network Configuration, follow this simple step to restore OctoPrint configurations:
cp -r /mnt/octoprint_cfg_backup /home/octo/.octoprint && chown -R octo:octo /home/octo
Then restart octoprint, either through SSH with
systemctl restart octoprint, or via the OctoPrint interface if it's available to you.
Restoring Redeem Configuration
What's important here is to copy only your local.cfg file, and not all the files. The reason for this is that Redeem's default.cfg file has changed since the last version you had installed, and you don't want to feed it a file without all the values it expects, and some it doesn't use anymore. So.
The best way is to go through the octoprint Redeem plugin tab in the settings panel, and hit the "edit" icon next to the local.cfg file. Copy the contents of the local.cfg file you had backed up into, save, make sure you select the printer geometry type you need in the list below by clicking the star, and then press the blue "Restart Redeem" button. After a minute or so you should be able to reconnect OctoPrint to Redeem and start moving your printer again.
That said, make sure you have your SD or USB drive inserted and mounted as in Restoring Network Configuration and then follow these simple steps:
cp /mnt/redeem_cfg_backup/local.cfg /etc/redeem/ && chown -R octo:octo /etc/redeem
Restoring the STL and GCode models
Again make sure you have your SD card or USB drive inserted and mounted as in Restoring Network Configuration.
Then simply run
cp -r /mnt/models /usr/share/ && chown -R octo:octo /usr/share/models
Voila, you're done!
To cleanly unmount your SD card or USB drive (i.e. to make sure all files are properly copied in place and not risk damaging the filesystem on the removable storage device), execute
umount /mnt/. Wait until the command finishes, and once it's done, you can remove the USB or SD drive from the BBB and start discovering the changes we've made.
Admittedly they're all a bit deeper than the surface, but you should enjoy a smoother printer than you had before.