From owner-freebsd-current Tue Mar 18 18: 7: 2 2003 Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 43C3E37B404 for ; Tue, 18 Mar 2003 18:06:58 -0800 (PST) Received: from rootlabs.com (root.org [67.118.192.226]) by mx1.FreeBSD.org (Postfix) with SMTP id CB63543FB1 for ; Tue, 18 Mar 2003 18:06:55 -0800 (PST) (envelope-from nate@rootlabs.com) Received: (qmail 11140 invoked by uid 1000); 19 Mar 2003 02:06:57 -0000 Date: Tue, 18 Mar 2003 18:06:57 -0800 (PST) From: Nate Lawson To: current@freebsd.org Cc: culverk@yumyumyum.org, MIHIRA Sanpei Yoshiro Subject: umass patch for devices which cannot handle inquiry Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-1126533416-1048039312=:11121" Content-ID: Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. --0-1126533416-1048039312=:11121 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Content-ID: Attached is a patch for 5.x that adds 2 new quirks. NO_INQUIRY never sends the device an inquiry and instead responds with some valid generic data. NO_INQUIRY_EVPD allows normal inquiries but returns "invalid request" for inquiries with the evpd bit set. This is due to the fact that some devices cannot handle these commands (which is horribly broken). This patch also fixes the umass device matching code so that wildcards for product and vendor are also honored. Before, only the revision wildcard did anything. Be careful with this actual patch since it will quirk ALL umass devices, not any specific one (see the XXX part). You can modify it to be more specific to your device. The version I plan to commit has a check for all values set to wildcard and will skip such quirks. If you were having problems attaching a USB mass storage device (usually flash drives), please try this and report back to me. Try it with each of the quirks and see which is necessary (both are on by default). -Nate --0-1126533416-1048039312=:11121 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="usb-inquiry.diff" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename="usb-inquiry.diff" SW5kZXg6IHVtYXNzLmMNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBm aWxlOiAvaG9tZS9uY3ZzL3NyYy9zeXMvZGV2L3VzYi91bWFzcy5jLHYNCnJl dHJpZXZpbmcgcmV2aXNpb24gMS43OA0KZGlmZiAtdSAtcjEuNzggdW1hc3Mu Yw0KLS0tIHVtYXNzLmMJMTEgTWFyIDIwMDMgMDE6NTU6MTEgLTAwMDAJMS43 OA0KKysrIHVtYXNzLmMJMTkgTWFyIDIwMDMgMDE6NTA6MDAgLTAwMDANCkBA IC0zMTksOSArMzE5LDE4IEBADQogIwlkZWZpbmUgTk9fR0VUTUFYTFVOCQkw eDAxMDANCiAJLyogVGhlIGRldmljZSB1c2VzIGEgd2VpcmQgQ1NXU0lHTkFU VVJFLiAqLw0KICMJZGVmaW5lIFdST05HX0NTV1NJRwkJMHgwMjAwDQorCS8q IERldmljZSBjYW5ub3QgaGFuZGxlIElOUVVJUlkgc28gZmFrZSBhIGdlbmVy aWMgcmVzcG9uc2UgKi8NCisjCWRlZmluZSBOT19JTlFVSVJZCQkweDA0MDAN CisJLyogRGV2aWNlIGNhbm5vdCBoYW5kbGUgSU5RVUlSWSBFVlBELCByZXR1 cm4gQ0hFQ0sgQ09ORElUSU9OICovDQorIwlkZWZpbmUgTk9fSU5RVUlSWV9F VlBECQkweDA4MDANCiB9Ow0KIA0KIFN0YXRpYyBzdHJ1Y3QgdW1hc3NfZGV2 ZGVzY3JfdCB1bWFzc19kZXZkZXNjcnNbXSA9IHsNCisJLyogWFhYIHRoaXMg aXMgZm9yIHRlc3Rpbmcgb25seSBhbmQgbWF0Y2hlcyBBTEwgZGV2aWNlcyBY WFggKi8NCisJeyBWSURfV0lMRENBUkQsIFBJRF9XSUxEQ0FSRCwgUklEX1dJ TERDQVJELA0KKwkgIFVNQVNTX1BST1RPX1NDU0kgfCBVTUFTU19QUk9UT19C QkIsDQorCSAgTk9fSU5RVUlSWSB8IE5PX0lOUVVJUllfRVZQRA0KKwl9LA0K IAl7IFVTQl9WRU5ET1JfQVNBSElPUFRJQ0FMLCBVU0JfUFJPRFVDVF9BU0FI SU9QVElDQUxfT1BUSU8yMzAsDQogCSAgUklEX1dJTERDQVJELA0KIAkgIFVN QVNTX1BST1RPX0FUQVBJIHwgVU1BU1NfUFJPVE9fQ0JJX0ksDQpAQCAtNTQy LDcgKzU1MSwxMSBAQA0KICNlbmRpZg0KIA0KIFN0YXRpYyBzdHJ1Y3QgY2Ft X3NpbSAqdW1hc3Nfc2ltOwkvKiBTQ1NJIEludGVyZmFjZSBNb2R1bGUgKi8N Ci0NCisvKiBJZiBkZXZpY2UgY2Fubm90IHJldHVybiB2YWxpZCBpbnF1aXJ5 IGRhdGEsIGZha2UgaXQgKi8NCitTdGF0aWMgdWludDhfdCBmYWtlX2lucV9k YXRhW1NIT1JUX0lOUVVJUllfTEVOR1RIXSA9IHsNCisJMCwgLypyZW1vdmFi bGUqLyAweDgwLCBTQ1NJX1JFVl8yLCBTQ1NJX1JFVl8yLA0KKwkvKmFkZGl0 aW9uYWxfbGVuZ3RoKi8gMzEsIDAsIDAsIDANCit9Ow0KIA0KIC8qIFVTQiBk ZXZpY2UgcHJvYmUvYXR0YWNoL2RldGFjaCBmdW5jdGlvbnMgKi8NCiBVU0Jf REVDTEFSRV9EUklWRVIodW1hc3MpOw0KQEAgLTcwOCwxNiArNzIxLDE5IEBA DQogCSAqIGNoZWNrIGZvciB3aWxkY2FyZGVkIGFuZCBmdWxseSBtYXRjaGVk LiBGaXJzdCBtYXRjaCB3aW5zLg0KIAkgKi8NCiAJZm9yIChpID0gMDsgdW1h c3NfZGV2ZGVzY3JzW2ldLnZpZCAhPSBWSURfRU9UICYmICFmb3VuZDsgaSsr KSB7DQotCQlpZiAodW1hc3NfZGV2ZGVzY3JzW2ldLnZpZCA9PSBVR0VUVyhk ZC0+aWRWZW5kb3IpDQotCQkgICAgJiYgdW1hc3NfZGV2ZGVzY3JzW2ldLnBp ZCA9PSBVR0VUVyhkZC0+aWRQcm9kdWN0KSkgew0KKwkJaWYgKCh1bWFzc19k ZXZkZXNjcnNbaV0udmlkID09IFVHRVRXKGRkLT5pZFZlbmRvcikgfHwNCisJ CSAgICAgdW1hc3NfZGV2ZGVzY3JzW2ldLnZpZCA9PSBWSURfV0lMRENBUkQp DQorCQkgJiYgKHVtYXNzX2RldmRlc2Nyc1tpXS5waWQgPT0gVUdFVFcoZGQt PmlkUHJvZHVjdCkgfHwNCisJCSAgICAgdW1hc3NfZGV2ZGVzY3JzW2ldLnBp ZCA9PSBQSURfV0lMRENBUkQpKSB7DQogCQkgICAgCWlmICh1bWFzc19kZXZk ZXNjcnNbaV0ucmlkID09IFJJRF9XSUxEQ0FSRCkgew0KLQkJCSAgICBzYy0+ cHJvdG8gPSB1bWFzc19kZXZkZXNjcnNbaV0ucHJvdG87DQotCQkJICAgIHNj LT5xdWlya3MgPSB1bWFzc19kZXZkZXNjcnNbaV0ucXVpcmtzOw0KLQkJCSAg ICByZXR1cm4gVU1BVENIX1ZFTkRPUl9QUk9EVUNUOw0KLQkJCX0gZWxzZSBp ZiAodW1hc3NfZGV2ZGVzY3JzW2ldLnJpZCA9PSBVR0VUVyhkZC0+YmNkRGV2 aWNlKSkgew0KLQkJCSAgICBzYy0+cHJvdG8gPSB1bWFzc19kZXZkZXNjcnNb aV0ucHJvdG87DQotCQkJICAgIHNjLT5xdWlya3MgPSB1bWFzc19kZXZkZXNj cnNbaV0ucXVpcmtzOw0KLQkJCSAgICByZXR1cm4gVU1BVENIX1ZFTkRPUl9Q Uk9EVUNUX1JFVjsNCisJCQkJc2MtPnByb3RvID0gdW1hc3NfZGV2ZGVzY3Jz W2ldLnByb3RvOw0KKwkJCQlzYy0+cXVpcmtzID0gdW1hc3NfZGV2ZGVzY3Jz W2ldLnF1aXJrczsNCisJCQkJcmV0dXJuIChVTUFUQ0hfVkVORE9SX1BST0RV Q1QpOw0KKwkJCX0gZWxzZSBpZiAodW1hc3NfZGV2ZGVzY3JzW2ldLnJpZCA9 PQ0KKwkJCSAgICBVR0VUVyhkZC0+YmNkRGV2aWNlKSkgew0KKwkJCQlzYy0+ cHJvdG8gPSB1bWFzc19kZXZkZXNjcnNbaV0ucHJvdG87DQorCQkJCXNjLT5x dWlya3MgPSB1bWFzc19kZXZkZXNjcnNbaV0ucXVpcmtzOw0KKwkJCQlyZXR1 cm4gKFVNQVRDSF9WRU5ET1JfUFJPRFVDVF9SRVYpOw0KIAkJCX0gLyogZWxz ZSBSSUQgZG9lcyBub3QgbWF0Y2ggKi8NCiAJCX0NCiAJfQ0KQEAgLTIzODYs NyArMjQwMiwzOSBAQA0KIAkJICovDQogDQogCQlpZiAoc2MtPnRyYW5zZm9y bShzYywgY21kLCBjbWRsZW4sICZyY21kLCAmcmNtZGxlbikpIHsNCi0JCQlp ZiAoKHNjLT5xdWlya3MgJiBGT1JDRV9TSE9SVF9JTlFVSVJZKSAmJiAocmNt ZFswXSA9PSBJTlFVSVJZKSkgew0KKwkJCS8qIA0KKwkJCSAqIEhhbmRsZSBF VlBEIGlucXVpcnkgZm9yIGJyb2tlbiBkZXZpY2VzIGZpcnN0DQorCQkJICog Tk9fSU5RVUlSWSBhbHNvIGltcGxpZXMgTk9fSU5RVUlSWV9FVlBEDQorCQkJ ICovDQorCQkJaWYgKChzYy0+cXVpcmtzICYgKE5PX0lOUVVJUllfRVZQRCB8 IE5PX0lOUVVJUlkpKSAmJg0KKwkJCSAgICByY21kWzBdID09IElOUVVJUlkg JiYgKHJjbWRbMV0gJiBTSV9FVlBEKSkgew0KKwkJCQlzdHJ1Y3Qgc2NzaV9z ZW5zZV9kYXRhICpzZW5zZTsNCisNCisJCQkJc2Vuc2UgPSAmY2NiLT5jc2lv LnNlbnNlX2RhdGE7DQorCQkJCWJ6ZXJvKHNlbnNlLCBzaXplb2YoKnNlbnNl KSk7DQorCQkJCXNlbnNlLT5lcnJvcl9jb2RlID0gU1NEX0NVUlJFTlRfRVJS T1I7DQorCQkJCXNlbnNlLT5mbGFncyA9IFNTRF9LRVlfSUxMRUdBTF9SRVFV RVNUOw0KKwkJCQlzZW5zZS0+YWRkX3NlbnNlX2NvZGUgPSAweDI0Ow0KKwkJ CQlzZW5zZS0+ZXh0cmFfbGVuID0gMTA7DQorIAkJCQljY2ItPmNzaW8uc2Nz aV9zdGF0dXMgPSBTQ1NJX1NUQVRVU19DSEVDS19DT05EOw0KKwkJCQljY2It PmNjYl9oLnN0YXR1cyA9IENBTV9TQ1NJX1NUQVRVU19FUlJPUiB8DQorCQkJ CSAgICBDQU1fQVVUT1NOU19WQUxJRDsNCisJCQkJeHB0X2RvbmUoY2NiKTsN CisJCQkJcmV0dXJuOw0KKwkJCX0NCisJCQkvKiBSZXR1cm4gZmFrZSBpbnF1 aXJ5IGRhdGEgZm9yIGJyb2tlbiBkZXZpY2VzICovDQorCQkJaWYgKChzYy0+ cXVpcmtzICYgTk9fSU5RVUlSWSkgJiYgcmNtZFswXSA9PSBJTlFVSVJZKSB7 DQorCQkJCXN0cnVjdCBjY2Jfc2NzaWlvICpjc2lvID0gJmNjYi0+Y3NpbzsN CisNCisJCQkJbWVtY3B5KGNzaW8tPmRhdGFfcHRyLCAmZmFrZV9pbnFfZGF0 YSwNCisJCQkJICAgIHNpemVvZihmYWtlX2lucV9kYXRhKSk7DQorCQkJCWNz aW8tPnNjc2lfc3RhdHVzID0gU0NTSV9TVEFUVVNfT0s7DQorCQkJCWNjYi0+ Y2NiX2guc3RhdHVzID0gQ0FNX1JFUV9DTVA7DQorCQkJCXhwdF9kb25lKGNj Yik7DQorCQkJCXJldHVybjsNCisJCQl9DQorCQkJaWYgKChzYy0+cXVpcmtz ICYgRk9SQ0VfU0hPUlRfSU5RVUlSWSkgJiYNCisJCQkgICAgcmNtZFswXSA9 PSBJTlFVSVJZKSB7DQogCQkJCWNzaW8tPmR4ZmVyX2xlbiA9IFNIT1JUX0lO UVVJUllfTEVOR1RIOw0KIAkJCX0NCiAJCQlzYy0+dHJhbnNmZXIoc2MsIGNj Yi0+Y2NiX2gudGFyZ2V0X2x1biwgcmNtZCwgcmNtZGxlbiwNCg== --0-1126533416-1048039312=:11121-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message