Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

USB3 Vision with Teledyne Lumerera LT series, UvDevice::_bootstrap Error during memory read #578

Closed
aminArlut opened this issue Sep 15, 2021 · 11 comments 路 Fixed by #768
Closed
Labels
2. Needs informations Needs additional informations 4. Hardware wanted The issue is hardware specific. Donation welcome ! 5. Usb3 Issue in USB3Vision implementation

Comments

@aminArlut
Copy link

aminArlut commented Sep 15, 2021

Describe the bug
arv-viewer-0.8, arv-tool-0.8, arv-camera-test-0.8 all fail with the following output using --debug all:4

[16:17:58.765] 馃吀 device> MAX_DEVICE_RESPONSE_TIME = 0x000005dc
[16:17:58.765] 馃吀 device> DEVICE_CAPABILITY        = 0x0000000000000f09
[16:17:58.766] 馃吀 device> SRBM_ADDRESS =             0x0000000000010000
[16:17:58.766] 馃吀 device> MANIFEST_TABLE_ADDRESS =   0x00000000000100e8
[16:17:58.766] 馃叧 cp> flags        = 0x4000
                     command      = read-memory-cmd
                     size         = 12
                     id           = 65306
                     address      = 0x0000000000010004
                     size         =          4 (0x00000004)
                     00000000 55 33 56 43 00 40 00 08 0c 00 1a ff 04 00 01 00  U3VC.@..........
                     00000010 00 00 00 00 00 00 04 00                          ........        
[16:17:58.766] 馃叧 cp> status       = invalid-address
                     command      = read-memory-ack
                     size         = 4
                     id           = 65306
                     00000000 55 33 56 43 03 80 01 08 04 00 1a ff 00 00 00 00  U3VC............
[16:17:58.766] 馃唵 device> [UvDevice::_bootstrap] Error during memory read

(arv-tool-0.8:89353): GLib-CRITICAL **: 16:17:58.766: g_thread_join: assertion 'thread' failed
Failed to open device 'Teledyne Lumenera-17240141A89D-21080221': Failed to bootstrap USB device '(null)-(null)-(null)-17240141A89D'

To Reproduce
Use any aravis cli tool with the --debug all:4 option. Ex) arv-tool-0.8 features -d all:3

Expected behavior
Not to have bootstrap failures

Camera description:

  • Manufacturer : Teledyne Lumenera
  • Model: LT-UC10-C1900IF
  • Interface: USB3

Platform description:

  • Aravis version: 0.8
  • OS: rhel 7, rhel 8
  • Hardware x86_64

Additional context
N/A

@aminArlut aminArlut reopened this Sep 15, 2021
@aminArlut aminArlut changed the title USB3 Vision Teledyne Lumerera USB3 Vision with Teledyne Lumerera LT series, UvDevice::_bootstrap Error during memory read Sep 15, 2021
@aminArlut
Copy link
Author

This is my first github issue, please let me know if any other information is needed.

@EmmanuelP EmmanuelP added 1. bug Problems, incorrect behavior or appearance 5. Usb3 Issue in USB3Vision implementation labels Sep 16, 2021
@EmmanuelP
Copy link
Contributor

Hi,

Thanks for the report. For now, all the relevant informations are present.

I will have a look in case an obvious error can be fixed in Aravis, but as I don't have any device from this manufacturer, chances are odd.

@EmmanuelP EmmanuelP added the 4. Hardware wanted The issue is hardware specific. Donation welcome ! label Sep 16, 2021
@aminArlut
Copy link
Author

EmmanuelP,

Thanks for the fast reply, I realize it will be difficult without the hardware. I tried digging around in the code myself, I know the failures start to creep in here if this means anything to you.

FWIW, I talked with the Teledyne Lumenera team and they said that "Stemmer Common Vision Blocks for Linux" has been known to work for this camera. I installed that on a debian10 VM and I was able to verify I could pull frames off the camera. I installed the lastest aravis on the same debian10 image and ran into the same problems as above.

I'd rather use aravis for my applications since it's the best genicam open source library in existence right now.

@EmmanuelP
Copy link
Contributor

EmmanuelP commented Sep 17, 2021

Thanks for the fast reply, I realize it will be difficult without the hardware. I tried digging around in the code myself, I know the failures start to creep in here if this means anything to you.

This line reads the SBRM_U3VCP_CAPABILITY register,at an address defined by ABRM_SBRM_ADDRESS. 0x10000 seems a fine SBRM offset, so there is no reason a read to 0x10004 fails.

FWIW, I talked with the Teledyne Lumenera team and they said that "Stemmer Common Vision Blocks for Linux" has been known to work for this camera. I installed that on a debian10 VM and I was able to verify I could pull frames off the camera. I installed the lastest aravis on the same debian10 image and ran into the same problems as above.

What you may try is to use wireshark and capture the USB3 data during a connection to the camera using Stemmer Common Vision Blocks for Linux (which is in fact CVB for Ubuntu :( ). I may be able to figure out what is wrong.

@EmmanuelP EmmanuelP added 2. Needs informations Needs additional informations and removed 1. bug Problems, incorrect behavior or appearance labels Sep 17, 2021
@aminArlut
Copy link
Author

aminArlut commented Sep 17, 2021

cvb_capture.zip

@EmmanuelP
Copy link
Contributor

Thanks a lot. It would also be helpful if you could do the same capture using aravis.

@aminArlut
Copy link
Author

aravis_capture.zip

No problem, I provided the aravis capture here. Same debian10 VM and test conditions as taken with the cvb capture. Let me know if there is anything else you need.

@victhor393
Copy link

Hi, I have a Lt29059, which suffers from this same bug. By changing the "size" argument of the function that reads ARV_SBRM_U3VCP_CAPABILITY to a type with size 8 (guint64), I got my camera to work with arv-viewer:

success = success && arv_device_read_memory (device, offset + ARV_SBRM_U3VCP_CAPABILITY, sizeof (guint32), &u3vcp_capability, NULL);

This was the only difference that I saw between the CVB capture and the aravis capture provided.

EmmanuelP added a commit that referenced this issue Feb 26, 2023
It is 8 byte long according to wireshark u3v dissector.

Fixes #578
@EmmanuelP
Copy link
Contributor

Hi @victhor393

Good catch. Please test #768

@victhor393
Copy link

Tested #768, it works for me.

EmmanuelP added a commit that referenced this issue Feb 27, 2023
It is 8 byte long according to wireshark u3v dissector.

Fixes #578
@EmmanuelP
Copy link
Contributor

Tested #768, it works for me.

Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2. Needs informations Needs additional informations 4. Hardware wanted The issue is hardware specific. Donation welcome ! 5. Usb3 Issue in USB3Vision implementation
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants