Date: Mon, 14 Jul 2008 16:50:04 GMT From: Alex Keda <admin@lissyara.su> To: freebsd-usb@FreeBSD.org Subject: Re: usb/117911: [ums] [request] Mouse Gembird MUSWC not work Message-ID: <200807141650.m6EGo4cM048650@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR usb/117911; it has been noted by GNATS. From: Alex Keda <admin@lissyara.su> To: bug-followup@FreeBSD.org, admin@lissyara.su Cc: Subject: Re: usb/117911: [ums] [request] Mouse Gembird MUSWC not work Date: Mon, 14 Jul 2008 20:42:08 +0400 This is a multi-part message in MIME format. --------------050502020101000706000208 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit resend mail. ============ hi! this problem an HID parser on FreeBSD and other *BSD system i'am use a krepdump http://people.freebsd.org/~kaiw/tools/krepdump.tgz to show full HID protocol dump from this USB Mouse ----------------------------------------------- [report desc size=79] USAGE PAGE Consumer(0xc) USAGE Consumer Control(0x1)[Consumer(0xc)] COLLECTION Application(1) REPORT ID 1 USAGE MINIMUM Unassigned(0) USAGE MAXIMUM AC Underline(576) LOGICAL MINIMUM 0 LOGICAL MAXIMUM 576 REPORT SIZE 16 REPORT COUNT 1 INPUT ( Data Array Absolute ) (0) END COLLECTION USAGE PAGE Generic Desktop(0x1) USAGE Mouse(0x2)[Generic Desktop(0x1)] COLLECTION Application(1) REPORT ID 2 USAGE Pointer(0x1)[Generic Desktop(0x1)] COLLECTION Physical(0) USAGE PAGE Button(0x9) USAGE MINIMUM Button1(1) USAGE MAXIMUM Button3(3) LOGICAL MINIMUM 0 LOGICAL MAXIMUM 1 REPORT SIZE 1 REPORT COUNT 3 INPUT ( Data Variable Absolute ) (2) REPORT SIZE 5 REPORT COUNT 1 INPUT ( Const Array Absolute ) (1) USAGE PAGE Generic Desktop(0x1) USAGE X(0x30)[Generic Desktop(0x1)] USAGE Y(0x31)[Generic Desktop(0x1)] USAGE Wheel(0x38)[Generic Desktop(0x1)] LOGICAL MINIMUM -127 LOGICAL MAXIMUM 127 REPORT SIZE 8 REPORT COUNT 3 INPUT ( Data Variable Relative ) (6) END COLLECTION END COLLECTION [hexdump] 0000 05 0C 09 01 A1 01 85 01 19 00 2A 40 02 15 00 26 0010 40 02 75 10 95 01 81 00 C0 05 01 09 02 A1 01 85 0020 02 09 01 A1 00 05 09 19 01 29 03 15 00 25 01 75 0030 01 95 03 81 02 75 05 95 01 81 01 05 01 09 30 09 0040 31 09 38 15 81 25 7F 75 08 95 03 81 06 C0 C0 -------------------------------------------------- as you can see this Mouse generate 2 HID protocol collection the first collection is USAGE PAGE Consumer(0xc) USAGE Consumer Control(0x1)[Consumer(0xc)] COLLECTION Application(1) REPORT ID 1 ... the second collection is USAGE PAGE Generic Desktop(0x1) USAGE Mouse(0x2)[Generic Desktop(0x1)] COLLECTION Application(1) REPORT ID 2 ... two collection describe a two protocol first protocol - AC line (Wireless Mouse from AC battarey) second protocol - Mouse movement an exists FreeBSD HID parser don't work with such collection to parse it used first collection, allways is't correct!! as example with this Mouse #kldload ums.ko #dmesg -a | grep ums ---------------------- ums_attach: 3 buttons ums_attach: X 24/8 ums_attach: Y 32/8 ums_attach: Z 40/8 ums_attach: B1 16/1 ums_attach: B2 17/1 ums_attach: B3 18/1 ums_attach: size=3, id=1 ---------------------- the HID parser use first HID collection to parse Mouse movenent Mouse not work!! i'am fixx the HID parser to correct use HID collection after patch http://paradox.org.ua/work/fixx.tar.bz2 ---------------------- ums_attach: 3 buttons ums_attach: X 8/8 ums_attach: Y 16/8 ums_attach: Z 24/8 ums_attach: B1 0/1 ums_attach: B2 1/1 ums_attach: B3 2/1 ums_attach: size=5, id=2 ---------------------- and Mouse works fine! i think this patch fixx fixed all USB Mouse problem an *BSD system --------------050502020101000706000208 Content-Type: text/plain; name="usb.diff" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="usb.diff" ZGlmZiAtTnJ1IHN5cy9kZXYvdXNiLm9yaWcvaGlkLmMgc3lzL2Rldi91c2IvaGlkLmMKLS0t IHN5cy9kZXYvdXNiLm9yaWcvaGlkLmMJMjAwNy0wNi0yMCAwOToxMDo1Mi4wMDAwMDAwMDAg KzA0MDAKKysrIHN5cy9kZXYvdXNiL2hpZC5jCTIwMDgtMDctMTQgMTY6MDE6MzkuMDAwMDAw MDAwICswNDAwCkBAIC03Miw2ICs3Miw3IEBACiAJaW50IG11bHRpOwogCWludCBtdWx0aW1h eDsKIAlpbnQga2luZHNldDsKKwlpbnQgdXNhZ2U7CiB9OwogCiBzdGF0aWMgdm9pZApAQCAt MTE1LDcgKzExNiw3IEBACiB9CiAKIGludAotaGlkX2dldF9pdGVtKHN0cnVjdCBoaWRfZGF0 YSAqcywgc3RydWN0IGhpZF9pdGVtICpoKQoraGlkX2dldF9pdGVtKHN0cnVjdCBoaWRfZGF0 YSAqcywgdV9pbnQzMl90IHUsIHN0cnVjdCBoaWRfaXRlbSAqaCkKIHsKIAlzdHJ1Y3QgaGlk X2l0ZW0gKmMgPSAmcy0+Y3VyOwogCXVuc2lnbmVkIGludCBiVGFnLCBiVHlwZSwgYlNpemU7 CkBAIC0xOTMsNiArMTk0LDkgQEAKIAkJY2FzZSAwOgkJCS8qIE1haW4gKi8KIAkJCXN3aXRj aCAoYlRhZykgewogCQkJY2FzZSA4OgkJLyogSW5wdXQgKi8KKwkJCQlpZiAocy0+dXNhZ2Ug IT0gdSA+PjE2ICYmIHUgIT0gMCkKKwkJCQkJYnJlYWs7CisKIAkJCQlpZiAoIShzLT5raW5k c2V0ICYgKDEgPDwgaGlkX2lucHV0KSkpCiAJCQkJCWNvbnRpbnVlOwogCQkJCWMtPmtpbmQg PSBoaWRfaW5wdXQ7CkBAIC0yMjMsNiArMjI3LDkgQEAKIAkJCQkJcmV0dXJuICgxKTsKIAkJ CQl9CiAJCQljYXNlIDk6CQkvKiBPdXRwdXQgKi8KKwkJCQlpZiAocy0+dXNhZ2UgIT0gdSA+ PjE2ICYmIHUgIT0gMCkKKwkJCQkJYnJlYWs7CisKIAkJCQlpZiAoIShzLT5raW5kc2V0ICYg KDEgPDwgaGlkX291dHB1dCkpKQogCQkJCQljb250aW51ZTsKIAkJCQljLT5raW5kID0gaGlk X291dHB1dDsKQEAgLTIzMiwxMSArMjM5LDE2IEBACiAJCQkJYy0+a2luZCA9IGhpZF9jb2xs ZWN0aW9uOwogCQkJCWMtPmNvbGxlY3Rpb24gPSBkdmFsOwogCQkJCWMtPmNvbGxldmVsKys7 CisJCQkJaWYgKGMtPmNvbGxldmVsID4gMCAmJiB1ICE9IDApCisJCQkJCXMtPnVzYWdlID0g Yy0+X3VzYWdlX3BhZ2UgPj4gMTY7CiAJCQkJKmggPSAqYzsKIAkJCQloaWRfY2xlYXJfbG9j YWwoYyk7CiAJCQkJcy0+bnUgPSAwOwogCQkJCXJldHVybiAoMSk7CiAJCQljYXNlIDExOgkv KiBGZWF0dXJlICovCisJCQkJaWYgKHMtPnVzYWdlICE9IHUgPj4xNiAmJiB1ICE9IDApCisJ CQkJCWJyZWFrOworCiAJCQkJaWYgKCEocy0+a2luZHNldCAmICgxIDw8IGhpZF9mZWF0dXJl KSkpCiAJCQkJCWNvbnRpbnVlOwogCQkJCWMtPmtpbmQgPSBoaWRfZmVhdHVyZTsKQEAgLTI1 OCw2ICsyNzAsOSBAQAogCQkJc3dpdGNoIChiVGFnKSB7CiAJCQljYXNlIDA6CiAJCQkJYy0+ X3VzYWdlX3BhZ2UgPSBkdmFsIDw8IDE2OworCisJCQkJaWYgKHUgIT0gMCAmJiB1Pj4xNiA9 PSBkdmFsKQorCQkJCQlzLT51c2FnZSA9IGR2YWw7CiAJCQkJYnJlYWs7CiAJCQljYXNlIDE6 CiAJCQkJYy0+bG9naWNhbF9taW5pbXVtID0gZHZhbDsKQEAgLTM2NCw3ICszNzksNyBAQAog fQogCiBpbnQKLWhpZF9yZXBvcnRfc2l6ZSh2b2lkICpidWYsIGludCBsZW4sIGVudW0gaGlk X2tpbmQgaywgdV9pbnQ4X3QgKmlkcCkKK2hpZF9yZXBvcnRfc2l6ZSh2b2lkICpidWYsIGlu dCBsZW4sIHVfaW50MzJfdCB1LCBlbnVtIGhpZF9raW5kIGssIHVfaW50OF90ICppZHApCiB7 CiAJc3RydWN0IGhpZF9kYXRhICpkOwogCXN0cnVjdCBoaWRfaXRlbSBoOwpAQCAtMzcyLDcg KzM4Nyw3IEBACiAKIAlpZCA9IDA7CiAJaGkgPSBsbyA9IC0xOwotCWZvciAoZCA9IGhpZF9z dGFydF9wYXJzZShidWYsIGxlbiwgMTw8ayk7IGhpZF9nZXRfaXRlbShkLCAmaCk7ICkKKwlm b3IgKGQgPSBoaWRfc3RhcnRfcGFyc2UoYnVmLCBsZW4sIDE8PGspOyBoaWRfZ2V0X2l0ZW0o ZCwgdSwgJmgpOyApCiAJCWlmIChoLmtpbmQgPT0gaykgewogCQkJaWYgKGgucmVwb3J0X0lE ICE9IDAgJiYgIWlkKQogCQkJCWlkID0gaC5yZXBvcnRfSUQ7CkBAIC0zOTksNyArNDE0LDcg QEAKIAlzdHJ1Y3QgaGlkX2RhdGEgKmQ7CiAJc3RydWN0IGhpZF9pdGVtIGg7CiAKLQlmb3Ig KGQgPSBoaWRfc3RhcnRfcGFyc2UoZGVzYywgc2l6ZSwgMTw8ayk7IGhpZF9nZXRfaXRlbShk LCAmaCk7ICkgeworCWZvciAoZCA9IGhpZF9zdGFydF9wYXJzZShkZXNjLCBzaXplLCAxPDxr KTsgaGlkX2dldF9pdGVtKGQsIHUsICZoKTsgKSB7CiAJCWlmIChoLmtpbmQgPT0gayAmJiAh KGguZmxhZ3MgJiBISU9fQ09OU1QpICYmIGgudXNhZ2UgPT0gdSkgewogCQkJaWYgKGxvYyAh PSBOVUxMKQogCQkJCSpsb2MgPSBoLmxvYzsKQEAgLTQ1Miw3ICs0NjcsNyBAQAogCWlmICho ZCA9PSBOVUxMKQogCQlyZXR1cm4gKDApOwogCi0JZXJyID0gaGlkX2dldF9pdGVtKGhkLCAm aGkpICYmCisJZXJyID0gaGlkX2dldF9pdGVtKGhkLCB1c2FnZSwgJmhpKSAmJgogCSAgICBo aS5raW5kID09IGhpZF9jb2xsZWN0aW9uICYmCiAJICAgIGhpLnVzYWdlID09IHVzYWdlOwog CWhpZF9lbmRfcGFyc2UoaGQpOwpkaWZmIC1OcnUgc3lzL2Rldi91c2Iub3JpZy9oaWQuaCBz eXMvZGV2L3VzYi9oaWQuaAotLS0gc3lzL2Rldi91c2Iub3JpZy9oaWQuaAkyMDA1LTAxLTA2 IDA0OjQzOjI3LjAwMDAwMDAwMCArMDMwMAorKysgc3lzL2Rldi91c2IvaGlkLmgJMjAwOC0w Ny0xNCAxNjowMTozOS4wMDAwMDAwMDAgKzA0MDAKQEAgLTgyLDggKzgyLDggQEAKIAogc3Ry dWN0IGhpZF9kYXRhICpoaWRfc3RhcnRfcGFyc2Uodm9pZCAqZCwgaW50IGxlbiwgaW50IGtp bmRzZXQpOwogdm9pZCBoaWRfZW5kX3BhcnNlKHN0cnVjdCBoaWRfZGF0YSAqcyk7Ci1pbnQg aGlkX2dldF9pdGVtKHN0cnVjdCBoaWRfZGF0YSAqcywgc3RydWN0IGhpZF9pdGVtICpoKTsK LWludCBoaWRfcmVwb3J0X3NpemUodm9pZCAqYnVmLCBpbnQgbGVuLCBlbnVtIGhpZF9raW5k IGssIHVfaW50OF90ICppZCk7CitpbnQgaGlkX2dldF9pdGVtKHN0cnVjdCBoaWRfZGF0YSAq cywgdV9pbnQzMl90IHUsIHN0cnVjdCBoaWRfaXRlbSAqaCk7CitpbnQgaGlkX3JlcG9ydF9z aXplKHZvaWQgKmJ1ZiwgaW50IGxlbiwgdV9pbnQzMl90IHUsIGVudW0gaGlkX2tpbmQgaywg dV9pbnQ4X3QgKmlkKTsKIGludCBoaWRfbG9jYXRlKHZvaWQgKmRlc2MsIGludCBzaXplLCB1 X2ludDMyX3QgdXNhZ2UsCiAJCSAgICBlbnVtIGhpZF9raW5kIGtpbmQsIHN0cnVjdCBoaWRf bG9jYXRpb24gKmxvYywKIAkJICAgIHVfaW50MzJfdCAqZmxhZ3MpOwpkaWZmIC1OcnUgc3lz L2Rldi91c2Iub3JpZy91Y3ljb20uYyBzeXMvZGV2L3VzYi91Y3ljb20uYwotLS0gc3lzL2Rl di91c2Iub3JpZy91Y3ljb20uYwkyMDA3LTA2LTIxIDE4OjQyOjMzLjAwMDAwMDAwMCArMDQw MAorKysgc3lzL2Rldi91c2IvdWN5Y29tLmMJMjAwOC0wNy0xNCAxNjowMTozOS4wMDAwMDAw MDAgKzA0MDAKQEAgLTIyMSw5ICsyMjEsOSBAQAogCX0KIAogCS8qIGdldCByZXBvcnQgc2l6 ZXMgKi8KLQlzYy0+c2NfZmxlbiA9IGhpZF9yZXBvcnRfc2l6ZSh1cmQsIHVyZGxlbiwgaGlk X2ZlYXR1cmUsICZzYy0+c2NfZmlkKTsKLQlzYy0+c2NfaWxlbiA9IGhpZF9yZXBvcnRfc2l6 ZSh1cmQsIHVyZGxlbiwgaGlkX2lucHV0LCAmc2MtPnNjX2lpZCk7Ci0Jc2MtPnNjX29sZW4g PSBoaWRfcmVwb3J0X3NpemUodXJkLCB1cmRsZW4sIGhpZF9vdXRwdXQsICZzYy0+c2Nfb2lk KTsKKwlzYy0+c2NfZmxlbiA9IGhpZF9yZXBvcnRfc2l6ZSh1cmQsIHVyZGxlbiwgMCwgaGlk X2ZlYXR1cmUsICZzYy0+c2NfZmlkKTsgLyogTkVFRCBUTyBCRSBGSVhYID8/Pz8/ICovCisJ c2MtPnNjX2lsZW4gPSBoaWRfcmVwb3J0X3NpemUodXJkLCB1cmRsZW4sIDAsIGhpZF9pbnB1 dCwgJnNjLT5zY19paWQpOwkvKiBORUVEIFRPIEJFIEZJWFggPz8/Pz8gKi8KKwlzYy0+c2Nf b2xlbiA9IGhpZF9yZXBvcnRfc2l6ZSh1cmQsIHVyZGxlbiwgMCwgaGlkX291dHB1dCwgJnNj LT5zY19vaWQpOwkvKiBORUVEIFRPIEJFIEZJWFggPz8/Pz8gKi8KIAogCWlmIChzYy0+c2Nf aWxlbiA+IFVDWUNPTV9NQVhfSU9MRU4gfHwgc2MtPnNjX29sZW4gPiBVQ1lDT01fTUFYX0lP TEVOKSB7CiAJCWRldmljZV9wcmludGYoZGV2LCAiSS9PIHJlcG9ydCBzaXplIHRvbyBiaWcg KCV6dSwgJXp1LCAldSlcbiIsCmRpZmYgLU5ydSBzeXMvZGV2L3VzYi5vcmlnL3VoaWQuYyBz eXMvZGV2L3VzYi91aGlkLmMKLS0tIHN5cy9kZXYvdXNiLm9yaWcvdWhpZC5jCTIwMDctMDYt MjEgMTg6NDI6MzMuMDAwMDAwMDAwICswNDAwCisrKyBzeXMvZGV2L3VzYi91aGlkLmMJMjAw OC0wNy0xNCAxNjowMTozOS4wMDAwMDAwMDAgKzA0MDAKQEAgLTMyMCw5ICszMjAsOSBAQAog CiAJKHZvaWQpdXNiZF9zZXRfaWRsZShpZmFjZSwgMCwgMCk7CiAKLQlzYy0+c2NfaXNpemUg PSBoaWRfcmVwb3J0X3NpemUoZGVzYywgc2l6ZSwgaGlkX2lucHV0LCAgICZzYy0+c2NfaWlk KTsKLQlzYy0+c2Nfb3NpemUgPSBoaWRfcmVwb3J0X3NpemUoZGVzYywgc2l6ZSwgaGlkX291 dHB1dCwgICZzYy0+c2Nfb2lkKTsKLQlzYy0+c2NfZnNpemUgPSBoaWRfcmVwb3J0X3NpemUo ZGVzYywgc2l6ZSwgaGlkX2ZlYXR1cmUsICZzYy0+c2NfZmlkKTsKKwlzYy0+c2NfaXNpemUg PSBoaWRfcmVwb3J0X3NpemUoZGVzYywgc2l6ZSwgMCwgaGlkX2lucHV0LCAgICZzYy0+c2Nf aWlkKTsKKwlzYy0+c2Nfb3NpemUgPSBoaWRfcmVwb3J0X3NpemUoZGVzYywgc2l6ZSwgMCwg aGlkX291dHB1dCwgICZzYy0+c2Nfb2lkKTsKKwlzYy0+c2NfZnNpemUgPSBoaWRfcmVwb3J0 X3NpemUoZGVzYywgc2l6ZSwgMCwgaGlkX2ZlYXR1cmUsICZzYy0+c2NfZmlkKTsKIAogCXNj LT5zY19yZXBkZXNjID0gZGVzYzsKIAlzYy0+c2NfcmVwZGVzY19zaXplID0gc2l6ZTsKZGlm ZiAtTnJ1IHN5cy9kZXYvdXNiLm9yaWcvdW1zLmMgc3lzL2Rldi91c2IvdW1zLmMKLS0tIHN5 cy9kZXYvdXNiLm9yaWcvdW1zLmMJMjAwOC0wNC0zMCAyMzozNzo1NC4wMDAwMDAwMDAgKzA0 MDAKKysrIHN5cy9kZXYvdXNiL3Vtcy5jCTIwMDgtMDctMTQgMTY6MDE6MzkuMDAwMDAwMDAw ICswNDAwCkBAIC0zNTgsNyArMzU4LDggQEAKIAkJaGlkX2xvY2F0ZShkZXNjLCBzaXplLCBI SURfVVNBR0UyKEhVUF9CVVRUT04sIGkpLAogCQkJCWhpZF9pbnB1dCwgJnNjLT5zY19sb2Nf YnRuW2ktMV0sIDApOwogCi0Jc2MtPnNjX2lzaXplID0gaGlkX3JlcG9ydF9zaXplKGRlc2Ms IHNpemUsIGhpZF9pbnB1dCwgJnNjLT5zY19paWQpOworCXNjLT5zY19pc2l6ZSA9IGhpZF9y ZXBvcnRfc2l6ZShkZXNjLCBzaXplLCBISURfVVNBR0UyKEhVUF9HRU5FUklDX0RFU0tUT1As IEhVR19NT1VTRSksCisJCQkJCWhpZF9pbnB1dCwgJnNjLT5zY19paWQpOwogCXNjLT5zY19p YnVmID0gbWFsbG9jKHNjLT5zY19pc2l6ZSwgTV9VU0IsIE1fTk9XQUlUKTsKIAlpZiAoIXNj LT5zY19pYnVmKSB7CiAJCXByaW50ZigiJXM6IG5vIG1lbW9yeVxuIiwgZGV2aWNlX2dldF9u YW1ldW5pdChzYy0+c2NfZGV2KSk7CkBAIC0zOTMsNiArMzk0LDcgQEAKIAkgKiBkZXNjcmlw dG9yKSwgaXQgc2VlbXMgdGhhdCByZXBvcnQgaWQgMTcgY29udGFpbnMgdGhlIG5lY2Vzc2Fy eQogCSAqIG1vdXNlIGluZm9ybWF0aW9uKDMtYnV0dG9ucyxYLFksd2hlZWwpIHNvIHdlIHNw ZWNpZnkgaXQgbWFudWFsbHkuCiAJICovCisJLyogSVMgSVQgTkVTU0VTQVJZID8/PyBORUVE IFRPIEJFIFJFQ0hFQ0sgISEhISEhISBBTkQgRVhDTFVERSAqLwogCWlmICh1YWEtPnZlbmRv ciA9PSBVU0JfVkVORE9SX01JQ1JPU09GVCAmJgogCSAgICB1YWEtPnByb2R1Y3QgPT0gVVNC X1BST0RVQ1RfTUlDUk9TT0ZUX1dMTk9URUJPT0szKSB7CiAJCXNjLT5mbGFncyA9IFVNU19a Owo= --------------050502020101000706000208--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200807141650.m6EGo4cM048650>