OS2 World Community Forum

OS/2, eCS & ArcaOS - Technical => Hardware => Topic started by: Sigurd Fastenrath on September 12, 2013, 11:48:40 am

Title: Webcam Support for OS/2 and eCS!!
Post by: Sigurd Fastenrath on September 12, 2013, 11:48:40 am
After a long time of intensive development and tremendous work done by Wim Brul and a bit testing of me I have the honour to announce that finally Webcam Support for OS/2 and eComstation has been achieved!!

For detailed information please visit this website:

http://home.hccnet.nl/w.m.brul/usbvideo/index.html (http://home.hccnet.nl/w.m.brul/usbvideo/index.html)

Please note that there are still some limitations as sometimes especially the internal Webcams may freeze, but all in all another great success made real by Wim Brul!

All credits to him!

As I tested as well the X200T and X230T versions I guess X200 and X230 (without Tablet) should or may work also, as well all other Laptops with the Ricoh or Chicony Camera with the same Hardware ID in it.

Please try an report if you like!

Have fun :-)

P.S.: That was the "new" function I wanted to present at the User conference in Cologne as a suprise  ;)

-> We may establish this way live pictures/Videos from the User Meeting in Cologne via the Internet  8)

Important: ecomstation.ru is not allowed to use, link or distribute the pictures attached.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: David McKenna on September 12, 2013, 01:19:10 pm
Wow! Thanks Wim and Sigurd for putting this together... I just ordered a Logitech C250 from Amazon ($19US) to try this out. It would be interesting to know how you set this up to stream video (if you do).

Regards,

Dave McKenna
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Martin Iturbide on September 12, 2013, 02:46:26 pm
WOW !!!! ---- EXCELLENT !!!

I will be trying it out.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Doug Bissett on September 12, 2013, 09:43:12 pm
Well done, and thank you, to all involved.

I have a Ricoh camera in my Lenovo ThinkPad L530 (it seems to be identical to the XT230 hardware). Once I figured out that the device name in the instructions is wrong, and corrected it, it works as advertized.

The instructions say:
Code: [Select]
DEVICE=C:\OS2\BOOT\USBECD.SYS /D:5986:02D2:0011 /N:$X230TD$but when I use that, the programs complain that they can't find the device $RICOHC$ (note the last "C"). After I changed the command to:
Code: [Select]
DEVICE=C:\OS2\BOOT\USBECD.SYS /D:5986:02D2:0011 /N:$RICOHC$it is working well (except for the known limitation).
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on September 12, 2013, 11:34:19 pm
Thanks Doug,

A similar problem exists for the Chicony Integrated Camera. $CHICON$ has to be used instead of $X200TD$. I have corrected the documentation and the information on my website accordingly.

Wim.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Alex Taylor on September 13, 2013, 02:55:09 am
Wow, that's great news!  Big thanks to both you guys!

It says the 10.195 USB drivers from Lars are required.  What about the similar but separately maintained 11.0x USB drivers from David (which are what will be going into eCS 2.2)?  The latest release of the latter appears to be from August.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Doug Bissett on September 13, 2013, 04:18:27 am
Quote
The latest release of the latter appears to be from August.

Actually, version 11.04 is from Sept. 6. David apparently removed something that Lars had submitted. I didn't try the 11.02, or 11.03 versions. The new camera support does not work with the 11.04 version, it does require the 10.195 version, from Lars, that is at HOBBES. What will be in eCS 2.2 is anybodies guess, at this time.

Okay, now we can display the camera image on the desktop, and we can create a *.BMP file by taking a snapshot. Huge step forward, but now what?  :D
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Andy Willis on September 13, 2013, 05:49:44 am
Wow, that's great news!  Big thanks to both you guys!

It says the 10.195 USB drivers from Lars are required.  What about the similar but separately maintained 11.0x USB drivers from David (which are what will be going into eCS 2.2)?  The latest release of the latter appears to be from August.
10.195 contain updates from Wim Brul that have not made their way into the stable branch yet.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: OS4User on September 13, 2013, 07:01:34 am
After a long time of intensive development and tremendous work done by Wim Brul and a bit testing of me I have the honour to announce that finally Webcam Support for OS/2 and eComstation has been achieved!!

Excellent job!  Congratulation! 

I tried just for fun to connect my old Logitech  camera  - definitely not C250.

DEVICE=C:\OS2\BOOT\USBECD.SYS /D:046D:08B5:0003 /N:$LTC250$

It sayd [0000001D] Obtain Thread error!    -   is any chance to run it with my camera?
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Yuri on September 13, 2013, 03:24:35 pm
After a long time of intensive development and tremendous work done by Wim Brul and a bit testing of me I have the honour to announce that finally Webcam Support for OS/2 and eComstation has been achieved!!

great work! I just plugged my Logitech C200 and it works at lower resolutions :-)) but only C250T2 and T3 are working well. T4/T5 are working for about ten seconds, then it stops,
All 640*XXX modes are only showing the first shot (T1/6/7).

In all cases, closing the program and reopening restarted video stream.

This is my command line

DEVICE=D:\OS2\BOOT\USBECD.SYS /D:046D:0802:0009 /N:$LTC250$

THANKS!

Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Yuri on September 13, 2013, 03:49:12 pm
I just tried with my integrated laptop webcam, I have a Dell Vostro 1520. With this

DEVICE=D:\OS2\BOOT\USBECD.SYS /D:0C45:6E30:9413 /N:$LTC250$

I get the 'cannot obtain thread error' for all CT*.EXEs except T4/T5: no error but they show a black window. In all cases the cam led goes on opening the app and off closing it.
I see this cam is working on linux with same drivers of C200/C250, so I this it should be easy to get it working.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on September 13, 2013, 04:55:15 pm
Okay, now we can display the camera image on the desktop, and we can create a *.BMP file by taking a snapshot. Huge step forward, but now what?  :D

Now we need applications that do what the user wants. And these have to support all the uvc webcams on the world. I know that we are far from that and I don't think we will ever reach that. I am working my way upwards from the usb host controller drivers in the direction of such applications. Right now all usb host controller drivers support isochronous transfers. Many thanks to Lars Erdmann. Without him this would not have been possible.

For testing these isochronous transfers I had to modify my usbecd.sys device driver. This driver was originally intended for control transfers only. So I could build some usb hardware and play with it. Later on I added support for bulk and interrupt transfers.  Bulk transfers for the CanoScan 4400F and interrupt transfers for Pen and Touch devices. So usbecd.sys is one way towards these applications. However usbecd.sys will be a bottleneck. It can only handle one isochronous endpoint and all its iso buffers must reside in one 65535 bytes memory block. I am not going to improve that. This driver is for testing purposes only.

Another way would be usbresmg.sys -> usbcalls -> libusb -> ported linux based applications. However, all these three components do NOT currently support isochronous transfers. Yet another way might be via a new usbvideo.sys driver that ties into the multimedia subsystem. What is the right way to go? Who is going to do that? I cannot do it all.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Martin Iturbide on September 13, 2013, 05:32:36 pm
Quote
Now we need applications that do what the user wants.

How hard it is try to odinize the Google Hangout Plugin for Firefox? I really can not know that since I don't have much experience with Odin. But I think Google Hangout it is very interesting for video conference.

Some open source alternative is QuteCom (http://www.qutecom.org/wiki/QuteCom).
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Silvan Scherrer on September 13, 2013, 06:57:03 pm
I just tried the driver on my T510, which has the following device id: /D:17EF:480F:2345 /N:$CHICON$
with x200tc2 i see a black screen and the led at the camera goes on. with all other exe i get a "Obtain thread error"

regards and thanks
Silvan
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Doug Bissett on September 13, 2013, 10:32:09 pm
Okay, now we can display the camera image on the desktop, and we can create a *.BMP file by taking a snapshot. Huge step forward, but now what?  :D

Now we need applications that do what the user wants. And these have to support all the uvc webcams on the world. I know that we are far from that and I don't think we will ever reach that. I am working my way upwards from the usb host controller drivers in the direction of such applications. Right now all usb host controller drivers support isochronous transfers. Many thanks to Lars Erdmann. Without him this would not have been possible.

I doubt if it is necessary (or even desirable) to support every web cam that ever existed. Lars is doing wonderful work.

Quote
For testing these isochronous transfers I had to modify my usbecd.sys device driver. This driver was originally intended for control transfers only. So I could build some usb hardware and play with it. Later on I added support for bulk and interrupt transfers.  Bulk transfers for the CanoScan 4400F and interrupt transfers for Pen and Touch devices. So usbecd.sys is one way towards these applications. However usbecd.sys will be a bottleneck. It can only handle one isochronous endpoint and all its iso buffers must reside in one 65535 bytes memory block. I am not going to improve that. This driver is for testing purposes only.

I know that the source is available for older versions of usbecd.sys. I would think that the new source could be the basis for developing more specific drivers. I personally don't know much about that, but there should be others who have some knowledge, and interest.

FWIW, I use usbecd.sys with mACPUPS, to communicate with my APC UPS. It works well...

Quote
Another way would be usbresmg.sys -> usbcalls -> libusb -> ported linux based applications. However, all these three components do NOT currently support isochronous transfers. Yet another way might be via a new usbvideo.sys driver that ties into the multimedia subsystem. What is the right way to go? Who is going to do that? I cannot do it all.

I know that VLC, in Linux Mint, will support the camera in my ThinkPad L530. Apparently, it can also do communications, but I haven't looked at what it can actually do. It uses something called a "Capture device", to do it. I assume that a "Capture device" is some sort of driver. Some study of what VLC is expecting, could lead to a method of transferring data into VLC, for further processing.

The "right way to go" is, as usual, the easiest, and most flexible, way to do it (usbvideo.sys, I would expect, but I am far from being an expert). Who? That is, as usual, one of the biggest problems that we have. I don't have the expertise, but I think there are a number of people who could do it. Your work, supported by Lars' work, has allowed capturing the data, and it can convert that into a moving picture. Now, we need a way to make that picture available to other programs, for further processing. I think the other programs already exist (but may require some tweaking to make them work in eCS or OS/2). VLC, for example, should be able to handle streaming video, from a device driver.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Sigurd Fastenrath on September 14, 2013, 09:30:02 am
I have to apologize for not mention the work of Lars Erdman here! It was unintended, the reason is that I do not see the work "behind" and was not aware of the great commitment he does with his USB Drivers.

 


Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Alex Taylor on September 16, 2013, 03:41:14 am
FWIW, I've tried it now with my ThinkPad W500, using both the X200 and X220 options. In all cases I get the 'obtain thread error'. I guess the hardware in the W500 is not quite the same as either of those two, even though it's of similar vintage.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: David McKenna on September 17, 2013, 12:58:58 am
 Got my Logitech C250 today and tried it out. I have the same result as Yuri reported: only 160x120 and 176X144 work. All other resolutions freeze in a second or two. I did get a Trap000d in USBEHCD a couple times as well when closing one of the working resolutions (wrote it down if it might be useful). I tried different /S:x settings on the BASEDEV=USBEHCD.SYS, but nothing helped (some hurt).
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Alex Taylor on September 17, 2013, 02:01:09 am
On Silvan's suggestion I found the correct USB IDs for my W500's camera.  Now, using
/D:17EF:4807:3134 /N:$CHICON$
I can occasionally get a second or two of working video in some of the programs, but the picture always freezes almost instantly. At other times I just get a black window.  Still, getting warmer.

I notice that with the updated /D switch, my computer now emits a shrill-sounding BEEP on bootup.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: David McKenna on September 17, 2013, 02:14:50 am
Alex... just add /S to the USBECD.SYS line. That turns off the beep, which indicates it is connecting to the camera.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Sigurd Fastenrath on September 18, 2013, 07:15:43 am
This may be of interest  ;)

http://os2.zworks.de/VistaCam/eng/index.html (http://os2.zworks.de/VistaCam/eng/index.html)
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on September 24, 2013, 03:59:17 pm
O.K. I could not hold back myself...

For the Logitech C250 I wrote a set of two programs that allow this camera to be used over the internet.

WARNING: There is NO security provided at all. So be careful and THINK before you open up your camera port through your router to the internet!

WebLook operates the camera. WebView shows the video. Default ip address is 127.0.0.1 and default port is 14225.

WebLook /p11111 uses tcp/ip port 11111.

WebView /a192.168.1.1 /p11111 uses ip address 192.168.1.1 and port 11111.

Enjoy.

Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Neil Waldhauer on September 24, 2013, 10:46:17 pm
I also got my W500 camera working using the x200tc package and the setup string Alex Taylor used.
Code: [Select]
Device=n:\os2\boot\usbecd.sys /D:17EF:4807:3134 /N:$CHICON$The capture often freezes, but I have captured snapshots or shown video at every resolution.

I'd love to try WebLook and WebView on the W500, if such a thing is possible.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on September 26, 2013, 12:17:00 pm
Quote
C250WV0.ZIP (9.26 kB - downloaded 5 times.)

And did you, Logitech C250 owners, enjoy it? Does it work for you?

Quote
I'd love to try WebLook and WebView on the W500, if such a thing is possible.

These WebLook and WebView programs have been specifically written for the Logitech C250.
Without feedback from the Logitech c250 owners, no use to even try writing for the W500.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Silvan Scherrer on September 26, 2013, 02:56:47 pm
Wim,

do you have an idea why /D:17EF:480F:2345 /N:$CHICON$ could not work?
I'd love to test more.

regards
Silvan
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on September 26, 2013, 03:34:55 pm
do you have an idea why /D:17EF:480F:2345 /N:$CHICON$ could not work?
I'd love to test more.

Hi Silvan,

Thanks for the offer. Provide me with the output of lsusb from Paul Smedley for that camera.

https://dl.dropboxusercontent.com/u/76425158/lsusb-20130526.zip

lsusb -d 17ef:480f -v > 17ef480f.txt

Regards, Wim.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Yuri on September 26, 2013, 06:25:44 pm
Thanks for the offer. Provide me with the output of lsusb from Paul Smedley for that camera.

Here is descriptor output for Logitech C200.

thanks,

Yuri
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Sigurd Fastenrath on September 26, 2013, 09:20:20 pm
Quote
C250WV0.ZIP (9.26 kB - downloaded 5 times.)

And did you, Logitech C250 owners, enjoy it? Does it work for you?

Quote
I'd love to try WebLook and WebView on the W500, if such a thing is possible.

These WebLook and WebView programs have been specifically written for the Logitech C250.
Without feedback from the Logitech c250 owners, no use to even try writing for the W500.

Hi Wim,

I tried it and I am still not skilled enough to know what to do exactly  :-\

I do not understand wich way it is working. I attached the Logitech and started weblook /p11111 from a command line. It started, turned the green light of the cam on and in the os/2 window "Online" is shown (see attached picture weblook).

I then opened a second command prompt and started webview /a192.168.178.127 /p11111where 192.168.178.127 was the IP of my WLAN connection.

The webview started to show the Webcam picture!!! (see attached picture webview and webviewfull)

So - that looks great - but in wich way it is now possible to view the picture from "outside"? What does I have to do to let for example watch my kids the webcam? What do they have to do?

Thanks, and I posted it here and not via mail as some others may run into the same problems than me  8)

Thanks again for your tremendous work!!!

Sigurd
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on September 26, 2013, 09:53:47 pm
Hi Sigurd,

I don't know how to explain this. It is a typical router dependent thing. You need to open port 11111 in your router.
It is not specific to my applications. Others might explain it I hope.

Best regards, Wim.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on September 26, 2013, 10:33:50 pm
Here is descriptor output for Logitech C200.
Hi Yuri,

I compared the descriptor of my Logitech C250 with the descriptor of your Logitech C200 and they are the same.

So try C250WV0.ZIP since it should ;) work with your camera too.

Regards, Wim.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: David McKenna on September 26, 2013, 11:20:35 pm
Wim!

  Webview/Weblook works great here (Logitech C250)... even better than the apps that come with the driver. I can only use the 2 lowest res driver apps with my camera without freezing, but with weblook/webview I get full resolution and no freezing. What a blast...great job!

Regards,

Dave McKenna
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Silvan Scherrer on September 27, 2013, 02:38:21 pm
Hi Silvan,

Thanks for the offer. Provide me with the output of lsusb from Paul Smedley for that camera.

https://dl.dropboxusercontent.com/u/76425158/lsusb-20130526.zip

lsusb -d 17ef:480f -v > 17ef480f.txt

Regards, Wim.

Wim,
find attached the output of the lsusb command
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Paul Smedley on September 28, 2013, 01:32:08 am
glad lsusb is useful :)
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on September 28, 2013, 09:01:13 am
lsusb (from Paul Smedley - the best - highly recommended for everyone)!
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: ivan on September 28, 2013, 07:00:34 pm
Paul, I have a problem using lsusb.exe.  It works when I use lsusb -h (it shoes the options) but when I try to do anything else I get the following:

[D:\utility]>lsusb -d 04b8:010c -v

Killed by SIGSEGV
pid=0x0076 ppid=0x006e tid=0x0001 slot=0x00b2 pri=0x0200 mc=0x0001
D:\UTILITY\LSUSB.EXE
LSUSB 0:0000f3b6
cs:eip=005b:0001f3b6      ss:esp=0053:0081ff30      ebp=0081ffa0
 ds=0053      es=0053      fs=150b      gs=0000     efl=00012246
eax=00000000 ebx=ffffffff ecx=ffffffff edx=00000000 edi=00000000 esi=0081ffbc
Process dumping was disabled, use DUMPPROC / PROCDUMP to enable it.

The usb.ids is in os2\bin as per your readme.os2 since this is a standard WSeB install.  I assume not finding the usb.ids is the problem so what di I need to do to make it do so?
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on September 29, 2013, 04:41:24 pm
Hi Silvan,

According to your lsusb output, the camera in your T510 appears to be equal to the one in the X201T.
So try the yet untested http://home.hccnet.nl/w.m.brul/usbvideo/x201wv0.zip and see if it works for you.

Regards, Wim.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: David McKenna on September 29, 2013, 06:13:25 pm
 Has anyone tried Lars' new USB drivers (USBHCD196)? I get freezing in a few seconds with that driver when using weblook/webview. Going back to 195 all is well. Anyone else see that?
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Silvan Scherrer on September 30, 2013, 12:29:45 pm
Hi Silvan,

According to your lsusb output, the camera in your T510 appears to be equal to the one in the X201T.
So try the yet untested http://home.hccnet.nl/w.m.brul/usbvideo/x201wv0.zip and see if it works for you.

Regards, Wim.
Wim,

i just tried it. Weblook starts and the camera light goes on. Webview also starts but i only see a black screen.
I started both apps on the T510 w/o parameters.

regards
Silvan
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Yuri on September 30, 2013, 12:55:33 pm
I compared the descriptor of my Logitech C250 with the descriptor of your Logitech C200 and they are the same.
So try C250WV0.ZIP since it should ;) work with your camera too.

works only for lower resolutions and for a short amount of time... seems some kind of buffer size because lower resolution works longer.

thanks,

Yuri
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on October 03, 2013, 04:49:34 pm
Hi Silvan,

According to your lsusb output, the camera in your T510 appears to be equal to the one in the X201T.
So try the yet untested http://home.hccnet.nl/w.m.brul/usbvideo/x201wv0.zip and see if it works for you.

Regards, Wim.
Wim,

i just tried it. Weblook starts and the camera light goes on. Webview also starts but i only see a black screen.
I started both apps on the T510 w/o parameters.

regards
Silvan
Hi Silvan,

Alas,  your camera needs more buffers to to work. Some other tester (the one with the X201) had the same result. He tested also http://home.hccnet.nl/w.m.brul/usbvideo/x201tc.zip and those programs did not work either. You might try these as well.

Wim.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on October 03, 2013, 04:59:10 pm
I compared the descriptor of my Logitech C250 with the descriptor of your Logitech C200 and they are the same.
So try C250WV0.ZIP since it should ;) work with your camera too.

works only for lower resolutions and for a short amount of time... seems some kind of buffer size because lower resolution works longer.

thanks,

Yuri
Hi Yuri,

The weblook and webview programs in C250WV0.ZIP obtain an MJPG stream whereas the programs in C250TC.ZIP obtain a YUYV stream. Reading your comment 8) I get the impression that you did not even try.

Wim.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Silvan Scherrer on October 04, 2013, 12:34:48 pm

Hi Silvan,

Alas,  your camera needs more buffers to to work. Some other tester (the one with the X201) had the same result. He tested also http://home.hccnet.nl/w.m.brul/usbvideo/x201tc.zip and those programs did not work either. You might try these as well.

Wim.

Wim,

I just tried those. And with some exe's I can get some pictures. But only for some seconds before it freezes.

regards
Silvan
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Yuri on October 07, 2013, 10:55:29 am
Hi Wim,

Reading your comment 8) I get the impression that you did not even try.

you are right, I didn't try webview because I thought it was only a different way to show images, not also using a different stream.

I tested vweblook/webview, and I'm able to see a 320x240 stream for one or two minutes. I just noted that c250tc4 is supposed to show a 320x240 stream, but the PM window is only 160x120 (while webview has a 320x240 window).

Also I noted that other apps are usually freezing at startup while changing the luminance of the stream, e.g. first shot is darker then it gets lighter in smaller frame apps.

This with 10.195 drivers, I will test .196 on next boot.

thanks,

Yuri


Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on October 07, 2013, 12:20:11 pm
Hi Yuri,

I tested vweblook/webview, and I'm able to see a 320x240 stream for one or two minutes. I just noted that c250tc4 is supposed to show a 320x240 stream, but the PM window is only 160x120 (while webview has a 320x240 window).

The mjpg stream obtained by weblook is 640x480 and by default webview shows it as 320x240. When you maximize webview then it shows the 640x480 image in its full glory. Snapshots are always 640x480. Similarly, by default c250tc4 shows the 320x240 image as 160x120. Maximized it shows 320x240. Snapshots are always 320x240.

Quote
Also I noted that other apps are usually freezing at startup while changing the luminance of the stream, e.g. first shot is darker then it gets lighter in smaller frame apps.

The change of the luminance of the stream is done by the hardware in the Logitech C250 Webcam during streaming. If you would restart the same app then it would become lighter as well.

One important correction: I stated earlier in this thread that the programs in c250tc.zip work on my development computer with only usb 1.1 ports. This is definitely NOT true. These are high speed and high bandwidth only!

Regards, Wim.




 
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Yuri on October 12, 2013, 05:32:07 pm
Hi Wim,

The mjpg stream obtained by weblook is 640x480 and by default webview shows it as 320x240. When you maximize webview then it shows the 640x480 image in its full glory. Snapshots are always 640x480. Similarly, by default c250tc4 shows the 320x240 image as 160x120. Maximized it shows 320x240. Snapshots are always 320x240.

ok, maximized window is working, I didn't try it before because window border was fixed. So 640x480 works with C200 too.

thanks,

Yuri

Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Yuri on October 12, 2013, 05:38:48 pm
Hi Wim,

which kind of work is required to add new camera models?

Yuri
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on October 13, 2013, 03:23:21 pm
Hi Wim,

which kind of work is required to add new camera models?

Yuri
Hi Yuri,

Work required to produce another set of test cases:

All those *tc.zip products are in fact test cases for the initial high speed and high bandwidth isochronous transfer support in the usbehcd.sys host controller driver. To produce one for yet another webcam requires the output from lsusb -v for that webcam to be analyzed by me first. Then I would compose a rexx procedure to try and test the uvc probe and commit phases that I want these new test cases to use. From that I would also know how to setup the required bandwidth and alternate interface settings. Finally I would change the compile time options in the turbo assembler source code plus possibly some other changes necessary to get this webcam working and build the new product. Since the initial high speed and high bandwidth isochronous transfer support in the usbehcd.sys host controller drivers works, I don't think I should spend any more time doing this.

Work required to produce generic webcam support:

Since usbecd.sys is intended for prototyping, it has some drawbacks. First of all it cannot provide enough buffering to sustain reliably a continuous video stream. Secondly each webcam would require its own unique config.sys statement. Therefore support for isochronous transfers need to be added to usbresmg.sys so it can be used instead. This is something I am considering to dive into when time permits. Both weblook and webview have been coded in turbo assembler. As a starter some other programmer could convert/rewrite these using C instead. This would make adding support for other uvc webcams easier. Then the inspection of the usb descriptors need to be added and the outcome of the probe and commit phase need to be acted upon to setup the required alternate interfaces and the isochronous buffering.

Regards, Wim.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Paul Smedley on October 13, 2013, 09:16:36 pm
Hi Wim!

Therefore support for isochronous transfers need to be added to usbresmg.sys so it can be used instead. This is something I am considering to dive into when time permits. Both weblook and webview have been coded in turbo assembler.

This would be awesome, as then support could also be added to libusb for isochronous transfers :)
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Yuri on October 14, 2013, 11:38:20 am
Hi Wim,

Therefore support for isochronous transfers need to be added to usbresmg.sys so it can be used instead. This is something I am considering to dive into when time permits. Both weblook and

I think this is a must for further work on webcam issue, so we can get libusb to work too and this will give us access to a lot of existing unix applications.

Yuri
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on October 20, 2013, 12:01:45 pm
Hi Wim!

Therefore support for isochronous transfers need to be added to usbresmg.sys so it can be used instead. This is something I am considering to dive into when time permits. Both weblook and webview have been coded in turbo assembler.

This would be awesome, as then support could also be added to libusb for isochronous transfers :)
Quote
I think this is a must for further work on webcam issue, so we can get libusb to work too and this will give us access to a lot of existing unix applications.

Yuri

Hi Paul and Yuri,

O.K. I have made up my mind :) and I am going for it.

I have compiled both usbresmg.sys and usbcalls.dll and after some modifications I got a basic working set that is suitable for implementing support for isochronous transfers. The source code I use is the latest one available at Netlabs. Right now I am investigating which functions should be present. I will keep you informed.

Wim.

Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Silvan Scherrer on October 21, 2013, 11:04:14 am
Wim,

that's great to hear. Thanks for the support.

regards
Silvan
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on June 30, 2014, 04:33:32 pm
O.K. I have made up my mind :) and I am going for it.

I have compiled both usbresmg.sys and usbcalls.dll and after some modifications I got a basic working set that is suitable for implementing support for isochronous transfers. The source code I use is the latest one available at Netlabs. Right now I am investigating which functions should be present. I will keep you informed.

Wim.

Since October 2013 I have been working on the implementation of isochronous transfers in USB Resource Manager. The current sources are at netlabs in my private branch:

usb - Revision 1138: /basedrv/branches/wim/usbcalls
https://svn.netlabs.org/repos/usb/basedrv/branches/wim/usbcalls
usb - Revision 1138: /basedrv/branches/wim/usbresmgr
https://svn.netlabs.org/repos/usb/basedrv/branches/wim/usbresmgr

I have produced a (beta test) matched set of usbcalls and usbresmg.sys that is backwards compatible. I have removed old code both in usbresmg.sys and usbcalls.dll for functions that were never properly supported. Existing synchronous transfer functions work well again and I have implemented these as asynchronous too. I have added code for the new asynchronous isochronous transfer functions. I am getting video from my Logitech C250 camera.

I have put this built as usbres00.zip on hobbes, and on my website
http://home.hccnet.nl/w.m.brul/usbcalls/index.html with API description.

Now it is possible to design an application that supports various cameras without having to modify config.sys for each specific camera. I intend to convert Weblook and Webview into such an application. Will take some time though.

Wim.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: mike on June 30, 2014, 09:45:01 pm

Since October 2013 I have been working on the implementation of isochronous transfers in USB Resource Manager. The current sources are at netlabs in my private branch:

I have produced a (beta test) matched set of usbcalls and usbresmg.sys that is backwards compatible. I have removed old code both in usbresmg.sys and usbcalls.dll for functions that were never properly supported. Existing synchronous transfer functions work well again and I have implemented these as asynchronous too. I have added code for the new asynchronous isochronous transfer functions. I am getting video from my Logitech C250 camera.


These are good news, thanks for the work on it  :)
About the webcam access,  doest it mean we can now have a generic pm application that can show the video of the connected usb webcam?


Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on July 01, 2014, 09:46:48 am
About the webcam access,  doest it mean we can now have a generic pm application that can show the video of the connected usb webcam?

Yes.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Jan-Erik Lärka on July 01, 2014, 11:12:53 am
Hello,

I tried it with my Sony Vaio Notebook and the green led turned on...

How far away is a driver that one can try?

//Jan-Erik Lärka
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: RBRi on July 01, 2014, 07:59:21 pm
Now it is possible to design an application that supports various cameras without having to modify config.sys for each specific camera. I intend to convert Weblook and Webview into such an application. Will take some time though.

Great, thanks a lot for your effort.
 
    RBRi
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: mike on July 01, 2014, 10:08:21 pm
About the webcam access,  doest it mean we can now have a generic pm application that can show the video of the connected usb webcam?

Yes.

hello,
is it possible to recycle the one that was already compiled for different usb cams on your site? What about USBECD.SYS ?


Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on July 02, 2014, 04:18:04 pm
About the webcam access,  doest it mean we can now have a generic pm application that can show the video of the connected usb webcam?

Yes.

hello,
is it possible to recycle the one that was already compiled for different usb cams on your site? What about USBECD.SYS ?

Hi Mike,

Yes, but it is easier for me to work on weblook first because it is a vio program. Mind you, the associated webview program is a pm program. The aim is to move away from usbecd.sys for generic webcam support. See my previous posts in this thread.

Wim.

Hello,

I tried it with my Sony Vaio Notebook and the green led turned on...

How far away is a driver that one can try?

//Jan-Erik Lärka

Hi Jan-Erik,

The (beta test) USB Resource Manager is already available.
The programs weblook and webview within a few weeks.

Wim.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Doug Bissett on July 02, 2014, 05:23:10 pm
Quote
I have put this built as usbres00.zip on hobbes, and on my website

I have installed it on a couple of eCS 2.1 systems. Only one has a camera. As I expected, without a program to use the camera, it does nothing. The good news is that your work didn't break anything.

Thanks...
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on July 03, 2014, 06:56:37 pm
Quote
I have put this built as usbres00.zip on hobbes, and on my website

I have installed it on a couple of eCS 2.1 systems. Only one has a camera. As I expected, without a program to use the camera, it does nothing. The good news is that your work didn't break anything.

Thanks...

Thank you for installing :) and the good :) news.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on July 04, 2014, 08:07:46 pm
The 1st beta test of weblook and webview :) WebSeeBeta1.zip :) is now available at my website.

 
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Doug Bissett on July 05, 2014, 06:29:21 am
The 1st beta test of weblook and webview :) WebSeeBeta1.zip :) is now available at my website.

Well, it works on my Lenovo ThinkPad L530, but there seems to be a couple of problems (it is inconsistent, sometimes it is all black). I am too tired to try to figure it out tonight.

Good start though.   :D
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: David McKenna on July 05, 2014, 04:20:38 pm
 Thanks...I tried this new Beta with a Logitech C250. This cam worked well with your last version. With the new beta, it works for about 90 seconds, then the picture freezes. If I then close and re-open Webview, the image is black. I need to restart weblook to get video again - I can even leave webview open and the video un-freezes when I restart weblook.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Barbara on July 05, 2014, 04:43:20 pm
No light and no shot from my Microdia usb webcam:
<<< Device Description >>>
 Type            : 01
 USB Rev         : 110
 Class           : Reserved (0)
 Subclass        : Reserved (0)
 Protocol        : Reserved (0)
  Device Information is defined at interface Level
 Max. packetsize : 40
 Vendor  ID      : 0C45
 Product ID      : 60FB
 Device Release# : 0101
 Strings:
  Manufacturer Name : Not implemented
  Product Name      : USB camera
  Serial number     : Not implemented
 Number of Configurations : 1
only black bmp, tested on all usb ports, the system remain stable during test, no freeze or hangs.
Thanks for your effort!!
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Doug Bissett on July 05, 2014, 06:53:58 pm
Quote
Well, it works on my Lenovo ThinkPad L530, but there seems to be a couple of problems (it is inconsistent, sometimes it is all black). I am too tired to try to figure it out tonight.

I should note that the device is discovered by USBECD.SYS as 5986:02D2:0011. I am also using the QSINIT loader, to work past a memory limit problem that the IBM OS2LDR has, and I am using OS/4 4210, so I can use ACPI without needing the /VW parameter. QSINIT, and OS/4 don't seem to have anything to do with the problem.

Now, for my fist problem:
On the Lenovo ThinkPad L530, I have eCS 2.1 on the C: drive, and eCS 2.2 on the M: drive. When I try to start WEBLOOK on eCS 2.1, I get this:
Code: [Select]
started.
[0104241B]
[01052422]
[0206240B]
[01072422]
Starting it on eCS 2.2, I get this:
Code: [Select]
started.
[0104241B]
[01052422]
[0206240B]
[01072422]
MJPG
[00000C00]
[00000010]
On-line. Use Ctrl+Break to end.
[open isochronous]
Using eCS 2.2, I can start WEBVIEW, and I can see myself in the window. WEBVIEW is all black with eCS 2.1 (I expect this, since it appears that WEBLOOK is not loading properly).

The first discrepancy, that I found, was that eCS 2.1 still had the device supported by USBECD.SYS, in CONFIG.SYS. ECS 2.2 does not have that line in CONFIG.SYS. REMing that line in eCS 2.1 did not change anything. Adding the line to eCS 2.2 CONFIG.SYS, changes nothing (it still works).

Obviously, I am missing something, but what do I look for?


Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on July 05, 2014, 06:58:34 pm
Thanks...I tried this new Beta with a Logitech C250. This cam worked well with your last version. With the new beta, it works for about 90 seconds, then the picture freezes. If I then close and re-open Webview, the image is black. I need to restart weblook to get video again - I can even leave webview open and the video un-freezes when I restart weblook.

I doubled the number of isochronous buffers in weblook.exe  and I replaced WebseeBeta1.zip on my website. I hope that helps.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Doug Bissett on July 05, 2014, 07:29:47 pm
Thanks...I tried this new Beta with a Logitech C250. This cam worked well with your last version. With the new beta, it works for about 90 seconds, then the picture freezes. If I then close and re-open Webview, the image is black. I need to restart weblook to get video again - I can even leave webview open and the video un-freezes when I restart weblook.

I doubled the number of isochronous buffers in weblook.exe  and I replaced WebseeBeta1.zip on my website. I hope that helps.

I am seeing the same thing. Before it freezes, I am seeing the odd flash where the bottom of the picture is corrupted. There are also short periods where the picture pauses. After a while (60 to 90 seconds), the picture freezes. As observed by David, restarting WEBLOOK gets it going, and it starts all over again.

The updated WEBLOOK makes the corruption at the bottom of the picture, twice as big as what I saw with the original version, and it still freezes.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on July 05, 2014, 08:03:55 pm
Hi Doug,

Quote
Now, for my fist problem:
On the Lenovo ThinkPad L530, I have eCS 2.1 on the C: drive, and eCS 2.2 on the M: drive. When I try to start WEBLOOK on eCS 2.1, I get this:
Code: [Select]

started.
[0104241B]
[01052422]
[0206240B]
[01072422]

These 4 lines tell me that your webcam supports YUYV and MJPG video. It is reported by weblook during its scan from the usb descriptors. It seems that that scan never ended because when it does you will get the MJPG line. Is it eating a lot of cpu time because of a scanning loop?

Quote
Starting it on eCS 2.2, I get this:
Code: [Select]

started.
[0104241B]
[01052422]
[0206240B]
[01072422]
MJPG
[00000C00]
[00000010]
On-line. Use Ctrl+Break to end.
[open isochronous]

Using eCS 2.2, I can start WEBVIEW, and I can see myself in the window. WEBVIEW is all black with eCS 2.1 (I expect this, since it appears that WEBLOOK is not loading properly).

The 2 lines below MJPG correctly show the frame length and number of microframes in an isochronous buffer.
 
Quote
The first discrepancy, that I found, was that eCS 2.1 still had the device supported by USBECD.SYS, in CONFIG.SYS. ECS 2.2 does not have that line in CONFIG.SYS. REMing that line in eCS 2.1 did not change anything. Adding the line to eCS 2.2 CONFIG.SYS, changes nothing (it still works).

Yes. I would expect it to make no difference.

Quote
Obviously, I am missing something, but what do I look for?

May be C:\ECS\BOOT\USBRESMG.SYS versus C:\OS2\BOOT\USBRESMG.SYS ?


 
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on July 05, 2014, 08:25:25 pm
No light and no shot from my Microdia usb webcam:
<<< Device Description >>>
 Type            : 01
 USB Rev         : 110
 Class           : Reserved (0)
 Subclass        : Reserved (0)
 Protocol        : Reserved (0)
 

Sorry Barbara, but this is not a UVC compliant webcam. I cannot support it.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Doug Bissett on July 05, 2014, 08:36:58 pm
Quote
Quote

Quote
    Obviously, I am missing something, but what do I look for?

May be C:\ECS\BOOT\USBRESMG.SYS versus C:\OS2\BOOT\USBRESMG.SYS ?

Well, not exactly, but that did get me to the resolution. It seems that TAME supplies it's own USBRESMG.SYS. After I changed the pointer to the new one, it now works exactly the same (including video corruption, and freezing) in eCS 2.1 and eCS 2.2. I guess I will need to try TAME again, with the new USBRESMG.SYS, although TAME never worked very well on that machine.

THANKS.   :)
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: David McKenna on July 05, 2014, 10:53:59 pm
I doubled the number of isochronous buffers in weblook.exe  and I replaced WebseeBeta1.zip on my website. I hope that helps.

  It doesn't seem to make any difference, the behaviour is exactly the same...
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on July 06, 2014, 10:46:01 am
I doubled the number of isochronous buffers in weblook.exe  and I replaced WebseeBeta1.zip on my website. I hope that helps.

  It doesn't seem to make any difference, the behaviour is exactly the same...

Thanks for testing. As usual ;) this freezing and corruption does not occur on my test systems. May be markexe mpunsave weblook.exe is required. I only have single core cpu's. What do you guys use? Aha, not so fast, it just froze here too. But it took more than 30 minutes and froze only once. No corruption though.

I have replaced WebSeeBeta1.zip on my website (weblook marked mpunsave).
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: David McKenna on July 06, 2014, 04:25:54 pm
  Wim,

  I'm using a dual processor i3 CPU. Tried the newest version and still get the same behaviour... freeze after about a minute. If there is some kind of logging that can be done, I'd be glad to do it...
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Doug Bissett on July 06, 2014, 07:19:07 pm
Mine is an Intel I5, with 2 cores (Hyperthreading turned off).

I just booted with /MAXCPUS=1 on the ACPI.PSD line, without updating. That should make my system a single processor. I still see the corruption, but not as often. I also see the short pauses, but it didn't freeze. It seems that the short pauses get more frequent, and last longer, every once in a while. That lasts for about 10 seconds, then it goes back to normal for about a minute.

Hmmm. I turned my back to make this post, turned around again, and the system was rebooting. It did it again, after about 12 minutes, so I have reverted to the IBM OS2LDR and kernel. I also enabled Process dump. I need to enable the system dump too.

I just found another "problem". When the system reboots (crashes), it does not turn off the camera indicator. When I start WEBLOOK, then WEBVIEW, the image is all black. I have to stop WEBLOOK (which turns off the indicator), and start it again, to get a picture.

Hmmm. WEBVIEW just crashed, with a SYS3175. I will collect whatever is there. It looks like just POPUPLOG.OS2, and a Process dump. The ZIP file is about 321KB, so I attached it here.

More later.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Doug Bissett on July 06, 2014, 09:07:23 pm
Well, running as a single CPU certainly changes the problem. It just ran for more than an hour, without crashing, or freezing.

I removed /MAXCPUS=1, rebooted, and started again. I still have not updated to your latest version.

The first attempt resulted in a black window. I stopped WEBLOOK, and started it again. Now, I see the picture.

Opps, WEBVIEW just crashed again. It looks like the same thing as before. I will collect the logs, but not post them. let me know if you want them.

After restarting WEBVIEW, I have a frozen picture. I will update, but I suspect that it won't make any difference.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Doug Bissett on July 06, 2014, 09:23:55 pm
After updating, I still had the black screen until I restarted WEBLOOK. It froze shortly after starting WEBVIEW.

I tried the larger picture size, and it still froze after a couple of minutes.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: David McKenna on July 06, 2014, 10:17:52 pm
 Just to make sure there was not some problem with the most recent USB drivers, I went back to the original Weblook/Webview (that uses the USBECD.SYS driver) and it ran for 30 minutes with no freeze. Switched back to the most recent Weblook/Webview (that uses USBRESMG.SYS) and the freezes were back in about a minute.

 Then I set ACPI.PSD /MAXCPU=1 and rebooted, and it seems the freezes are gone (after 10 minutes). Doesn't this seem to point at USBRESMG.SYS having an issue with multiple CPU's?
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: OS4User on July 06, 2014, 11:12:51 pm
Try on Weblook/Webview on my PC

weblook said:
Code: [Select]
D:\TOOLS\WebCam>weblook.exe
started.
[0104241B]
[01052422]
YUYV
[00000C00]
[00000010]
On-line. Use Ctrl+Break to end.
[open isochronous]

and black window  in webview

is there any chance to have it working on my PC ?

my camera  reports :
Code: [Select]
<<< Device Description >>>
 Type            : 01
 USB Rev         : 200
 Class           : Unknown class EF
 Subclass        : Unknown Subclass EF
 Protocol        : Unknown Protocol EF
 Max. packetsize : 40
 Vendor  ID      : 0AC8
 Product ID      : 3420
 Device Release# : 01FA
 Strings:
  Manufacturer Name : Vimicro Corp.
  Product Name      : Gmix USB Webcam
  Serial number     : Not implemented
 Number of Configurations : 1

 Configuration 0 :
  Lenght     : 607
  Name       : <NONE>
  Value      : 1
  Attributes : 0x80
  Power      : 320 mA
  Interfaces : 4
No Interface 0x04, Endpoint 0x05 or Classspec 0x21-0x025 Description is 0x0B

  Interface 0
   Alt Setting : 0
   Name        : Gmix USB Webcam
   Class       : Unknown class 0E
   SubClass    : Unknown Subclass 0E
   Protocol    : Unknown Protocol 0E
   Endpoints   : 1
Class-Specific Interface Descriptor, Size : 13
Class-Specific Interface Descriptor, Size : 18
Class-Specific Interface Descriptor, Size : 11
Class-Specific Interface Descriptor, Size : 9
Class-Specific Interface Descriptor, Size : 28

   Endpoint 0:
    Address     : 81
    Attributes  : 03
    Packetsize  : 000A
    Interval    : 5
Class-Specific Endpoint Descriptor, Size : 5

  Interface 1
   Alt Setting : 0
   Name        : <NONE>
   Class       : Unknown class 0E
   SubClass    : Unknown Subclass 0E
   Protocol    : Unknown Protocol 0E
   Endpoints   : 0
Class-Specific Interface Descriptor, Size : 14
Class-Specific Interface Descriptor, Size : 27
Class-Specific Interface Descriptor, Size : 34
Class-Specific Interface Descriptor, Size : 34
Class-Specific Interface Descriptor, Size : 34
Class-Specific Interface Descriptor, Size : 34
Class-Specific Interface Descriptor, Size : 34
Class-Specific Interface Descriptor, Size : 26
Class-Specific Interface Descriptor, Size : 6

  Interface 1
   Alt Setting : 1
   Name        : <NONE>
   Class       : Unknown class 0E
   SubClass    : Unknown Subclass 0E
   Protocol    : Unknown Protocol 0E
   Endpoints   : 1

   Endpoint 0:
    Address     : 82
    Attributes  : 05
    Packetsize  : 0080
    Interval    : 1

  Interface 1
   Alt Setting : 2
   Name        : <NONE>
   Class       : Unknown class 0E
   SubClass    : Unknown Subclass 0E
   Protocol    : Unknown Protocol 0E
   Endpoints   : 1

   Endpoint 0:
    Address     : 82
    Attributes  : 05
    Packetsize  : 0200
    Interval    : 1

  Interface 1
   Alt Setting : 3
   Name        : <NONE>
   Class       : Unknown class 0E
   SubClass    : Unknown Subclass 0E
   Protocol    : Unknown Protocol 0E
   Endpoints   : 1

   Endpoint 0:
    Address     : 82
    Attributes  : 05
    Packetsize  : 0400
    Interval    : 1

  Interface 1
   Alt Setting : 4
   Name        : <NONE>
   Class       : Unknown class 0E
   SubClass    : Unknown Subclass 0E
   Protocol    : Unknown Protocol 0E
   Endpoints   : 1

   Endpoint 0:
    Address     : 82
    Attributes  : 05
    Packetsize  : 0B00
    Interval    : 1

  Interface 1
   Alt Setting : 5
   Name        : <NONE>
   Class       : Unknown class 0E
   SubClass    : Unknown Subclass 0E
   Protocol    : Unknown Protocol 0E
   Endpoints   : 1

   Endpoint 0:
    Address     : 82
    Attributes  : 05
    Packetsize  : 0C00
    Interval    : 1

  Interface 1
   Alt Setting : 6
   Name        : <NONE>
   Class       : Unknown class 0E
   SubClass    : Unknown Subclass 0E
   Protocol    : Unknown Protocol 0E
   Endpoints   : 1

   Endpoint 0:
    Address     : 82
    Attributes  : 05
    Packetsize  : 1380
    Interval    : 1

  Interface 1
   Alt Setting : 7
   Name        : <NONE>
   Class       : Unknown class 0E
   SubClass    : Unknown Subclass 0E
   Protocol    : Unknown Protocol 0E
   Endpoints   : 1

   Endpoint 0:
    Address     : 82
    Attributes  : 05
    Packetsize  : 1400
    Interval    : 1
No Interface 0x04, Endpoint 0x05 or Classspec 0x21-0x025 Description is 0x0B

  Interface 2
   Alt Setting : 0
   Name        : Gmix USB Audio
   Class       : Audio
   SubClass    : AudioControl
   Protocol    : Not used(0)
   Endpoints   : 0
     Audiocontrol CS Interface Descriptor
     Length  : 9
     Type    : 0x24
     Subtype : 0x01
    Header :
     Audio Device Class Release Number : 0100
     Max size of AudioControl interface descriptor. : 16685
     Number of AudioStreaming and MIDIStreaming interfaces : 1
      1. Streaming interface on Device Interface 3
     Audiocontrol CS Interface Descriptor
    Input Terminal :
     Length  : 12
     Type    : 0x24
     Subtype : 0x02
     Unique Terminal ID       : 1
     Terminal Type            : 0x0201
     Assoc. Terminal ID       : 0
     Number of Log. Channels  : 1
     Spatial channel location : 0x0000
     Name of Channel          : Not Implemented
     Name of Terminal         : At Index 9 has an Invalid lenght of 0x0000
     Audiocontrol CS Interface Descriptor
    Feature Unit :
    Length  : 9
    Type    : 36
    Subtype : 6
    Dumped Data :
     02 01 01 00 03 00
     09
     Unique Unit ID  : 2
     Source ID       : 1
     Size of Control Item  : 1
     ControlMap for Master : 0x00
     ControlMap for Channel 1 : 0x03
     Name of Feature Unit : At Index 9 has an Invalid lenght of 0x0000
     Audiocontrol CS Interface Descriptor
    Output Terminal :
     Length  : 9
     Type    : 0x24
     Subtype : 0x03
     Unique Terminal ID : 3
     Terminal Type      : 0x0101
     Assoc. Terminal ID : 1
     Source ID          : 2
     Name of Terminal   : Not Implemented

  Interface 3
   Alt Setting : 0
   Name        : <NONE>
   Class       : Audio
   SubClass    : Streaming Audio
   Protocol    : Not used(0)
   Endpoints   : 0

  Interface 3
   Alt Setting : 1
   Name        : <NONE>
   Class       : Audio
   SubClass    : Streaming Audio
   Protocol    : Not used(0)
   Endpoints   : 1
    General Endpoint Information:
     Length  : 7
     Type    : 0x24
     Subtype : 0x01
     Controls:
      - Sampling Frequency
      - Pitch
      - Locktime 16742 ms
     Audiostreaming CS Interface Descriptor
     Format Type:
     Length  : 29
     Type    : 0x24
     Subtype : 0x02
      Physical Channels : 1
      Subframe size     : 2
      Bits used         : 16
      Supported Frequencies
       - 8000Hz
       - 11025Hz
       - 16000Hz
       - 22050Hz
       - 32000Hz
       - 44100Hz
       - 48000Hz
       - 8586505Hz

   Endpoint 0:
    Address     : 83
    Attributes  : 01
    Packetsize  : 0062
    Interval    : 4
    General Endpoint Information:
     Length  : 7
     Type    : 0x25
     Subtype : 0x01
     Controls:
      - Sampling Frequency
      - Locktime 16787 (No Unit)
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Martin Iturbide on July 06, 2014, 11:32:08 pm
Today I tried the USBECD.SYS  driver on my Thinkpad L420. Webcam Chicone 05C8:0317.

I put this on the Config.SYS and worked.
Quote
DEVICE=X:\OS2\BOOT\USBECD.SYS /D:05C8:0317:#### /N:$CHICON$

The W520TC exes worked fine to take snapshots.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on July 08, 2014, 03:05:12 pm
Just to make sure there was not some problem with the most recent USB drivers, I went back to the original Weblook/Webview (that uses the USBECD.SYS driver) and it ran for 30 minutes with no freeze. Switched back to the most recent Weblook/Webview (that uses USBRESMG.SYS) and the freezes were back in about a minute.

 Then I set ACPI.PSD /MAXCPU=1 and rebooted, and it seems the freezes are gone (after 10 minutes). Doesn't this seem to point at USBRESMG.SYS having an issue with multiple CPU's?

It could very well be that USBRESMG.SYS has an issue with multiple CPU's. I don't know, but I have seen freezes on my single core test system too. I looked into the SYS3175 trap that Doug reported and found out that WebView contains too optimistic mjpg decoding code that (in case of incorrect or incomplete input data) may and most likely will overwrite memory where it shouldn't. This is a cause for all sorts of problems. Not easy to fix though.

In the mean time I added the WebCam Viewer (uvcview.exe and uvcview.cmd) to WebSeeBeta1.zip on my website. This pm program operates your uvc webcam and displays the video stream. Although it contains the same mjpg decoding shortcomings as  WebView, it allows to rule out any tcp/ip problems.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Doug Bissett on July 08, 2014, 07:45:10 pm
Quote
In the mean time I added the WebCam Viewer (uvcview.exe and uvcview.cmd) to WebSeeBeta1.zip on my website. This pm program operates your uvc webcam and displays the video stream. Although it contains the same mjpg decoding shortcomings as  WebView, it allows to rule out any tcp/ip problems.

I tried uvcview.exe. It opens, works for about 1 second, then freezes.

I then put /MAXCPU=1 on the ACPI.PSD line, rebooted, and tried again. Now it seems to be working (about 3 minutes now).

Okay, back to two CPUs, and I used EXECMODE.EXE to set uvcview.exe to single processor mode. This time, it showed pauses, and corruption, for about 5 seconds, before freezing.

I will continue to use the IBM OS2LDR and kernel, while working with this project, just to eliminate unknowns.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Doug Bissett on July 08, 2014, 07:59:34 pm
One thing that does work (with the known problems), is to  look at the WEBLOOK output, using a second machine on my network. The command that I used was:
Code: [Select]
Webview.exe /a192.168.0.107 /p14225(the address is the machine running WEBLOOK). I suspect that this will be limited to my local network, because of firewall rules that my ISP uses.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Doug Bissett on July 09, 2014, 04:24:54 am
Well, I guess I found the main problem. I thought I had Lars' usbhcd197.zip driver on that machine. After double (tripple) checking, I found that it actually had USB-eCS-11.06.wpi installed. I put usbhcd197.zip on it, and WEBLOOK/WEBView has been running with no trouble for almost half an hour.  :-[
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Doug Bissett on July 09, 2014, 06:04:40 am
WEBLOOK/WEBVIEW ran without a problem, for more than an hour. It did, eventually, freeze.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on July 09, 2014, 09:37:40 am
Well, I guess I found the main problem. I thought I had Lars' usbhcd197.zip driver on that machine. After double (tripple) checking, I found that it actually had USB-eCS-11.06.wpi installed. I put usbhcd197.zip on it, and WEBLOOK/WEBView has been running with no trouble for almost half an hour.  :-[

Well, Doug, that is a relief! :) Thank you for all your testing effort.

Quote
WEBLOOK/WEBVIEW ran without a problem, for more than an hour. It did, eventually, freeze.

Nice. :) Now it is working for you with 2 CPU's the same as it is working here for me with 1 CPU.
So I can safely remove the mpunsafe marking of WEBLOOK then.

One thing that does work (with the known problems), is to  look at the WEBLOOK output, using a second machine on my network. The command that I used was:
Code: [Select]
Webview.exe /a192.168.0.107 /p14225(the address is the machine running WEBLOOK). I suspect that this will be limited to my local network, because of firewall rules that my ISP uses.

I had to open port 14225 in my adsl modem/router to let it work over the internet. There is no security at all though!

Note that you may start WEBVIEW more than once. Even on different machines. 

 
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: David McKenna on July 09, 2014, 12:43:39 pm
  I tried uvcview.exe in multi CPU mode, and I get a frozen image in about a minute. With MAXCPU=1 it was still running after an hour.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Doug Bissett on July 09, 2014, 05:05:56 pm
Quote
Well, Doug, that is a relief! :) Thank you for all your testing effort.

Sorry about not being more diligent in the first place, but I missed that requirement.

Quote
So I can safely remove the mpunsafe marking of WEBLOOK then.

I think I was using WEBLOOK marked as MPUNSAFE. I will mark it as MPSAFE and see what happens, but I can't try it for about an hour.

Quote
I had to open port 14225 in my adsl modem/router to let it work over the internet. There is no security at all though!

I have tried similar things before. My ISP seems to block what they don't provide, but I will try it, when I get the chance. I always assume that there is no security (because there really isn't anyway). It should be possible to use STunnel to establish a secure link, if you think it is necessary.

I suppose that you have not looked into being compatible with other operating system support.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Doug Bissett on July 09, 2014, 07:03:27 pm
Quote
I think I was using WEBLOOK marked as MPUNSAFE. I will mark it as MPSAFE and see what happens, but I can't try it for about an hour.

It is marked as MPSAFE, and it works (for a while). I will note, that the ACPI power manager may introduce some uncertainty in this area. If the processors go, and stay, below the threshold activity level, all but one processor will be turned off. I think that has the same effect as running with MAXCPU=1.

Quote
I tried uvcview.exe in multi CPU mode, and I get a frozen image in about a minute. With MAXCPU=1 it was still running after an hour.

I haven't tried MAXCPU=1, but I do see the freeze with uvcview.exe. Sometimes it is instantly. Other times it will go for about 10 minutes, but it always freezes. I tried marking that as MPSAFE, and it worked longer, but still froze. The ACPI power manager likely has some effect here too.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: OS4User on July 10, 2014, 09:04:37 am
To Wim Brul

anything can be done in my case ?

http://www.os2world.com/forum/index.php/topic,196.msg3884.html#msg3884
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on July 10, 2014, 01:01:56 pm
To Wim Brul

anything can be done in my case ?

http://www.os2world.com/forum/index.php/topic,196.msg3884.html#msg3884

May be so. Start USBDock /bin and attach 0AC83420.BIN for me to inspect.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: OS4User on July 10, 2014, 02:20:13 pm
To Wim Brul

anything can be done in my case ?

http://www.os2world.com/forum/index.php/topic,196.msg3884.html#msg3884

May be so. Start USBDock /bin and attach 0AC83420.BIN for me to inspect.

pls download it from here http://gus.biysk.ru/os4/usb/0ac83420.bin
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on July 10, 2014, 05:35:56 pm
Quote
pls download it from here http://gus.biysk.ru/os4/usb/0ac83420.bin

I parsed the compound descriptor and there is nothing wrong with it. But it did not help me either. So I am going to shoot in the dark. May be your camera yuyv stream is interlaced. So I prepared a special uvcview.exe for you to try out. When it displays something then take a SnapShot.

http://home.hccnet.nl/w.m.brul/uvcvideo/os4user.zip
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: OS4User on July 10, 2014, 05:51:12 pm
Quote
pls download it from here http://gus.biysk.ru/os4/usb/0ac83420.bin

I parsed the compound descriptor and there is nothing wrong with it. But it did not help me either. So I am going to shoot in the dark. May be your camera yuyv stream is interlaced. So I prepared a special uvcview.exe for you to try out. When it displays something then take a SnapShot.

http://home.hccnet.nl/w.m.brul/uvcvideo/os4user.zip

just black screen again

shoud I load USBECD.SYS ?  if yes, pls advice correct command line

Title: Re: Webcam Support for OS/2 and eCS!!
Post by: mike on July 10, 2014, 10:09:03 pm

Hi Mike,

Yes, but it is easier for me to work on weblook first because it is a vio program. Mind you, the associated webview program is a pm program. The aim is to move away from usbecd.sys for generic webcam support. See my previous posts in this thread.

Wim.


Helllo Wim,
the generic webcam support sounds good. I could install now all the latest files, made the usbecd.sys  config and then tried  weblock.exe

started.
[0104241B]
[0105242A]
YUYV
[000007F8]
[00000018]
bind: Address not available
[open isochronous]

the cam led is on but webview.exe shows just a black window the same happens with uvcview.exe. Any ideas?

mike

Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on July 11, 2014, 01:26:59 pm
To Mike and OS4User

http://home.hccnet.nl/w.m.brul/uvcvideo/os4user.zip

Unpack os4user.zip and run uvcvideo /x and click TestShot

1. Do you see out of sync video?
2. Do you have uvcview.raw file?
3. I need uvcview.raw file.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Doug Bissett on July 11, 2014, 06:49:59 pm
Okay, I think I can definitely say that uvcvideo, and weblook, freezes when ACPI switches off all but one processor.

One odd thing, that I see, is that starting weblook causes some low activity on the second processor, even though the system does not appear to have enough activity to justify turning it on.

When I also start webview, the activity does go high enough to turn on the second processor, and keep it on (depending on the settings).

I don't know if this is a flaw in ACPI, the USB stuff, WebSee, or something else.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Dave Yeo on July 12, 2014, 03:31:18 am
Okay, I think I can definitely say that uvcvideo, and weblook, freezes when ACPI switches off all but one processor.

One odd thing, that I see, is that starting weblook causes some low activity on the second processor, even though the system does not appear to have enough activity to justify turning it on.

When I also start webview, the activity does go high enough to turn on the second processor, and keep it on (depending on the settings).

I don't know if this is a flaw in ACPI, the USB stuff, WebSee, or something else.

Perhaps just 2 threads using high or more likely realtime priority.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: OS4User on July 12, 2014, 10:04:19 pm
To Mike and OS4User

http://home.hccnet.nl/w.m.brul/uvcvideo/os4user.zip

Unpack os4user.zip and run uvcvideo /x and click TestShot

1. Do you see out of sync video?
2. Do you have uvcview.raw file?
3. I need uvcview.raw file.

in the http://home.hccnet.nl/w.m.brul/uvcvideo/os4user.zip I found  uvcview.exe but not uvcvideo

I run it (uvcview.exe /x)   -   it is first time I can see something different from black screen  -  it looks like miss sync video

http://gus.biysk.ru/os4/usb/uvcview.raw

when i tried to exit from uvcvideo  I got a trap

848h  - it is USBEHC2& (according to Theseus)

Code: [Select]
Trap 13 (0DH) - General Protection Fault 0000
eax=000000a2 ebx=e9c1ffc4 ecx=0001301a edx=21000000 esi=39303ffe edi=39303fc2
eip=000006c4 esp=00004eb8 ebp=00004ec8 iopl=0 rf -- -- nv up ei pl nz na po nc
cs=0848 ss=1530 ds=3930 es=3930 fs=0000 gs=0000 cr2=0095e1e4 cr3=7fa45000 p=03
0848:000006c4 f366a5         repe movsd                        cac5ffd4 invalid
##u
0848:000006c4 f366a5         repe movsd
0848:000006c7 8bcb           mov       cx,bx
0848:000006c9 83e103         and       cx,+03
0848:000006cc f3a4           repe movsb
0848:000006ce 07             pop     es
0848:000006cf 1f             pop     ds
0848:000006d0 5b             pop       bx
0848:000006d1 59             pop       cx
0848:000006d2 665f           pop       edi
0848:000006d4 665e           pop       esi
0848:000006d6 8be5           mov       sp,bp
0848:000006d8 5d             pop       bp
##u
0848:000006d9 c3             ret
0848:000006da fd             std
0848:000006db 03f3           add       si,bx
0848:000006dd 03fb           add       di,bx
0848:000006df 4e             dec       si
0848:000006e0 4f             dec       di
0848:000006e1 8bcb           mov       cx,bx
0848:000006e3 83e103         and       cx,+03
0848:000006e6 f3a4           repe movsb
0848:000006e8 83ee03         sub       si,+03
0848:000006eb 83ef03         sub       di,+03
0848:000006ee 8bcb           mov       cx,bx
##u
0848:000006f0 c1e902         shr       cx,02
0848:000006f3 f366a5         repe movsd
0848:000006f6 fc             cld
0848:000006f7 ebd5           jmp       06ce
0848:000006f9 55             push      bp
0848:000006fa 8bec           mov       bp,sp
0848:000006fc 53             push      bx
0848:000006fd 51             push      cx
0848:000006fe 06             push    es
0848:000006ff 57             push      di
0848:00000700 8b5e0a         mov       bx,word ptr [bp+0a]
0848:00000703 8bcb           mov       cx,bx
##u
0848:00000705 c1e902         shr       cx,02
0848:00000708 83fb00         cmp       bx,+00
0848:0000070b 0f850b00       jnz       071a
0848:0000070f 837e0400       cmp       word ptr [bp+04],+00
0848:00000713 0f852200       jnz       0739
0848:00000717 b90040         mov       cx,4000
0848:0000071a 8e4606         mov       es,word ptr [bp+06]
0848:0000071d 8b7e04         mov       di,word ptr [bp+04]
0848:00000720 8b4608         mov       ax,word ptr [bp+08]
0848:00000723 8ae0           mov       ah,al
0848:00000725 66c1e010       shl       eax,10
0848:00000729 8b4608         mov       ax,word ptr [bp+08]
##u
0848:0000072c 8ae0           mov       ah,al
0848:0000072e fc             cld
0848:0000072f f366ab         repe stosd
0848:00000732 8bcb           mov       cx,bx
0848:00000734 83e103         and       cx,+03
0848:00000737 f3aa           repe stosb
0848:00000739 5f             pop       di
0848:0000073a 07             pop     es
0848:0000073b 59             pop       cx
0848:0000073c 5b             pop       bx
0848:0000073d 5d             pop       bp
0848:0000073e c3             ret
##u
0848:0000073f 8cd8           mov       ax,ds
0848:00000741 c3             ret
0848:00000742 9c             pushf
0848:00000743 fa             cli
0848:00000744 58             pop       ax
0848:00000745 c3             ret
0848:00000746 c80c0000       enter     000c,00
0848:0000074a c746fe0000     mov       word ptr [bp-02],0000
0848:0000074f 66c746f6000000f0 mov       dword ptr [bp-0a],f0000000
0848:00000757 c746f41c00     mov       word ptr [bp-0c],001c
0848:0000075c 66837ef600     cmp       dword ptr [bp-0a],+00
0848:00000761 0f847b00       jz        07e0
##u
0848:00000765 8b46f6         mov       ax,word ptr [bp-0a]
0848:00000768 8b56f8         mov       dx,word ptr [bp-08]
0848:0000076b 234608         and       ax,word ptr [bp+08]
0848:0000076e 23560a         and       dx,word ptr [bp+0a]
0848:00000771 8a4ef4         mov       cl,byte ptr [bp-0c]
0848:00000774 0ac9           or        cl,cl
0848:00000776 7408           jz        0780
0848:00000778 d1ea           shr       dx,1
0848:0000077a d1d8           rcr       ax,1
0848:0000077c fec9           dec       cl
0848:0000077e 75f8           jnz       0778
0848:00000780 8946fa         mov       word ptr [bp-06],ax
##u
0848:00000783 8bc2           mov       ax,dx
0848:00000785 0b46fa         or        ax,word ptr [bp-06]
0848:00000788 7405           jz        078f
0848:0000078a c746fe0100     mov       word ptr [bp-02],0001
0848:0000078f 8bc2           mov       ax,dx
0848:00000791 0b46fa         or        ax,word ptr [bp-06]
0848:00000794 7519           jnz       07af
0848:00000796 837efe00       cmp       word ptr [bp-02],+00
0848:0000079a 7513           jnz       07af
0848:0000079c f6460d80       test      byte ptr [bp+0d],80
0848:000007a0 750d           jnz       07af
0848:000007a2 66837ef60f     cmp       dword ptr [bp-0a],+0f
##u
0848:000007a7 7523           jnz       07cc
0848:000007a9 837efe00       cmp       word ptr [bp-02],+00
0848:000007ad 751d           jnz       07cc
0848:000007af 0bd2           or        dx,dx
0848:000007b1 750d           jnz       07c0
0848:000007b3 837efa09       cmp       word ptr [bp-06],+09
0848:000007b7 7707           ja        07c0
0848:000007b9 8a46fa         mov       al,byte ptr [bp-06]
0848:000007bc 0430           add       al,30            ;'0'
0848:000007be eb05           jmp       07c5
0848:000007c0 8a46fa         mov       al,byte ptr [bp-06]
0848:000007c3 0437           add       al,37            ;'7'
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on July 13, 2014, 10:04:32 am
Quote
in the http://home.hccnet.nl/w.m.brul/uvcvideo/os4user.zip I found  uvcview.exe but not uvcvideo

I run it (uvcview.exe /x)   -   it is first time I can see something different from black screen  -  it looks like miss sync video

http://gus.biysk.ru/os4/usb/uvcview.raw

Yes, I meant uvcview.exe /x to run.
I inspected uvcview.raw and your webcam like Mike's does not set EOH bit in the stream headers.
Try http://home.hccnet.nl/w.m.brul/uvcvideo/mike.zip to see if uvcview.exe will work for you.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: OS4User on July 13, 2014, 03:25:22 pm

Try http://home.hccnet.nl/w.m.brul/uvcvideo/mike.zip to see if uvcview.exe will work for you.

YES, it works
 with /x again misssync,  but without /x  WORKS!

picture has some defect  -  see attachment
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on July 13, 2014, 06:30:23 pm
picture has some defect  -  see attachment

Your webcam supplies darker Y values than the standard threshold of 16. This makes darker areas in the image white. Since your webcam descriptors don't tell me that, I will come up with yet another parameter to compensate for that. I will keep you informed.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: OS4User on July 13, 2014, 06:54:06 pm

Your webcam supplies darker Y values than the standard threshold of 16.

I had the same filling  but did not know how to express
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Greggory Shaw on July 13, 2014, 11:39:43 pm
Hi Wim,

I was wondering if you could support the Logitech Webcam C270 !

Here's some output for it:

1) Weblook output:

started.
[0104241B]
[01052432]
[0206240B]
[01072432]
MJPG
[00000BF4]
[00000010]
On-line. Use Ctrl+Break to end.
[open isochronous]

2) webview.exe

Opens with alot of beebs, but not black screen see attached

3) uvcview.exe

Dialog - Device driver error open.


Thank you so much for your hard work !

Greggory
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on July 14, 2014, 09:07:05 am
Hi Greggory,

Hi Wim,

I was wondering if you could support the Logitech Webcam C270 !

Here's some output for it:

1) Weblook output:

started.
[0104241B]
[01052432]
[0206240B]
[01072432]
MJPG
[00000BF4]
[00000010]
On-line. Use Ctrl+Break to end.
[open isochronous]

Looks good to me.
 
Quote
2) webview.exe

Opens with alot of beebs, but not black screen see attached

A lot of beeps means that the mjpg decoder in webview.exe encountered a lot of invalid huffman codes. May be this camera uses its own specific set of huffman codes. If this is true than you are out of luck because I cannot support that. Take a TestShot so I can inspect the webview.raw file.  But there is hope. If your webcam supports yuyv video too then I could modify weblook.exe to use yuyv instead. An additional parameter /u could enable that feature.

Quote
3) uvcview.exe

Dialog - Device driver error open.
Thank you so much for your hard work !

Greggory

Both weblook.exe and uvcview.exe operate your webcam. They cannot do that at the same time. Hence the open error.

I am currently working on a full replacement of WebSeeBeta1.zip that contains all fixes up to and including the ones required for Mike and os4user. Now I will add the /u parameter to weblook.exe and to uvcview.exe too.

Regards, Wim.     
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Greggory Shaw on July 14, 2014, 07:14:16 pm
Take a TestShot so I can inspect the webview.raw file.  But there is hope. If your webcam supports yuyv video too then I could modify weblook.exe to use yuyv instead. An additional parameter /u could enable that feature.

...

Regards, Wim.     


Thank you Wim !

http://os2notes.com/tmp/webview.raw

If you need any testers, I'm in - eCS 2.1  !

Greggory
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Sigurd Fastenrath on July 15, 2014, 09:31:32 am

I am currently working on a full replacement of WebSeeBeta1.zip that contains all fixes up to and including the ones required for Mike and os4user. Now I will add the /u parameter to weblook.exe and to uvcview.exe too.

Regards, Wim.     

Hi Wim,

thanks for your superb work, I will try it with my webcams as soon as I have time for it!

Sigurd
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on July 15, 2014, 11:45:11 am
I have replaced WebSeeBeta1.zip on my website :) and updated http://home.hccnet.nl/w.m.brul/uvcvideo/index.html

NOTE: I did not spend time to solve device driver and multiple cpu issues. I first ;) want to iron out these programs.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: David McKenna on July 15, 2014, 01:25:54 pm
Thanks Wim! There is a slight change in behavior (perhaps intentional) with UvcView here. When the image freezes, there is a popup that says:

[00000280] Obtain thread error!

No change with Weblook/Webview.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on July 15, 2014, 04:41:22 pm
Thanks Wim! There is a slight change in behavior (perhaps intentional) with UvcView here. When the image freezes, there is a popup that says:

[00000280] Obtain thread error!

No change with Weblook/Webview.

Yes David, this is intentional. On DosWaitEventSem where uvcview or weblook wait for a filled iso buffer from the device driver I changed the timeout from indefinitely to 3 seconds. This way I can tell that the freeze is there. But I have seen other freezes. Once it helped plugging in a usb mouse. I did this because both mouse and webcam use the asynchronous schedule of the host controller driver. But may be this is too much information. One tries.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: OS4User on July 15, 2014, 06:29:11 pm
I have replaced WebSeeBeta1.zip on my website :) and updated http://home.hccnet.nl/w.m.brul/uvcvideo/index.html

NOTE: I did not spend time to solve device driver and multiple cpu issues. I first ;) want to iron out these programs.

uvcview.exe /c   works excellent for me, big thanks !
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Greggory Shaw on July 17, 2014, 06:55:41 pm
I have replaced WebSeeBeta1.zip on my website :) and updated http://home.hccnet.nl/w.m.brul/uvcvideo/index.html

NOTE: I did not spend time to solve device driver and multiple cpu issues. I first ;) want to iron out these programs.

Tested the new beta. I get a part of a image, hopefully it will be compatible.

http://os2notes.com/tmp/tests.zip


Thanks,

Greggory

Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on July 17, 2014, 07:59:07 pm
I have replaced WebSeeBeta1.zip on my website :) and updated http://home.hccnet.nl/w.m.brul/uvcvideo/index.html

NOTE: I did not spend time to solve device driver and multiple cpu issues. I first ;) want to iron out these programs.

Tested the new beta. I get a part of a image, hopefully it will be compatible.

http://os2notes.com/tmp/tests.zip


Thanks,

Greggory

Hi Greggory, thanks for testing.

There is no need anymore to test with uvcview /x but you might like to try uvcview /u to watch yuyv video. Report if that works for you. 

It seems that you used webview /u whereas you needed to use weblook /u to obtain yuyv video. Please read the description on my web page for weblook and webview. Could you do that yuyv test all over again?

Wim

P.S. I am almost done with decoding your mjpg video. See greggory.jpg attached.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Greggory Shaw on July 17, 2014, 08:51:29 pm


Hi Greggory, thanks for testing.

There is no need anymore to test with uvcview /x but you might like to try uvcview /u to watch yuyv video. Report if that works for you. 

It seems that you used webview /u whereas you needed to use weblook /u to obtain yuyv video. Please read the description on my web page for weblook and webview. Could you do that yuyv test all over again?

Wim

P.S. I am almost done with decoding your mjpg video. See greggory.jpg attached.


Wow, it worked with uncview /u and weblook /u and a great resolution too. How do you test different resolutions and I'll report back on that. Or is it only 320x240 and 640x480 display modes.

Thank you so much for your hard work (on my MPEG), this is so cool ! Also I think this model is standard stock in all Walmart stores !


Greggory
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: mike on July 17, 2014, 10:00:13 pm
I have replaced WebSeeBeta1.zip on my website :) and updated http://home.hccnet.nl/w.m.brul/uvcvideo/index.html

NOTE: I did not spend time to solve device driver and multiple cpu issues. I first ;) want to iron out these programs.

Thanks for the update. Here  both webview and uncview report a frame size error:

started.
[0104241B]
[0105241E]
YUYV
[00000000]
frame size error.
stopped.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on July 18, 2014, 08:33:43 am

Thanks for the update. Here  both webview and uncview report a frame size error:

started.
[0104241B]
[0105241E]
YUYV
[00000000]
frame size error.
stopped.

It seems that my programs did not find a suitable endpoint descriptor.
Start USBDock /bin and attach your camera's .BIN file for me to inspect.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on July 18, 2014, 08:45:00 am
Quote
Wow, it worked with uncview /u and weblook /u and a great resolution too. How do you test different resolutions and I'll report back on that. Or is it only 320x240 and 640x480 display modes.

It is just 640x480 video with 320x240 and 640x480 display modes.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: mike on July 18, 2014, 11:15:43 am

It seems that my programs did not find a suitable endpoint descriptor.
Start USBDock /bin and attach your camera's .BIN file for me to inspect.

this system doesn't have the USBDock installed, is there a way to get these data from the USB Monitor tool?


Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on July 18, 2014, 02:42:08 pm

It seems that my programs did not find a suitable endpoint descriptor.
Start USBDock /bin and attach your camera's .BIN file for me to inspect.

this system doesn't have the USBDock installed, is there a way to get these data from the USB Monitor tool?

Use the output of lsusb from Paul Smedley for your camera.

https://dl.dropboxusercontent.com/u/76425158/lsusb-20130526.zip

1. when I typed lsusb I got

Bus 001 Device 001: ID 046d:0804 Logitech, Inc. Webcam C250

2. When I typed lsusb -d 046d:0804 -v > 046d0804.txt

I got the descriptors in the created 046d0804.txt file.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: mike on July 18, 2014, 08:50:32 pm

Use the output of lsusb from Paul Smedley for your camera.

https://dl.dropboxusercontent.com/u/76425158/lsusb-20130526.zip

1. when I typed lsusb I got

Bus 001 Device 001: ID 046d:0804 Logitech, Inc. Webcam C250

2. When I typed lsusb -d 046d:0804 -v > 046d0804.txt

I got the descriptors in the created 046d0804.txt file.

lsusb is not working, it seems that it has problems finding/loading the usb.ids file,  the %OS_DIR% var is  not used. lsusb.exe -h works.

Killed by SIGSEGV
pid=0x001b ppid=0x001a tid=0x0001 slot=0x003b pri=0x0200 mc=0x0001
C:\TOOLS\USB\LSUSB.EXE
LSUSB 0:0000f3b6
cs:eip=005b:0001f3b6      ss:esp=0053:0081ff30      ebp=0081ffa0
 ds=0053      es=0053      fs=150b      gs=150b     efl=00010246
eax=00000000 ebx=ffffffff ecx=ffffffff edx=00000000 edi=00000000 esi=0081ffbc
Process dumping was disabled, use DUMPPROC / PROCDUMP to enable it.

 I will send the output from the other usb tool, maybe it will tell what is required.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on July 20, 2014, 06:05:49 pm
Hi Greggory,

P.S. I am almost done with decoding your mjpg video.

http://home.hccnet.nl/w.m.brul/uvcvideo/greggory.zip

contains webview.exe which handles mjpg too. Please try.

Wim.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on July 20, 2014, 06:19:20 pm
I will send the output from the other usb tool, maybe it will tell what is required.

Unfortunately USB Device Monitor Version 0.9.7 cannot be used because it provides incorrect and incomplete data. So I wrote my own :) uvc webcam compound descriptor retrieval utility in rexx. Download http://home.hccnet.nl/w.m.brul/uvcvideo/uvcprobe.zip and run uvcprobe.cmd and it will create uvcprobe.bin containing the descriptors.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: mike on July 20, 2014, 10:39:25 pm

Unfortunately USB Device Monitor Version 0.9.7 cannot be used because it provides incorrect and incomplete data. So I wrote my own :) uvc webcam compound descriptor retrieval utility in rexx. Download http://home.hccnet.nl/w.m.brul/uvcvideo/uvcprobe.zip and run uvcprobe.cmd and it will create uvcprobe.bin containing the descriptors.

It would be nice when this or any other tool could be fixed to make it usable again. Now it gets interesting, because its nice that REXX is in place now :) Getting the data however seems to be a hard task.. I get the following output when running the tool:

C:\TOOLS\USBCAM\RXUSB.DLL
Found 3 usb devices.
FFEA UsbGetDeviceReport failure!


Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on July 21, 2014, 10:28:57 am

Unfortunately USB Device Monitor Version 0.9.7 cannot be used because it provides incorrect and incomplete data. So I wrote my own :) uvc webcam compound descriptor retrieval utility in rexx. Download http://home.hccnet.nl/w.m.brul/uvcvideo/uvcprobe.zip and run uvcprobe.cmd and it will create uvcprobe.bin containing the descriptors.

It would be nice when this or any other tool could be fixed to make it usable again. Now it gets interesting, because its nice that REXX is in place now :) Getting the data however seems to be a hard task.. I get the following output when running the tool:

C:\TOOLS\USBCAM\RXUSB.DLL
Found 3 usb devices.
FFEA UsbGetDeviceReport failure!

I created rxusb.dll in order to be able test my usbcalls.dll and usbresmg.sys device driver.

It appears that your installation does not use my usbresmg.sys driver. You have to recheck your config.sys file again to see what file the device driver statement points to and to verify that it is my usbresmg.sys driver.

Once your installation is correct, I expect both lsusb and uvcprobe to be working. May be ;) your webcam too.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: OS4User on July 22, 2014, 07:46:39 pm
Hi Wim

after ~ half an hour of running UvcView   I have got     [00000280] Obtain Thread error!


Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on July 25, 2014, 11:55:23 am
I have again updated WebSeeBeta1.zip on my Webcam Support web page.

http://home.hccnet.nl/w.m.brul/uvcvideo/index.html

Provides now 2 sets of test programs for UVC compliant webcams.

Use either the 640x480 set or the 320x240 set.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on July 25, 2014, 12:16:02 pm
Hi Wim

after ~ half an hour of running UvcView   I have got     [00000280] Obtain Thread error!

Hi OS4User,

I just updated WebSeeBeta1.zip on my Webcam Support web page. But alas I did not do anything yet to tackle this timeout problem. From now on I will try to refrain from updating WebSeeBeta1.zip to support more webcams and to focus on solving this timeout problem. Right now I have no idea why these timeouts occur nor where I should start looking. Perhaps I should start tracing the usbehcd.sys host controller driver. Will take some time to set my mind to it.

Regards, Wim.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: OS4User on July 25, 2014, 05:16:17 pm
Hi Wim

after ~ half an hour of running UvcView   I have got     [00000280] Obtain Thread error!

Hi OS4User,

I just updated WebSeeBeta1.zip on my Webcam Support web page. But alas I did not do anything yet to tackle this timeout problem. From now on I will try to refrain from updating WebSeeBeta1.zip to support more webcams and to focus on solving this timeout problem. Right now I have no idea why these timeouts occur nor where I should start looking. Perhaps I should start tracing the usbehcd.sys host controller driver. Will take some time to set my mind to it.

Regards, Wim.

Hi Wim

I have just tested them, working OK.
But the previous error message still appeared. According to my observations, it happens when a window with a picture is in the background.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Greggory Shaw on July 27, 2014, 06:01:25 am
I have again updated WebSeeBeta1.zip on my Webcam Support web page.

http://home.hccnet.nl/w.m.brul/uvcvideo/index.html

Provides now 2 sets of test programs for UVC compliant webcams.

Use either the 640x480 set or the 320x240 set.


Thanks Wim !

Logitech C270 works great (MPEG)! I'll leave it on over night on each switch. What the. New RBG one.

And anything specific that you would like tested ?

So, in the future is it possible for PSI/2 or others to add video conference or recording ?


Thank you,

Greggory

Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Boris on July 27, 2014, 06:29:59 am
So, in the future is it possible for PSI/2 or others to add video conference or recording ?

Yes, and that is not very hard. Psi is written so that the platform-dependent code is separated from the platform-independent one.

There is a library called psimedia, which is platform-independent, and it can use several other platform-dependent libraries, called providers, to communicate with video and audio I/O on target systems. They've also (the Psi team) written a provider library that utilizes gstreamer to communicate with the system's audio and video I/O, and it appeared that it was enough, because gstreamer is available on Windows, GNU/Linux and Mac OS X. But because it hasn't been ported to OS/2, we've got no support for VoIP in Psi.

Therefore we've got two options:
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Dave Yeo on July 27, 2014, 07:01:40 am
Gstreamer would be handy for Mozilla as well.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on July 28, 2014, 07:02:47 pm
Hi Wim

after ~ half an hour of running UvcView   I have got     [00000280] Obtain Thread error!

Hi OS4User,

I just updated WebSeeBeta1.zip on my Webcam Support web page. But alas I did not do anything yet to tackle this timeout problem. From now on I will try to refrain from updating WebSeeBeta1.zip to support more webcams and to focus on solving this timeout problem. Right now I have no idea why these timeouts occur nor where I should start looking. Perhaps I should start tracing the usbehcd.sys host controller driver. Will take some time to set my mind to it.

Regards, Wim.

Hi Wim

I have just tested them, working OK.
But the previous error message still appeared. According to my observations, it happens when a window with a picture is in the background.

Hi OS4User,

I did some tracing and I found a semaphore error in usbresmg.sys regarding the alloc/free of iorbs.
The fix is available for you as http://home.hccnet.nl/w.m.brul/uvcvideo/OS4User.zip

Wim.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: OS4User on July 28, 2014, 10:19:53 pm

Hi OS4User,

I did some tracing and I found a semaphore error in usbresmg.sys regarding the alloc/free of iorbs.
The fix is available for you as http://home.hccnet.nl/w.m.brul/uvcvideo/OS4User.zip

Wim.

Hi Win

Have  just checked   -  new usbresmg.sys unfortunately does not help.

It looks like that error appeared when  priority of  uvcview.exe  is decreased  because  it is switched to background

Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on August 08, 2014, 03:45:03 pm
I have concluded :) the development and testing of my Webcam Support for OS/2 (and eComStation).  I have put it as WebSee10.zip and its source code as WebSee10s.zip both on my website and on hobbes. I have also put the latest version of my USB Resource Manager as usbres01.zip there.

I like to thank everyone involved.
 
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Doug Bissett on August 08, 2014, 04:41:31 pm
I have concluded :) the development and testing of my Webcam Support for OS/2 (and eComStation).  I have put it as WebSee10.zip and its source code as WebSee10s.zip both on my website and on hobbes. I have also put the latest version of my USB Resource Manager as usbres01.zip there.

I like to thank everyone involved.

I think every OS/2 and eCS user owes you a big THANK YOU!
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: R.M. Klippstein on August 08, 2014, 05:42:25 pm
I can only echo what Doug just posted Wim! It's people like you  (and Doug) that have proven to the rest of us that there will always be hope for the future of OS/2. A couple of years ago having a working Webcam connected to a system running OS/2 was nothing but a "Pipe Dream"!  Now thanks to you its a reality!

Thanks again,  klipp
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Paul Smedley on August 08, 2014, 10:30:32 pm
I have concluded :) the development and testing of my Webcam Support for OS/2 (and eComStation).  I have put it as WebSee10.zip and its source code as WebSee10s.zip both on my website and on hobbes. I have also put the latest version of my USB Resource Manager as usbres01.zip there.

I like to thank everyone involved.

Good job Wim!!!
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Jan-Erik Lärka on August 09, 2014, 10:05:33 am
I have concluded :) the development and testing of my Webcam Support for OS/2 (and eComStation).  I have put it as WebSee10.zip and its source code as WebSee10s.zip both on my website and on hobbes. I have also put the latest version of my USB Resource Manager as usbres01.zip there.

I like to thank everyone involved.

And I would like to add my Thank you to the previous ones.
I can now take images with my Sony Vaio.  8)

After a few seconds, it does however show a message (regardless if I take a screenshot or not):
=============
UvcView 0!0
_______________
[00000280] Obtain Thread error!
_______________
[  Cancel  ]
=============
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Doug Bissett on August 09, 2014, 04:44:40 pm
Quote
[00000280] Obtain Thread error!

There is still a problem with this. On my Lenovo L530, it seems to happen when Doodle's Screen Saver puts up the saver (the Cairo clock, in my case). I was watching the picture on a second machine, and it stopped every time the screen saver came on. Then, I used http://hobbes.nmsu.edu/download/pub/os2/apps/scrnsave/dss_rmt_v13.zip (http://hobbes.nmsu.edu/download/pub/os2/apps/scrnsave/dss_rmt_v13.zip) to supposedly disable the screen saver, when Weblook.exe is running. The screen saver (clock) still comes on, but I no longer see the error (It ran for about 1 hour, before I shut down). I need to do more experimenting with that, because the clock should not come on when Weblook.exe is running.

FTR, I am using the QSINIT loader, with the OS4 kernel, on the L530.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Doug Bissett on August 09, 2014, 07:57:02 pm
Quote
I need to do more experimenting with that, because the clock should not come on when Weblook.exe is running.

Strange.

DSS_RMT is supposed to stop the screen saver (not sure how that is done), when the program is in the list. It does not.

Weblook seems to freeze, when DSS brings up the screen saver. It does not do that when DSS_RMT has Weblook.exe in the list of programs.  I have run it for about 2 hours.

I also found that taking a snapshot, using Webview.exe, causes Weblook.exe to freeze, but only when it is the one that is running on the machine where Weblook.exe is running. The freeze seems to occur about 1 second after the snapshot, but it doesn't always happen. Taking a snapshot on another machine doesn't cause a freeze.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Dave Yeo on August 09, 2014, 09:06:26 pm
Doodles Screen Saver has an API to disable it so programs like VLC and MPlayer don't get interrupted. KOMH implemented it in libkva, seems to load the screensaver DLL and call a function to disable and enable.
There is also an API to query if the screensaver is running, Mozilla uses this to do housekeeping when the screensaver is running on the basis that if the screensaver is running then the user isn't doing anything.
Perhaps Wim can add an option to turn off the screensaver and/or detect it running and disable the webcam or similar.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Jan-Erik Lärka on August 09, 2014, 10:04:58 pm
I'd like to add support for webcam into my rexx library... :)

The source code example has been written in turbo assembler though.

//Jan-Erik
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Doug Bissett on August 10, 2014, 03:33:18 am
Quote
Perhaps Wim can add an option to turn off the screensaver and/or detect it running and disable the webcam or similar.

I don't think that is the answer. The screen saver keeps running, as usual, even though DSS_RMT has told it to stop. When that happens, WebLook doesn't have a problem, even though the screen saver starts and stops as it normally does. It just stops screen saving with other programs, until the program stops running. There is some sort of interference between Weblook, and Doodle's Screen Saver.

It doesn't make sense to always disable the webcam, just because screen saving has started, although that may be a good option. A user who wants to monitor a sleeping baby doesn't really need (or want) to have the screen active, but the camera needs to keep working.

This afternoon, I disabled DSS all together, and Weblook has not, yet, misbehaved (about 5 hours).

Quote
Mozilla uses this to do housekeeping when the screensaver is running on the basis that if the screensaver is running then the user isn't doing anything.

This is probably a bad assumption, but I can't think of a better way to do it. At least the user is less likely to notice that Mozilla is using machine cycles.   :)
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Alex Taylor on August 10, 2014, 09:54:08 am
Quote
[00000280] Obtain Thread error!

Trying now on my W500.  I consistently get this error popup after about 3 seconds, using either uvcview or weblook. The camera light turns on but I get no picture (except the very first time I tried it, when I got a single frozen frame).

Info from USBDock, in case it's useful:
Code: [Select]
USB Dock: Lenovo Integrated Camera (Chicony)
Identifier: 17ef:4807

<<< Device Description >>>
Type :01
USB Rev :200
Class : Miscellaneous Device (0xEF)
Subclass : Common Class (0x02)
Protocol : Interface Association (0x01)
Max. packetsize :64
Vendor  ID :0x17EF
Product ID :0x4807
Device Release# :3134
Number of Configurations:1

Configuration: 0
Length : 851
ConfigurationValue : 1
Attributes : 0x80
MaxPower : 0x32
NumInterfaces : 2
USB_DT_UNKNOWN_FOR_ME

Interface: 0
AlternateSetting : 0
Class : Video (0x0E)
SubClass : Video Control (0x01)
Protocol : Unknown (0x00)
Endpoints : 1
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME

Endpoint: 0
Address : 0x81
Attributes : 0x03 (Irq)
MaxPacketSize : 64
Interval : 16
USB_DT_UNKNOWN_FOR_ME

Interface: 1
AlternateSetting : 0
Class : Video (0x0E)
SubClass : Video Streaming (0x02)
Protocol : Unknown (0x00)
Endpoints : 0
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME

Interface: 1
AlternateSetting : 1
Class : Video (0x0E)
SubClass : Video Streaming (0x02)
Protocol : Unknown (0x00)
Endpoints : 1

Endpoint: 0
Address : 0x82
Attributes : 0x05 (Iso)
MaxPacketSize : 5076
Interval : 1

Interface: 1
AlternateSetting : 2
Class : Video (0x0E)
SubClass : Video Streaming (0x02)
Protocol : Unknown (0x00)
Endpoints : 1

Endpoint: 0
Address : 0x82
Attributes : 0x05 (Iso)
MaxPacketSize : 3016
Interval : 1

Interface: 1
AlternateSetting : 3
Class : Video (0x0E)
SubClass : Video Streaming (0x02)
Protocol : Unknown (0x00)
Endpoints : 1

Endpoint: 0
Address : 0x82
Attributes : 0x05 (Iso)
MaxPacketSize : 5120
Interval : 1

Interface: 1
AlternateSetting : 4
Class : Video (0x0E)
SubClass : Video Streaming (0x02)
Protocol : Unknown (0x00)
Endpoints : 1

Endpoint: 0
Address : 0x82
Attributes : 0x05 (Iso)
MaxPacketSize : 5120
Interval : 1

Interface: 1
AlternateSetting : 5
Class : Video (0x0E)
SubClass : Video Streaming (0x02)
Protocol : Unknown (0x00)
Endpoints : 1

Endpoint: 0
Address : 0x82
Attributes : 0x05 (Iso)
MaxPacketSize : 5100
Interval : 1

Interface: 1
AlternateSetting : 6
Class : Video (0x0E)
SubClass : Video Streaming (0x02)
Protocol : Unknown (0x00)
Endpoints : 1

Endpoint: 0
Address : 0x82
Attributes : 0x05 (Iso)
MaxPacketSize : 5120
Interval : 1

Interface: 1
AlternateSetting : 7
Class : Video (0x0E)
SubClass : Video Streaming (0x02)
Protocol : Unknown (0x00)
Endpoints : 1

Endpoint: 0
Address : 0x82
Attributes : 0x05 (Iso)
MaxPacketSize : 5100
Interval : 1

Interface: 1
AlternateSetting : 8
Class : Video (0x0E)
SubClass : Video Streaming (0x02)
Protocol : Unknown (0x00)
Endpoints : 1

Endpoint: 0
Address : 0x82
Attributes : 0x05 (Iso)
MaxPacketSize : 5052
Interval : 1

Interface: 1
AlternateSetting : 9
Class : Video (0x0E)
SubClass : Video Streaming (0x02)
Protocol : Unknown (0x00)
Endpoints : 1

Endpoint: 0
Address : 0x82
Attributes : 0x05 (Iso)
MaxPacketSize : 840
Interval : 1

Interface: 1
AlternateSetting : 10
Class : Video (0x0E)
SubClass : Video Streaming (0x02)
Protocol : Unknown (0x00)
Endpoints : 1

Endpoint: 0
Address : 0x82
Attributes : 0x05 (Iso)
MaxPacketSize : 5120
Interval : 1

Interface: 1
AlternateSetting : 11
Class : Video (0x0E)
SubClass : Video Streaming (0x02)
Protocol : Unknown (0x00)
Endpoints : 1

Endpoint: 0
Address : 0x82
Attributes : 0x05 (Iso)
MaxPacketSize : 5120
Interval : 1

Interface: 1
AlternateSetting : 12
Class : Video (0x0E)
SubClass : Video Streaming (0x02)
Protocol : Unknown (0x00)
Endpoints : 1

Endpoint: 0
Address : 0x82
Attributes : 0x05 (Iso)
MaxPacketSize : 5120
Interval : 1

Interface: 1
AlternateSetting : 13
Class : Video (0x0E)
SubClass : Video Streaming (0x02)
Protocol : Unknown (0x00)
Endpoints : 1

Endpoint: 0
Address : 0x82
Attributes : 0x05 (Iso)
MaxPacketSize : 5120
Interval : 1

Interface: 1
AlternateSetting : 14
Class : Video (0x0E)
SubClass : Video Streaming (0x02)
Protocol : Unknown (0x00)
Endpoints : 1

Endpoint: 0
Address : 0x82
Attributes : 0x05 (Iso)
MaxPacketSize : 5120
Interval : 1

Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Pete on August 10, 2014, 04:51:48 pm
Hi Alex

From my eventually successful attempts to get an Acer webcam working with eCS a while back I suspect that Wim may be more interested in the contents of the .bin file that USBDock can create for your webcam.

Run USBDock with the /bin parameter (or use USBcfg 0.8.2 to run USBDock) and you will find files 17ef:4807.bin and 17ef:4807.log created in the USBDock directory - on eCS systems that is usually [BootDrive]:\ecs\system\USBDock

Hope you and Wim get this working  :-)


Pete
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: David McKenna on August 10, 2014, 05:34:44 pm
  Still get '[00000280] Obtain thread error!' within about a minute of starting with my C250.

  I tried both the 640x480 and 320x240 versions and I get the same result. Also get the same window size with both (640x480). Looking at the files, they all appear to be the same size in both folders in the WebSee10.zip archive. Is that correct?
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Greggory Shaw on August 11, 2014, 07:35:20 am
I have concluded :) the development and testing of my Webcam Support for OS/2 (and eComStation).  I have put it as WebSee10.zip and its source code as WebSee10s.zip both on my website and on hobbes. I have also put the latest version of my USB Resource Manager as usbres01.zip there.

I like to thank everyone involved.

Thank you Wim !

Logitech Webcam C270 works great here, I think it's a standard item at Walmart too ! On a new eCS 2.1 install using the different switches for a couple hours on each with no problems.

Started up the standard programs (most of them & used flash drive) installed with eCS 2.1 and Doodle's screen saver with no problems. Using VNC from my main box.

Oh, I tested the 640x480 only, SNAP with Radeon 850.
 
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on August 11, 2014, 11:29:54 am
Quote
[00000280] Obtain Thread error!

Trying now on my W500.  I consistently get this error popup after about 3 seconds, using either uvcview or weblook. The camera light turns on but I get no picture (except the very first time I tried it, when I got a single frozen frame).

Info from USBDock, in case it's useful:
Code: [Select]
USB Dock: Lenovo Integrated Camera (Chicony)
Identifier: 17ef:4807

<<< Device Description >>>
Type :01
USB Rev :200
Class : Miscellaneous Device (0xEF)
Subclass : Common Class (0x02)
Protocol : Interface Association (0x01)
Max. packetsize :64
Vendor  ID :0x17EF
Product ID :0x4807
Device Release# :3134
Number of Configurations:1

Configuration: 0
Length : 851
ConfigurationValue : 1
Attributes : 0x80
MaxPower : 0x32
NumInterfaces : 2
USB_DT_UNKNOWN_FOR_ME

Interface: 0
AlternateSetting : 0
Class : Video (0x0E)
SubClass : Video Control (0x01)
Protocol : Unknown (0x00)
Endpoints : 1
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME

Endpoint: 0
Address : 0x81
Attributes : 0x03 (Irq)
MaxPacketSize : 64
Interval : 16
USB_DT_UNKNOWN_FOR_ME

Interface: 1
AlternateSetting : 0
Class : Video (0x0E)
SubClass : Video Streaming (0x02)
Protocol : Unknown (0x00)
Endpoints : 0
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME
USB_DT_UNKNOWN_FOR_ME

Interface: 1
AlternateSetting : 1
Class : Video (0x0E)
SubClass : Video Streaming (0x02)
Protocol : Unknown (0x00)
Endpoints : 1

Endpoint: 0
Address : 0x82
Attributes : 0x05 (Iso)
MaxPacketSize : 5076
Interval : 1

Interface: 1
AlternateSetting : 2
Class : Video (0x0E)
SubClass : Video Streaming (0x02)
Protocol : Unknown (0x00)
Endpoints : 1

Endpoint: 0
Address : 0x82
Attributes : 0x05 (Iso)
MaxPacketSize : 3016
Interval : 1

Interface: 1
AlternateSetting : 3
Class : Video (0x0E)
SubClass : Video Streaming (0x02)
Protocol : Unknown (0x00)
Endpoints : 1

Endpoint: 0
Address : 0x82
Attributes : 0x05 (Iso)
MaxPacketSize : 5120
Interval : 1

Interface: 1
AlternateSetting : 4
Class : Video (0x0E)
SubClass : Video Streaming (0x02)
Protocol : Unknown (0x00)
Endpoints : 1

Endpoint: 0
Address : 0x82
Attributes : 0x05 (Iso)
MaxPacketSize : 5120
Interval : 1

Interface: 1
AlternateSetting : 5
Class : Video (0x0E)
SubClass : Video Streaming (0x02)
Protocol : Unknown (0x00)
Endpoints : 1

Endpoint: 0
Address : 0x82
Attributes : 0x05 (Iso)
MaxPacketSize : 5100
Interval : 1

Interface: 1
AlternateSetting : 6
Class : Video (0x0E)
SubClass : Video Streaming (0x02)
Protocol : Unknown (0x00)
Endpoints : 1

Endpoint: 0
Address : 0x82
Attributes : 0x05 (Iso)
MaxPacketSize : 5120
Interval : 1

Interface: 1
AlternateSetting : 7
Class : Video (0x0E)
SubClass : Video Streaming (0x02)
Protocol : Unknown (0x00)
Endpoints : 1

Endpoint: 0
Address : 0x82
Attributes : 0x05 (Iso)
MaxPacketSize : 5100
Interval : 1

Interface: 1
AlternateSetting : 8
Class : Video (0x0E)
SubClass : Video Streaming (0x02)
Protocol : Unknown (0x00)
Endpoints : 1

Endpoint: 0
Address : 0x82
Attributes : 0x05 (Iso)
MaxPacketSize : 5052
Interval : 1

Interface: 1
AlternateSetting : 9
Class : Video (0x0E)
SubClass : Video Streaming (0x02)
Protocol : Unknown (0x00)
Endpoints : 1

Endpoint: 0
Address : 0x82
Attributes : 0x05 (Iso)
MaxPacketSize : 840
Interval : 1

Interface: 1
AlternateSetting : 10
Class : Video (0x0E)
SubClass : Video Streaming (0x02)
Protocol : Unknown (0x00)
Endpoints : 1

Endpoint: 0
Address : 0x82
Attributes : 0x05 (Iso)
MaxPacketSize : 5120
Interval : 1

Interface: 1
AlternateSetting : 11
Class : Video (0x0E)
SubClass : Video Streaming (0x02)
Protocol : Unknown (0x00)
Endpoints : 1

Endpoint: 0
Address : 0x82
Attributes : 0x05 (Iso)
MaxPacketSize : 5120
Interval : 1

Interface: 1
AlternateSetting : 12
Class : Video (0x0E)
SubClass : Video Streaming (0x02)
Protocol : Unknown (0x00)
Endpoints : 1

Endpoint: 0
Address : 0x82
Attributes : 0x05 (Iso)
MaxPacketSize : 5120
Interval : 1

Interface: 1
AlternateSetting : 13
Class : Video (0x0E)
SubClass : Video Streaming (0x02)
Protocol : Unknown (0x00)
Endpoints : 1

Endpoint: 0
Address : 0x82
Attributes : 0x05 (Iso)
MaxPacketSize : 5120
Interval : 1

Interface: 1
AlternateSetting : 14
Class : Video (0x0E)
SubClass : Video Streaming (0x02)
Protocol : Unknown (0x00)
Endpoints : 1

Endpoint: 0
Address : 0x82
Attributes : 0x05 (Iso)
MaxPacketSize : 5120
Interval : 1


This webcam has a strange ??? range of alternate interface settings. Most webcams start with the lowest bandwidth for the lowest setting and end with the highest bandwidth for the highest setting. It seems that this camera has one specific alternate interface setting for each of the reported video stream format frames.

With the 640x480 programs you could try e.g. "uvcview /i8" or "uvcview /i1 /u"
With the 320x240 programs you could try e.g. "uvcview /i9" or "uvcview /i2 /u"
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on August 11, 2014, 11:41:34 am
I'd like to add support for webcam into my rexx library... :)

The source code example has been written in turbo assembler though.

//Jan-Erik

It is possible to run weblook.exe and to replace webview.exe with a rexx procedure that obtains the individual mjpeg frames and to convert these into ordinary jpeg files by adding huffman code tables to them. If you want to go that route then I can append an example that I use myself for testing purposes. 
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Wim Brul on August 11, 2014, 12:00:44 pm
  Still get '[00000280] Obtain thread error!' within about a minute of starting with my C250.

  I tried both the 640x480 and 320x240 versions and I get the same result. Also get the same window size with both (640x480). Looking at the files, they all appear to be the same size in both folders in the WebSee10.zip archive. Is that correct?

The default window size with both versions is actually 320x240. When you click the maximize button it toggles between 320x40 and 640x480. The stream format however is different. You will notice that when you take a snapshot.
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Jan-Erik Lärka on August 11, 2014, 12:26:31 pm
It is possible to run weblook.exe and to replace webview.exe with a rexx procedure that obtains the individual mjpeg frames and to convert these into ordinary jpeg files by adding huffman code tables to them. If you want to go that route then I can append an example that I use myself for testing purposes.

Yes, that is an option to.
 
C/C++ examples how to use webcam support?
Would be nice to add an option to the rxImgSize 1.04 (http://www.os2world.com/wiki/index.php/RxImgSize).dll for rexx to take individual snapshots.

result = rxImgCapture( window_name[, left_coordinate[, bottom_coordinate[, right_coordinate[, top_coordinate[, save_as_path_and_filename ] ] ] ] ] )

Where "window_name" would be extended with e.g. "WEBCAM" (or ... suggestion?)
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: Alex Taylor on August 12, 2014, 04:09:56 am
Quote
[00000280] Obtain Thread error!
Trying now on my W500.  I consistently get this error popup after about 3 seconds, using either uvcview or weblook. The camera light turns on but I get no picture (except the very first time I tried it, when I got a single frozen frame).

This webcam has a strange ??? range of alternate interface settings. Most webcams start with the lowest bandwidth for the lowest setting and end with the highest bandwidth for the highest setting. It seems that this camera has one specific alternate interface setting for each of the reported video stream format frames.

With the 640x480 programs you could try e.g. "uvcview /i8" or "uvcview /i1 /u"
With the 320x240 programs you could try e.g. "uvcview /i9" or "uvcview /i2 /u"

Thanks.

I've just tried all four of the above. There is no change with any of them except for 'uvcview /i9' with the 320x240 program, which briefly produces a still image for a few seconds before producing the same error popup.

BTW, I previously also tried (not with these new parameters) an external USB webcam on this system. It produces the exact same error. I'm not sure how uvcview selects between the two webcams, but it does appear to use the external in this case, as the light on the external camera goes on for a few seconds (instead of the light on the built-in camera, as normal).
Title: Re: Webcam Support for OS/2 and eCS!!
Post by: mike on August 17, 2014, 06:27:43 pm

I created rxusb.dll in order to be able test my usbcalls.dll and usbresmg.sys device driver.

It appears that your installation does not use my usbresmg.sys driver. You have to recheck your config.sys file again to see what file the device driver statement points to and to verify that it is my usbresmg.sys driver.


After working around this issue and with the latest release of usbresmgr/webview my cam now works in one mode.  Again thanks for the hard work making this possible !

mike