Author Topic: Use of webcam  (Read 78119 times)

Remy

  • Hero Member
  • *****
  • Posts: 645
  • Karma: +9/-1
    • View Profile
Re: Use of webcam
« Reply #15 on: May 25, 2020, 01:04:37 am »
The program gets this FF14 error when it tries to allocate resources for isochronous transfers.
Like Lars already said: isochronous transfers are not yet supported by the ArcaOS 12.x USB drivers.
Try and use the ArcaOS 11.17 drivers instead. Or use the latest Lars Erdmann USB driver set.

Ok, thanks i'll give it a try

Did you try and use your webcam with the ArcaOS 11.17 drivers? Did it work with these?
Did you try and use your webcam with the Lars Erdmann 10.234 drivers? Did it work with these? 

Hi    Wim,

According Andy's update,  isochronous is supported.
How to make it work please using  AN latest build ?
Thanks

Regards
Rémy

As I wrote at the top, I did a try with your usbecd driver and it didn't work too. You told me to remove it, So I did.

No,  I can not  go backward to ArcaOS 11.17  (it requires to backward on all usb drivers and this is not possible to maintain my production (and only system) system fully operational)
This system is with AN supported drivers according support contract, those from Lars aren't supported.
There are no elements telling a failure into AN drivers !  So, no ticket can be opened now for a problems outside AN products

what else please ?

Some information about the webcam seen by the driver.
Device 3:
  ctrlID=3 DevAdr=0 ConfigVal=5 IfNo=1 Speed=2 Port=4 HubIx=4
  USB Release number=0x200 DevReleaseNumber=0x10
  Class=239 SubClass=2 Protocol=1 MaxPacketSize=64
  Vendor:Product=046d:0825 NumConfigurations=1
  Configuration: NumInterfaces=4 ConfigValue=1 StringIx=0 Attr=0x80 MaxPower=250
  Interface 0: Alt=0 nEP=1 Class=14(Video) SubClass=1 Protocol=0 StringIx=0
  Endpoint: Adr=0x87 Attr=0x3 MaxPktSize=16 Interval=8
  Interface 1: Alt=0 nEP=0 Class=14(Video) SubClass=2 Protocol=0 StringIx=0
  Interface 1: Alt=1 nEP=1 Class=14(Video) SubClass=2 Protocol=0 StringIx=0
  Endpoint: Adr=0x81 Attr=0x5 MaxPktSize=192 Interval=1
  Interface 1: Alt=2 nEP=1 Class=14(Video) SubClass=2 Protocol=0 StringIx=0
  Endpoint: Adr=0x81 Attr=0x5 MaxPktSize=384 Interval=1
  Interface 1: Alt=3 nEP=1 Class=14(Video) SubClass=2 Protocol=0 StringIx=0
  Endpoint: Adr=0x81 Attr=0x5 MaxPktSize=512 Interval=1
  Interface 1: Alt=4 nEP=1 Class=14(Video) SubClass=2 Protocol=0 StringIx=0
  Endpoint: Adr=0x81 Attr=0x5 MaxPktSize=640 Interval=1
  Interface 1: Alt=5 nEP=1 Class=14(Video) SubClass=2 Protocol=0 StringIx=0
  Endpoint: Adr=0x81 Attr=0x5 MaxPktSize=800 Interval=1
  Interface 1: Alt=6 nEP=1 Class=14(Video) SubClass=2 Protocol=0 StringIx=0
  Endpoint: Adr=0x81 Attr=0x5 MaxPktSize=944 Interval=1
  Interface 1: Alt=7 nEP=1 Class=14(Video) SubClass=2 Protocol=0 StringIx=0
  Endpoint: Adr=0x81 Attr=0x5 MaxPktSize=2688 Interval=1
  Interface 1: Alt=8 nEP=1 Class=14(Video) SubClass=2 Protocol=0 StringIx=0
  Endpoint: Adr=0x81 Attr=0x5 MaxPktSize=2848 Interval=1
  Interface 1: Alt=9 nEP=1 Class=14(Video) SubClass=2 Protocol=0 StringIx=0
  Endpoint: Adr=0x81 Attr=0x5 MaxPktSize=3040 Interval=1
  Interface 1: Alt=10 nEP=1 Class=14(Video) SubClass=2 Protocol=0 StringIx=0
  Endpoint: Adr=0x81 Attr=0x5 MaxPktSize=4992 Interval=1
  Interface 1: Alt=11 nEP=1 Class=14(Video) SubClass=2 Protocol=0 StringIx=0
  Endpoint: Adr=0x81 Attr=0x5 MaxPktSize=5116 Interval=1
  Interface 2: Alt=0 nEP=0 Class=1(Audio) SubClass=1 Protocol=0 StringIx=0
  Interface 3: Alt=0 nEP=0 Class=1(Audio) SubClass=2 Protocol=0 StringIx=0
  Interface 3: Alt=1 nEP=1 Class=1(Audio) SubClass=2 Protocol=0 StringIx=0
  Interface 3: Alt=2 nEP=1 Class=1(Audio) SubClass=2 Protocol=0 StringIx=0
  Interface 3: Alt=3 nEP=1 Class=1(Audio) SubClass=2 Protocol=0 StringIx=0
  Interface 3: Alt=4 nEP=1 Class=1(Audio) SubClass=2 Protocol=0 StringIx=0

Best regards
Rémy
 

Neil Waldhauer

  • Hero Member
  • *****
  • Posts: 1024
  • Karma: +24/-0
    • View Profile
    • Blonde Guy
Re: Use of webcam
« Reply #16 on: May 25, 2020, 05:33:13 am »
I have a Lenovo Thinkpad T540p with two bootable ArcaOS volumes. One has USB 11.17, and runs websee UVCView.exe perfectly. The second has USB 12.05 and  UVCView terminates with an error: [0000FF14] Obtain thread error!
Expert consulting for ArcaOS, OS/2 and eComStation
http://www.blondeguy.com

Lars

  • Hero Member
  • *****
  • Posts: 1271
  • Karma: +65/-0
    • View Profile
Re: Use of webcam
« Reply #17 on: May 25, 2020, 09:06:06 am »
So we are back to zero. Open a problem report with AN. Something must be wrong ( or different) about isochronous support in the 12.05 USBEHCD.SYS driver.

roberto

  • Hero Member
  • *****
  • Posts: 810
  • Karma: +3/-6
    • View Profile
Re: Use of webcam
« Reply #18 on: May 25, 2020, 10:03:49 am »
I version 12.05 of the usb, I had to remove it because it did not allow me to send forwarding emails from the Thunderbird. For now I continue with 12.04

Lars

  • Hero Member
  • *****
  • Posts: 1271
  • Karma: +65/-0
    • View Profile
Re: Use of webcam
« Reply #19 on: May 25, 2020, 11:45:32 am »
One additional note:
Wim can confirm or not but I would believe that uvcview.exe/uvcscope.exe uses USBCALLS/USBRESMG to do its thing.
Therefore,the problem could also be located in those components.
Taken the fact that Rich reported that USB audio works ok with the AN 32-bit stack, I consider these 2 a likely source of the problem.
« Last Edit: May 25, 2020, 11:50:13 am by Lars »

Wim Brul

  • Sr. Member
  • ****
  • Posts: 295
  • Karma: +25/-0
    • View Profile
    • Wim's home page
Re: Use of webcam
« Reply #20 on: May 25, 2020, 12:53:02 pm »
One additional note:
Wim can confirm or not but I would believe that uvcview.exe/uvcscope.exe uses USBCALLS/USBRESMG to do its thing.
Therefore,the problem could also be located in those components.
Taken the fact that Rich reported that USB audio works ok with the AN 32-bit stack, I consider these 2 a likely source of the problem.

Yes, uvcview.exe/uvcscope.exe are using USBCALLS/USBRESMG to do their thing. The only difference is that uvcscope.exe has a microscope selection parameter.

I have a Lenovo Thinkpad T540p with two bootable ArcaOS volumes. One has USB 11.17, and runs websee UVCView.exe perfectly. The second has USB 12.05 and  UVCView terminates with an error: [0000FF14] Obtain thread error!

This confirms that the problem is somewhere within the ArcaNoae 12.x USB driver set.

Remy

  • Hero Member
  • *****
  • Posts: 645
  • Karma: +9/-1
    • View Profile
Re: Use of webcam
« Reply #21 on: May 25, 2020, 01:54:49 pm »
One additional note:
Wim can confirm or not but I would believe that uvcview.exe/uvcscope.exe uses USBCALLS/USBRESMG to do its thing.
Therefore,the problem could also be located in those components.
Taken the fact that Rich reported that USB audio works ok with the AN 32-bit stack, I consider these 2 a likely source of the problem.

Yes, uvcview.exe/uvcscope.exe are using USBCALLS/USBRESMG to do their thing. The only difference is that uvcscope.exe has a microscope selection parameter.

I have a Lenovo Thinkpad T540p with two bootable ArcaOS volumes. One has USB 11.17, and runs websee UVCView.exe perfectly. The second has USB 12.05 and  UVCView terminates with an error: [0000FF14] Obtain thread error!

This confirms that the problem is somewhere within the ArcaNoae 12.x USB driver set.

This doesn't confirm anything due USBCALLS is specific and must be at same level as other usb drivers.
Changing process or like it works is not a sing of miss function but more like compatibility...
 
What can be done to have uvcscope.exe compatible with new releases ?
(this is something I always have with GUI reequiring me to verify and adapt my "tools" at each update)

Do you have a debug option to trace in/out flow ?

Thanks and Regards
Rémy
   

Remy

  • Hero Member
  • *****
  • Posts: 645
  • Karma: +9/-1
    • View Profile
Re: Use of webcam
« Reply #22 on: May 25, 2020, 02:00:40 pm »
I version 12.05 of the usb, I had to remove it because it did not allow me to send forwarding emails from the Thunderbird. For now I continue with 12.04

With which thunderbird version !
I have done many test recently with thunderbird 38 and 45 and didn't fall into our case (I have all dlls at latest AN rel level). It may be interresting for me to test similar case (after updating clamav xpi plugin). how did you (step by step)
Regards
Rémy

Lars

  • Hero Member
  • *****
  • Posts: 1271
  • Karma: +65/-0
    • View Profile
Re: Use of webcam
« Reply #23 on: May 25, 2020, 02:41:57 pm »
One additional note:
Wim can confirm or not but I would believe that uvcview.exe/uvcscope.exe uses USBCALLS/USBRESMG to do its thing.
Therefore,the problem could also be located in those components.
Taken the fact that Rich reported that USB audio works ok with the AN 32-bit stack, I consider these 2 a likely source of the problem.

Yes, uvcview.exe/uvcscope.exe are using USBCALLS/USBRESMG to do their thing. The only difference is that uvcscope.exe has a microscope selection parameter.

I have a Lenovo Thinkpad T540p with two bootable ArcaOS volumes. One has USB 11.17, and runs websee UVCView.exe perfectly. The second has USB 12.05 and  UVCView terminates with an error: [0000FF14] Obtain thread error!

This confirms that the problem is somewhere within the ArcaNoae 12.x USB driver set.

This doesn't confirm anything due USBCALLS is specific and must be at same level as other usb drivers.
Changing process or like it works is not a sing of miss function but more like compatibility...
 
What can be done to have uvcscope.exe compatible with new releases ?
(this is something I always have with GUI reequiring me to verify and adapt my "tools" at each update)

Do you have a debug option to trace in/out flow ?

Thanks and Regards
Rémy
 

It worked with 11.17. It worked and still works with my USB driver stack. It fails with 12.05. Therefore, it confirms EVERYTHING. If AN did change the programming interface to USBCALLS/USBRESMG either accidentally or deliberately or if it is a bug accidentally introduced, then it is up to them to fix it.
There are a whole lot of other applications using USBCALLS/USBRESMG. Do you also expect them to be updated ?
« Last Edit: May 25, 2020, 02:54:32 pm by Lars »

Remy

  • Hero Member
  • *****
  • Posts: 645
  • Karma: +9/-1
    • View Profile
Re: Use of webcam
« Reply #24 on: May 25, 2020, 05:52:26 pm »
One additional note:
Wim can confirm or not but I would believe that uvcview.exe/uvcscope.exe uses USBCALLS/USBRESMG to do its thing.
Therefore,the problem could also be located in those components.
Taken the fact that Rich reported that USB audio works ok with the AN 32-bit stack, I consider these 2 a likely source of the problem.

Yes, uvcview.exe/uvcscope.exe are using USBCALLS/USBRESMG to do their thing. The only difference is that uvcscope.exe has a microscope selection parameter.

I have a Lenovo Thinkpad T540p with two bootable ArcaOS volumes. One has USB 11.17, and runs websee UVCView.exe perfectly. The second has USB 12.05 and  UVCView terminates with an error: [0000FF14] Obtain thread error!

This confirms that the problem is somewhere within the ArcaNoae 12.x USB driver set.

This doesn't confirm anything due USBCALLS is specific and must be at same level as other usb drivers.
Changing process or like it works is not a sing of miss function but more like compatibility...
 
What can be done to have uvcscope.exe compatible with new releases ?
(this is something I always have with GUI reequiring me to verify and adapt my "tools" at each update)

Do you have a debug option to trace in/out flow ?

Thanks and Regards
Rémy
 

It worked with 11.17. It worked and still works with my USB driver stack. It fails with 12.05. Therefore, it confirms EVERYTHING. If AN did change the programming interface to USBCALLS/USBRESMG either accidentally or deliberately or if it is a bug accidentally introduced, then it is up to them to fix it.
There are a whole lot of other applications using USBCALLS/USBRESMG. Do you also expect them to be updated ?

Are any RFC about this part of function ?
If no RFC exist, it may be possible, why not ? else it should satisfy rfc.
« Last Edit: May 25, 2020, 08:40:05 pm by Remy »

Rich Walsh

  • Sr. Member
  • ****
  • Posts: 331
  • Karma: +23/-0
  • ONU! (OS/2 is NOT Unix!)
    • View Profile
Re: Use of webcam
« Reply #25 on: May 25, 2020, 07:52:36 pm »
It worked with 11.17. It worked and still works with my USB driver stack. It fails with 12.05. Therefore, it confirms EVERYTHING. If AN did change the programming interface to USBCALLS/USBRESMG either accidentally or deliberately or if it is a bug accidentally introduced, then it is up to them to fix it.

This binary "I'm right, you're wrong" mentality gets in the way of developing a more sophisticated understanding of software malfunctions. Often the issue is not a bug, per se, but a difference in implementation. Two examples (not necessarily specific to USBCALLS, etc):

* The client calls a function that takes several arguments but one of the arguments it supplies is invalid. Implementation A identifies the invalid argument but recognizes that it has no effect in the current context, so ignores it and proceeds. In contrast, when Implementation B sees the invalid argument, it returns an error code.

* A public function calls an internal function to read the hardware; that function returns a value that is outside the expected range. Implementation A simply passes the value to the client, expecting it to deal with potentially invalid results. Implementation B examines the value, sees it's out of range and returns an error.

In the first example, the client code is clearly to blame: there's no reason to expect any called code to accept an invalid argument. In the second example, who to "blame" is less clear - this could simply come down to two different interpretations of the specifications/RFC.

Until we know what is happening at the point of failure, we have no way of knowing which implementation is in error - if any.

Roderick Klein

  • Hero Member
  • *****
  • Posts: 655
  • Karma: +14/-0
    • View Profile
Re: Use of webcam
« Reply #26 on: May 25, 2020, 08:06:30 pm »
I version 12.05 of the usb, I had to remove it because it did not allow me to send forwarding emails from the Thunderbird. For now I continue with 12.04

What do you mean ? You can not press the forward button with your USB mouse ?

If you are saying that installing the USB stack does not allow you to send an forward email. But you can send emails ?
I am sorry but the USB stack is then not the cause. Then other programs would fail.

Simply put ArcaOS is proctected mode OS. Meaning that the drivers and the applications all run in there own memory space.
If the USB driver would somehow overwrite a portion of the Thunderbird memory or any other part of he OS, ArcaOS would have locked up waaay before it ever cam to the PMSHELL.
Sorry you would really need look better before making the claim that installing a USB stack prevents you from forwarding an email.

Roderick


Remy

  • Hero Member
  • *****
  • Posts: 645
  • Karma: +9/-1
    • View Profile
Re: Use of webcam
« Reply #27 on: May 25, 2020, 08:43:05 pm »
It worked with 11.17. It worked and still works with my USB driver stack. It fails with 12.05. Therefore, it confirms EVERYTHING. If AN did change the programming interface to USBCALLS/USBRESMG either accidentally or deliberately or if it is a bug accidentally introduced, then it is up to them to fix it.

This binary "I'm right, you're wrong" mentality gets in the way of developing a more sophisticated understanding of software malfunctions. Often the issue is not a bug, per se, but a difference in implementation. Two examples (not necessarily specific to USBCALLS, etc):

* The client calls a function that takes several arguments but one of the arguments it supplies is invalid. Implementation A identifies the invalid argument but recognizes that it has no effect in the current context, so ignores it and proceeds. In contrast, when Implementation B sees the invalid argument, it returns an error code.

* A public function calls an internal function to read the hardware; that function returns a value that is outside the expected range. Implementation A simply passes the value to the client, expecting it to deal with potentially invalid results. Implementation B examines the value, sees it's out of range and returns an error.

In the first example, the client code is clearly to blame: there's no reason to expect any called code to accept an invalid argument. In the second example, who to "blame" is less clear - this could simply come down to two different interpretations of the specifications/RFC.

Until we know what is happening at the point of failure, we have no way of knowing which implementation is in error - if any.

I agree with you
(e.g. when I installed latest VLC build, I was surprised not seen it starting as expected but crashed... after checking all my parms, I used an previous releases supported parm but this one was no more accepted under new VLC build. removing this older parm makes VLC work again)

Lars

  • Hero Member
  • *****
  • Posts: 1271
  • Karma: +65/-0
    • View Profile
Re: Use of webcam
« Reply #28 on: May 26, 2020, 08:03:57 am »
Superb. We now have 2 bright persons to get the error fixed. Now you just need to convince Wim to pass the code over to you.
Sorry, that's enough nonsense for me: breaking an interface that everyone had agreed on and that worked. Period. Enough said.

Remy

  • Hero Member
  • *****
  • Posts: 645
  • Karma: +9/-1
    • View Profile
Re: Use of webcam
« Reply #29 on: May 26, 2020, 01:17:32 pm »
Superb. We now have 2 bright persons to get the error fixed. Now you just need to convince Wim to pass the code over to you.
Sorry, that's enough nonsense for me: breaking an interface that everyone had agreed on and that worked. Period. Enough said.

Hi Lars,

Are your drivers 32bits or 16bits ?
(If 32bits, then I'll take time to create a "test partition" and give them a try. AS I wrote, I prefer working with AN supported driver to not have support exclusion but if it works well under my HW environment with USB3 in a near future - I need it -, I'll migrate my prod system to use your drivers) 

USB like most drivers I think, conforms to RFCs. Are there ?
(I don't know and have no skill to check this).

"As written, I have no knowledge into these specific part but having done software support for a very long time, I had cases where some big companies wrote they own code, founding some working process and based they code on they founding and it worked under all releases and for several version too (worked for several years). At new version, code was rewritten to support new functions and satisfy existing official and supported functions too but this makes the code from these clients no more working and of course, they were upset.  After deep and long investigation, it was put in evidence that they used some not described process they found them self as working but these processes where never part of the product functions nor supported. Clients have to update they programs to conform product official supported function which was always the same with new added functions. When Client no more working product was an OEM product, then OEM development and product I supported development were put in contact to help into a resolution"

This is why, it is important to check USB functions called or call process used are those officially supported. If this is the case, then the product should work and if it doesn't, then some work have to be done to make it work and satisfy supported functions.

For the AN USB driver, it is a main change, version change (32bits).
This means a big code change and I suppose that the focus is to make official supported functions work like before with new ones. Of course, new code could mean new bug but to determine new bugs, support has to know how calls are made to the USB part with may be traces etc... (Wim knows this). 

I think it would be nice if Wim could contact the USB v12 developers and get from them needed information to check if all is ok at his side. If something changed, was it previously officially supported? If yes, then it should work as before under the new v12 code = AN ticket to be opened. If not, is a new more powerful option available?

Could Andy or Roderick help with they suggestions about how to progress into this "no more working issue"?

Best regards

AN notes about USB v12
https://www.arcanoae.com/wp-content/uploads/wiki/ReadMe-USB.txt

What about this extract !
"Note that from version 11.01, the usbcalls library was reorganized to
try to merge the functionality from all the different versions and
create a universal interface. A few versions were incompatible and
those incompatible interfaces were discarded in favor of the more
capable, more popular modern ones. If your application is very old or
was linked with an incompatible library, you will need to relink your
application with the new library."
« Last Edit: May 26, 2020, 03:02:24 pm by Remy »