https://bugs.winehq.org/show_bug.cgi?id=50353
Bug ID: 50353 Summary: OpenWorkNT: CreateFile \.\TICalcCOM1 error Product: Wine Version: 4.0.2 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: blocker Priority: P2 Component: comctl32 Assignee: wine-bugs@winehq.org Reporter: estellnb@elstel.org Distribution: ---
The TI Graph Link software does not work. It reports the following error when I try to connect via COM1 to my calculator: OpenWorkNT: CreateFile \.\TICalcCOM1 error
I can switch from black cable to grey cable and then this error does not appear but the transmission fails because I have a black cable. The software works in qemu with the black cable option. Where is \.\TICalcCOM1. Can I not simply change file permissions in that directory to make it work?
https://bugs.winehq.org/show_bug.cgi?id=50353
--- Comment #1 from Elmar Stellnberger estellnb@elstel.org --- Created attachment 68950 --> https://bugs.winehq.org/attachment.cgi?id=68950 the program
You can try it yourself by installing this program with wine32.
https://bugs.winehq.org/show_bug.cgi?id=50353
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Severity|blocker |normal Component|comctl32 |-unknown
https://bugs.winehq.org/show_bug.cgi?id=50353
--- Comment #2 from Alexandre Julliard julliard@winehq.org --- The content of attachment 68950 has been deleted for the following reason:
Please don't attach copyrighted binaries
https://bugs.winehq.org/show_bug.cgi?id=50353
--- Comment #3 from Elmar Stellnberger estellnb@elstel.org --- Created attachment 68951 --> https://bugs.winehq.org/attachment.cgi?id=68951 install.log
install log of version 2.0 (4.May 1999)
https://bugs.winehq.org/show_bug.cgi?id=50353
--- Comment #4 from Elmar Stellnberger estellnb@elstel.org --- On the first startup the program writes: wine: Call from 0x7b43e223 to unimplemented function ntoskrnl.exe.MmLockPagableDataSection, aborting Unimplemented function ntoskrnl.exe.MmLockPagableDataSection called, starting debugger
https://bugs.winehq.org/show_bug.cgi?id=50353
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |ntoskrnl Keywords| |download, hardware CC| |focht@gmx.net Status|UNCONFIRMED |NEW Ever confirmed|0 |1 Summary|OpenWorkNT: CreateFile |TI-Graph Link 8x |\.\TICalcCOM1 error |'Ticalc.sys' driver crashes | |on unimplemented function | |ntoskrnl.exe.MmLockPagableD | |ataSection URL| |https://education.ti.com/en | |/software/details/en/A2E9B3 | |DFCB44490DBD5449E05721767D/ | |ti-graph-link-for-windows
--- Comment #5 from Anastasius Focht focht@gmx.net --- Hello folks,
I've found some downloads on TI site:
https://education.ti.com/en/software/details/en/A2E9B3DFCB44490DBD5449E05721...
https://education.ti.com/download/en/ed-tech/A2E9B3DFCB44490DBD5449E05721767...
It doesn't match your 'TI-Graph Link 82' but the driver seems to be same/similar.
Another site with lots of TI calc software:
---
The unimplemented function also appeared in bug 18967 which was resolved 'invalid'.
Wine source:
https://source.winehq.org/git/wine.git/blob/0aa6f8e2ea1e3f2e852bef1a07d0d1f9...
--- snip --- 716 @ stub MmLockPagableDataSection --- snip ---
$ sha1sum ti83pusa.exe 8bd905c014aa4df3e020f4274da5692aebe3b58f ti83pusa.exe
$ du -sh ti83pusa.exe 1.3M ti83pusa.exe
$ wine --version wine-6.0-rc2-52-g0aa6f8e2ea1
Regards
https://bugs.winehq.org/show_bug.cgi?id=50353
--- Comment #6 from Anastasius Focht focht@gmx.net --- Hello folks,
even with a stub it won't go much further (as expected).
Set the service in registry to 'manual start' type (3).
--- snip --- $ WINEDEBUG=+seh,+relay,+ntoskrnl,+loaddll,+winedevice wine net start TICalc
log.txt 2>&1
... 008c:Call driver init 00E80AA6 (obj=0012CD40,str=L"\Registry\Machine\System\CurrentControlSet\Services\TICalc") 008c:Call ntoskrnl.exe.MmLockPagableDataSection(00e80366) ret=00e80aca 008c:fixme:ntoskrnl:MmLockPagableDataSection 00E80366 stub. 008c:Ret ntoskrnl.exe.MmLockPagableDataSection() retval=0badc0de ret=00e80aca 008c:Call ntoskrnl.exe.IoQueryDeviceDescription(00d5fb80,00000000,00d5fb68,00000000,00000000,00000000,00e80d02,00d5fb74) ret=00e80b11 008c:fixme:ntoskrnl:IoQueryDeviceDescription (00D5FB80 00000000 00D5FB68 00000000 00000000 00000000 00E80D02 00D5FB74) 008c:Ret ntoskrnl.exe.IoQueryDeviceDescription() retval=c0000002 ret=00e80b11 008c:Call ntoskrnl.exe.MmUnlockPagableImageSection(0badc0de) ret=00e80cf8 008c:fixme:ntoskrnl:MmUnlockPagableImageSection stub 0BADC0DE 008c:Ret ntoskrnl.exe.MmUnlockPagableImageSection() retval=0000000e ret=00e80cf8 008c:Call KERNEL32.IsBadStringPtrW(0012b7b0,ffffffff) ret=00365e24 008c:Ret KERNEL32.IsBadStringPtrW() retval=00000000 ret=00365e24 008c:Ret driver init 00E80AA6 (obj=0012CD40,str=L"\Registry\Machine\System\CurrentControlSet\Services\TICalc") retval=c0000002 008c:Call KERNEL32.IsBadStringPtrW(0012b818,ffffffff) ret=00365e24 008c:Ret KERNEL32.IsBadStringPtrW() retval=00000000 ret=00365e24 008c:trace:ntoskrnl:init_driver init done for L"TICalc" obj 0012CD40 ... --- snip ---
I intentionally returned 0x0badc0de "magic" from MmLockPagableDataSection() stub to see the usage with related API calls MmLockPagableSectionByHandle(), MmUnlockPagableImageSection() etc.
Microsoft docs:
https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/nf-wdm-mml...
Anyway, the next problem is IoQueryDeviceDescription() being a stub.
https://source.winehq.org/git/wine.git/blob/0aa6f8e2ea1e3f2e852bef1a07d0d1f9...
Tidbit:
The app installer needs to be run in 32-bit WINEPREFIX (WINEARCH=win32). In a 64-bit WINEPREFIX it actually installs a 32-bit kernel driver which is stupid because this can't work by design on Windows. While Wine allows this, the driver can't be started because the service entry has no explicit driver path (syswow64) and Wine assumes 64-bit service when searching for the executable.
Regards