# Couldn't decode External USB Camera

**URL:** <https://discuss.saleae.com/t/couldnt-decode-external-usb-camera/3027>\
**Category:** Uncategorized\
**Created:** [August 25, 2024, 6:06pm UTC](https://discuss.saleae.com/t/couldnt-decode-external-usb-camera/3027 "2024-08-25T18:06:04Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![mstharunreddy](https://avatars.discourse-cdn.com/v4/letter/m/eada6e/32.png) [@mstharunreddy](https://discuss.saleae.com/u/mstharunreddy)\
**Post date:** [August 25, 2024, 6:06pm UTC](https://discuss.saleae.com/t/couldnt-decode-external-usb-camera/3027/1 "2024-08-25T18:06:04Z")

</div>

The camera is running at FS, the decoded packets using USB LS/FS is showing as ERR.

Thank you.

 ![Screenshot from 2024-08-25 13-05-45](https://canada1.discourse-cdn.com/flex030/uploads/saleae/original/2X/2/223389b5084a9648a0ddbfbbb19c33f05c0f4363.png)

---

<div class="post-metadata">

**Author:** ![BitBob](https://yyz2.discourse-cdn.com/flex030/user_avatar/discuss.saleae.com/bitbob/32/2292_2.png) [@BitBob](https://discuss.saleae.com/u/BitBob)\
**Post date:** [August 25, 2024, 10:12pm UTC](https://discuss.saleae.com/t/couldnt-decode-external-usb-camera/3027/2 "2024-08-25T22:12:47Z")

</div>

Your screenshot is too zoomed out to evaluate, so you’ll need to zoom in to check things out more closely.

In general, if the USB decoding isn’t working at all, here are some things to check:

- Confirm the device being monitored is definitely an LS or FS device (maximum of USB 1.1) and not using USB 2.0 or greater speeds
- Confirm basic electrical connections are good:
  - Saleae logic channels are connected to correct D+ and D- signals as expected
  - At least one GND connection is connected
  - Good electrical connections to signals  
(i.e., no loose/weak connections)

- Confirm the bus being probed operating at USB 1.1 bus speeds
  - Recommend capturing directly on the USB 1.1 device’s bus  
(i.e., not probing an upstream bus or USB 2.0+ hub’s host-side port)
  - Note: Saleae Logic can’t monitor a USB 2.0 (or faster) bus

- Zoom in capture to view the bitstream and compare vs. [example full-speed data (Wikipedia)](https://en.wikipedia.org/wiki/USB_communications#Transmission_example_on_a_full-speed_device)
  - Look for any ‘glitches’ in the waveform  
(i.e., any pulse widths less than minimum expected widths listed below)
    - Consider re-capturing using a [software glitch filter](https://support.saleae.com/user-guide/using-logic/software-glitch-filter) to filter out any such glitches  
(or improve hardware connections/signal quality to eliminate such glitches)

  - Confirm the sync pattern is seen at the start of packets:  
(i.e., KJKJKJKK pattern, or 0b00000001)
  - Confirm the bitstream bit widths (pulse widths) are consistent with the expected bit rates, especially during ‘sync’ /start of packet:
    - Low Speed/LS (1.5 Mbps): no faster than 1/1.5 MHz or ~667 ns
    - Full Speed/FS (12 Mbps): no faster than 1/12 MHz or ~83.3 ns

  - Confirm the end-of-packet (EOP) at end of packets:
    - 2 x SE0 (D+/D- both LOW) + ‘J’ (D+ high, D- low) before bus is ‘idle’

- Confirm USB LS and FS Analyzer Settings
  - Confirm D+ and D- Channels are mapped correctly
  - Confirm USB bit-rate is set as expected  
(i.e., LS/1.5 Mbps vs. FS/12 Mbps)

- Confirm USB decode level settings
  - Consider using lower-level **Bytes** or **Signals** to confirm basic decoding
  - Use **Packets** or **Control transfers** for a higher level USB decoding view

- Verify the voltage levels on the D+/D- signals  
(enable analog capture in the [device capture settings](https://support.saleae.com/user-guide/using-logic/capture-settings#channels-and-sampling-rate))
  - LS and FS USB signals on D+/D- channels should be ~0V low and ~3.3V high  
(see [Wikipedia USB communications article for more details on LS/FS electrical specification](https://en.wikipedia.org/wiki/USB_communications#Electrical_specification))
  - Note: the Saleae Logic officially has only 1 MHz analog bandwidth (10 MS/s sample rate) or 5 MHz analog bandwidth (50 MS/s sample rate), depending on ‘regular’ vs. ‘pro’ model, so may need at least ~[200 - 1000] ns pulse width in the same logic ‘high’ state to actually ‘see’ the full ~3.3V level on D+/D- pin  
(capture analog w/ **maximum sample rate supported** : 50 MS/s or 10 MS/s)
  - You _Might_ need to use a higher bandwidth ‘real’ analog scope to more easily confirm the real voltage levels while USB is ‘running’  
(however, should at least have enough ‘idle’ time intervals to confirm D+ voltage range is ~3V (LS/FS speeds), not always \< 1V (USB 2.0+ speeds))
