Live data from Hacker News

Driver adventures for a 1999 webcam

blog.benjojo.co.uk

61–70 of 78 posts

Re: Driver adventures for a 1999 webcam

#61
Hah I knew it was that one. I had the same. Back in those days there were only a few models on the market. The quality was bad though and it was even black and white. This one is color so it must be a slightly later version.

Re: Driver adventures for a 1999 webcam

#62
> Now you might ask, why does the webcam have an endpoint with a 0 byte MaxPacketSize on its first interface? Who knows!

This one has a simple answer:

USB is a shared bus and limited in bandwidth. Isochronous endpoints transmit continously and thus require a fixed part of that bandwidth.

The OS has to allocate the available bus bandwidth to all plugged in devices.

If no more bandwidth is available, it will refuse to configure the device that you just plugged in!

Thus the alternate setting with the isochronous packet size set to 0 serves multiple purposes:

1) It lets the OS configure the device and let the driver discover it even when not enough free bandwith is available on the bus

2) The driver can release the unused bandwith while the device is not in use

3) Not sending iso packets while the device is not actively used also means less power draw

Re: Driver adventures for a 1999 webcam

#63

Kudos! I cracked open (both out of curiosity and for recycling) my own 1999 Logitech QuickCam Express just a few days ago, then tossed away the parts. It was a decent webcam for the time, which was when Windows 98 was all the rage. My desktop admittedly being a Windows system, I dabbled for a while trying to get the old drivers and software to work on Windows 11, alas, not a chance. I liked the quirky thing especiall…

If I recall correctly there was also a parallel port version of this webcam, for people using computers without usb support

Re: Driver adventures for a 1999 webcam

#64

Lovely! I recently picked up a Creative Labs webcam with an LPT and PS/2 connector (probably used for power). I wanted to try it out on a W98 machine, but this inspires me to even try and write a driver for it. A computer with LPT I have, now i just need to find the time :)

Holy shit! LPT isn't a problem (besides the real memory access and something tells me it does ) but PS/2... vood luck? you wouldn't believe it but it's actually Shooting Stars playing RN

I suspect PS/2 is only used to get 5V, so not really used by the driver

Re: Driver adventures for a 1999 webcam

#65
this was actually a pretty serious nostalgic moment as it happened to also be the same model as my first webcam

...and that "eyeball on a stand" form-factor also became the de-facto one for a webcam (just image search "webcam icon"), so it is also historically significant from that perspective.

This is almost like the inverse of some efforts in the retrocomputing community, which involve writing drivers to allow new hardware to work with old OSs, among them Windows XP and the 9x series.

But I think the most frustrating reason to have to get rid of something is that drivers stop being made for devices.

...and they have a similar mindset: if there are no drivers, then let's write some.

On the topic of this particular camera, a little bit of searching shows some more information from a 23-year-old page:

http://www.geocities.ws/qcexpress/quickcam.html

...through which we get a hint that you can download the datasheet for the PB-0100 sensor from Photobit's site; although it is long gone, archive.org has saved some pieces:

https://web.archive.org/web/20001018065459/http://www.photob...

Sadly, the datasheets themselves weren't saved. I could find some for their later, larger sensors, but unfortunately not this one (although it may be out there, the increasing uselessness of search engines is a huge impediment --- and I do think that such destruction of access to historical information may in fact be deliberate.)

Re: Driver adventures for a 1999 webcam

#66

There is a lot you can do to improve the quality of the image. This camera has a very early CMOS sensor, which suffered from huge pixel-to-pixel variation. By characterizing each pixel (which you can do by taking dark field and flat field images), you can correct for this variation, and get an image that looks much less noisy. There are also various algorithms to undo the Bayer filtering, with tradeoffs between sharp…

https://en.wikipedia.org/wiki/Flat-field_correction

Of note is that FFC --- and frequent too --- is basically mandatory for thermal imaging sensors, since their pixels drift a lot.

Re: Driver adventures for a 1999 webcam

#67
post #3

$ cat /usr/src/linux-headers-`uname -r`/include/uapi/asm-generic/errno.h | grep 90 #define EMSGSIZE 90 /* Message too long */ Nooo! errno from moreutils: https://man.archlinux.org/man/errno.1 $ errno 90 EMSGSIZE 90 Message too long or: $ errno -s "too long" E2BIG 7 Argument list too long ENAMETOOLONG 36 File name too long EMSGSIZE 90 Message too long

Microsoft have an Err.exe for Windows error codes too: https://learn.microsoft.com/en-us/windows/win32/debug/system...

Re: Driver adventures for a 1999 webcam

#69
post #19

There is a lot you can do to improve the quality of the image. This camera has a very early CMOS sensor, which suffered from huge pixel-to-pixel variation. By characterizing each pixel (which you can do by taking dark field and flat field images), you can correct for this variation, and get an image that looks much less noisy. There are also various algorithms to undo the Bayer filtering, with tradeoffs between sharp…

Maybe it's subjective, but the screencap from XP seems to show a much higher quality image. It seems there's still room for improvement. Awesome work regardless!

That's being kind.

Re: Driver adventures for a 1999 webcam

#70

Kudos! I cracked open (both out of curiosity and for recycling) my own 1999 Logitech QuickCam Express just a few days ago, then tossed away the parts. It was a decent webcam for the time, which was when Windows 98 was all the rage. My desktop admittedly being a Windows system, I dabbled for a while trying to get the old drivers and software to work on Windows 11, alas, not a chance. I liked the quirky thing especiall…

If I recall correctly there was also a parallel port version of this webcam, for people using computers without usb support

There definitely was a Mac mini-Din-8 serial port version as well. I believe it was the original, before there even was a version for PC/Windows: https://wiki.preterhuman.net/Connectix_QuickCam
Post reply on HN