मेरे पास एक eDIO USB मल्टी रिमोट कंट्रोलर (एक इन्फ्रारेड रिसीवर) है जो ASUS PSR 2000 वेब सर्फिंग रिमोट कंट्रोल के साथ आया है।
मैं रिमोट कॉन्ट्रोलर को अपने पाई से जोड़ने की कोशिश कर रहा हूं ताकि यह रिमोट द्वारा भेजे गए कीस्ट्रोक्स को फिर से पढ़े।
नियंत्रक को एक छिपाई डिवाइस के रूप में पाया जाता है। यहाँ lsusb -v कमांड से विवरण दिए गए हैं
Bus 001 Device 007: ID 147a:e001 Formosa Industrial Computing, Inc.
Couldn't open device, some information will be missing
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x147a Formosa Industrial Computing, Inc.
idProduct 0xe001
bcdDevice 1.22
iManufacturer 1
iProduct 2
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 34
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 4
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 300mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 2 Mouse
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 20
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 10
मैं किसी ईवेंट के साथ dev फ़ोल्डर में लक्ष्य डिवाइस भी देख सकता हूं
pi@raspberrypi /dev/input/by-id $ dir
usb-Cypress_Semiconductor_eDio_USB_Multi_Remote_Controlle-event-if00
इसके साथ जुड़ा हुआ ईवेंट हैंडलर निम्न कमांड से देखा गया है।
pi@raspberrypi /proc/bus/input $ cat devices
I: Bus=0003 Vendor=147a Product=e001 Version=0110
N: Name="Cypress Semiconductor eDio USB Multi Remote Controlle"
P: Phys=usb-bcm2708_usb-1.2/input0
S: Sysfs=/devices/platform/bcm2708_usb/usb1/1-1/1-1.2/1-1.2:1.0/input/input2
U: Uniq=
H: Handlers=event0
B: PROP=0
B: EV=1
समस्या तब है जब मैं डिवाइस के लिए बनाए गए इवेंट हैंडलर से आउटपुट को पढ़ने की कोशिश कर रहा हूं। पहला कीस्ट्रोक पंजीकृत है लेकिन बाद के कुंजी स्ट्रोक कैट कमांड द्वारा प्रदर्शित नहीं किए जाते हैं।
pi@raspberrypi /dev/input $ cat event0 | xxd
0000000: e007 9450 9476 0900 0000 0000 0000 0000 ...P.v..........
कृपया मुझे सुझाव दें कि मैं डिवाइस को काम करने के लिए क्या कर सकता हूं। पहले कीस्ट्रोक के बाद किसी भी कुंजी को दबाने पर कुछ भी वापस नहीं होता है जब तक कि डिवाइस को फिर से नहीं लगाया जाता है।
कृपया सुझाव दें कि समस्या को ठीक करने के लिए क्या किया जाना चाहिए।
|xxd
? यह आउटपुट को बफ़र करता है। मैंने अपने रिमोट द्वारा भेजे गए कीकोड प्राप्त करने के लिए irw
पैकेज से उपयोग किया lirc
।