HP laserjet on Windows 98

Mar 24, 2022 Last reply: 4 years ago 17 Replies

I have an HP Laserjet 1200 which has been working for years on a Windows 98 machine, connected by USB to dot4_100 port (I'm fairly sure). Something happened and that port is no longer there.



I reinstalled the printer from its setup CD, using LPT1 parallel port. (I don't want to use LPT1 because It's dedicated to a printer that only has a parallel port, for which I have created software to print the track from my gps onto tracing paper to position over an OS map).



When I connected the 1200 via a USB cable, three popups appeared in succession, each saying that new hardware had been detected and new software for it was being installed.



Control Panel 'view by type' now shows three ports separate from the USB branches, depicted as grey squares on their corners. Titles are: Dot 4 '---HP Laserjet 1200 Dot4Print '---1284.4 Compatible Printer Dot4USB '---HP Laserjet 1200 USB



On Control Panel 'view by connection' we have: USB Root Hub '---HP Laserjet 1200 USB '---HP laserjet 1200 '---1284.4 Compatible Printer



None of these work when added to the Driver box in the printer properties, and some warn me to 'add a valid port'.



I'm open to any suggestions except being told off for using Windows



98.

98 sure is an odd choice. Are you using, iirc nusb3.1/3.3?

I did not "choose" 98 - it's been working fine since new. Not connected to the internet. I don't understand your question.

The Maximus Decim driver was used for some part of USB back then. That's probably what the nusb3 refers to.

formatting link
"These drivers are not for all USB devices... They're only for storage based USB devices such as flash disks, cameras."

USB devices can have Class drivers (that's where the Class code the device presents, causes the OS to match a Class driver to it for device operation).

For devices which claim to be non-standard (code 0xFE or 0xFF perhaps, hard to remember), then you're talking about a completely custom driver provided by the hardware manufacturer. So there is a way to "connect any piece of hardware junk" to a PC, if you write your own driver. And the Class code structure has some "escape" values so that the OS does not try to solve the problem.

You might need an older version of this, if you wanted to read out the config space on a USB device in Windows 98.

formatting link
Service : USBSTOR Service : usbccgp <=== composite device, must probe underneath for detail

Samples of device classes (a modern OS has a complete set) are here:

formatting link
Base Class 07h (Printer)

Just because a printer had a driver for the 0x07 bit, does not mean that some other driver layer doesn't need to sit on top of it. Then you're talking about understanding how printing works (not a clue). I think I have a block diagram of that somewhere. [Link destroyed, no archive.org copy]

formatting link
All that I can find of it.

formatting link
Paul

So if the Win 98 PC is not connected to the internet, how did you create your original post?

(this is a serious question BTW)

Cheap USB to Ethernet print server, and connect to it as if it is a lan attached printer :-)

He used a PC or other device that is connected to the internet.

Bugger! Oh well:

formatting link
Basically, download the driver, and hope that fixes the problem.

Yeahbut, he is not trying to use a USB flash drive, but a printer.

The usual approach of Support is:

  1. Switch off and restart.
  2. Reinstall Windows.

Personally, I'd install XP.

could you not use a Bidirectional 2:1 Parallel Port Switch, not very expensive used ones on ebay

Often a good start...

Very rarely required IME, I might have to do that once every few years for causes other than failed boot drives. (managing an estate of several hundred PCs)

Does rather depend on if the required software will run on it, and whether XP will run (and activate) on the hardware.

It's just that, casting my mind back over 20 years, wasn't USB support rather patchy on W98?

Was there W98SE, which did it better - but the OP doesn't say that he has the SE version - or am I getting mixed up with W95?

I remember being caught out in 2008, when I found that my new PC didn't have a parallel port. I had to buy a PCI card with that on, so I could keep using my LJ5 printer.

IIRC, Win95 SE was the one that introduced USB support, but was as you say, a bit hit and miss. By Win98 it was better all round.

Yup, sometimes the disappearance of "legacy" ports can be a PITA. Although cheap network print servers are quite good at making most printers easy enough to talk to (even if you can't get full driver support)

You can also buy a USB to parallel cable for not very much, such as

formatting link

Win 98 se did usb, but did it very badly. One of the first of many things a 98 user should do is install nusb3.3, then you'll have a sane usb subsystem to work with. Trying to fix native 98 usb is a waste of time. In '09 there was a whole suite of available freeware patches to make 98 work properly in many respects - didn't stop it being the most unstable mainstream OS ever released though.

Othrs include Total Uninstall 2.35 (not 3), wintop, win32pad, neutron, me_defrag, taskill etc.

Re 'up'grading to xp, with 98 era hardware it's either impossible or a bad idea. Going to 2000 generally is either impossible or makes a very slow system. 98 was the best for a lot of machines, despite its excessive bug count, security problems, feature issues, etc.

I have 98SE. Why did USB work before but not now?

In Win98, only part of USB is implemented. At the time, they were putting the first "scratchy" USB 1.1 connectors on the back of PCs. Horrible little things. Unpleasant. My 440BX based board had those.

formatting link
"Windows 98 supports USB hubs, USB scanners and imaging class devices. Windows 98 also introduced built-in support for some USB Human Interface Device class (USB HID) and PID class devices such as USB mice, keyboards, force feedback joysticks etc. including additional keyboard functions through a certain number of Consumer Page HID controls."

Missing is USB mass storage, which might have been provided via Maximus Decim NUSB family of drivers (third party).

Printing, or rather the "printer protocol for parallel ports", would have been a separate thing, if available at all.

Now, compare the above skeletal info, to the number of classes defined in USB. Lots are missing, and need proprietary support while in Windows 98. There appear to be a couple here, recently added.

formatting link
To give a more current example, Windows 7 does not support USB3 and XHCI driver (the internal hub on the PC host end).

If you buy a USB3 card for Windows XP for example, you need a custom XHCI driver for that. And NEC brand chips have that. Asmedia doesn't provide USB3 materials for WinXP. Asmedia tends to support Win7, and only if you're lucky (ASmedia contracted their drivers out to MCCI and you can check the INF file for a copyright).

*******

To understand the pedigree of a driver, look for this in the primary INF file.

#include <usbport.inf>

That's a call in an INF text file that says "this is not a real driver, and now we call the Microsoft inbox Class driver to finish the job". Such a driver is used to assign a "name" to a port in Device Manager, and the Microsoft stack does the rest of the heavy lifting for Intel.

Intel USB3 host 2378

If on the other hand, a driver did not resort to an include call, but had a bucket of .sys files, that would imply a custom driver of some sort. That could be what you'd find on the Printer CD for your printer.

*******

When comparing Win98SE to Win2K/WinXP, Win98 is cooperative multitasking, the other two are the beginnings of PreEmptive multitasking. PreEmptive is more reliable, because the kernel cracks a whip and brings applications into line. In Windows 98, the machine can hang if just one application is ill-behaved. Win2K stops that. You can have a single application show a busy cursor, without necessarily crashing the rest of the OS.

I've had Win98SE "hang on the networking stack", which means the stack is not properly multithreaded and blocks. This also hints or suggests, that Microsoft did not write the networking stack, and contracted that out. If Microsoft wrote it, it would not have blocked like that.

Win2K does not waste any cycles, so as far as comparing the CPU output, you should get as much from one as the other. WinXP Pro might have a 2 socket limit, while Win2K Pro might have a 2 core limit. Which is a significant limitation, if you bought a single

9650 quad core CPU (Win2K Pro would use half of it).

On those older OSes, Win2K can install as "ACPI Uniprocessor" [one core] or as "ACPI Multiprocessor" [cores up to license limit]. The difference is the IOAPIC directs interrupts to the cores in such a way as to spread the load over them. When only one core is present, the IOAPIC is not needed (like, if it doesn't exist would be a good reason). The HAL (Hardware Abstraction Layer) on modern OSes, is of much less interest to the average user. The questions no longer come up, about "switching HALs".

Anyone seeking to perform miracles with drivers, should have a look inside the custom package. Since Installshield could be involved, you need tricks some times (Linux WINE) to get access to the gubbins inside. Nobody said bodging drivers was easy. It's not. Sometimes you win, sometimes you lose.

Paul

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required