7 Replies Latest reply on Oct 14, 2011 7:20 AM by cgodden

    OSD task fails - Return Code -85

    Apprentice

      We have a new Lenovo ThinkStation S20 that is giving us some problems with OSD. In approximately 6 attempts to run our OSD task we have had only one success. The OSD task runs ok on other machines.

       

      Analyzing the failures I found that they all gave a Return Code of "-85" and the LANDesk OSD job showed a result of "Unknown status code (0x8DB9FFAB,3513:65451)".

       

      The task log was very brief...

       

      "Machine","CbaStatus","ExitCode","Duration","Begin","End","Command"
      "23050254SW13153","OK",0,0:00:00,8/3/2011 1:29:14 PM,8/3/2011 1:29:14 PM,"WINPE, TIMEOUT=1800"
      "23050254SW13153","ERR_Fail",-1917190229,0:02:00,8/3/2011 1:29:14 PM,8/3/2011 1:31:14 PM,"ldrun drvmap.exe psd70ad\ServiceAccountX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX I: """\\2305deploy\deploy$""", STATUS FACILITY=3513"
      ; "Job Complete","0 Done","1 Failed","0 Off","0 Unknown"

       

      I eventually realized that the OSD task is failing because the Drive letter "I:" is already in use - this computer has a built in Multi Card Reader that in WinPE is using drive letters F: G: H: I: and J:.

       

      My question is - should I edit my OSD scripts so that they use different drive letter mappings, or is there an easy way to make my scripts work with the default mappings of "H:" and "I:"? To put it another way, can I modify the PXE environment so that it always reserves Drive H: and I: no matter what devices are found on the computer? (My problem with editing the OSD scripts is that the whole problem could come back if we receive another new computer model with even more storage devices. I suppose I could choose a really high drive letter for my OSD scripts like "X:" and "Y:".)

       

      If anybody has experience with this problem I'd be glad to see your solution or workaround. And if anybody comes across this thread because OSD is failing with Return Code "-85", then check in your Win PE boot and see if drive H: and I: have been used by a storage device.

       

      Jayson

        • 1. Re: OSD task fails - Return Code -85
          Jared Barneck SupportEmployee

          That is interesting.

           

          I know WinPE used to run a command that is supposed to disconnect most unused drives, including the multi-card reader, so this doesn't happen. I have to assume that this script is failing for some reason.

           

          I can't remember the scripts name...There is a batch file in the WinPE image that is run by Startnet.cmd, that should disconnect many drives. It might be Remove.Bat.

           

          You can change your script to a larger drive letter, but that is annoying.

          1 of 1 people found this helpful
          • 2. Re: OSD task fails - Return Code -85
            EMiranda Expert

            in OSD the script that removes all the drive letters is the REMEXEC line

             

             

            REMEXECXX=diskpart /s X:\LDClient\rmvol.txt
            

             

            this starts out the OSD process by removing all the volume drive letters and prepare it for mapping drive letters.

             

            According to the log you provided, that line was removed or LANDesk didnt put it in there when you saved your script.

             

            Just add the line after your WINPE, TIMEOUT=1800 and you should be good to go, like this:

             

             

            REMPING17=WINPE, TIMEOUT=1800 
            REMEXEC18=diskpart /s X:\LDClient\rmvol.txt
            
            • 3. Re: OSD task fails - Return Code -85
              Apprentice

              Many thanks to both of you! EMiranda, your answer was a little more specific so I'm happy to award you your choice of a cigar or a kewpie doll. <G>

               

              Strange thing though - my OSD scripts did have the  necessary diskpart commands, but it looks like they were in the wrong place - after the drive mapping commands. Not sure how that happened. Here's a snippet from my OSD script before I fixed it...

               

              BEGINWINPE=TRUE
              REMPING17=WINPE, TIMEOUT=1800
              REMEXEC18=ldrun drvmap.exe SERVICEACCOUNT XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX I: """\\2305deploy\deploy$""", STATUS FACILITY=3513
              REMEXEC19=ldrun drvmap.exe SERVICEACCOUNT XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX H: """\\2305ldcore1\ldmain""", STATUS FACILITY=3513
              REMEXEC20=ldrun sdclient /f /o /dest="X:\LDClient\LDPathExist.exe" /p="http://%CUSTJOBHOSTIP%/landesk/files/LDPathExist.exe", STATUS
              REMEXEC21=ldrun LDPathExist.exe """I:\imaging\images\W7x64P02A.TBI""", STATUS
              REMEXEC22=ldrun LDPathExist.exe """H:\osd\imagew 2\imagew.exe""", STATUS
              REMEXEC23=diskpart /s X:\LDClient\rmvol.txt
              REMEXEC24=diskpart /s X:\LDClient\WIPECLEANDISK0.TXT

               

              I fixed this by moving the REMEXEC23 command up to REMEXEC18, and then renumbering all the lines between so there wouldn't be duplicates.

               

              Thanks again for the rapid response!

               

              Jayson

              • 4. Re: OSD task fails - Return Code -85
                EMiranda Expert

                I never been offered a kewpie doll. thanks!

                • 5. Re: OSD task fails - Return Code -85
                  Jared Barneck SupportEmployee

                  Glad EMiranda hooked you up, I was out of town and not in front of a Core Server and I've been low on sleep since...

                  Anyway I couldn't remember rmvol.txt or whether it was called by the script of by startnet.bat.

                  • 6. Re: OSD task fails - Return Code -85
                    Specialist

                    Thanks for the post. We recently started using the S20 model and our script was also out of order. After modifying it works like a champ

                    • 7. Re: OSD task fails - Return Code -85
                      Specialist

                      I did an advanced edit on the OSD object but the next time i go in and make a change the script reverts back to REMEXEC23 being out of place. Where is the default script located so i can change this permanently?