Leadtek USB Devices Driver



-->

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.

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.

When you plug the device into your USB, Windows will look for the associated driver, if it cannot find this driver then you will be prompted to insert the driver disc that came with your device. Common USB Device errors are ‘ usb port not working ‘, ‘device descriptor request failed error’ or ‘bugcodeusbdriver’ issues. DVB: registering new adapter (Leadtek WinFast DTV Dongle Gold) dvb-usb: no frontend was attached by 'Leadtek WinFast DTV Dongle Gold' dvb-usb: Leadtek WinFast DTV Dongle Gold successfully initialized and connected. Af9015init: af9015initendpoint: USB speed:3 af9015downloadirtable: input: Leadtek WinFast DTV Dongle Gold as /devices/pci0000. PCoIP technology is designed to deliver a user's desktop from a centralized host PC/workstation across standard IP networks. Users can enjoy a perfect experience without compromise, including up to quad display high resolution, full frame-rate 3D graphics, full USB peripheral interoperability, and full-duplex HD audio. Download Drivers, download Video Cards, download Leadtek, wide range of software, drivers and games to download for free.

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 machinesWrite 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 ACPILoad 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 ACPIWrite 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 ACPIWrite 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

A DVB-TUSB device from Leadtek.

  • 1Overview/Features
  • 2Making it Work (generic for all dib0700)
    • 2.2Drivers
      • 2.2.3All relevant kernel modules options
    • 2.3Remote control support
      • 2.3.2Using LIRC
    • 2.6Leadtek WinFast DTV Dongle H

Overview/Features

  • Supplied with a remote control.
Leadtek

Components Used

  • Microtune MT2060 tuner
  • Dibcom DiB7700B/C DVB-T demodulator

Identification

There are 5 variants of this device. Their USB IDs are:

  • 0413:6f00
  • 0413:6f01
  • 0413:6029, This is the Leadtek WinFast DTV Dongle Gold. That hardware is completely different. Check here for details.
  • 0413:60f6, sold as 'Leadtek WinFast DTV Dongle H'. See below for support status.
  • 0413:6a05, sold as 'Leadtek WinFast DTV Dongle Dual'. It has dual tuners and the hardware is completely different. Check the Leadtek WinFast DTV Dongle Dual page for details.

Making it Work (generic for all dib0700)

Firmware

August 21, 2008 - New firmware file fixing the last cause for i2c errors and disconnects and providing a new, more modular i2c request formatting.

You will need the dvb-usb-dib0700-1.20.fw firmware file in /lib/firmware or the relevant place for your distribution.

You may need to change the name of the file to dvb-usb-dib0700-1.10.fw or create a link until the driver code reflects that change.

For archival purposes: dvb-usb-dib0700-1.10.fw firmware file

August 29,2008 - Issues with Firmware 1.20. Some issues have been found with the latest version of the firmware. Users may wish to continue to use 1.10 unless they have patched their v4l-dvb code with dib0700_new_i2c_api.patch.

November 15,2008 - Issues with Firmware 1.20.

  • The above mentioned dib0700_new_12c_api.patch is not available discretely but is now rolled into the mercurial drivers
  • dvb-usb-dib0700-1.20.fw firmware file is now stable for reception, but remote control functionality is broken; any key press is repeated until the next key is pressed. The only way to get remote control functionality presently is to roll back to 1.10 firmware and suffer the occasional disconnect.
  • The mercurial drivers have been changed so they now load 1.20 firmware. To revert to 1.10 firmware you need to rename your firmware file to dvb-usb-dib0700-1.20.fw or provide a link of that name.
  • To avoid spurious remote control signals with 1.20 firmware, you need to edit /etc/modprobe.d/options or from Ubuntu onwards /etc/modprobe.d/options.confand add:

November 28,2008 - i2c errors. Changes were made to the remote control drivers on November 16,2008 to correct the repeat key problem. The card is generally stable for dual tuner reception and remote control function with Firmware 1.20.

November 10,2009 - mt2060 I2C write failed.Possible regression of a driver bug raised against Ubuntu running 2.6.27-14 and 2.6.31-2.17 causing mt2060 I2C errors in MythTV useage with firmware 1.20. https://bugs.launchpad.net/ubuntu/+source/linux/+bug/397696Recommend check the kernel extensions listed here for Low Noise Activation and rc_polling are loaded with correct config file name for your distribution, EIT listings information is turned off until a suitable delay (500ms-1000ms)is added to a single card (not both) and the card has correctly been added to the database as two tuners (no additional NULL entries) in the mythtv recordcard table.

Drivers

It requires the dib0700 driver. Just use Mercurial by following the How to Obtain, Build and Install V4L-DVB Device Drivers instructions.

Forcing the activation of LNAs (Low Noise Amplifier)

You may have to force LNA to get this card working:

In /etc/modprobe.d/options add:

Disabling the remote control sensor

You may want to disable the remote control sensor if you are using another one and want to avoid error messages in the logs:

In /etc/modprobe.d/options add:

All relevant kernel modules options

In /etc/modprobe.d/options add:

Get the parameters list using

The debug values are bit fields, with each bit representing a different category. Add values to turn on multiple debugging categories.

dib3000mc
debug
Turn on debugging
Values: integer
Default: 0 (off)
buggy_sfn_workaround
Enable work-around for buggy SFNs
Values: integer
Default: 0 (disabled)
mt2060
debug
Turn on debugging
Values: integer
Default: 0 (off)
dvb_usb_dib0700
force_lna_activation
Force the activation of LNAs (Low Noise Amplifier), if applicable for the device
Values: integer
Default: 0 (automatic/off)
dvb_usb_dib0700_ir_proto
Set IR protocol
Values: integer 0=NEC, 1=RC5, 2=RC6
Default: 1
debug
Set debugging level
Values: integer (bitmap) 1=info, 2=fw, 4=fwdata, 8=data
Default: 0 (none)
dvb_usb
debug
Set debugging level
Values: integer (bitmap) 1=info, 2=xfer, 4=pll, 8=ts, 16=err, 32=rc, 64=fw, 128=mem, 256=uxfer
Default: 0 (none)
disable_rc_polling
Disable remote control polling
Values: integer
Default: 0 (enabled)

Leadtek USB Devices Driver

force_pid_filter_usage
Force all DVB USB devices to use a PID filter, if any
Values: integer
Default: 0 (disabled)
dvb_core
dvb_net_debug
Enable debug messages
Values: integer
Default: 0 (disabled)
frontend_debug
Turn on frontend core debugging
Values: integer
Default: 0 (off)
dvb_shutdown_timeout
Wait n seconds after close() before suspending hardware
Values: integer
Default: 0
dvb_force_auto_inversion
Set whether INVERSION_AUTO is forced on
Values: integer
Default: 0 (off)
dvb_override_tune_delay
Wait n milliseconds for lock after a tuning attempt
Values: integer
Default: 0
dvb_powerdown_on_sleep
Turn LNB power off on sleep
Values: integer
Default: 1 (enabled)
cam_debug
Enable verbose debug messages
Values: integer
Default: 0 (off)
debug
Turn on debugging
Values: integer
Default: 0
dvbdev_debug
Turn on device debugging
Values: integer
Default: 0 (off)
dibx000_common
debug
Turn on debugging
Values: integer
Default: 0 (off)

Remote control support

Using evdev

As long as the evdev module is loaded, a remote that is recogniced as hid device will be treated as a usb keyboard and this means that you can avoid using lirc.

However, many of the keys on your remote may generate keycodes which are not mapped to anything, by default.

In X you can use xev to find the keycodes and xmodmap to map them to useful symbols. Unfortunately, some keys may generate keycodes that X doesn't recognize at all and the device does not support keymaps, or this would be easy to fix.

Using LIRC

Usually remote controls in linux are managed by the lirc software collection.

To get lirc up and running you need to configure some things.

  • Settings for the hardware
    • Where does lirc get its input from? aka. the DEVICE. E.g. /dev/input/event3
    • How to handle the input? aka. the DRIVER. E.g. devinput
  • Settings for mapping driver output generated by your remote (a bunch of hex numbers) to key names (something like 0..9, Volume+, Next, Record)
  • Settings for mapping key presses to actions (usually located in your .lircrc)
Mythubuntu case

On mythubuntu 10.10, you just have to add this line in /etc/udev/rules.d/65-persistent-hauppauge.rules

Device/driver settings

Find the IR receiver's device by looking in the dmesg output for a line similar to:

Additionally, the IR receiver will be listed if you execute the command:

For example:

In this example, the remote control gives output into /dev/input/event4.

The event number depends on your particular system and can vary.

Eventually this event number can even vary at every reboot.

You could create a new udev rule in /etc/udev/rules.d/65-persistent-hauppauge.rules.

This would make IR receivers handled by the usb_dvb framework always always be linked to /dev/input/dvb-ir.

Leadtek Usb Devices Driver Updater

But Linux systems running recent udev will automatically create non-varying names, a nicer and automatic way of providing a stable input event name:

Leadtek Usb Devices Driver Vga

LIRC will use it without needing a special kernel module. use the dev/input (or devinput. Check this with the command 'lircd --device=help'.) driver and specify the input event device in /etc/lirc/hardware.conf

Leadtek USB Devices Driver

If you have REMOTE and TRANSMITTER sections in your hardware.conf file, they should look like this:

Remote key setup

See device specific section below or try [1].


Sample .lircrc

A sample .lircrc can be found LircrcExample here.

Keys repeated twice

But there is still the problem of the key repeats for it, so that each keypress will be repeated twice. The patches, as mentioned above, may not work, but a workaround is possilbe. It is described in http://ubuntuforums.org/showthread.php?p=4253678

Simply add config = echo ' > /dev/null before the main config in .mythtv/lircrc or .lircrc

So each 2nd keypress will be suppressed. This works in some application but not others (e.g. vlc).

Alternatively there is a patch for the kernel driver that solves it, it can be found here.

Finally if that doesn't work and you have the silver remote (A415-HPG-WE-A) then changing the lircd.conf line as follows can prevent the duplicate key presses. This has the side-effect of disabling key repeats for the remote entirely. Changetoggle_bit_mask 0x80000000totoggle_bit_mask 0x00000000

Note: do not try to comment out (using #) any line in this file, or lirc won't work anymore.

Do NOT do this:

Replace the original line instead.

Specific to the model

variant USB IDgeneral supportremote control
0413:6f00supportedunknown
0413:6f01supportedDetected, handles one keypress but then fails.[2]

Sample kernel output

This is for the 6f01 variant.

Leadtek WinFast DTV Dongle H

This is analog and digital TV dongle with USB ID: 0413:60f6. It consists of 3 chips: dib7700 (main chip), cx25843 (analog) and xc3028l (tuner). Support is only for digital part. For using, there must be some changes to V4L-DVB source codes:

  • Download actual source code http://linuxtv.org/hg/v4l-dvb .
  • Find dib0700_devices.c and backup it.
  • Find structure like this:

and append new vid a pid for your dongle (remember number of new 'line').

  • Next find tuner and frontend definition:

and to table after this definitions, you can append record to .devices structure leadtek hybrid dongle h USB ID (index of dib0700_usb_id_table is number of 'line').

  • Don't forget to increase count of records for this table (located before USB IDS): .num_device_descs.
  • Find and backup dvb-usb-ids.h and append USB ID value used in dib0700_devices.c.
  • Download dvb-usb-dib0700-1.20 (or 1.10) firmware for main chip and tuner firmware from here: http://lists-archives.org/video4linux/20835-extract-tool-for-xc3028-firmware.html .
  • Sometimes is needed to change some values in scandvb config files to AUTO.

Leadtek Usb Devices Drivers

Kernel output

External Links

Leadtek Usb Devices Driver Win 7

Retrieved from 'https://www.linuxtv.org/wiki/index.php?title=Leadtek_WinFast_DTV_Dongle&oldid=32588'