printing to a Mac from Windows 98 does not work

robertb

Registered
I have been unsuccessful in trying to print to a printer connected on a Mac. (The printer works fine on the Mac itself.) I'm trying to print from a Windows 98 machine. The Windows machine doesn't list the printer in the Network Neighborhood but I am able to successfully connect to one of the user home directories. I think the Windows 98 isn't the problem because when I try smbclient on my Linux machine, it doesn't know about the printer either. Here's the output of "smbclient -NL mini":

added interface ip=192.168.2.3 bcast=192.168.2.255 nmask=255.255.255.0
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.10]

Sharename Type Comment
--------- ---- -------
IPC$ IPC IPC Service (mini)
ADMIN$ IPC IPC Service (mini)

Server Comment
--------- -------
MINI mini
DEBIAN debian server (Samba 2.2.3a-15 for Debian)

Workgroup Master
--------- -------
WORKGROUP DEBIAN

The printer is the only one listed in /etc/printcap. The relevant /etc/smb.conf section is thus:

[printers]
comment = All Printers
path = /tmp
browseable = no
printable = yes
guest ok = yes
level2 oplocks = no

I've tried "sudo killall -HUP smbd" several times to no avail, and even tried killing the process and restarting it.

I'm running OSX 10.4 (Tiger?).

Any ideas how I might fix this?

 
You can print from MacOS X. You can print from Linux. However, you are trying to print from Windows 98. You need a network Windows 98 print driver which will handle your printer. Do you have it? Also, IIRC, Windows 98 doesn't do IP-printing out of the box. You need to download an LPR print daemon.
 
This printer was previously connected to another Linux machine and I printed fine from Windows 98 to the Samba share running on the Linux machine. (My point in connecting the printer to the Mac was to try to get away from my dependency upon my old Linux machines.) So, yes, there are drivers for this HP LaserJet 4L.

Re: IP printing. When running Samba on my Linux box, I never needed IP-printing. I'd prefer to do it all via SMB protocol.

Isn't Mac OSX capable of doing this? Perhaps the Samba running on Mac OSX is not a complete implementation?
 
Have you followed the instructions given in the MacOS X Help file for sharing printers with Windows users?
 
Have you enabled Windows Sharing on the Mac? Head over to System Preferences and then open up the Sharing pane. In there, make sure that Windows sharing is enabled.
 
I think my problem is Samba itself. For some reason, even if /usr/sbin/smbd is not running, "smbclient -NL localhost" still works. So, I think there's another process handling Samba requests and perhaps /etc/smb.conf is not even being used.

Also, I am no longer able to connect to user home directories.

Are there any ways to diagnose and fix this problem?
 
I've made progress with this. Of sorts.

After setting "security = share", I can now connect to the printer from both the Mac itself and from a Linux machine:

$ smbclient "//MINI/HP LaserJet 5L"

But, when I try to test printing, I get an error:

$ smbclient "//MINI/HP LaserJet 5L"
Password:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.10]
smb: \> print test.txt
Error writing file: NT_STATUS_FILE_LOCK_CONFLICT
putting file test.txt as test.txt (0.0 kb/s) (average 0.0 kb/s)

Also, for some reason, after connecting, it seems that I am browsing /tmp:

smb: \> dir
. D 0 Mon May 22 07:34:13 2006
.. D 0 Sat May 20 18:55:57 2006
.e000002.f6184 H 3 Sat May 20 19:04:54 2006
.winbindd DH 0 Sun May 21 17:40:59 2006
501 D 0 Sun May 21 17:24:06 2006
objc_sharing_ppc_4294967294 12 Sun May 21 18:56:22 2006
objc_sharing_ppc_501 48 Mon May 22 06:55:14 2006
objc_sharing_ppc_92 24 Sat May 20 18:56:34 2006
printers D 0 Sat May 20 18:56:40 2006

38026 blocks of size 1048576. 19288 blocks available

I have precisely the same behavior when connecting from my Windows 98-SE machine -- I am still not able to print.

My printers entry in smb.conf has been simplified:

[printers]
path = /tmp
guest ok = Yes
printable = Yes
browseable = no

Any ideas what might be going wrong?

Thanks.
 
I finally fixed this. In the [global] section, I added:

fake oplocks = yes
kernel oplocks = no
level2 oplocks = no
locking = no

After adding the last line ("locking"), everything started working -- I could add the printer ('though, I couldn't see it) and can print to it. (There are some problems on the Mac side. Sometimes the queue just stops for no reason, but it's a simple matter of re-enabling it when that happens.)
 
Back
Top