padelt / temper-python

libusb/PyUSB-based driver to read TEMPer USB HID devices (USB ID 0c45:7401) and serve as a NetSNMP passpersist module
Other
183 stars 78 forks source link

Can it work with 1130:660C? #20

Open eribertomota opened 10 years ago

eribertomota commented 10 years ago

Hi!

I am testing the software with a 1130:660C model (ID 1130:660c Tenx Technology, Inc. Foot Pedal/Thermometer / USB HID v1.10 Device [ PCsensor Temper]). However, I get "Found 0 devices". There is how to add support to my thermometer?

Thanks!

Eriberto

http://www.dx.com/p/usb-powered-c-f-thermometer-40-120-c-48285

amorphic commented 10 years ago

Hi Eriberto,

I'm a little confused. Do you have a link for "1130:660C model (ID 1130:660c Tenx Technology, Inc. Foot Pedal/Thermometer / USB HID v1.10 Device"?

The link at the bottom of your issue, (http://www.dx.com/p/usb-powered-c-f-thermometer-40-120-c-48285) is for a standard TEMPer thermometer, which is definitely supported. I'm using one!

Cheers, James

eribertomota commented 9 years ago

Hi,

The same link. My thermometer is the shown in photo (I bought this in DX.com). Is a 1130:6660c.

Thanks!

Eriberto

2014-10-03 19:07 GMT-03:00 James Stewart notifications@github.com:

Hi Eriberto,

I'm a little confused. Do you have a link for "1130:660C model (ID 1130:660c Tenx Technology, Inc. Foot Pedal/Thermometer / USB HID v1.10 Device"?

The link at the bottom of your issue, ( http://www.dx.com/p/usb-powered-c-f-thermometer-40-120-c-48285) is for a standard TEMPer thermometer, which is definitely supported. I'm using one!

Cheers, James

— Reply to this email directly or view it on GitHub https://github.com/padelt/temper-python/issues/20#issuecomment-57869825.

amorphic commented 9 years ago

Can you post the output of dmesg after you plug in your device?

Here's the dmesg output after plugging in my TEMPer:

[125755.348125] usb 2-2: new low-speed USB device number 2 using uhci_hcd
[125755.524168] usb 2-2: New USB device found, idVendor=0c45, idProduct=7401
[125755.524187] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[125755.524200] usb 2-2: Product: TEMPerV1.4
[125755.524210] usb 2-2: Manufacturer: RDing
[125755.641015] input: RDing TEMPerV1.4 as /devices/pci0000:00/0000:00:1d.0/usb2/2-2/2-2:1.0/input/input13
[125755.641744] generic-usb 0003:0C45:7401.0001: input,hidraw0: USB HID v1.10 Keyboard [RDing TEMPerV1.4] on usb-0000:00:1d.0-2/input0
[125755.659952] generic-usb 0003:0C45:7401.0002: hiddev0,hidraw1: USB HID v1.10 Device [RDing TEMPerV1.4] on usb-0000:00:1d.0-2/input1
[125755.660097] usbcore: registered new interface driver usbhid
[125755.660105] usbhid: USB HID core driver
eribertomota commented 9 years ago

Thanks for your reply.

Note that your device is 0c45:7401, not a 1130:660c.

My dmesg:

[ 463.164427] usb 2-1.1: new low-speed USB device number 5 using ehci_hcd [ 463.294414] usb 2-1.1: New USB device found, idVendor=1130, idProduct=660c [ 463.294419] usb 2-1.1: New USB device strings: Mfr=0, Product=2, SerialNumber=0 [ 463.294422] usb 2-1.1: Product: PCsensor Temper [ 463.314501] input: PCsensor Temper as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1/2-1.1:1.0/input/input9 [ 463.314807] generic-usb 0003:1130:660C.0006: input,hidraw5: USB HID v1.10 Keyboard [ PCsensor Temper] on usb-0000:00:1d.0-1.1/input0 [ 463.327717] input: PCsensor Temper as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1/2-1.1:1.1/input/input10 [ 463.327950] generic-usb 0003:1130:660C.0007: input,hidraw6: USB HID v1.10 Device [ PCsensor Temper] on usb-0000:00:1d.0-1.1/input1

Cheers,

Eriberto

amorphic commented 9 years ago

Yep, the different Vendor and Product IDs definitely mean that temper-python won't discover your device at the moment.

This may be easy to fix... I'll create a branch and let you know when it's ready to test.

eribertomota commented 9 years ago

Hum... Good!

Thanks! I liked your program because it has a configuration file. Do you need some extra info?

Eriberto

2014-10-08 21:24 GMT-03:00 James Stewart notifications@github.com:

Yep, the different Vendor and Product IDs definitely mean that temper-python won't discover your device at the moment.

This may be easy to fix... I'll create a branch and let you know when it's ready to test.

— Reply to this email directly or view it on GitHub https://github.com/padelt/temper-python/issues/20#issuecomment-58448224.

amorphic commented 9 years ago

Alright, can you check if your device is detected using my fork?

pip install git+git://github.com/amorphic/temper-python.git

eribertomota commented 9 years ago

Hi! Thanks again for your quick reply.

Detected, but I got these errors:

temper-poll -c

Found 1 devices No handlers could be found for logger "temperusb.temper" Traceback (most recent call last): File "/usr/local/bin/temper-poll", line 9, in load_entry_point('temperusb==1.2.1', 'console_scripts', 'temper-poll')() File "/usr/local/lib/python2.7/dist-packages/temperusb-1.2.1-py2.7.egg/temperusb/cli.py", line 50, in main 'temperature_c': dev.get_temperature(), File "/usr/local/lib/python2.7/dist-packages/temperusb-1.2.1-py2.7.egg/temperusb/temper.py", line 153, in get_temperature self._interrupt_read() File "/usr/local/lib/python2.7/dist-packages/temperusb-1.2.1-py2.7.egg/temperusb/temper.py", line 197, in _interrupt_read data = self._device.read(ENDPOINT, REQ_INT_LEN, interface=INTERFACE, timeout=TIMEOUT) File "/usr/local/lib/python2.7/dist-packages/pyusb-1.0.0b1-py2.7.egg/usb/core.py", line 670, in read self.get_timeout(timeout) File "/usr/local/lib/python2.7/dist-packages/pyusb-1.0.0b1-py2.7.egg/usb/backend/libusb1.py", line 798, in intr_read timeout) File "/usr/local/lib/python2.7/dist-packages/pyusb-1.0.0b1-py2.7.egg/usb/backend/libusb1.py", line 889, in read _check(retval) File "/usr/local/lib/python2.7/dist-packages/pyusb-1.0.0b1-py2.7.egg/usb/backend/libusb1.py", line 571, in _check raise USBError(_str_error[ret], ret, _libusb_errno[ret]) usb.core.USBError: [Errno 5] Input/output error

Cheers,

Eriberto

2014-10-09 8:15 GMT-03:00 James Stewart notifications@github.com:

Alright, can you check if your device is detected using my fork https://github.com/amorphic/temper-python?

pip install git+git://github.com/amorphic/temper-python.git

— Reply to this email directly or view it on GitHub https://github.com/padelt/temper-python/issues/20#issuecomment-58494673.

amorphic commented 9 years ago

Alas... it looks like it's a completely different chipset then. :(

padelt commented 9 years ago

Yes, the interaction with the device most likely must be different. Without documentation or a lot of logged interaction with the reference driver/application, there is nothing we can do.

If you can come up with any of this or even some working code, it would be useful to reopen this issue. For now, I'll close it. Sorry @eribertomota !

eribertomota commented 9 years ago

Can I help or nothing to do?

The thermometer works fine using this code:

http://www.relavak.com/downloads/temper-1.0.tgz

More details here:

http://relavak.wordpress.com/2009/10/17/temper-temperature-sensor-linux-driver/

2014-10-09 9:46 GMT-03:00 James Stewart notifications@github.com:

Alas... it looks like it's a completely different chipset then. :(

— Reply to this email directly or view it on GitHub https://github.com/padelt/temper-python/issues/20#issuecomment-58503730.

eribertomota commented 9 years ago

This code worked fine and can be used as reference.

https://github.com/kiloforce/PyTEMPer

2014-10-09 9:50 GMT-03:00 Philipp notifications@github.com:

Closed #20 https://github.com/padelt/temper-python/issues/20.

— Reply to this email directly or view it on GitHub https://github.com/padelt/temper-python/issues/20#event-176317975.

amorphic commented 9 years ago

Hmm... as I suspected:

This driver is for the device I got in the mail called the TEMPer. It seems that over time the manufacturer has put lots of different products in the market with the same name and very close to the same name all with different underlying implementations.

If your device works with relevak's driver then it should be possible to extract the relevant commands from that code and add them to temper-python. How's your Python? ;)

I might order one from DX and see what turns up. But that'll take a while...

padelt commented 9 years ago

Great to hear there is a reference! Should be no big thing to transfer the interaction patterns. Hope someone steps up to implement it!

eribertomota commented 9 years ago

James and Philipp,

I am confuse now... Do you intend to implement the 1130:660c as an additional option in your source code?

Cheers,

Eriberto

2014-10-09 10:32 GMT-03:00 Philipp notifications@github.com:

Reopened #20 https://github.com/padelt/temper-python/issues/20.

— Reply to this email directly or view it on GitHub https://github.com/padelt/temper-python/issues/20#event-176338247.

padelt commented 9 years ago

Would love to if I find time. Lacking exactly that - please don't wait for it in the near future. :-/

eribertomota commented 9 years ago

Ok! Thanks.

Eriberto

2014-10-09 11:36 GMT-03:00 Philipp notifications@github.com:

Would love to if I find time. Lacking exactly that - please don't wait for it in the near future. :-/

— Reply to this email directly or view it on GitHub https://github.com/padelt/temper-python/issues/20#issuecomment-58518741.

amorphic commented 9 years ago

Eriberto - I'd really like to implement it. I'm also pretty short on time but I don't think it would be too difficult.

The only issue is testing. That device is sold out on dx.com and even if it were available to buy, it seems that it's a bit of a lottery which chipset you get when you buy a TEMPer...;).

All I can do is to try making some changes on my branch and then giving them to you to test. Then rinse and repeat. It'll be a slow process but we might get there in the end.

eribertomota commented 9 years ago

Thanks a lot for your attention.

My real intent is have a dual version (for both thermometers), in Python, with a conf file, and upload it to Debian.

Have a nice day!

Cheers,

Eriberto

2014-10-09 18:43 GMT-03:00 James Stewart notifications@github.com:

Eriberto - I'd really like to implement it. I'm also pretty short on time but I don't think it would be too difficult.

The only issue is testing. That device is sold out on dx.com and even if it were available to buy, it seems that it's a bit of a lottery which chipset you get when you buy a TEMPer...;).

All I can do is to try making some changes on my branch and then giving them to you to test. Then rinse and repeat. It'll be a slow process but we might get there in the end.

— Reply to this email directly or view it on GitHub https://github.com/padelt/temper-python/issues/20#issuecomment-58582624.