Giter Site home page Giter Site logo

Comments (19)

amosbird avatar amosbird commented on August 27, 2024

The device is very much broken

Bus 003 Device 012: ID 04f2:1670 Chicony Electronics Co., Ltd
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         8
  idVendor           0x04f2 Chicony Electronics Co., Ltd
  idProduct          0x1670
  bcdDevice            4.00
  iManufacturer           0
  iProduct                0
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0029
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              0
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      31
         Report Descriptors:
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1

from hidapi.

Youw avatar Youw commented on August 27, 2024

What backend are you using, hidraw or libusb?

from hidapi.

amosbird avatar amosbird commented on August 27, 2024

libusb -lhidapi-libusb

from hidapi.

Youw avatar Youw commented on August 27, 2024
  1. Is there any way of restoring my keyboard?

So re-plug doesn't help?

  1. Have tried hidraw backend?

from hidapi.

amosbird avatar amosbird commented on August 27, 2024

So re-plug doesn't help?

It doesn't

Have tried hidraw backend?

But what should I try? Rerun the example doesn't seem to be able to fix the keyboard

from hidapi.

Youw avatar Youw commented on August 27, 2024

Is it appears broken when you plug it to a different PC / OS ?
(To identify is it host or dev issue.)

from hidapi.

amosbird avatar amosbird commented on August 27, 2024

I tried plugging into windows 10 machine, doesn't work either. It's dev issue

from hidapi.

Youw avatar Youw commented on August 27, 2024

So far I haven't heard of devices broken by hidapi, and it (hidapi) definitely doesn't do anything that is out of spec from HID (or USB) perspective.

What you experience is look like device's internal state (flash memory or smth.) has been changed in some weird way, and it is likely a vendor bug.

I'd suggest trying to contact your keyboard vendor support to identify what might went wrong.

from hidapi.

amosbird avatar amosbird commented on August 27, 2024

I'd suggest trying to contact your keyboard vendor support to identify what might went wrong.

Then I'm out of luck.

from hidapi.

Youw avatar Youw commented on August 27, 2024

BTW: example from README uses device's specific control command, and it is not advisable to try it with the unknown device.
Looks like it worth explicitly adding it to the readme.

from hidapi.

amosbird avatar amosbird commented on August 27, 2024

Exactly! I wish there is a WARNING SIGN.

from hidapi.

z3ntu avatar z3ntu commented on August 27, 2024

So it seems that 17ef:60b5 is Lenovo ThinkPad X1 Tablet Thin Keyboard Gen 3 , is that correct?

from hidapi.

amosbird avatar amosbird commented on August 27, 2024

Yes

from hidapi.

Qbicz avatar Qbicz commented on August 27, 2024

Looks like these 2 writes (0x80, 0x81) changed state of your keyboard in a way that the firmware authors have not intercepted. Well, you should never run code from Internet if you don't fully understand it, but we can definitely put a warning before the code sample. @amosbird I hope you will be able to contact the vendor and fix the issue.

from hidapi.

Qbicz avatar Qbicz commented on August 27, 2024

Opened #106 to prevent problems like this.

from hidapi.

amosbird avatar amosbird commented on August 27, 2024

Is it possible to extract the firmware from another working keyboard and flash it to this broken one?

from hidapi.

Youw avatar Youw commented on August 27, 2024

That is a good question to a keyboard vendor.
There is no universal solution.

from hidapi.

amosbird avatar amosbird commented on August 27, 2024

OK. Anyway, the tuition is 100$ and I've learned it hard.

from hidapi.

Qbicz avatar Qbicz commented on August 27, 2024

Merged #106.

from hidapi.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.