MSEndpointMgr / ConfigMgr

Microsoft Endpoint Configuration Manager scripts and tools
637 stars 281 forks source link

Surface Pro 4 Detection #28

Closed ekrizon closed 4 years ago

ekrizon commented 6 years ago

Hi,

Great work on this!

Most of our models are working great (HP and Dell), however Surface Pro 4 is not detecting or applying drivers properly.

ApplyDriverPackage.log shows "Call to web service for package objects returned empty" and SMSTS.log shows "The storage control block address is invalid"

Logs attached. We are using the latest 2.0.5 version of the PowerShell script and 1.5.0 WebService

Thanks in advance!

ApplyDriverPackage.log smsts.log

ekrizon commented 6 years ago

So I noticed 2.0.6 is out now with fixes to Surface detection mentioned. I updated an reattempted.

Now ApplyDriverPackage shows a match to Surface Pro 4 package however does not download it and the same error exists in smsts.log as before: "Failed to run the action: Dynamic Driver Package Detection. The storage control block address is invalid. (Error: 00000009; Source: Windows)"

New Logs:

ApplyDriverPackage.log smsts.log

NBL-HEIM commented 6 years ago

Hey ekrizon,

I've been getting the same error on my smsts.log file after a successful detection on my HP ElitePad 1000 G2 device.

Waiting to see what happens. I suspect that they are merging the BIOS and drivers code together to make it more seamless. Hopefully in that process they fix this issue.

ekrizon commented 6 years ago

Think I figured it out. According to the driver script even in 2.0.6 latest, Microsoft models need OSImageVersion in the package name. When I used the driver automation tool to download Surface drivers back in November it named the package:

Drivers - Microsoft Surface Pro 4 - Windows 10 x64

however I needed to add info like the HP's so it read:

Drivers - Microsoft Surface Pro 4 - Windows 10 10.0.16299.15 x64

I downloaded the latest driver automation tool (5.2.1) and recreated the package and it still named it without the OSImageVersion so not sure..

gvanngo commented 6 years ago

Hello, I'm running into the same issue on Surface Pro 3's and 4's. Were you able to figure this out?

ekrizon commented 6 years ago

Yes, rename the package in sccm and add the osimageversion like I did in the above comment

Drivers - Microsoft Surface Pro 4 - Windows 10 10.0.16299.15 x64

gvanngo commented 6 years ago

Thank you for the reply! I did as you instructed and renamed the package Drivers - Microsoft Surface Pro 3 - Windows 10 10.0.16299.248 x64 Drivers - Microsoft Surface Pro 4 - Windows 10 10.0.16299.248 x64 It's still not working in my OSD task sequence. It does however work from the full OS. The ApplyDriverPackage.log shows a match, but i still get that error The storage control block address is invalid. in the SMSTS.log. The script returns a 9 which is "Call to web service for package objects returned empty". Let me know if you think of anything else. Thanks for your help.

ekrizon commented 6 years ago

to get around the storage control block address error on some models I have had to enable "continue on error" for the driver step in the task sequence. Then even though it shows that error it still installed the drivers.

Try that, if not could you post your smsts and applydriverpackage logs?

ABitBA commented 6 years ago

You need to name your packages like this Drivers - Microsoft Surface Pro 1807 - Windows 10 10.0.16299.431 x64

To get the SystemSKU in my example 1807 you can use the following query.

(Get-WmiObject -Namespace root\wmi -Class MSSystemInformation | Select-Object -ExpandProperty SystemSKU).Replace(""," ")

For example we have two Versions of Surface Pro. WiFi (1796) and LTE (1807)

leebow55 commented 5 years ago

You need to name your packages like this Drivers - Microsoft Surface Pro 1807 - Windows 10 10.0.16299.431 x64 To get the SystemSKU in my example 1807 you can use the following query. (Get-WmiObject -Namespace root\wmi -Class MSSystemInformation | Select-Object -ExpandProperty SystemSKU).Replace(""," ") For example we have two Versions of Surface Pro. WiFi (1796) and LTE (1807)

So do you have 2x packages for the SP5/2017 - a package for 1796 and a package for 1807 even though MS now share the same drivers for the LTE and Wifi

kingskawn commented 5 years ago

I've got something similar on a HP EliteDesk 800 G4:

The task sequence execution engine failed executing the action (Dynamic Driver Package Detection) in the group (Driver Packages) with the error code 9 Action output: ... TaskSequence\Packages\PRI0020D\Invoke-CMApplyDriverPackage.ps1.bak6 Downloading file /SMS_DP_SMSPKG$/PRI0020D/sccm?/Invoke-CMApplyDriverPackage.ps1.bak7 range 0-62745 Downloaded file from http://SVRPRI1.SKN.COM:80/SMS_DP_SMSPKG$/PRI0020D/sccm?/Invoke-CMApplyDriverPackage.ps1.bak7 to C:_SMSTaskSequence\Packages\PRI0020D\Invoke-CMApplyDriverPackage.ps1.bak7 VerifyContentHash: Hash algorithm is 32780 Content successfully downloaded at C:_SMSTaskSequence\Packages\PRI0020D. Resolved source to 'C:_SMSTaskSequence\Packages\PRI0020D' Command line for extension .exe is "%1" %* Set command line: Run Powershell script Working dir 'C:_SMSTaskSequence\Packages\PRI0020D' Executing command line: Run Powershell script Process completed withexit code 9 Command line returned 9 ReleaseSource() for C:_SMSTaskSequence\Packages\PRI0020D. reference count 1 for the source C:_SMSTaskSequence\Packages\PRI0020D before releasing Released the resolved source C:_SMSTaskSequence\Packages\PRI0020D. The operating system reported error 9: The storage control block address is invalid.

vorlon77 commented 5 years ago

Are there cases where a surface model has two different varients with different drivers?

Allan. On Mar 6, 2019 6:26 AM, "leebow55" notifications@github.com wrote:

You need to name your packages like this Drivers - Microsoft Surface Pro 1807 - Windows 10 10.0.16299.431 x64 To get the SystemSKU in my example 1807 you can use the following query. (Get-WmiObject -Namespace root\wmi -Class MSSystemInformation | Select-Object -ExpandProperty SystemSKU).Replace(""," ") For example we have two Versions of Surface Pro. WiFi (1796) and LTE (1807)

So do you have 2x packages for the SP5/2017 - a package for 1796 and a package for 1807 even though MS now share the same drivers for the LTE and Wifi

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/SCConfigMgr/ConfigMgr/issues/28#issuecomment-470106208, or mute the thread https://github.com/notifications/unsubscribe-auth/AoM9WHyWjYkyWDNo4lEowtDTycm0PMGfks5vT8IdgaJpZM4SI6yN .

cosine83 commented 5 years ago

Seeing similar issues with Surface Pro 3 detection. It's not detecting the model properly (or they didn't put the 3 in the model when called from WMI) and the package architecture is set to x86. Have tried changing the package name and adding "Surface_Pro" in the included models under comments but no luck.

===== SCConfigMgr Invoke-CMApplyDriverPackage Version 2.2.3 ==== Driver download package process initiated Manufacturer determined as: Microsoft Computer model determined as: Surface Pro Unable to determine system SKU value Retrieved a total of 51 driver packages from web service Attempting to detect OS Image data from task sequence, running in DeploymentType: BareMetal Translated OSName from OSImageVersion: Windows 10 Translated OSVersion from OSImageVersion: Translated OSImageArchitecture: x64 Using computer detection method: ComputerModel

It fails from there.