http://bugs.winehq.org/show_bug.cgi?id=823
------- Additional Comments From gvs@rinet.ru 2005-22-06 09:32 ------- I have another problem with wine and CUPS. Here's config:
[spooler] "FILE:" = "tmp.ps" "LPT1:" = "|kprinter --system cups -P LJ1200" "LPT2:" = "|kprinter --system cups -P JetDirect" "LPT3:" = "|gs -sDEVICE=lj1200 -sOutputFile=/tmp/fred -q -"
Here's system registry (.wine/system.reg):
[System\CurrentControlSet\Control\Print\Printers\JetDirect] 1119440621 "Attributes"=dword:00000000 "Datatype"="RAW" "Description"="WINEPS Printer using CUPS" "Location"="Admin's Room" "Name"="JetDirect" "Parameters"="<parameters?>" "Port"="LPT2:" "Print Processor"="WinPrint" "Printer Driver"="PS Driver" "Priority"=dword:00000000 "Separator File"="<sep file?>" "Share Name"="<share name?>" "StartTime"=dword:00000000 "Status"=dword:00000000 "UntilTime"=dword:00000000
[System\CurrentControlSet\Control\Print\Printers\LJ1200] 1119440621 "Attributes"=dword:00000000 "Datatype"="RAW" "Default DevMode"=hex:4c,4a,31,32,30,30,00,73,74,53,63,72,69,70,74,20,44,72,69,\ 76,65,72,00,00,00,00,00,00,00,00,00,00,0a,03,01,00,9c,00,08,00,13,6b,00,00,\ 01,00,09,00,9a,0b,33,08,64,00,01,00,07,00,00,00,02,00,01,00,00,00,03,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 "Description"="WINEPS Printer using CUPS" "Location"="<physical location of printer>" "Name"="LJ1200" "Parameters"="<parameters?>" "Port"="LPT1:" "Print Processor"="WinPrint" "Printer Driver"="PS Driver" "Priority"=dword:00000000 "Separator File"="<sep file?>" "Share Name"="<share name?>" "StartTime"=dword:00000000 "Status"=dword:00000000 "UntilTime"=dword:00000000
Here's user registry (.wine/user.reg):
[Software\Microsoft\Windows NT\CurrentVersion\Devices] 1119442467 "JetDirect"="WINEPS.DRV,LPT2:" "LJ1200"="WINEPS.DRV,LPT1:"
[Software\Microsoft\Windows NT\CurrentVersion\Windows] 1119442467 "Device"="LJ1200,WINEPS.DRV,LPT1:"
Last, here's win.ini:
[devices] JetDirect=WINEPS.DRV,LPT2 LJ1200=WINEPS.DRV,LPT1
[windows] device=LJ1200,WINEPS.DRV,LPT1
I tried LPT1: and LPT1 (w/o colon), doesn't matter. Then I'm starting MS Word Viewer under wine, open document for printing and see somewhere in psdrv output:
trace:psdrv:PSDRV_FindPrinterInfo No 'Paper Size' for printer 'LJ1200' trace:psdrv:PSDRV_FindPrinterInfo No 'FontSubTable' for printer 'LJ1200' trace:psdrv:PSDRV_CreateDC (L"WINEPS.DRV" L"LJ1200" L"LPR:LJ1200" 0x0)
The attempts to find printer info and create DC are repeated 3 or 4 times and finally succeed (not null pointer):
trace:psdrv:PSDRV_FindPrinterInfo No 'Paper Size' for printer 'LJ1200' trace:psdrv:PSDRV_FindPrinterInfo No 'FontSubTable' for printer 'LJ1200' trace:psdrv:PSDRV_CreateDC (L"WINEPS.DRV" L"LJ1200" L"LPR:LJ1200" 0x1965e0) trace:psdrv:PSDRV_MergeDevmodes Changing orientation to 1 (Portrait) trace:psdrv:PSDRV_MergeDevmodes Changing page to US Letter 2159 x 2794 trace:psdrv:PSDRV_MergeDevmodes Changing Scale to 100 trace:psdrv:PSDRV_MergeDevmodes Changing Copies to 1 trace:psdrv:PSDRV_MergeDevmodes Trying to change to unsupported bin 1 trace:psdrv:PSDRV_UpdateDevCaps ImageableArea = 75,150 - 2475,3150: PageSize = 2550x3300 trace:psdrv:PSDRV_UpdateDevCaps devcaps: horzSize = 203mm, vertSize = 254mm, horzRes = 2400, vertRes = 3000 trace:psdrv:PSDRV_SelectFont FaceName = L"" Height = 100 Italic = 0 Weight = 400 trace:psdrv:PSDRV_SelectPen hpen = 0x92 colour = 00000000 trace:psdrv:PSDRV_SelectBrush hbrush = 0x76 trace:psdrv:PSDRV_SelectFont FaceName = L"" Height = 100 Italic = 0 Weight = 400 trace:psdrv:PSDRV_ExtEscape QUERYESCSUPPORT for 25
right after that psdrv starts reading the configuration specified (interesting: why not to do it before?)
trace:psdrv:PSDRV_FindPrinterInfo 'LJ1200' trace:psdrv:PSDRV_CreateDC (L"WINEPS.DRV" L"LJ1200" L"LPT1:" 0x0) trace:psdrv:PSDRV_UpdateDevCaps ImageableArea = 75,150 - 2475,3150: PageSize = 2550x3300 trace:psdrv:PSDRV_UpdateDevCaps devcaps: horzSize = 203mm, vertSize = 254mm, horzRes = 2400, vertRes = 3000 trace:psdrv:PSDRV_SelectFont FaceName = L"" Height = 100 Italic = 0 Weight = 400 trace:psdrv:PSDRV_SelectPen hpen = 0x92 colour = 00000000 trace:psdrv:PSDRV_SelectBrush hbrush = 0x76 trace:psdrv:PSDRV_SelectFont FaceName = L"" Height = 100 Italic = 0 Weight = 400 trace:psdrv:PSDRV_FindPrinterInfo 'LJ1200' trace:psdrv:PSDRV_ExtDeviceMode (Driver=WINEPS.DRV, hwnd=0x0, devOut=0x0, Device='LJ1200', Port='LPT1:', devIn=0x0, Profile='(null)', Mode=0000)
those attempts are again repeated number of times times and finally succeed:
trace:psdrv:PSDRV_DeleteDC trace:psdrv:PSDRV_FindPrinterInfo 'LJ1200' trace:psdrv:PSDRV_CreateDC (L"WINEPS.DRV" L"LJ1200" L"LPT1:" 0x0) trace:psdrv:PSDRV_UpdateDevCaps ImageableArea = 75,150 - 2475,3150: PageSize = 2550x3300 trace:psdrv:PSDRV_UpdateDevCaps devcaps: horzSize = 254mm, vertSize = 203mm, horzRes = 3000, vertRes = 2400 trace:psdrv:PSDRV_SelectFont FaceName = L"" Height = 100 Italic = 0 Weight = 400 trace:psdrv:PSDRV_SelectPen hpen = 0x92 colour = 00000000 trace:psdrv:PSDRV_SelectBrush hbrush = 0x76 trace:psdrv:PSDRV_SelectFont FaceName = L"" Height = 100 Italic = 0 Weight = 400 trace:psdrv:PSDRV_FindPrinterInfo 'LJ1200' trace:psdrv:PSDRV_ExtDeviceMode (Driver=WINEPS.DRV, hwnd=0x0, devOut=0x6640d4, Device='LJ1200', Port='LPT1:', devIn=0x664030, Profile='(null)', Mode=000a) trace:psdrv:PSDRV_ExtDeviceMode DM_MODIFY set. devIn->dmFields = 00007b13
Now I select file for printing and after long "SelectBrush" lines run I get:
trace:psdrv:PSDRV_SelectFont FaceName = L"" Height = 16 Italic = 0 Weight = 400 lpr: Unable to connect to /var/run/printer: No such file or directory lpr: Check to see if the master 'lpd' process is running. jobs queued, but cannot start daemon. trace:psdrv:PSDRV_SelectFont FaceName = L"" Height = 16 Italic = 0 Weight = 400
Then I close WordView/wine and look into settings again. Here's win.ini:
[devices] JetDirect=WINEPS.DRV,LPR:JetDirect LJ1200=WINEPS.DRV,LPR:LJ1200
[windows] device=LJ1200,WINEPS.DRV,LPR:LJ1200
and here's user.reg:
[Software\Microsoft\Windows NT\CurrentVersion\Devices] 1119444659 "JetDirect"="WINEPS.DRV,LPR:JetDirect" "LJ1200"="WINEPS.DRV,LPR:LJ1200"
[Software\Microsoft\Windows NT\CurrentVersion\Windows] 1119444659 "Device"="LJ1200,WINEPS.DRV,LPR:LJ1200"
Looks like wine silently overrides my settings, but could anybody be so kind to tell me why? I haven't lpr/lpd, I didn't choose and asked for LPR: interface.