ghostwheel Posted July 3, 2008 Share Posted July 3, 2008 I am trying to get my motion LE1700 tablet to work with 10.5.2 Graphics works great. Sound works, but only through line out/in, and the digitizer works well - using tabletmagic. A new network card is on the way, to replace my 3945. The main remaining problem is the keyboard! If I plug a USB keyboard in, it works great (that's what I'm typing on now). But the keybaord of the tablet itself does not work. The tablet is a "slate", so you can attach and detach the keyboard. The keyboard has a single special plug that it attaches with, and includes a track point (mouse), keyboard, a USB port at the back, and it also supplies power to the tablet. When I plug it in, Hardware growler reports a IOUSBHubDevice, and then a "Semtech PixKey". The USB plug that is attached to the keyboard seems to work. The trackpoint and the keyboard don't work. BTW: The keyboard does work in linux, so I could potatially spy on it there.. Does anyone have any idea how to get it to work? Do I need to add the Vendor/device ID to any kext, or some such? As far as I know, this is a USB keyboard. But, maybe it somehow is a PS/2 keyboard and mouse? Could it be that these are the PS/2 problems that others where reporting? How could I tell? And I also have a simpler question: hardware growler does report when the keyboard is plugged and unplugged. But I can not see the event on any log file. I would really like to know more about what is going on, what errors occur when I plug the keyboard in... Is there any log file I could look at? Thank you very much for listening! ------ Here is the description of the hub+pixkey on the mac Hub: Version: 0.0b Bus Power (mA): 500 Speed: Up to 480 Mb/sec Product ID: 0x6560 Vendor ID: 0x04b4 Semtech PixKey: Version: 0.64 Bus Power (mA): 500 Speed: Up to 12 Mb/sec Manufacturer: Semtech Product ID: 0x2165 Vendor ID: 0x047a ------ and here is the description on linux, using lsusb -v (taking only the parts that change on unplugging) Bus 005 Device 008: ID 047a:2165 Semtech Corp. Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x047a Semtech Corp. idProduct 0x2165 bcdDevice 0.64 iManufacturer 1 Semtech iProduct 2 Semtech PixKey iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 84 bNumInterfaces 3 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup MaxPower 20mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Devices bInterfaceSubClass 1 Boot Interface Subclass bInterfaceProtocol 1 Keyboard iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.10 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 81 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 0x0008 1x 8 bytes bInterval 10 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Devices 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 66 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 10 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Devices bInterfaceSubClass 0 No Subclass bInterfaceProtocol 0 None iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.10 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 125 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 10 Device Status: 0x0000 (Bus Powered) Bus 005 Device 007: ID 04b4:6560 Cypress Semiconductor Corp. CY7C65640 USB-2.0 "TetraHub" Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 Hub bDeviceSubClass 0 Unused bDeviceProtocol 2 TT per port bMaxPacketSize0 64 idVendor 0x04b4 Cypress Semiconductor Corp. idProduct 0x6560 CY7C65640 USB-2.0 "TetraHub" bcdDevice 0.0b iManufacturer 0 iProduct 0 iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 41 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup MaxPower 100mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 Unused bInterfaceProtocol 1 Single TT iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0001 1x 1 bytes bInterval 12 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 Unused bInterfaceProtocol 2 TT per port iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0001 1x 1 bytes bInterval 12 Hub Descriptor: bLength 9 bDescriptorType 41 nNbrPorts 4 wHubCharacteristic 0x0089 Per-port power switching Per-port overcurrent protection TT think time 8 FS bits Port indicators bPwrOn2PwrGood 50 * 2 milli seconds bHubContrCurrent 100 milli Ampere DeviceRemovable 0x00 PortPwrCtrlMask 0xff Hub Port Status: Port 1: 0000.0103 power enable connect Port 2: 0000.0100 power Port 3: 0000.0100 power Port 4: 0000.0100 power Device Qualifier (for other device speed): bLength 10 bDescriptorType 6 bcdUSB 2.00 bDeviceClass 9 Hub bDeviceSubClass 0 Unused bDeviceProtocol 0 Full speed hub bMaxPacketSize0 64 bNumConfigurations 1 Device Status: 0x0001 Self Powered ------------------------ Link to comment https://www.insanelymac.com/forum/topic/113676-problem-with-specific-usb-keyboard/ Share on other sites More sharing options...
gillroman Posted July 17, 2008 Share Posted July 17, 2008 I have the same hardware (LE1700) and issue with the detachable keyboard... would like to know if you get it working! Along these lines, was wondering if there is a way to place the PNP info for this keyboard in a plist file so it sees and treats it like a typical USB keyboard? Just an idea, haven't attempted this, not sure if it would be worth trying. Thanks Link to comment https://www.insanelymac.com/forum/topic/113676-problem-with-specific-usb-keyboard/#findComment-822948 Share on other sites More sharing options...
ghostwheel Posted July 19, 2008 Author Share Posted July 19, 2008 Still no answer, but I'm slowly understanding some more. Both in the Linux and in the OSX report, the Semtech device is reported as having three interfaces. ioreg -l reports IOUSBInterface@0 IOUSBInterface@1 IOUSBInterface@2 And, so does linux. In linux we can see that interface 0 connects to the keyboard, 1 to the mouse, and 2 I'm not sure. When I looked at my Dell keyboard, it also reports a IOUSBInterface@0, which is then connected to IOUSBHIDDriver. For now, I think that is the problem. IOUSBInterface@0 should connect to IOUSBHIDDriver also on the LE1700, but for some reason doesn't. When I look at the IOUSBHIDDriver report for the Dell keyboard, I can see that it seems the driver claimed the interface, because bInterfaceClass + bInterfaceSubClass + bInterfaceProtocol matched what the interface specified. when I look into IOUSBFamily.kext/Contents/PlugIns/IOUSBHIDDriver.kext/Contents/Info.plist, I can see the following: <key>CFBundleIdentifier</key> <string>com.apple.iokit.IOUSBHIDDriver</string> <key>HIDDefaultBehavior</key> <string></string> <key>IOClass</key> <string>IOUSBHIDDriver</string> <key>IOProviderClass</key> <string>IOUSBInterface</string> <key>bInterfaceClass</key> <integer>3</integer> <key>bInterfaceProtocol</key> <integer>1</integer> <key>bInterfaceSubClass</key> <integer>1</integer> As far as I understand, you need bInterfaceClass=3, bInterfaceProtocol=1, bInterfaceSubClass=1. According to http://developer.apple.com/qa/qa2001/qa1076.html, that then gives you a "score" of 60000. This is indeed the score reported for the Dell keyboard. On the LE1700, IOUSBInterface@0 reports exectly the same numbers: | | | | +-o IOUSBInterface@0 <class IOUSBInterface, registered, matched, active, busy 0, retain 5> | | | | | { | | | | | "bInterfaceProtocol" = 1 | | | | | "locationID" = 18446744073665576960 | | | | | "bcdDevice" = 100 | | | | | "bConfigurationValue" = 1 | | | | | "iInterface" = 0 | | | | | "idProduct" = 8549 | | | | | "IOCFPlugInTypes" = {"2d9786c6-9ef3-11d4-ad51-000a27052861"="IOUSBFamily.kext/Contents/PlugIns/IOUSBLib.bundle"} | | | | | "bInterfaceSubClass" = 1 | | | | | "bAlternateSetting" = 0 | | | | | "IOUserClientClass" = "IOUSBInterfaceUserClientV2" | | | | | "bInterfaceClass" = 3 | | | | | "bInterfaceNumber" = 0 | | | | | "bNumEndpoints" = 1 | | | | | "idVendor" = 1146 | | | | | } (which also fits with what Linux reports), but for some reason this is not claimed by IOUSBHIDDriver or any other driver. I'm not sure exactly why. Could it be that this is because it is just one of 3 interfaces on the same device? Maybe I should try to match one of the other possibilities mentioned, like (idVendor + bDeviceSubClass + bDeviceProtocol), or maybe (idVendor + idProduct + bInterfaceNumber + bConfigurationValue).... Does anyone understand these things? Link to comment https://www.insanelymac.com/forum/topic/113676-problem-with-specific-usb-keyboard/#findComment-825798 Share on other sites More sharing options...
ghostwheel Posted July 19, 2008 Author Share Posted July 19, 2008 I modified /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/IOUSBHIDDriver.kext/Contents/Info.plist, and added the following: <key>Motion Keyboard</key> <dict> <key>CFBundleIdentifier</key> <string>com.apple.iokit.IOUSBHIDDriver</string> <key>HIDDefaultBehavior</key> <string></string> <key>IOClass</key> <string>IOUSBHIDDriver</string> <key>IOProviderClass</key> <string>IOUSBInterface</string> <key>bInterfaceNumber</key> <integer>0</integer> <key>bConfigurationValue</key> <integer>1</integer> <key>idProduct</key> <integer>8549</integer> <key>idVendor</key> <integer>1146</integer> </dict> But still no go.... nothing changed. Link to comment https://www.insanelymac.com/forum/topic/113676-problem-with-specific-usb-keyboard/#findComment-825871 Share on other sites More sharing options...
Tx-Ranger Posted August 1, 2008 Share Posted August 1, 2008 Which .iso did you guys use, I have tried several and never get it to load. Link to comment https://www.insanelymac.com/forum/topic/113676-problem-with-specific-usb-keyboard/#findComment-841666 Share on other sites More sharing options...
Tx-Ranger Posted August 2, 2008 Share Posted August 2, 2008 Finally got it to load, had to try another USB DVD Drive. Used Kalyway 10.5.2, everything seems to work except for digi, have TabletMagic loaded. Link to comment https://www.insanelymac.com/forum/topic/113676-problem-with-specific-usb-keyboard/#findComment-842663 Share on other sites More sharing options...
Tx-Ranger Posted August 3, 2008 Share Posted August 3, 2008 I'm still having trouble getting the digitizer to be recognized in TabletMagic b14 version. Any ideas of what I'm missing? Link to comment https://www.insanelymac.com/forum/topic/113676-problem-with-specific-usb-keyboard/#findComment-843625 Share on other sites More sharing options...
Tx-Ranger Posted August 4, 2008 Share Posted August 4, 2008 Finally got it working after reading, search doesn't work very well. Ghost got it from one of your other posts. Try copying the whole Apple16X50Serial.kext to the desktop, delete the one in the extensions, reboot, then put it back in, repair permissions, and reboot again. The only thing I have left is the outer buttons and the fingerprint reader. Have you guys found anything for that. My USB mouse stops working about ever 10 minutes so I just unplug and plug back in and it works. Link to comment https://www.insanelymac.com/forum/topic/113676-problem-with-specific-usb-keyboard/#findComment-844603 Share on other sites More sharing options...
Recommended Posts