Author Topic: Webcam Support for OS/2 and eCS!!  (Read 145148 times)

Sigurd Fastenrath

  • Hero Member
  • *****
  • Posts: 576
  • Karma: +27/-0
  • OS/2 Versus Hardware - Maximum Warp!
    • View Profile
Webcam Support for OS/2 and eCS!!
« 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

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.
« Last Edit: September 12, 2013, 01:22:36 pm by Sigurd Fastenrath »

David McKenna

  • Hero Member
  • *****
  • Posts: 743
  • Karma: +24/-0
    • View Profile
Re: Webcam Support for OS/2 and eCS!!
« Reply #1 on: September 12, 2013, 01:19:10 pm »
Wow! Thanks Wim and Sigurd for putting this together... I just ordered a Logitech C250 from Amazon ($19US) to try this out. It would be interesting to know how you set this up to stream video (if you do).

Regards,

Dave McKenna

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4713
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: Webcam Support for OS/2 and eCS!!
« Reply #2 on: September 12, 2013, 02:46:26 pm »
WOW !!!! ---- EXCELLENT !!!

I will be trying it out.
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Doug Bissett

  • Hero Member
  • *****
  • Posts: 1593
  • Karma: +4/-2
    • View Profile
Re: Webcam Support for OS/2 and eCS!!
« Reply #3 on: September 12, 2013, 09:43:12 pm »
Well done, and thank you, to all involved.

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

The instructions say:
Code: [Select]
DEVICE=C:\OS2\BOOT\USBECD.SYS /D:5986:02D2:0011 /N:$X230TD$but when I use that, the programs complain that they can't find the device $RICOHC$ (note the last "C"). After I changed the command to:
Code: [Select]
DEVICE=C:\OS2\BOOT\USBECD.SYS /D:5986:02D2:0011 /N:$RICOHC$it is working well (except for the known limitation).

Wim Brul

  • Sr. Member
  • ****
  • Posts: 295
  • Karma: +25/-0
    • View Profile
    • Wim's home page
Re: Webcam Support for OS/2 and eCS!!
« Reply #4 on: September 12, 2013, 11:34:19 pm »
Thanks Doug,

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

Wim.
« Last Edit: September 13, 2013, 04:32:57 pm by Wim Brul »

Alex Taylor

  • Sr. Member
  • ****
  • Posts: 387
  • Karma: +5/-0
    • View Profile
Re: Webcam Support for OS/2 and eCS!!
« Reply #5 on: September 13, 2013, 02:55:09 am »
Wow, that's great news!  Big thanks to both you guys!

It says the 10.195 USB drivers from Lars are required.  What about the similar but separately maintained 11.0x USB drivers from David (which are what will be going into eCS 2.2)?  The latest release of the latter appears to be from August.

Doug Bissett

  • Hero Member
  • *****
  • Posts: 1593
  • Karma: +4/-2
    • View Profile
Re: Webcam Support for OS/2 and eCS!!
« Reply #6 on: September 13, 2013, 04:18:27 am »
Quote
The latest release of the latter appears to be from August.

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

Okay, now we can display the camera image on the desktop, and we can create a *.BMP file by taking a snapshot. Huge step forward, but now what?  :D

Andy Willis

  • Sr. Member
  • ****
  • Posts: 292
  • Karma: +7/-0
    • View Profile
Re: Webcam Support for OS/2 and eCS!!
« Reply #7 on: September 13, 2013, 05:49:44 am »
Wow, that's great news!  Big thanks to both you guys!

It says the 10.195 USB drivers from Lars are required.  What about the similar but separately maintained 11.0x USB drivers from David (which are what will be going into eCS 2.2)?  The latest release of the latter appears to be from August.
10.195 contain updates from Wim Brul that have not made their way into the stable branch yet.

OS4User

  • Sr. Member
  • ****
  • Posts: 406
  • Karma: +10/-0
    • View Profile
Re: Webcam Support for OS/2 and eCS!!
« Reply #8 on: September 13, 2013, 07:01:34 am »
After a long time of intensive development and tremendous work done by Wim Brul and a bit testing of me I have the honour to announce that finally Webcam Support for OS/2 and eComstation has been achieved!!

Excellent job!  Congratulation! 

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

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

It sayd [0000001D] Obtain Thread error!    -   is any chance to run it with my camera?

ydario

  • Guest
Re: Webcam Support for OS/2 and eCS!!
« Reply #9 on: September 13, 2013, 03:24:35 pm »
After a long time of intensive development and tremendous work done by Wim Brul and a bit testing of me I have the honour to announce that finally Webcam Support for OS/2 and eComstation has been achieved!!

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

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

This is my command line

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

THANKS!


ydario

  • Guest
Re: Webcam Support for OS/2 and eCS!!
« Reply #10 on: September 13, 2013, 03:49:12 pm »
I just tried with my integrated laptop webcam, I have a Dell Vostro 1520. With this

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

I get the 'cannot obtain thread error' for all CT*.EXEs except T4/T5: no error but they show a black window. In all cases the cam led goes on opening the app and off closing it.
I see this cam is working on linux with same drivers of C200/C250, so I this it should be easy to get it working.

Wim Brul

  • Sr. Member
  • ****
  • Posts: 295
  • Karma: +25/-0
    • View Profile
    • Wim's home page
Re: Webcam Support for OS/2 and eCS!!
« Reply #11 on: September 13, 2013, 04:55:15 pm »
Okay, now we can display the camera image on the desktop, and we can create a *.BMP file by taking a snapshot. Huge step forward, but now what?  :D

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

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

Another way would be usbresmg.sys -> usbcalls -> libusb -> ported linux based applications. However, all these three components do NOT currently support isochronous transfers. Yet another way might be via a new usbvideo.sys driver that ties into the multimedia subsystem. What is the right way to go? Who is going to do that? I cannot do it all.
« Last Edit: September 13, 2013, 05:32:27 pm by Wim Brul »

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4713
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: Webcam Support for OS/2 and eCS!!
« Reply #12 on: September 13, 2013, 05:32:36 pm »
Quote
Now we need applications that do what the user wants.

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

Some open source alternative is QuteCom (http://www.qutecom.org/wiki/QuteCom).
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Silvan Scherrer

  • Full Member
  • ***
  • Posts: 200
  • Karma: +1/-0
    • View Profile
Re: Webcam Support for OS/2 and eCS!!
« Reply #13 on: September 13, 2013, 06:57:03 pm »
I just tried the driver on my T510, which has the following device id: /D:17EF:480F:2345 /N:$CHICON$
with x200tc2 i see a black screen and the led at the camera goes on. with all other exe i get a "Obtain thread error"

regards and thanks
Silvan
kind regards
Silvan
CTO bww bitwise works GmbH

Please help us with donations, so we can further work on OS/2 based projects. Our Shop is at https://www.bitwiseworks.com/shop/index.php

Doug Bissett

  • Hero Member
  • *****
  • Posts: 1593
  • Karma: +4/-2
    • View Profile
Re: Webcam Support for OS/2 and eCS!!
« Reply #14 on: September 13, 2013, 10:32:09 pm »
Okay, now we can display the camera image on the desktop, and we can create a *.BMP file by taking a snapshot. Huge step forward, but now what?  :D

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

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

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

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

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

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

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

The "right way to go" is, as usual, the easiest, and most flexible, way to do it (usbvideo.sys, I would expect, but I am far from being an expert). Who? That is, as usual, one of the biggest problems that we have. I don't have the expertise, but I think there are a number of people who could do it. Your work, supported by Lars' work, has allowed capturing the data, and it can convert that into a moving picture. Now, we need a way to make that picture available to other programs, for further processing. I think the other programs already exist (but may require some tweaking to make them work in eCS or OS/2). VLC, for example, should be able to handle streaming video, from a device driver.