Upgrading NSX from the Command line

Every once in a while a new version of NSX comes out which you need to upgrade to. Last week NSX 6.1.3 was GAed and being the good techie I am I needed(wanted) to upgrade to it. Now I travel a lot and use remove VPN to access my lab at home and that’s where the problem started.

The upgrade process for NSX is pretty easy as long as you follow procedure and have local access. The process involves in opening a WEB connection to the NSX manager and then clicking on the upgrade button, which then pop-ups a file browser… Uploading a 2.5 GB file using a VPN connection from a hotel is something I attempted once and generally I decided never to do this again. So I needed another solution, API access!!!!

Step 1 – Get the NSX upgrade bundle

The first thing you need to do is get the NSX upgrade bundle. The problem with this is that you need to use a browser and the damn file is then local which you then have to upload bla bla bla…¬† The solution that I have found is by using my local browser to login to my.vmware.com, select the file I need and start the download. Then I copy the Download URL, login to my homelab and wget the file making sure I use the -O option to save the file.

wget "https://download2.vmware.com/software/NSX-V-610/VMware-NSX-Manager-upgrade-bundle-6.1.3-2591148.tar.gz?<REMOVED>" -O "VMware-NSX-Manager-upgrade-bundle-6.1.3-2591148.tar.gz"

This will save the upgrade bundle locally.

Step 2 – Upload the NSX upgrade bundle

The next step is to upload the NSX bundle to the NSX manager and for that we use CURL. Here is the code:

curl -i -v -k -u admin: -H 'Accept:application/xml' -F file=@VMware-NSX-Manager-upgrade-bundle-6.1.3-2591148.tar.gz -X POST https:///api/1.0/appliance-management/upgrade/uploadbundle/NSX -o upload.out

This will allow you to upload the bundle from you local site.

Step 3 – Check that the NSX bundle is uploaded

Next is to make sure that the bundle has been uploaded correctly:

curl -k -u admin: -H "Accept:application/xml" -X GET https:///api/1.0/appliance-management/upgrade/information/NSX

This should output the following:



    6.1.1
    6.1.3
    Upgrade to 6.1.3
    
        
            preUpgradeChecks1:Q1
            Do you want to enable SSH ?
            YESNO
        
    
    
        
            ValidationStep
            Upgrade Bundle Validation
            Upgrade bundle will be validated before the actual upgrade process.
        
        
            UpgradeStep
            Upgrade NSX manager
            Upgrade process for NSX Manager will begin.
        
    
    Please take a snapshot of the VM before proceeding with the upgrade.

Step 4 – Make a backup and snapshot

Before you upgrade make a backup!!!! how to do this LMGTFY ūüôā

Marlin firmware send okokokokokok

Living on the edge sometimes is not where you want to be when building a 3D printer.

After upgrading to the latest Master of marlin, every command I would send to marlin would result in an OK message that would repeat itself a gazillion times.

Connecting...
start
Printer is now online.
echo: External Reset
Marlin1.0.0
echo: Last Updated: Jan  8 2015 15:35:52 | Author: build 004
Compiled: Jan  8 2015
echo: Free Memory: 5184  PlannerBufferBytes: 1232
echo:Hardcoded Default Settings Loaded
echo:Steps per unit:
echo:  M92 X80.00 Y80.00 Z80.00 E836.00
echo:Maximum feedrates (mm/s):
echo:  M203 X500.00 Y500.00 Z500.00 E25.00
echo:Maximum Acceleration (mm/s2):
echo:  M201 X9000 Y9000 Z9000 E10000
echo:Acceleration: S=acceleration, T=retract acceleration
echo:  M204 S3000.00 T3000.00
echo:Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum XY jerk (mm/s),  Z=maximum Z jerk (mm/s),  E=maximum E jerk (mm/s)
echo:  M205 S0.00 T0.00 B20000 X20.00 Z20.00 E5.00
echo:Home offset (mm):
echo:  M206 X0.00 Y0.00 Z0.00
echo:Endstop adjustement (mm):
echo:  M666 X0.00 Y0.00 Z0.00
echo:Delta settings: L=delta_diagonal_rod, R=delta_radius, S=delta_segments_per_second
echo:  M665 L284.00 R126.00 S200.00
echo:PID settings:
echo:   M301 P22.20 I1.08 D114.00
>>>m119
SENDING:M119
okokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokokReporting endstop status

It seems that a patch was the culprit:

https://github.com/MarlinFirmware/Marlin/issues/1318

Enjoy!

Rostock delta printer, Minitronics and MAX ENDSTOP

Welcome!!! You have arrived here most probably because you are in the process of building a Roctock Delta or something that looks like it and might be having the following issues:

  1. When you type M119 (to check your endstops) it shows NOTHING
  2. You’re an idiot like me and pressed the Home Button on your 3d HOST and your delta decided to go thru the roof.

After a whole bunch of looking at code and debugging I figured out that the pins.h file that is included in the Marlin code basically has the MAX ENDSTOPS disabled.  To fix this edit the pins.h file and jump to the section of the MINITRONICS (around line 2712) and update the following:

Change
#define X_MIN_PIN -1
#define X_MAX_PIN 5 //2 //Max endstops default to disabled “-1”, set to commented value to enable.
to
#define X_MIN_PIN 5
#define X_MAX_PIN -1 //2 //Max endstops default to disabled “-1”, set to commented value to enable.

Change
#define Y_MIN_PIN -1
#define Y_MAX_PIN 2 //15
to
#define Y_MIN_PIN 2
#define Y_MAX_PIN -1 //15

Change
#define Z_MIN_PIN -1
#define Z_MAX_PIN 6
to
#define Z_MIN_PIN 6
#define Z_MAX_PIN -1

What this does is basically switch off the MIN ENDSTOP, which is not used on a delta and assigns the pins on the MINITRONICS to the MAX ENDSTOP.

Happy building!

Updating QU-BD hotend with 12V 40W heater cartridge

Way back, a long long time ago, I bought a QU-BD extruder thinking 40 bucks would be worth it. Well after about 3 weeks of printing the damn thing kept failing. Upgrade the drive gear, printed some thingiverse stuff and all was fine again, until this week when the resistor would not take me to 180C which I needed for PLA.

So I decided to replace the Resistor with a 40W 12V ceramic cartridge that I purchased from MiniInTheBox.com. So after drilling out the resistor and expanding the hole to accommodate the new cartridge it was time to fire it up.

So first off let me warn you that when you turn this thing on for the first it, it will SMOKE and smell like crap. But this did not deter me. After the smoke died down it was time to get it to 180C and low and behold it jumped to 180C then past it to 195C, then back down to 165C, then back up to 195C…¬† It was giving me a sinus.¬† Right so next was PID autotune:

M303 S180

The value that was given back was uploaded in the firmware, and time to test it again…¬† Hmmm not good still a very very big Sinus and no stability what so ever.¬† So I jumped online and found a site that pointed to me to the correct start settings:

#define  DEFAULT_Kp 45.0
#define  DEFAULT_Ki 4.2
#define  DEFAULT_Kd 120
Again upload and testing, now the sinus was still there but it was smaller. Then I realized something very important.¬† I had drilled out the Brass block and therefore removed a lot of the material normally needed for heat, and with that had failed to re-insulate the head!¬† I wiped out a roll of Kanton tape and insulated the head with a lot of tape. Results…¬† It now kept a nice 180C with a drift of 1C top and bottom.
Next is M303 again to see if I can get it even more stable…
MOTTO OF THE STORY: Even-though most people on the Internet say that you should not have to insulate your head, not doing so is really not going to get your head temp stable.