#StackBounty: #windows #drivers #installation #device-manager #hid Install a driver with devcon.exe

Bounty: 100

I have developed a multi-device HID driver, which consists of two devices: a virtual mouse driver and a proxy for it.

The proxy is required for accepting output reports from clients, because mouses are opened exclusively by the Windows kernel.

This is my report descriptor:

HID_REPORT_DESCRIPTOR g_reportDescriptor[] = {
    0x05, 0x01,     // USAGE_PAGE (Generic Desktop)
    0x09, 0x02,     // USAGE (Mouse)
    0xA1, 0x01,     // COLLECTION (Application)
    0x85,               REPORT_ID_MOUSE_INPUT,
    0x09, 0x01,         // USAGE_PAGE (Pointer)
    0xA1, 0x00,         // COLLECTION (Physical)
    0x05, 0x09,             // USAGE_PAGE (Buttons)
    0x19, 0x01,             // USAGE_MINIMUM (1)
    0x29, 0x03,             // USAGE_MAXIMUM (3)
    0x15, 0x00,             // LOGICAL_MINIMUM (0)
    0x25, 0x01,             // LOGICAL_MAXIMUM (1)
    0x95, 0x03,             // REPORT_COUNT (3)
    0x75, 0x01,             // REPORT_SIZE (1)
    0x81, 0x02,             // INPUT (Data, Variable, Absolute)
    0x95, 0x01,             // REPORT_COUNT (1)
    0x75, 0x05,             // REPORT_SIZE (5)
    0x81, 0x01,             // INPUT (Constant)
    0x05, 0x01,             // USAGE_PAGE (Generic Desktop)
    0x09, 0x30,             // USAGE (X)
    0x09, 0x31,             // USAGE (Y)
    0x15, 0x81,             // LOGICAL_MINIMUM (-127)
    0x25, 0x7F,             // LOGICAL_MAXIMUM (127)
    0x75, 0x08,             // REPORT_SIZE (8)
    0x95, 0x02,             // REPORT_COUNT (2)
    0x81, 0x06,             // Input (Data, Variable, Relative)
    0xC0,               // END_COLLECTION
    0xC0,           // END_COLLECTION(8)

    0x05, 0x01,     // USAGE_PAGE (Generic Desktop)
    0x09, 0x00,     // USAGE (Undefined)
    0xa1, 0x01,     // COLLECTION (Application)
    0x85,               REPORT_ID_MOUSE_OUTPUT,
    0x15, 0x00,         // LOGICAL_MINIMUM (0)
    0x26, 0xff, 0x00,   // LOGICAL_MAXIMUM (255)
    0x95, 0x0b,         // REPORT_COUNT (11)
    0x75, 0x08,         // REPORT_SIZE (8)
    0x09, 0x00,         // USAGE (Undefined)
    0x91, 0x02,         // OUTPUT (Data, Variable, Absolute)
    0xc0            // END_COLLECTION
};

I have got a trouble with installing my driver with devcon.exe.

It always fails, no matter what I do. I have been playing with my *.inf file for eternity and I don’t know what to do next. That’s how I run devcon.exe:

.devcon.exe install .hidriver.inf "ROOTUNKNOWN000"

Output:

Device node created. Install is complete when drivers are installed...
Updating drivers for ROOTUNKNOWN000 from D:shareoptKMDFDriverhidriver.inf.
devcon.exe failed.

As a result of the operation, it creates a new device named Unknown device without children.

When I install my driver from Device Manager -> Add Legacy Hardware, everything is fine and a new SampleClass device with two children (a generic mouse and a HID compliant device) is created, so I don’t think it is because my *.inf file lacks something.

Here is my *.inf file:

[Version]
Signature="$WINDOWS NT$"
Class=%ClassName%
ClassGuid={78A1C341-4539-11d3-B88D-00C04FAD5171}
Provider=%ProviderName%
CatalogFile=hidriver.cat
DriverVer=01/07/2018

[ClassInstall32]
Addreg=ClassReg
[ClassReg]
HKR,,,0,%ClassName%
HKR,,Icon,,-24

[SourceDisksNames]
1=%DiskName%,,,
[SourceDisksFiles]
hidriver.sys=1
[DestinationDirs]
DefaultDestDir=12

[Manufacturer]
%ManufacturerName%=Microsoft,NT$ARCH$.6.1
[Microsoft.NT$ARCH$.6.1]
%DeviceName%=DefaultInstall,roothidriver

[DefaultInstall.NT]
CopyFiles=Files
[Files]
hidriver.sys

[DefaultInstall.NT.HW]
AddReg=HWAddReg
[HWAddReg]
HKR,,"LowerFilters",0x00010008,"hidriver"

[DefaultInstall.NT.Services]
AddService=hidriver,0x00000000,hidriverService
AddService=mshidkmdf,0x00000002,mshidkmdfService
[hidriverService]
DisplayName=%ServiceName%
ServiceType=1
StartType=3
ErrorControl=1
ServiceBinary=%12%hidriver.sys
[mshidkmdfService]
ServiceType=1
StartType=3
ErrorControl=1
ServiceBinary=%12%mshidkmdf.sys

[DefaultInstall.NT.Wdf]
KmdfService=hidriver,KmdfLibrary
[KmdfLibrary]
KmdfLibraryVersion=$KMDFVERSION$

[Strings]
DeviceName="VARIABLE_1"
DiskName="VARIABLE_2"
ProviderName="VARIABLE_3"
ManufacturerName="VARIABLE_4"
ServiceName="VARIABLE_5"
ClassName="VARIABLE_6"

I have also tried to capture Device managers activity with Process Monitor, but it does some magic with DrvInst.exe and a dozen of temporary files, so I don’t think it’s the right way to go.

What should I do, guys?

[Update the next day]

I have also tried pnputil.exe:

pnputil.exe /add-driver D:shareoptKMDFDriverhidriver.inf /install

Microsoft PnP Utility

Adding driver package:  hidriver.inf
Driver package added successfully.
Published Name:         oem40.inf
Driver package installed on matching devices.

Total driver packages:  1
Added driver packages:  1

Despite of the sweet output, it has no effect.


Get this bounty!!!

#StackBounty: #drivers #mouse #touchpad #lenovo #hardware Lenovo x1 carbon 3rd generation touchpad issues

Bounty: 50

I am using Lenovo x1 carbon 3rd generation with ubuntu 18.04, The touch pad is behaving weird like, If you drag the pointer down to a specific point and removes the finger from the touchpad then the pointer jumps to a random position.

An example will be closing a browser tab, Drag the pointer x and remove the finger off the pad, The pointer jumps to a random position.

Is it normal, Or is there anything which can help around.

Thanks


Get this bounty!!!

#StackBounty: #windows-10 #drivers #mouse #touchpad #scrolling Lengthy struggle with two finger scrolling on ELAN drivers

Bounty: 50

After several hours of frustration, I’m giving up.

The default trackpad driver of the Asus UX303U is truly catastrophic. I downloaded ELAN driver 16.21.13.3 which is fantastic, but I am not able to turn on two finger scrolling. (On Windows 10 Home 64 bit.)

There’s a lot of online content about this, but nothing works for me.

  1. Going to Settings and then Touchpad, I get the Your PC has a precision touchpad. Scrolling down there are many options and among them is Drag two fingers to scroll under Scroll and zoom. Checking them has no effect.

enter image description here

Under Related settings, going to Additional settings and then to the ELAN tab, the options button is greyed out as depicted below. So I cannot access that either.

enter image description here

  1. When I run ETDAniConf, I get the blank window below. Running ETDSimpleUI gives an ETDSimpleUI has stopped working error.

enter image description here

How can I enable two finger scrolling? I am desperate.


Get this bounty!!!

#StackBounty: #drivers Drivers did not reinstall automatically after uninstalling them

Bounty: 50

I am sure you’ve heard of the old “uninstall a driver and it will reinstall” trick

well, i’ve uninstalled multiple drivers just now and none of them have reinstalled by themselves. fortunately, they were all under CD/DVD Drives in device manager, but, holy cow, i dont even know what some of those were. Any help with this one? Windows 10 here. MSI Gaming notebook (model: GL62 6QF). Obviously my disc drive doesn’t work now.

Edit: The most logical next step for me here was to turn on automatic driver updates in Advanced System Settings. It was already on. I’m completely stumped.


Get this bounty!!!

#StackBounty: #windows-10 #drivers #usb-3 #chipset How to make my onboard USB 3.0 ports non-removable?

Bounty: 50

Ever since Microsoft released Windows 8 and then Windows 10, Intel stopped releasing new drivers for their USB 3.0 ports integrated into their newer chipsets. They let Microsoft do the work. I have a Z270 motherboard and the Intel(R) USB 3.0 eXtensive Host Controller is currently removable.

USB 3.0 ports removable?

From the Device Manager, the problematic drivers:

Intel Host Controller

Windows Update does say I have the latest driver. With Intel not releasing any new driver, what are my options to make those ports non-removable in Windows 10, considering I obviously can’t remove them without going into my BIOS settings?


Get this bounty!!!

#StackBounty: #drivers #nvidia #graphics #xorg What configuration files in Ubuntu control the graphics drivers in a dual GPU system?

Bounty: 50

I’m trying to get an NVIDIA 970M GPU working after something went wrong with the drivers. I’ve tried purging and manually wiping the system of everything nvidia/cuda related and reinstalled both from the ppa:graphics-drivers/ppa and from the NVIDIA installer.

Both approaches fail to get the system to use the NVIDIA GPU (as evidenced by nvidia-prime which I use to switch to the NVIDIA GPU, but after reboot it always returns to the onboard intel GPU).

  • What I’m trying to understand now is exactly what configuration in
    ubuntu is used to configure which graphics drivers are actually
    loaded?

  • How do I actually query the kernel to understand what drivers it
    thinks are available, and which drivers it is using?

  • Are there logs other than dmesg (with show nothing special) that I
    should be looking at to debug this?


> sudo lshw -C display
  *-display UNCLAIMED     
       description: 3D controller
       product: GM204M [GeForce GTX 970M]
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:01:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list
       configuration: latency=0
       resources: memory:f5000000-f5ffffff memory:e0000000-efffffff memory:f0000000-f1ffffff ioport:e000(size=128) memory:f6000000-f607ffff
  *-display
       description: VGA compatible controller
       product: 4th Gen Core Processor Integrated Graphics Controller
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 06
       width: 64 bits
       clock: 33MHz
       capabilities: msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:29 memory:f6400000-f67fffff memory:d0000000-dfffffff ioport:f000(size=64)


Get this bounty!!!

#StackBounty: #drivers #nvidia #graphics #17.10 #configuration 'Nvidia X Server Setting' tab missing (Ubuntu 17.10)

Bounty: 50

I have installed Nvidia (Geforce 940MX) Graphics driver version 384.111 from Softwares & Updates > Additional Drivers.

When I open “Nvidia X Server settings” it shows empty.
I have tried

sudo apt-get purge nvidia*

and reinstall drive manually still facing the same issue.
I have tried to switch drivers and reboot the computer.

enter image description here

also, I switched to “Ubuntu xOrg” and reinstall the driver but no luck showing the same result like below image.

enter image description here

About page show as system uses Intel Graphic Card

enter image description here


Get this bounty!!!

#StackBounty: #drivers #nvidia #graphics #17.10 #configuration 'Nvidia X Server Setting' tab missing (Ubuntu 17.10)

Bounty: 50

I have installed Nvidia (Geforce 940MX) Graphics driver version 384.111 from Softwares & Updates > Additional Drivers.

When I open “Nvidia X Server settings” it shows empty.
I have tried

sudo apt-get purge nvidia*

and reinstall drive manually still facing the same issue.
I have tried to switch drivers and reboot the computer.

enter image description here

also, I switched to “Ubuntu xOrg” and reinstall the driver but no luck showing the same result like below image.

enter image description here

About page show as system uses Intel Graphic Card

enter image description here


Get this bounty!!!

#StackBounty: #drivers #nvidia #graphics #17.10 #configuration 'Nvidia X Server Setting' tab missing (Ubuntu 17.10)

Bounty: 50

I have installed Nvidia (Geforce 940MX) Graphics driver version 384.111 from Softwares & Updates > Additional Drivers.

When I open “Nvidia X Server settings” it shows empty.
I have tried

sudo apt-get purge nvidia*

and reinstall drive manually still facing the same issue.
I have tried to switch drivers and reboot the computer.

enter image description here

also, I switched to “Ubuntu xOrg” and reinstall the driver but no luck showing the same result like below image.

enter image description here

About page show as system uses Intel Graphic Card

enter image description here


Get this bounty!!!

#StackBounty: #drivers #nvidia #graphics #17.10 #configuration 'Nvidia X Server Setting' tab missing (Ubuntu 17.10)

Bounty: 50

I have installed Nvidia (Geforce 940MX) Graphics driver version 384.111 from Softwares & Updates > Additional Drivers.

When I open “Nvidia X Server settings” it shows empty.
I have tried

sudo apt-get purge nvidia*

and reinstall drive manually still facing the same issue.
I have tried to switch drivers and reboot the computer.

enter image description here

also, I switched to “Ubuntu xOrg” and reinstall the driver but no luck showing the same result like below image.

enter image description here

About page show as system uses Intel Graphic Card

enter image description here


Get this bounty!!!