Topic: [BUG][Base1006][Mass1107] Superfluous Marvell drivers installed

I added mass storage drivers to an XP professional CD and tested it on VirtualBox 4.0.12. There were no errors. After the install, I was surprised to see some superfluous Marvell drivers (mv61xxmm, mv64xxmm, mvxxmm) installed and running. (Device Manager - View - Show hidden devices - expand Non-Plug and Play Drivers - drivers in question may be named "Unknown")

Comments? Does this happen on every install?

2011-07-22 19:54:51 : <INIT> DriverPacks BASE 10.06 initialized.
2011-07-22 19:54:51 : <INIT> Host environment: WIN_XP Service Pack 3 X86 on a X64 CPU.
2011-07-22 19:54:51 : <INIT> Created temporary working directory.
2011-07-22 19:54:51 : <INIT> Imported proxy settings from Internet Explorer.
2011-07-22 19:54:51 : <INIT> Start scanning for DriverPacks for the wnt5_x86-32 platform.
2011-07-22 19:54:51 : <INIT> 	Detected DriverPack Chipset 1107!
2011-07-22 19:54:51 : <INIT> 	Detected DriverPack LAN 1101!
2011-07-22 19:54:51 : <INIT> 	Detected DriverPack Mass Storage 1107!
2011-07-22 19:54:51 : <INIT> 	Detected DriverPack WLAN 1101!
2011-07-22 19:54:51 : <INIT> 	Detected 3rd Party DriverPack Misc 1!
2011-07-22 19:54:51 : <INIT> 	Detected 3rd Party DriverPack Modem 1101!
2011-07-22 19:54:51 : <INIT> 	Finished scanning.
2011-07-22 19:54:51 : <INIT> Detected settings file "C:\_Mnt\Temps\BASE\DPs_BASE.ini".
2011-07-22 19:54:51 : <INIT> Windows XP Professional -  Retail SP3 detected.
2011-07-22 19:54:51 : <INIT> wnt5_x86-32_disc is the selected installation platform .
2011-07-22 19:54:51 : <INIT> Imported settings from settings file.
2011-07-22 19:54:51 : <INIT> [OptionalSettingsOther]\ATI_cpl not specified: default (None) was set.
2011-07-22 19:54:51 : <INIT> [OptionalSettingsOther]\Nvidia_cpl not specified: default (None) was set.
2011-07-22 19:54:51 : <GUI>  Initialized GUI.
2011-07-22 19:54:51 : <GUI>  Created a list of all available language files.
2011-07-22 19:54:52 : <GUI>  Set the last used language, English, as the GUI language.
2011-07-22 19:54:53 : <GUI>  Saved settings!
2011-07-22 19:54:53 : <GUI>  Closed GUI.
2011-07-22 19:54:53 : <SEL>  Selected module: mod_slip_wxp_x86-32_disc_m2.
2011-07-22 19:54:54 : <PREP> Removed all attributes from \I386.
2011-07-22 19:54:54 : <PREP> No previous DriverPacks installation found, Prep stage will be skipped
2011-07-22 19:55:00 : <SLIP> Extracted DriverPack MassStorage to a temporary working directory.
2011-07-22 19:55:00 : <SLIP> C:\_Mnt\Temps\BASE\tmp\DPMtmp\DriverPack_MassStorage_wnt5_x86-32.ini
2011-07-22 19:55:00 : <SLIP> Processing Mass Storage files now. This may take a minute.
2011-07-22 19:56:29 : <SLIP> Slipstreamed DriverPack MassStorage text mode driver files.
2011-07-22 19:56:29 : <SLIP> txtsetup.sif Backed-up Successfully
2011-07-22 19:56:29 : <SLIP> dosnet.inf Backed-up Successfully
2011-07-22 19:57:19 : <SLIP> Removed entries from \I386\txtsetup.sif that will be updated.
2011-07-22 19:57:33 : <SLIP> Removed entries from \I386\dosnet.inf that will be updated.
2011-07-22 20:03:28 : <SLIP> Updated \I386\dosnet.inf and \I386\txtsetup.sif to support DP MassStorage text mode drivers.
2011-07-22 20:03:28 : <SLIP> Created necessary directory structure for method 2.
2011-07-22 20:03:28 : <SLIP> Copying files necessary for method 2.
2011-07-22 20:03:29 : <SLIP> Extracted additional files necessary for method 2.
2011-07-22 20:03:29 : <SLIP> expanded setup.ex_ to setuporg.exe
2011-07-22 20:03:29 : <SLIP> SETUP.EX_ Backed-up Successfully
2011-07-22 20:03:30 : <SLIP> Compressed setup.exe to SETUP.EX_.
2011-07-22 20:03:30 : <SLIP> Method 2 setup.ex_ installed
2011-07-22 20:03:30 : <SLIP> Created \I386\presetup.cmd file.
2011-07-22 20:03:30 : <SLIP> Updated \I386\txtsetup.sif to support method 2.
2011-07-22 20:03:31 : <SLIP> Updated \I386\dosnet.inf to support method 2.
2011-07-22 20:03:31 : <SLIP> Copied DriverPack Chipset to \OEM.
2011-07-22 20:03:31 : <SLIP> Copied DriverPack LAN to \OEM.
2011-07-22 20:03:31 : <SLIP> Copied DriverPack Mass Storage to \OEM.
2011-07-22 20:03:32 : <SLIP> Copied DriverPack WLAN to \OEM.
2011-07-22 20:03:33 : <SLIP> Renamed DriverPack DP_Misc_wnt5_x86-32_1.7z to DP_Misc_.7z in \OEM.
2011-07-22 20:03:33 : <SLIP> Renamed DriverPack DP_Modem_wnt5_x86-32_1101.7z to DP_Modem.7z in \OEM.
2011-07-22 20:03:33 : <SLIP> Copied DriverPacks to \OEM.
2011-07-22 20:03:33 : <SLIP> Will not slipstream patches, Service Pack 3 was detected.
2011-07-22 20:03:33 : <SLIP> Will not slipstream KB888111 because no Sound DriverPack is being slipstreamed
2011-07-22 20:03:33 : <SLIP> Will not slipstream KB883667 because no Graphics DriverPack is being slipstreamed
2011-07-22 20:03:35 : <SLIP> Updated \I386\winnt.sif to support method 2.
2011-07-22 20:03:35 : <SLIP> Updated DPsFnshr.ini to disable KTD.
2011-07-22 20:03:35 : <SLIP> Updated \I386\winnt.sif's GUIRunOnce section.
2011-07-22 20:04:36 : <SLIP> DP_Install_Tool was copied successfully
2011-07-22 20:04:36 : <SLIP> Slipstream finished in 9 minutes and 42 seconds.
2011-07-22 20:04:38 : <CLNP> Temporary working directory successfully deleted.
- = DriverPacks BASE ini settings used = -
; preferred language
prefLang	= "English"
; yes/no, enable or disable the wizard-style buttons, if not specified: yes
wizardButtons	= "yes"
; yes/no, enable or disable the GUI, if not specified: yes
GUI		= "yes"

; disc/bartpe/multibootDisc
instPlatform	= "disc"
; trailing backslash is allowed, but not necessary
location	= "C:\_Mnt\Temps\GRTMPVOL_EN_nl_dp"
; none/all/select, if select, specify them below, if not specified: all
DriverPacks	= "select"
; 1/2, method to install the DriverPacks, if not specified: 2
DPsMethod	= "2"
; GUIRunOnce/RunOnceEx/custom, if not specified: GUIRunOnce
finisherMethod	= "GUIRunOnce"

; this section is optional!
; none/all/select/paths/patterns, enable or disable Keep The Drivers (KTD) , if not specified: none
KTD		= "false"
; <path>, to specify a custom KTD cache location, if not specified: default (%SystemRoot%\DriverPacks)
KTDlocation	= "%SystemRoot%\DriverPacks"
; yes/no, enable or disable QuickStream Cache (QSC), if not specified: yes
QSC		= "no"

; you should only add this section if you've set [Settings]\DriverPacks to "select"
DP_Chipset	= "yes"
DP_LAN		= "yes"
DP_MassStorage	= "yes"
DP_WLAN		= "yes"
DPs_3rd_party	= "yes"
DP_MassStorage_textmode = "yes"
2011-07-22 20:04:39 : <CLNP> Create a DPs_Base.log backup @ C:\_Mnt\Temps\BASE\LogFiles\DPs_BASE_11-07-22_20-04.log
2011-07-22 20:04:39 : <CLNP> Program terminated.

Re: [BUG][Base1006][Mass1107] Superfluous Marvell drivers installed

I see that also.  Very strange.
They don't actually do anything when the hardware isn't present.  They're loaded because of the "mvnodrv.inf".  This installer file facilitates the "hot-swap" of drives as far as I know.
Can you please post your HWIDs?  If you have a Marvell controller, those files are required.

Re: [BUG][Base1006][Mass1107] Superfluous Marvell drivers installed

VirtualBox doesn't have a Marvell controller but I'll post the hardware log anyway. FYI, I manually removed the Marvell drivers from XP on VirtualBox without causing side effects.

I would be surprised if this only happened on VirtualBox. I was guessing that it would happen on any hardware. Surely somebody with eyeballs on this thread has XP w\ DriverPacks installed on other hardware. smile Can you check for the Marvell drivers? (Device Manager - View - Show hidden devices - expand Non-Plug and Play Drivers - drivers in question will be named mv61xxmm, mv64xxmm, mvxxmm, or Unknown)

I understand that the fault may be with a Marvell inf file, or elsewhere, as opposed to DriverPacks. Ultimately, I want to remove the Marvell drivers from every install where they aren't applicable but I won't do it manually. If DriverPacks can't fix it, I will make an automatic or semi-automatic script to do it. So far I've tried "sc delete" with poor results. I'll look at mvnodrv.inf or other inf files for uninstall sections to run.

PCI Devices 
PCI\VEN_106B&DEV_003F&SUBSYS_00000000&REV_00\3&267A616A&0&30: Standard OpenHCD USB Host Controller
PCI\VEN_1AF4&DEV_1000&SUBSYS_00011AF4&REV_00\3&267A616A&0&18: Red Hat VirtIO Ethernet Adapter
PCI\VEN_8086&DEV_1237&SUBSYS_00000000&REV_02\3&267A616A&0&00: Intel 82441FX Pentium(R) Pro Processor to PCI bridge
PCI\VEN_8086&DEV_2415&SUBSYS_00008086&REV_01\3&267A616A&0&28: Intel(r) 82801AA AC'97 Audio Controller
PCI\VEN_8086&DEV_265C&SUBSYS_00000000&REV_00\3&267A616A&0&58: Intel(R) 82801FB/FBM USB2 Enhanced Host Controller - 265C
PCI\VEN_8086&DEV_2829&SUBSYS_00000000&REV_02\3&267A616A&0&68: Intel(R) ICH8M-E/M SATA AHCI Controller
PCI\VEN_8086&DEV_7000&SUBSYS_00000000&REV_00\3&267A616A&0&08: Intel 82371SB PCI to ISA bridge
PCI\VEN_80EE&DEV_BEEF&SUBSYS_00000000&REV_00\3&267A616A&0&10: VirtualBox Graphics Adapter
PCI\VEN_80EE&DEV_CAFE&SUBSYS_00000000&REV_00\3&267A616A&0&20: VirtualBox Device
9 matching device(s) found.
USB Devices 
USB\ROOT_HUB\4&24D6EB65&0                                   : USB Root Hub
USB\ROOT_HUB20\4&6A987E4&0                                  : USB Root Hub
2 matching device(s) found.
Input Devices 
No matching devices found.
ACPI Devices 
ACPI\ACPI0003\0                                             : Microsoft AC Adapter
ACPI\FIXEDBUTTON\2&DABA3FF&0                                : ACPI Fixed Feature Button
ACPI\PNP0000\4&1D401FB5&0                                   : Programmable interrupt controller
ACPI\PNP0100\4&1D401FB5&0                                   : System timer
ACPI\PNP0200\4&1D401FB5&0                                   : Direct memory access controller
ACPI\PNP0303\4&1D401FB5&0                                   : Standard 101/102-Key or Microsoft Natural PS/2 Keyboard
ACPI\PNP0400\4&1D401FB5&0                                   : Printer Port (LPT1)
ACPI\PNP0700\4&1D401FB5&0                                   : Standard floppy disk controller
ACPI\PNP0A03\0                                              : PCI bus
ACPI\PNP0C0A\0                                              : Microsoft ACPI-Compliant Control Method Battery
ACPI\PNP0F03\4&1D401FB5&0                                   : Microsoft PS/2 Mouse
ACPI_HAL\PNP0C08\0                                          : Microsoft ACPI-Compliant System
ROOT\ACPI_HAL\0000                                          : Advanced Configuration and Power Interface (ACPI) PC
13 matching device(s) found.
 HDA Audio 
No matching devices found.
RAID Devices 
    Name: Intel(R) ICH8M-E/M SATA AHCI Controller
    Hardware ID's:
    Compatible ID's:
1 matching device(s) found.

Re: [BUG][Base1006][Mass1107] Superfluous Marvell drivers installed

I can confirm I also have the mv61xxmm and mvxxmm pnp devices listed under hidden devices using Windows XP.

Re: [BUG][Base1006][Mass1107] Superfluous Marvell drivers installed

I made a dirty hack (two files) to delete the Marvell drivers from XP. Have both MarvellCleanup.cmd and MarvellCleanup.inf in the same folder on the local computer, run MarvellCleanup.cmd, and reboot.

It does not check whether the drivers are needed or not. It just deletes them indiscriminately. It does not check for success or failure.

FYI, the cmd file deletes the legacy services and then it runs the inf file which deletes everything else.


::Delete Marvell drivers installed by DriverPacks.
::Requires MarvellCleanup.inf

@Echo Off
Setlocal EnableExtensions
Echo WARNING: This script will indescriminately delete Marvell mass storage drivers
Echo MV61XXMM, MV64XXMM, and MVXXMM. ^(If DriverPacks was used to integrate mass
Echo storage drivers into a Windows installation source, then those drivers will
Echo always be installed whether needed or not.^) To continue, type "mv" and press
Set /P ans=enter or type any other response to cancel^>
If /I "%ans%" NEQ "mv" (Echo Cancelled& Goto end)
Set name=%~n0
Set iniRoot=\Registry\Machine
Set regRoot=HKLM
Set key=\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_
Set subkey=0000 Control
Set iniPerms="[1 8 17]"
Set initmp="%temp%\%name%.ini"
Set regdelarg=%iniRoot% %regRoot% %key% %iniPerms%
Call :regdel %regdelarg% MV61XXMM %subkey%
Call :regdel %regdelarg% MV64XXMM %subkey%
Call :regdel %regdelarg% MVXXMM %subkey%
Del %initmp%
Pushd "%~dp0"
rundll32 setupapi,InstallHinfSection DefaultInstall 132 .\%name%.inf
Echo A reboot may be required.
Exit /B

::Use regini to give Administrators full control then delete the key.
Echo.%1%3%5 %~4>%initmp%
If "%~6" NEQ "" Echo.%1%3%5\%6 %~4>>%initmp% 
If "%~7" NEQ "" Echo.%1%3%5\%6\%7 %~4>>%initmp% 
If "%~8" NEQ "" Echo.%1%3%5\%6\%7\%8 %~4>>%initmp% 
If "%~9" NEQ "" Echo.%1%3%5\%6\%7\%8\%9 %~4>>%initmp% 
regini %initmp%
Reg Delete %2%3%5 /f
Exit /B


; Delete Marvell drivers installed by DriverPacks.


DelFiles = Files12

DelService = mv61xxmm,0x00000004
DelService = mv64xxmm,0x00000004
DelService = mvxxmm,0x00000004

Files12 = 12


Last edited by fearless (2011-07-26 11:50:18)

Re: [BUG][Base1006][Mass1107] Superfluous Marvell drivers installed

That's pretty dangerous.  At the very least the script should check for the presence of the .sys files in the %windir%\system32\drivers\ folder.

if exist %windir%\system32\drivers\mv*.sys goto EOF

Re: [BUG][Base1006][Mass1107] Superfluous Marvell drivers installed

The .sys files were present. Their presence does not indicate that the drivers were needed. Deleting them was part of the plan.

The script isn't intended to be run automatically. I'll probably just put it on the root on my Windows installation source and run it manually after most installs. I'll likely never change it to have a sanity check. Without having every Marvell controller (I have zero), I wouldn't know if I was checking for the right things.

I did change the script to require confirmation before executing.

Re: [BUG][Base1006][Mass1107] Superfluous Marvell drivers installed

fearless wrote:

The .sys files were present.

Hmm, they're not present on my system.
In any case, this phenomenon is a true bug, but not with dpms.
The superfluous drivers will load whenever the "mvnodrv.inf" is invoked by the main .inf.  The only real solution is to remove all the Marvell drivers from the pack.
They're harmless.