OS2 World Community Forum
OS/2, eCS & ArcaOS - Technical => Hardware => Topic started 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.
-
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
-
WOW !!!! ---- EXCELLENT !!!
I will be trying it out.
-
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:
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:
DEVICE=C:\OS2\BOOT\USBECD.SYS /D:5986:02D2:0011 /N:$RICOHC$
it is working well (except for the known limitation).
-
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.
-
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.
-
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
-
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.
-
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?
-
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!
-
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.
-
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.
-
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).
-
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
-
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.
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...
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.
-
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.
-
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.
-
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).
-
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.
-
Alex... just add /S to the USBECD.SYS line. That turns off the beep, which indicates it is connecting to the camera.
-
This may be of interest ;)
http://os2.zworks.de/VistaCam/eng/index.html (http://os2.zworks.de/VistaCam/eng/index.html)
-
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.
-
I also got my W500 camera working using the x200tc package and the setup string Alex Taylor used.
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.
-
C250WV0.ZIP (9.26 kB - downloaded 5 times.)
And did you, Logitech C250 owners, enjoy it? Does it work for you?
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.
-
Wim,
do you have an idea why /D:17EF:480F:2345 /N:$CHICON$ could not work?
I'd love to test more.
regards
Silvan
-
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.
-
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
-
C250WV0.ZIP (9.26 kB - downloaded 5 times.)
And did you, Logitech C250 owners, enjoy it? Does it work for you?
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
-
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.
-
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.
-
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
-
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
-
glad lsusb is useful :)
-
lsusb (from Paul Smedley - the best - highly recommended for everyone)!
-
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?
-
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.
-
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?
-
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
-
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 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.
-
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.
-
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
-
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
-
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.
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.
-
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
-
Hi Wim,
which kind of work is required to add new camera models?
Yuri
-
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.
-
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 :)
-
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
-
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 :)
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.
-
Wim,
that's great to hear. Thanks for the support.
regards
Silvan
-
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.
-
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?
-
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,
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
-
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
-
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 ?
-
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.
-
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...
-
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.
-
The 1st beta test of weblook and webview :) WebSeeBeta1.zip :) is now available at my website.
-
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
-
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.
-
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!!
-
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:
started.
[0104241B]
[01052422]
[0206240B]
[01072422]
Starting it on eCS 2.2, I get this:
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?
-
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.
-
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.
-
Hi Doug,
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?
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.
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.
Obviously, I am missing something, but what do I look for?
May be C:\ECS\BOOT\USBRESMG.SYS versus C:\OS2\BOOT\USBRESMG.SYS ?
-
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.
-
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. :)
-
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...
-
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).
-
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...
-
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.
-
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.
-
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.
-
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?
-
Try on Weblook/Webview on my PC
weblook said:
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 :
<<< 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)
-
Today I tried the USBECD.SYS driver on my Thinkpad L420. Webcam Chicone 05C8:0317.
I put this on the Config.SYS and worked.
DEVICE=X:\OS2\BOOT\USBECD.SYS /D:05C8:0317:#### /N:$CHICON$
The W520TC exes worked fine to take snapshots.
-
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.
-
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.
-
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:
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.
-
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. :-[
-
WEBLOOK/WEBVIEW ran without a problem, for more than an hour. It did, eventually, freeze.
-
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.
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:
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.
-
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.
-
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.
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.
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.
-
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.
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.
-
To Wim Brul
anything can be done in my case ?
http://www.os2world.com/forum/index.php/topic,196.msg3884.html#msg3884
-
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.
-
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
-
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
-
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
-
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
-
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.
-
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.
-
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.
-
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)
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'
-
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.
-
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
-
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.
-
Your webcam supplies darker Y values than the standard threshold of 16.
I had the same filling but did not know how to express
-
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
-
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.
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.
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.
-
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
-
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
-
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 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.
-
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.
-
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 !
-
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
-
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.
-
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
-
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.
-
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.
-
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.
-
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?
-
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.
-
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.
-
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.
-
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.
-
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!
-
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.
-
Hi Wim
after ~ half an hour of running UvcView I have got [00000280] Obtain Thread error!
-
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.
-
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
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.
-
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
-
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:
- port gstreamer. This is hard enough, but may have several good side-effects, as other software may need it;
- write our own provider library, which will utilize DIVE, DART and the web cameras support solution by Wim. This is pretty straight-forward, and easier than porting gstreamer.
-
Gstreamer would be handy for Mozilla as well.
-
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.
-
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
-
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 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!
-
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
-
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!!!
-
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 ]
=============
-
[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.
-
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.
-
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.
-
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
-
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).
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. :)
-
[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:
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
-
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
-
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?
-
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.
-
[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:
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"
-
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.
-
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.
-
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?)
-
[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).
-
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