阅读:1164回复:3
请教为何windows只能识别1个LUN
小弟我做USB mass storage bulk only设备,已经基本完成,windows出现盘符且读写正确。
为何windows只能识别1个LUN,get_max_lun已经正确返回4 还有什么地方要注意吗,请大侠指教 下面是bushound抓的包,windows根本不对其他LUN发包 28.0 CTL 80 06 00 01 00 00 12 00 GET DESCRIPTOR 1.1.0 08:35:49.771 28.0 DI 12 01 00 02 00 00 00 40 58 59 20 20 01 00 00 00 00 01 .......@XY .... 1.2.0 08:35:49.772 28.0 CTL 80 06 00 02 00 00 09 00 GET DESCRIPTOR 2.1.0 08:35:49.772 28.0 DI 09 02 20 00 01 01 00 80 fa .. ...... 2.2.0 08:35:49.774 28.0 CTL 80 06 00 02 00 00 20 00 GET DESCRIPTOR 3.1.0 08:35:49.774 28.0 DI 09 02 20 00 01 01 00 80 fa 09 04 00 00 02 08 06 50 00 07 05 81 02 00 02 ff 07 05 02 02 40 00 ff .. ............. 3.2.0 08:35:49.775 28.0 CTL 00 09 01 00 00 00 00 00 SET CONFIG 4.1.0 08:35:49.775 28.0 CTL 01 0b 00 00 00 00 00 00 SET INTERFACE 5.1.0 08:35:49.830 28.0 CTL a1 fe 00 00 00 00 01 00 GET MAX LUN 6.1.0 08:35:49.892 28.0 DI 04 . 6.2.0 08:35:49.893 28.2 DO 55 53 42 43 28 a5 dd 85 24 00 00 00 80 00 06 12 00 00 00 24 00 00 00 00 00 00 00 00 00 00 00 USBC(...$....... 7.1.0 08:35:49.900 28.1 DI 00 80 00 01 1f 00 00 00 59 41 4e 47 58 20 20 20 4e 41 4e 44 20 20 20 20 20 20 20 20 20 20 20 20 ........YANGX 8.1.0 08:35:49.901 31 2e 30 30 1.00 8.1.32 28.1 DI 55 53 42 43 28 a5 dd 85 00 00 00 00 00 USBC(........ 9.1.0 08:35:49.901 28.2 DO 55 53 42 43 28 a5 dd 85 fc 00 00 00 80 00 0a 23 00 00 00 00 00 00 00 fc 00 00 00 00 00 00 00 USBC(..........# 10.1.0 08:35:49.901 28.1 DI 00 00 00 08 00 00 08 00 02 00 02 00 ............ 11.1.0 08:35:49.902 28.1 DI 55 53 42 43 28 a5 dd 85 00 00 00 00 00 USBC(........ 12.1.0 08:35:49.902 30 CDB 12 00 00 00 24 00 INQUIRY 13.1.0 08:35:49.904 30 DI 00 80 00 01 1f 00 00 00 59 41 4e 47 58 20 20 20 4e 41 4e 44 20 20 20 20 20 20 20 20 20 20 20 20 ........YANGX 13.2.0 08:35:49.904 31 2e 30 30 1.00 13.2.32 30 CDB 25 00 00 00 00 00 00 00 00 00 READ CAPACITY 14.1.0 08:35:49.904 28.2 DO 55 53 42 43 28 a5 dd 85 08 00 00 00 80 00 0a 25 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 USBC(..........% 15.1.0 08:35:49.904 28.1 DI 00 00 07 ff 00 00 02 00 ........ 16.1.0 08:35:49.905 28.1 DI 55 53 42 43 28 a5 dd 85 00 00 00 00 00 USBC(........ 17.1.0 08:35:49.905 30 DI 00 00 07 ff 00 00 02 00 ........ 14.2.0 08:35:49.905 30 CDB 28 00 00 00 00 00 00 00 01 00 READ 18.1.0 08:35:49.905 28.2 DO 55 53 42 43 28 a5 dd 85 00 02 00 00 80 00 0a 28 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 USBC(..........( 19.1.0 08:35:49.905 28.1 DI eb 3c 90 4d 53 44 4f 53 35 2e 30 00 02 01 01 00 02 00 02 00 08 f8 06 00 01 00 01 00 00 00 00 00 .<.MSDOS5.0..... 20.1.0 08:35:49.906 00 00 00 00 00 00 29 61 11 97 8c 4e 4f 20 4e 41 4d 45 20 20 20 20 46 41 54 31 32 20 20 20 33 c9 ......)a...NO NA 20.1.32 28.1 DI 55 53 42 43 28 a5 dd 85 00 00 00 00 00 USBC(........ 21.1.0 08:35:49.906 30 DI eb 3c 90 4d 53 44 4f 53 35 2e 30 00 02 01 01 00 02 00 02 00 08 f8 06 00 01 00 01 00 00 00 00 00 .<.MSDOS5.0..... 18.2.0 08:35:49.906 00 00 00 00 00 00 29 61 11 97 8c 4e 4f 20 4e 41 4d 45 20 20 20 20 46 41 54 31 32 20 20 20 33 c9 ......)a...NO NA 18.2.32 |
|
沙发#
发布于:2007-12-18 15:58
windows这么做是有原因的。思考一下iSerialNumber的作用就明白了。
|
|
|
板凳#
发布于:2007-11-29 17:50
问题找到,是因为device descriptor iSerialNumber= 0,没有实现string descriptor
奇怪的windows |
|
地板#
发布于:2007-11-28 20:13
我也想知道啊
|
|