This topic is intended for OEMs who want to build a Windows 10 system with USB Type-C connector and want to leverage OS features that allow for faster charging, power delivery, dual role, alternate modes, and error notifications through Billboard devices.
A traditional USB connection uses a cable with a USB A and USB B connector on each end. The USB A connector always plugs in to the host side and the USB B connector connects the function side, which is a device (phone) or peripheral (mouse, keyboard). By using those connectors, you can only connect a host to a function; never a host to another host or a function to another function. The host is the power source provider and the function consumes power from the host.
If you're using Windows, download this Kindle Fire driver: kindlefireusbdriver.zip. After downloading the file, extract the contents into a new folder and double-click the FireDevices ABD drivers file. Proceed through the installation wizard screens to install the driver. Step 3: Install Android Studio. In that case, you should right-click on Unknown Device, click on Properties, then the Driver tab and then click Update Driver. If this doesn’t work, you can also try to download the driver for your device from the manufacturer’s website. If the USB device is just a flash drive, then it’s probably not a driver issue. Following printers were added to Beiyang printer driver distribution: BTP-2200E Plus, BTP-2300E Plus, BTP-3200E, BTP-3300E, BTP-L42 II, BTP-L520, BTP-L540. Ver.: 5.1.13.6232 Fixed issue with DNS IP resolution not working when printer network name is longer then 25 characters.
The traditional configuration limits some scenarios. For example, if a mobile device wants to connect to a peripheral, the device must act as the host and deliver power to the connected device.
The USB Type-C connector, introduced by the USB-IF, defined in the USB 3.1 specification, addresses those limitations. Windows 10 introduces native support for those features.
Feature summary
- Allows for faster charging up to 100W with Power Delivery over USB Type-C.
- Single connector for both USB Hosts and USB Devices.
- Can switch USB roles to support a USB host or device.
- Can switch power roles between sourcing and sinking power.
- Supports other protocols like DisplayPort and Thunderbolt over USB Type-C.
- Introduces USB Billboard device class to provide error notifications for Alternate Modes.
Official specifications
Hardware design
USB Type-C connector is reversible and symmetric.
The main component are: the USB Type-C connector and its port or PD controller that manages the CC pin logic for the connector. Such systems typically have a dual-role controller that can swap the USB role from host to function. It has Display-Out module that allows video signal to be transmitted over USB. Optionally it can support BC1.2 charger detection.
Consider recommendations for the design and development of USB components, including minimum hardware requirements, Windows Hardware Compatibility Program requirements, and other recommendations that build on those requirements.Hardware component guidelines USB
Choose a driver model
Use this flow chart to determine a solution for your USB Type-C system.
If your system... | Recommended solution... |
---|---|
Does not implement PD state machines | Write a client driver to the UcmTcpciCx class extension. Write a USB Type-C port controller driver |
Implements PD state machines in hardware or firmware and support USB Type-C Connector System Software Interface (UCSI) over ACPI | Load the Microsoft provided in-box drivers, UcmUcsiCx.sys and UcmUcsiAcpiClient.sys. See UCSI driver. |
Implements PD state machines in hardware or firmware, but either does not support UCSI, or support UCSI but requires a transport other than ACPI | Write a client driver for the UcmCx class extension. Write a USB Type-C connector driver Write a USB Type-C Policy Manager client driver |
Implements UCSI but requires a transport other than ACPI | Write a client driver to the UcmUcsiCx class extension. Use this sample template and modify it based on a transport that your hardware uses. Write a UCSI client driver |
Bring up drivers
USB Function driver bring-up is only required if you support USB Function mode. If you previously implemented a USB Function driver for a USB micro-B connector, describe the appropriate connectors as USB Type-C in the ACPI tables for the USB Function driver to continue working.
For more information, see instructions about writing a USB Function driver.
USB Role-Switch driver bring-up is only required for devices that have a Dual Role controller that assumes both Host and Function roles. To bring-up the USB Role-Switch driver, you need to modify the ACPI tables to enable the Microsoft in-box USB role-switch driver.
For more information, see the guidance for bringing up the USB Role Switch Driver.
A USB Connector Manager Driver is required for Windows to manage the USB Type-C ports on a system. The bring-up tasks for a USB Connector Manager driver depend on the driver that you choose for the USB Type-C ports: The Microsoft in-box UCSI (UcmUcsiCx.sys and UcmUcsiAcpiClient.sys) driver, a UcmCx client driver, or a UcmTcpciCx client driver. For more information, see the links in the preceding section that describe how to choose the right solution for your USB Type-C system.
Test
Perform various functional and stress tests on systems and devices that expose a USB Type-C connector.
Test USB Type-C systems with USB Type-C ConnEx - Run USB tests included in the Windows Hardware Lab Kit (HLK) for Windows 10.
Run USB function HLK tests with a C-to-A cable (search for Windows USB Device in the HLK
Certification/ComplianceAttend Power Delivery and USB Type-C compliance workshops hosted by the standards bodies.
See also
You can use Android Debug Bridge (ADB) to connect your Fire tablet to your computer for testing and debugging. You connect your computer to your Fire tablet through a micro-USB cable.
Android Debug Bridge (ADB) is a command-line utility for running and managing Android apps on your device or emulator. For more information and instructions on using ADB, see Android Debug Bridge.
If you're looking for instructions on connecting to a Fire TV instead, see Connect to Fire TV Through ADB.
- Check for Device Connections Using ADB (Optional)
- Troubleshooting
Step 1: Enable Developer Options
Go to Settings > Device Options and look for a Developer Options menu. If it's not there, do the following:
a. Go to Settings > Device Options > About Fire Tablet.b. Tap your Serial Number seven times.c. Return to Device Options. A new menu appears called 'Developer Options.'
- Tap Developer options. (2013 models might call this option 'Security.')
- Set Developer options and USB debugging to ON.
- If you have a Kindle Fire 1st Generation, ADB is enabled by default.
Step 2: Install the Kindle Fire Driver (Windows Only)
- If you're using Windows, download this Kindle Fire driver: kindle_fire_usb_driver.zip.
- After downloading the file, extract the contents into a new folder and double-click the Fire_Devices ABD drivers file.
- Proceed through the installation wizard screens to install the driver.
Step 3: Install Android Studio
ADB is available on your computer when you install Android Studio. If you don't already have Android Studio, download and install Android Studio. If you're not using Android Studio, you need to download and install Android SDK platform tools.
Step 4: Connect Your Fire Device to Your Computer with a USB Cable
Using a USB cable, connect your Fire tablet to a USB port on your computer.
Note that Fire tablets can treat the USB with different transfer options. After connecting the USB cable, swipe down from the top of your tablet to see the USB option used. You might see various notifications, including the USB connection type that was used when you connected the cable. The relevant notification is highlighted in the screenshot below.
If you don't see 'Connected as Media Device', press Tap for other USB options. Then select Media device (MTP). Later Fire OS versions have a different interface here. If you're using Fire OS 7, select File Transfer.
Note: If your USB is connected as a Camera (PTP), Android Studio won't recognize the tablet as a device in Android Studio.If you don't see the USB connection type in the above notifications, go to Settings > Device Options > Developer Options > USB computer connection. Set this to Media device (MTP). For Fire OS 7, select File Transfer.
When the Allow USB debugging? dialog appears on your tablet, tap OK.
Open Android Studio and look for the device to appear in devices drop-down menu:
The device's name will use the
android.os.Build.MODEL
property for the device.KFSUWI
refers to Fire HD 10 (2017) tablet. You can see a list of build model names in the Identifying Fire Tablet Devices.If you have not selected the 'Allow USB Debugging' dialog on your tablet, the name 'Unknown device' will appear in the devices drop-down menu in Android Studio until you allow debugging.
With the tablet connected, you can now run your app on your tablet by clicking the Run App button in Android Studio.
If you run into issues, see the Troubleshooting section below.
Check for Device Connections Using ADB (Optional)
Instead of looking in the devices menu in Android Studio, you can also use some ADB terminal commands to confirm that your device is connected. ADB is useful for performing many other operations as well, such as entering sandbox mode or installing other assets. Follow these two sections:
If you skip adding ADB to your PATH, you can also Check for Connected Devices If ADB Isn't In Your PATH.
Add ADB to Your PATH
First, add ADB to your PATH so you can more easily run ADB commands. (Your PATH is an environment variable used to specify the location of the program's executable. If you don't add ADB to your PATH, running ADB commands will require you to browse to the <Android SDK>/platform-tools
directory to run adb
.)
adb version
from a terminal or command prompt. If you get back version information, then ADB is in your PATH. If the response says adb
is an unrecognized command, ADB is not in your PATH.To add ADB to your PATH on Mac:
Get the path to your Android SDK platform-tools directory:
Open Android Studio and click the SDK Manager button .The location to your Android SDK appears near the top next to Android SDK Location. For example:
/Users/<your username>/Library/Android/sdk
If this is your first time opening Android Studio, there isn't an SDK Manager button. Instead, at the Welcome to Android Studio prompt, click Configure > SDK Manager and provide the location to the Android SDK.
- Copy the path to the SDK and paste it somewhere convenient, such as a text editor.
- Add /platform-tools to the end of the path you copied in the previous step. ('platform-tools' is the directory containing the ADB executable.)
- Copy the full path to your clipboard.
Use the following command to add ADB to your .bash_profile. Replace
<your username>
with your actual username. Also, make sure the path points to your Android SDK.Your
.bash_profile
file is usually in your user directory, which you can find by typingcd ~
(change to your user directory). Then typels -a
(list all) to show all files, including hidden ones.If the file isn't there, simply create one. You can then type
open .bash_profile
to see the paths listed.After you add this PATH to your bash profile, you should see the following in your
.bash_profile
file:(Only instead of
johndoe
, you will see your own username.)Fully restart any terminal sessions, and then type
adb
. If you successfully added ADB to your path, you will see ADB help info rather than 'command not found.'
To add ADB to your PATH on Windows:
Get the path to your Android SDK platform-tools directory:
Open Android Studio and click the SDK Manager button .
The location to your Android SDK appears near the top next to Android SDK Location. For example:
C:Users<your user name>AppDataLocalAndroidSdk
If this is your first time opening Android Studio, there isn't an SDK Manager button. Instead, at the Welcome to Android Studio prompt, click Configure > SDK Manager and provide the location to the Android SDK.
- Copy the path to the SDK and paste it somewhere convenient, such as a text editor.
- Add /platform-tools to the end of the path you copied in the previous step. ('platform-tools' is the directory containing the ADB executable.)
- Copy the full path to your clipboard.
- Click your computer's search button (next to Start) and type view advanced system settings.
- Click View advanced system settings.
- When the System Settings dialog opens, click the Environment Variables button.
- Under System Variables (the lower pane), select Path and click Edit.
Do one of the following:
- On Windows 7 or 8, move your cursor to the farthest position on the right, type
;
and then press Ctrl+V to insert the path to your SDK that you copied earlier. It may look like this:;C:Users<your user name>AppDataLocalAndroidSdkplatform-tools
. Click OK on each of the three open dialog boxes to close them. - On Windows 10, click the New button and add this location.
- On Windows 7 or 8, move your cursor to the farthest position on the right, type
- Restart any terminal sessions, and then type
adb
. If you successfully added ADB to your path, you will see ADB help info rather than 'command not found.'
Drivers Beiyang USB Devices
Check for Connected Devices
Assuming ADB is added to your PATH, run the following commands:
Confirm that the serial number for your Fire tablet appears in the list of devices. For example:
On your tablet, your device's serial number is located under Settings > Device Options.
Check for Connected Devices If ADB Isn't In Your PATH
If your terminal doesn't recognize adb
as a command (that is, you didn't add ADB to your PATH), you might have to run the commands from the SDK directory that contains ADB.
- In Android Studio go to Tools > SDK Manager.
- In the SDK Manager dialog box, copy the Android SDK Location.
Browse to this location in your terminal or command prompt. For example:
Mac
Windows
Then go into the
platform-tools
directory:The
platform-tools
directory containsadb
.Now run the ADB commands as follows:
Mac:
Windows:
The response should list your device's serial number. For example:
If your Fire tablet is still not detected, you may need to reboot your computer or log out and back in for the changes to take effect.
Troubleshooting
Tablet doesn't appear in list of devices in Android Studio
If you don't see your tablet device in the list of devices in Android Studio, click the devices drop-down menu and select Troubleshoot device connections:
Click Rescan devices.
If rescanning devices doesn't detect your Fire tablet as a device, your micro-USB cable might be bad, you might have the wrong USB connection type (e.g, camera instead of media device), or you might not have enabled USB debugging. You can also try restarting your computer and the tablet.
Uninstall the non-ADB Driver (Windows)
If you previously connected a Fire tablet without first enabling ADB on the Fire tablet, you might need to remove the existing USB device driver and force re-installation of the driver. To remove the non-ADB driver:
- Using a micro-USB cable, connect your Fire tablet to a USB port on your computer.
- On your computer (Windows 10), click the search button (next to the Start menu) and type Device Manager in the search. Then select it in the results. (Other Windows versions have different options for accessing the Control Panel.)
- In the Device Manager window, expand Portable Devices.
- Right-click the Fire device and then click Properties.
- In the Properties window, on the Driver tab, click Uninstall, and then Confirm.
- Unplug your Fire tablet from your computer.
Confirm the Fire Driver Is Installed Correctly
You can confirm that the Fire driver is installed correctly by doing the following:
Drivers Beiyang Usb Devices Inc
- On your computer, click the search button search button (next to the Start menu) and type Device Manager.
In Device Manager, under Fire Devices, verify that that a device appears called Android Composite ADB Interface.
If your Device Manager shows an Other Devices section with a second Fire device with a yellow alert sign, your computer is listing Amazon's unrecognized ADB module as a separate device. To fix this issue:
- Under Other Devices, right-click the Fire device and select Properties.
- On the Driver tab of the Properties window, select Update Driver…
- Choose to browse for the driver software, then navigate to Let me pick from a list of device drivers on my computer > Show All Devices > Have Disk.
- Navigate to the folder where you installed the Amazon driver (typically
C:Program Files (x86)Amazon.comFire_DevicesDrivers
) and select it. Ignore the warning regarding installing drivers and proceed.
You should now correctly see your Fire tablet with the ADB driver installed.
Last updated: Oct 29, 2020