https://bugs.winehq.org/show_bug.cgi?id=38235
Bug ID: 38235 Summary: Blindwrite 7 does not detect any CD/DVD drive. Product: Wine Version: 1.7.38 Hardware: x86 URL: http://de.vso-software.fr/products/Blindwrite/blindwri te.php OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: mountmgr.sys Assignee: wine-bugs@winehq.org Reporter: bernhardu@vr-web.de Distribution: Debian
Created attachment 51041 --> https://bugs.winehq.org/attachment.cgi?id=51041 Save user mode accessible device in HKLM\SYSTEM\MountedDevices "\DosDevices\X:"
Having a CD in the drive and that one mounted it is accessible through e.g. cmd. But Blindwrite (7.0.0.0) does not show any drive in its user interface.
When looking into a "WINEDEBUG=+reg,+file,+debugstr" an access to HKLM\SYSTEM\MountedDevices appears. There is for any device an entry e.g. "\DosDevices\E:". This entry holds in my case the mount point of the CD as ASCII. Blindwrite tries now to access the drive by opening this interpreted as unicode string, which fails.
trace:file:CreateFileW L"\6d2f\6465\6169\622f\7265\686e\7261\2f64\4642\3931\3234\325f1" GENERIC_READ GENERIC_WRITE FILE_SHARE_READ FILE_SHARE_WRITE creation 3 attributes 0x0 ... trace:file:CreateFileW returning 0xffffffff ... trace:file:DeviceIoControl (0xffffffff,4d014,0x33f3a4,80,0x33f3a4,80,0x33f3f8,(nil)) ... warn:debugstr:OutputDebugStringA "IOCTL_CDROM_GET_INQUIRY_DATA - Ung\xfcltiges Handle.\r\n Error 0x00000006 - Ung\xfcltiges Handle.\r\n"
Blindwrite even tries to access this invalid file handle and silently fails.
-----------------
Changing HKLM\SYSTEM\MountedDevices "\DosDevices\E:" to an unicode representation of "\.\E:" makes Blindwrite happy and the drive shows up, and successfully create an image.
Attached is a patch that tries to do this automatically for "DosDevices" with a drive letter. (But I am not sure about any side effects or if it could already be sent to wine-patches.)
https://bugs.winehq.org/show_bug.cgi?id=38235
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, patch Status|UNCONFIRMED |NEW CC| |focht@gmx.net Ever confirmed|0 |1
--- Comment #1 from Anastasius Focht focht@gmx.net --- Hello folks,
still present as of Wine 1.7.44
Bernhard's patch reworked by Michael is included in Wine-Staging by default:
https://github.com/wine-compholio/wine-staging/blob/master/patches/mountmgr-...
Regards
https://bugs.winehq.org/show_bug.cgi?id=38235
Bernhard Übelacker bernhardu@vr-web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #51041|0 |1 is obsolete| |
--- Comment #2 from Bernhard Übelacker bernhardu@vr-web.de --- Created attachment 51930 --> https://bugs.winehq.org/attachment.cgi?id=51930 mountmgr.sys: Write usable device paths into HKLM\SYSTEM\MountedDevices.
https://bugs.winehq.org/show_bug.cgi?id=38235
Michael Müller michael@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |STAGED CC| |michael@fds-team.de, | |sebastian@fds-team.de Staged patchset| |https://github.com/wine-com | |pholio/wine-staging/tree/ma | |ster/patches/mountmgr-DosDe | |vices
https://bugs.winehq.org/show_bug.cgi?id=38235
--- Comment #3 from Bernhard Übelacker bernhardu@mailbox.org --- I had another look at this issue and the access to HKLM\SYSTEM\MountedDevices maybe just a fallback for e.g. some old windows versions.
So when looking deeper Blindwrite7_setup.exe calls a sub installer: ------ "C:\Program Files\VSO\BlindWrite\7\EzPlay.exe" /install ------
And digging further that tries to install something but loggs just some FIXMEs: ------ trace:setupapi:SetupDiCreateDeviceInfoListExW {ff646f80-8def-11d2-9449-00105a075f6b} 0x2015c (null) (nil) trace:setupapi:SetupDiCreateDeviceInfoW 0x14d478 L"ezplay" {ff646f80-8def-11d2-9449-00105a075f6b} L"ezplay device ..." 0x2015c 1 0x33fa34 trace:setupapi:open_enum_key creating display keys trace:setupapi:SETUPDI_AddDeviceToSet 0x14d478, {ff646f80-8def-11d2-9449-00105a075f6b}, 0, L"ROOT\ezplay\0000", 1 trace:setupapi:SetupDiSetDeviceRegistryPropertyW 0x14d478 0x14d540 8 0x33f8a2 76 trace:setupapi:SetupDiSetDeviceRegistryPropertyW 0x14d478 0x14d540 0 0x33fb60 34 trace:setupapi:SetupDiSetDeviceRegistryPropertyW 0x14d478 0x33fa34 1 0x33fbe0 14 fixme:setupapi:SetupDiCallClassInstaller 25 0x14d478 0x33fa34 ------ (Related bug #33498)
If SetupDiCallClassInstaller is hacked to just return TRUE then another FIXME appears: ------ fixme:newdev:UpdateDriverForPlugAndPlayDevicesW Stub! L"*ezplay" L"C:\users\bernhard\Application Data\ezplay.inf" 0x00000000 ------
Hacking UpdateDriverForPlugAndPlayDevicesW to do SetupInstallFilesFromInfSectionA and SetupInstallServicesFromInfSectionA gives us at least the service that gives no error by a "net start ezplay".
Comparing the registry now to a native installation shows when searching for ezplay following: ------ 1 HKLM\SYSTEM\CurrentControlSet\Control\Class{FF646F80-8DEF-11D2-9449-00105A075F6B}\0000 2 HKLM\SYSTEM\CurrentControlSet\Control\DeviceClasses{f0d17319-8bb2-48b8-667b-d5ad0ae03dc0}##?#ROOT#EZPLAY#0000#{f0d17319-8bb2-48b8-667b-d5ad0ae03dc0} 3 HKLM\SYSTEM\CurrentControlSet\Enum\Root\EZPLAY\0000 4 HKLM\SYSTEM\CurrentControlSet\Services\ezplay ------ While 1 2 do not appear in wine at all. 3 has some entries less and a "Phantom" more.
After chaning HKLM\SYSTEM\CurrentControlSet\Enum\Root\EZPLAY\0000 to match the native one and some restarts ... I get in the logfile these traces: ---- 0008:0009:trace:file:CreateFileW L"\\.\ROOT#ezplay#0000#{F0D17319-8BB2-48B8-667B-D5AD0AE03DC0}" GENERIC_READ GENERIC_WRITE creation 3 attributes 0x0 0008:0009:trace:file:RtlDosPathNameToNtPathName_U (L"\\.\ROOT#ezplay#0000#{F0D17319-8BB2-48B8-667B-D5AD0AE03DC0}",0x32f144,(nil),(nil)) 0008:0009:trace:file:RtlGetFullPathName_U (L"\\.\ROOT#ezplay#0000#{F0D17319-8BB2-48B8-667B-D5AD0AE03DC0}" 520 0x32ee84 (nil)) 0008:0009:trace:ntdll:FILE_CreateFile handle=0x32f138 access=c0100000 name=L"\??\ROOT#ezplay#0000#{F0D17319-8BB2-48B8-667B-D5AD0AE03DC0}" objattr=00000040 root=(nil) sec=(nil) io=0x32f13c alloc_size=(nil) attr=00000000 sharing=00000000 disp=1 options=00000060 ea=(nil).0x00000000 0008:0009:warn:file:CreateFileW Unable to create file L"\\.\ROOT#ezplay#0000#{F0D17319-8BB2-48B8-667B-D5AD0AE03DC0}" (status c0000034) 0008:0009:trace:file:CreateFileW returning 0xffffffff ----
So might that be how Blindwrite accesses the devices on todays Windows?
https://bugs.winehq.org/show_bug.cgi?id=38235
André H. nerv@dawncrow.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |nerv@dawncrow.de Staged patchset|https://github.com/wine-com |https://github.com/wine-sta |pholio/wine-staging/tree/ma |ging/wine-staging/tree/mast |ster/patches/mountmgr-DosDe |er/patches/mountmgr-DosDevi |vices |ces
https://bugs.winehq.org/show_bug.cgi?id=38235
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|http://de.vso-software.fr/p |https://web.archive.org/web |roducts/Blindwrite/blindwri |/20131210151026/http://down |te.php |load2.vso-software.fr/Blind | |write7_setup.exe
--- Comment #4 from Anastasius Focht focht@gmx.net --- Hello folks,
replacing download with a stable link from Internet Archive - just in case.
https://web.archive.org/web/20131210151026/http://download2.vso-software.fr/...
I've noticed Zeb posting Blindwrite 7.0 patches, although related to 'ezplay.sys' filter driver, tracked bug 49086 and bug 49087 . Maybe he revisited this bug and noticed the other (driver) issues.
$ sha1sum Blindwrite7_setup.exe 8b357a5613b5f348e0105d9dbb84ef42550016ee Blindwrite7_setup.exe
$ du -sh Blindwrite7_setup.exe 14M Blindwrite7_setup.exe
$ wine --version wine-5.7-177-gad1fad8a94
Regards
https://bugs.winehq.org/show_bug.cgi?id=38235
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com
--- Comment #5 from Zebediah Figura z.figura12@gmail.com --- (In reply to Anastasius Focht from comment #4)
I've noticed Zeb posting Blindwrite 7.0 patches, although related to 'ezplay.sys' filter driver, tracked bug 49086 and bug 49087 . Maybe he revisited this bug and noticed the other (driver) issues.
Yes, quite. I was hoping to reproduce the initial bug so that I could potentially upstream the linked Staging patch. Unfortunately I ran into a stack overflow in the main executable which proved nontrivial to debug. I've filed it as bug 49092.
https://bugs.winehq.org/show_bug.cgi?id=38235
--- Comment #6 from Bernhard Übelacker bernhardu@mailbox.org --- I guess my doubts in comment #3 were wrong. It looks like the ezplay driver is not necessary. Normally the applications log file "ProgramData/VSO/Blindwrite/7/Log" contains a line "EZ-Play driver active. Version 8"
With the staging patch included, and the ezplay driver disabled by renaming windows/system32/drivers/ezplay.sys, the logfile has no line about the ezplay driver, but the cd drive is still visible.
https://bugs.winehq.org/show_bug.cgi?id=38235
Bernhard Übelacker bernhardu@mailbox.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Staged patchset|https://github.com/wine-sta |https://gitlab.winehq.org/w |ging/wine-staging/tree/mast |ine/wine-staging/-/blob/mas |er/patches/mountmgr-DosDevi |ter/patches/mountmgr-DosDev |ces |ices/0001-mountmgr.sys-Writ | |e-usable-device-paths-into- | |HKLM-SYS.patch