The device plugin doesn't work in iOS 5.1.1 because the unique device identifier uses identifierForVendor to get the device uuid. However this is not valid in iOS older than 6.0.
In the method uniqueAppInstanceIdentifier, there is a reference to maintaining backward compatibility for versions that didn't use identiferForVendor. Unfortunately the code only works if the app had previously been installed on that device (because it looks for the CDVUUID that was previously stored on the device). If the install is new, this app_uuid is nil and it tries to use identifierForVendor.
I realize that iOS 5 is no longer supported in Cordova, but since the code attempts to be backward compatible (based on the inline comments), I figured this could be fixed with a few lines of code (which I have done and will submit shortly).