Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Mar 2003 18:06:57 -0800 (PST)
From:      Nate Lawson <nate@root.org>
To:        current@freebsd.org
Cc:        culverk@yumyumyum.org, MIHIRA Sanpei Yoshiro <sanpei@sanpei.org>
Subject:   umass patch for devices which cannot handle inquiry
Message-ID:  <Pine.BSF.4.21.0303181756300.11121-200000@root.org>

next in thread | raw e-mail | index | archive | help
  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: <Pine.BSF.4.21.0303181802071.11121@root.org>

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: <Pine.BSF.4.21.0303181806570.11121@root.org>
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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0303181756300.11121-200000>