Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: timvideos/HDMI2USB-mode-switch
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 09e075f0a864^
Choose a base ref
...
head repository: timvideos/HDMI2USB-mode-switch
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: a7a2929e7ad0
Choose a head ref
  • 2 commits
  • 2 files changed
  • 2 contributors

Commits on Aug 18, 2017

  1. Add test device IDs to board list

    Kyle Robertze committed Aug 18, 2017
    Copy the full SHA
    09e075f View commit details

Commits on Aug 20, 2017

  1. Updating the USB-IDs.md file

    mithro committed Aug 20, 2017
    Copy the full SHA
    a7a2929 View commit details
Showing with 71 additions and 14 deletions.
  1. +43 −11 USB-IDs.md
  2. +28 −3 hdmi2usb/modeswitch/boards.py
54 changes: 43 additions & 11 deletions USB-IDs.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,44 @@
# USB ID table

* This page is published at https://github.com/timvideos/HDMI2USB/wiki/USB-IDs
* [More information about the Opsis USB IDs can be found in the developer documentation](https://github.com/timvideos/HDMI2USB/wiki/USB-IDs/_edit).
* [More information about the Opsis USB IDs can be found in the developer documentation](https://opsis.hdmi2usb.tv/getting-started/usb-ids.html).

### Primary USB IDs

| Board | Mode | Vendor ID | Product ID |
| -----:| --------------:|:---------:|:----------:|
| Opsis | Unconfigured | 0x2A19 | 0x5440 |
| Opsis | Programming | 0x2A19 | 0x5441 |
| Opsis | Operational | 0x2A19 | 0x5442 |
| Atlys | Digilent Adept*| 0x1443 | 0x0007 |
| Atlys | Unconfigured | 0x1D50 | 0x60b5 |
| Atlys | Programming | 0x1D50 | 0x60b6 |
| Atlys | Operational | 0x1D50 | 0x60b7 |
| Board | Mode | Vendor ID | Product ID | Device ID |
| -----:| --------------:|:---------:|:----------:|:----------:|
| Opsis | Unconfigured | 0x2A19 | 0x5440 | FIXME |
| Opsis | Upgrade | 0x2A19 | 0x5441 | 0x01 |
| Opsis | Operational | 0x2A19 | 0x5442 | FIXME |
| Atlys | Digilent Adept*| 0x1443 | 0x0007 | FIXME |
| Atlys | Unconfigured | 0x1D50 | 0x60b5 | 0x01 |
| Atlys | Upgrade | 0x1D50 | 0x60b6 | 0x01 |
| Atlys | Operational | 0x1D50 | 0x60b6 | 0x01 |

*: Atlys running original shipping firmware enumerates as this.

For the Opsis, we use Numato Lab's USB ID (they are the device's manufacture).
For the Atlys, the [Openmoko project](http://wiki.openmoko.org/wiki/USB_Product_IDs#Assigned.2FAllocated_Openmoko_USB_Product_IDs) has provided IDs.

### Developer IDs

Developer modes reuse a different DeviceID on the "Upgrade" PID+VID

| Board | Mode | Vendor ID | Product ID | Device ID |
| -----:| --------------:|:---------:|:----------:|:----------:|
| Opsis | Test JTAG | 0x2A19 | 0x5441 | 0x10 |
| Opsis | Test Serial | 0x2A19 | 0x5441 | 0x11 |
| Opsis | Test Audio | 0x2A19 | 0x5441 | 0x12 |
| Opsis | Test UVC | 0x2A19 | 0x5441 | 0x13 |
| Atlys | Test JTAG | 0x1D50 | 0x60b7 | 0x10 |
| Atlys | Test Serial | 0x1D50 | 0x60b7 | 0x11 |
| Atlys | Test Audio | 0x1D50 | 0x60b7 | 0x12 |
| Atlys | Test UVC | 0x1D50 | 0x60b7 | 0x13 |
| MiniBoard | Unconfigured * | ?? | ??? | ??? |
| MiniBoard | Test Serial | 0x1D50 | ??? | 0x11 |
| MiniBoard | Test Audio | 0x1D50 | ??? | 0x12 |
| MiniBoard | Test UVC | 0x1D50 | ??? | 0x13 |

### Other USB IDs

| Description | Vendor ID | Product ID | Board |
@@ -42,4 +61,17 @@ For the Atlys, the [Openmoko project](http://wiki.openmoko.org/wiki/USB_Product_
| 0x1443 | Digilent | Manufacturers of the Atlys board. |
| 0x16C0 | Van Ooijen Technische Informatica | Original developers of ixo-usb-jtag. |
| 0x1D50 | OpenMoko, Inc. | Originally made phones but now have [donated their ID to open source projects](http://wiki.openmoko.org/wiki/USB_Product_IDs). |
| 0x2A19 | Numato Lab | Manufacturers of the Opsis board. |
| 0x2A19 | Numato Lab | Manufacturers of the Opsis board. |

-------

### Currently Unused USB Ids

| Vendor ID | Product ID | Current Description |
|:---------:|:----------:|:------|
| 0x1d50 | 0x60b8 | TimVideos' HDMI2USB (Soft+UTMI) - Unconfigured device |
| 0x1d50 | 0x60b9 | TimVideos' HDMI2USB (Soft+UTMI) - Firmware upgrade |
| 0x1d50 | 0x60ba | TimVideos' HDMI2USB (Soft+UTMI) - HDMI/DVI Capture Device |
| 0x1d50 | 0x60df | Numato Opsis HDMI2USB board - unconfigured |
| 0x1d50 | 0x60e0 | Numato Opsis HDMI2USB board - JTAG Programming Mode |
| 0x1d50 | 0x60e1 | Numato Opsis HDMI2USB board - User Mode |
31 changes: 28 additions & 3 deletions hdmi2usb/modeswitch/boards.py
Original file line number Diff line number Diff line change
@@ -314,6 +314,7 @@ def find_boards(prefer_hardware_serial=True, verbose=False):
if False:
pass

# https://github.com/timvideos/HDMI2USB/wiki/USB-IDs
# Digilent Atlys
# --------------------------
# Digilent Atlys board with stock "Adept" firmware
@@ -334,11 +335,26 @@ def find_boards(prefer_hardware_serial=True, verbose=False):
all_boards.append(
Board(dev=device, type="atlys", state="jtag"))

# Digilent Atlys board JTAG/firmware upgrade mode with Openmoko ID
# Digilent Atlys board JTAG/firmware upgrade mode with Openmoko ID by
# default. Device ID 0x10 indicates test JTAG mode, 0x11 indicates test
# Serial, 0x12 indicates test Audio and 0x13 indicates test UVC.
# Bus 003 Device 019: ID 1d50:60b7
elif device.vid == 0x1d50 and device.pid == 0x60b7:
all_boards.append(
Board(dev=device, type="atlys", state="operational"))
if device.did == '0010':
all_boards.append(
Board(dev=device, type="atlys", state="test-jtag"))
elif device.did == '0011':
all_boards.append(
Board(dev=device, type="atlys", state="test-serial"))
elif device.did == '0012':
all_boards.append(
Board(dev=device, type="atlys", state="test-audio"))
elif device.did == '0013':
all_boards.append(
Board(dev=device, type="atlys", state="test-uvc"))
else:
all_boards.append(
Board(dev=device, type="atlys", state="operational"))

elif device.vid == 0x04e2 and device.pid == 0x1410:
exart_uarts.append(device)
@@ -379,6 +395,15 @@ def find_boards(prefer_hardware_serial=True, verbose=False):
elif device.did == '0003':
all_boards.append(
Board(dev=device, type="opsis", state="serial"))
elif device.did == '0011':
all_boards.append(
Board(dev=device, type="opsis", state="test-serial"))
elif device.did == '0012':
all_boards.append(
Board(dev=device, type="opsis", state="test-audio"))
elif device.did == '0013':
all_boards.append(
Board(dev=device, type="opsis", state="test-uvc"))
else:
assert False, "Unknown mode: %s" % device.did