USB设备驱动学习记录
0:EHCI主控架構
1.關于設備地址SET_ADDRESS設置的邏輯:
可以看到set_address命令最終通過USB_DRV_WriteReg8(&musb->faddr, g_udc.address);將g_udc.address設置給了硬件,而此地址來源于主機
打印輸出:
可以看到主機通過EP0 斷點,將地址10,設置給了寄存器0x0510098.而此地址的全稱是USB Function Address Register.在pheriphal mode( usb device mode)模式下,當USB 總線復位的額時候,此值被reset為0, 并且此地址應當在主控枚舉設備的時候,通過SET_ADDRESS命令由軟件來設置。
經過測試
打開紅色行,adb shell無法登錄,懷疑可能是set_address的時序不能被打斷。并且,經過測試,生命期內只要設置1次set address即可,在adb使用過程中只有開始設置了1次,后面 沒有再次設置。
2.USB有四個pin腳,對應USB數據線、充電線都有四條線:
3:作為USB Device,需要提供數據傳輸口,也就是USB規范中的端點,其中EP0可以同時作為輸入和輸出,而其它的EP只能要么做輸入要么做輸出。并且設計中每個斷電要有對應的FIFO寄存器,一般通過寄存器窗口的方式去實現。USB Device控制器里面,端點發送和接收是用同一個FIFO的? 所以無法雙工么。
adbd初始化時EP0的交互。
msh />adbd adbd version:AW-V1.1.0, compiled on: Jun 23 2021 17:58:00 adbd service init successful msh />get device descriptor set address get device descriptor get configuration descriptor get string descriptor get string descriptor get string descriptor get device descriptor get string descriptor get string descriptor get string descriptor get device descriptor get configuration descriptor get configuration descriptor get status set configuration get string descriptor get string descriptor get string descriptor get string descriptor get string descriptor get string descriptor get string descriptor get configuration descriptor get configuration descriptoradbd初始化時候host主機(PC)和udc(ADB 平臺)之間的descriptor交互,可以看到get string descriptor交互發生過很多次,不同的index表示讀取不同的string desctipror,包含設備自身的描述信息給主機。
msh />adbd adbd version:AW-V1.1.0, compiled on: Jun 25 2021 15:34:18 [ERR]: [sunxi_udc_get_config_param:1745]: usbc0 usbd_irq_flag fetch error![ERR]: [sunxi_udc_get_config_param:1751]: usbc0 usbd_driver_level fetch error!adbd service init successful msh />get device descriptor set address get device descriptor get configuration descriptor get string descriptor 2. get string descriptor 0. get string descriptor 1. get device descriptor get string descriptor 0. get string descriptor 2. get string descriptor 1. get device descriptor get configuration descriptor get configuration descriptor get status set configuration get string descriptor 0. get string descriptor 1. get string descriptor 2. get string descriptor 0. get string descriptor 1. get string descriptor 4. get string descriptor 5. get configuration descriptor get configuration descripto地址域里面有7位表示設備地址的,也就是說總共有128個地址用來分配給設備,但是其中0號地址是被保留作為默認地址用的,任何一個設備在set address前,都需要通過這個默認地址來響應主機的請求,所以0號地址不能分配給任何一個設備。Hub為設備選擇一個地址時,只有選擇到一個大于0的地址,設備才可以使用。
ADB應用的整體架構,要成為ADB設備,在UDC驅動之上需要另外一個驅動,這個就是位于Gadget Driver層的 adbd gadget drvier,稱為Function驅動,同理,如果模擬U盤,在UDC驅動之上需要另外一個驅動,對于USB大容量存儲器而言,這個驅動為File Storage驅動,稱為Function驅動。
4:USB MSC Descriptor初始化,注意其中的sub class都是0x08
5:USB控制器的實現情況
DRD包的主控是EHCI? 還是自研的主控? 之前遇到U盤兼容性問題的時候,經常會說DRD是弱主機,獨立的EHCI是強主機,U盤掛載獨立的EHCI上要比掛載DRD上好一些,既然同樣都是EHCI,為何有強弱之分?
現在 我們的 usb0 的DRD 都集成了 獨立的EHCI是強主機 , 以前的 usb0 DRD中host,不是 EHCI使用嵌入式的自研弱主機,現在都不會使用了
DRD這塊是通用的IP嗎,我在STM32上也遇到過DRD驅動,名字全稱和我們的一樣,dual role device.DRD也是通用的?
DRD 名字是通用的,但 DRD IP不一定是通用的,即每家的寄存器可能排布不一樣。
現在DRD里面包的Host還是之前的弱主機么?
不是, 是EHCI來的。
所以換了?之前DRD里面包的不是EHCI的
先前了解到從v3開始的usb ip就換成強主機了
C800是什么
ip是EHCI,但是驅動還是老的架構, 不是按照Linux上ehci架構來
F133上有一套純EHCI Host控制器,還有一套OTG(DRD,包括EHCI Host和device 控制器). 那外面的USB接口是和 USB Host 控制器綁定的嗎? 比如,一個USB接口我可以選擇是接純的EHCI 還是 OTG內部的EHCI 嗎?
回答: 封裝已經拉好線了,所以,接口和host之間是綁定的,比如,usb0 就是 otg,usb1 就是 純EHCI Host控制器。記得買的小米的筆記本不也是這個樣子的么,說明上會指定哪個口只是USB3.0,哪個口只支持USB2.0,可能就是支持USB3.0的口綁定的是USB3.0的控制器,而USB2.0的口只連接的是USB2.0的控制器。
6:USB Gadget是什么?
gadget說白了就是配件的意思,有些設備本身有usb設備控制器(usb device controller),可以將PC, 也就是我們的主機作為host端,將這樣的設備作為slave端和主機通過USB進行通信,從主機的觀點看,主機系統的USB驅動程序控制插入其中的USB設備,而USB gadget的驅動程序控制外圍設備作為一個USB設備和主機通信,比如,我們的嵌入式主板上支持SD卡,如果我們希望再將主板通過USB連接到PC之后,這個SD卡被模擬成U盤,那么就要通過usb gadget 架構的驅動。
gadget大概能夠分成兩個模塊,一個 是udc驅動,這個驅動是針對具體CPU平臺的,如果找不到現成的,就要自己實現,另一個就是gadget驅動,主要有file_storeage, serial, ether,adb等.PC只有USB主機控制器硬件,他們并不能作為USB gadget存在 , 而對于嵌入式設備,USB設備控制器常被集成到處理器中,設備的各種功能,如U盤,網卡等等常常依賴這種USB設備控制器來于主機連接。并且設備的各種功能之間可以切換,比如可以選擇作為U盤或者網盤,或者視頻采集卡等等。
7:UDC( USB Device Controller USB設備控制器)和Gadget(小配件)驅動邏輯。
8:DRD IP的模式選擇,到底是Device 呢? 還是Host呢?
9.UDC中斷的邏輯
10:模擬成一個MSC 磁盤設備,device端的interface descriptor應該怎么寫?
.bInterfaceClass 表征 設備是一個 MASS_STORAGE設備。
.bInterfaceSubClass=0x06
.bInterfaceProtocol = 0x50
所以上述接口描述符表征了一個使用BBB協議的SCSI存儲設備。主機就可以識別了。
SCSI? do_write/do_read是從主機的角度來命名的,所以do_write對應于?usb_gadget_function_read(h->bulk_out。從機是讀的角色。
對于do_read來說,是主機讀,對應的從機應該執行寫操作,也就是usb_gadget_function_write(h->bulk_in, bh->buf, nread << 9);
11: open backing file打開的掛載設備:
初始時刻掛載SD卡讀取的磁盤塊信息,可以看到都是0附近的磁盤塊,估計PC這個時候鄭準備讀分區表,解析盤符呢。
disk E plug outUSB_OS_READ line 117, offset 0, count 1. USB_OS_READ line 117, offset 0, count 1. USB_OS_READ line 117, offs_READ line 117, offset 0, count 8. USB_OS_READ line 117, offset 8, count 8. USB_OS_READ line 117, offset 17, count 8. USB_OS_READ line 117, offset 2, count 1. USB_OS_READ line 117, offset 0, count 16. USB_OS_READ line 117, offset 99, count 1. USB_OS_READ line 117, offset 0, count 1. ekernel/subsys/msc/scsi.c 1243 do_write bh->stateUSB_OS_READ line 117, offset 0, count 16. USB_OS_READ line 117, offset 0, count 16. USB_OS_READ line 117, offset 0, count 16. USB_OS_READ line 117, offset 0, count 1. USB_OS_READ line 117, offset 0, count 1. USB_OS_READ line 117, offset 0, count 1. USB_OS_READ line 117, offset 0, count 1. USB_OS_READ line 117, offset 0, count 16. USB_OS_READ line 117, offset 0, count 1. USB_OS_READ line 117, offset 0, count 8. USB_OS_READ line 117, offset 8, count 8OS_READ line 117, offset 0, counUSB_OS_READ line 117, offset 99, count 1. USB_OS_READ line 117, offset 0, count 16. USB_OS_READ line 117, offset 0, count 1. USB_OS_READ line 117, offset 2,ish_reply residue:24 disk E plug outUSB_OS_READ line 117, offset 0, count 1. USB_OS_READ line 117, offset 0, count 1. USB_OS_READ line 117, offset 0, count 16. USB_OS_READ line 117, offset 0, count 1. USB_OS_READ line 117, offset 0, count 8. USB_OS_READ line 117, offset 8, count 8. USB_OS_READ line 117, offset 17, count 8. USB_OS_READ line 117, offset 2, count 1. USB_OS_READ line 117, offset 99, count 1. USB_OS_READ line 117, offset 0, count 16. USB_OS_READ line 117, offset 0, count 16.12:正常掛載到小機端時UDISK和SD卡的狀態
MSC功能啟用時的掛載狀態:
小機端已經unmount
13:只掛載SD卡的改動:
popen會自定調用卸載函數。
14:esFSYS_unmount干掉layer fs,掛載MSC后會怎么樣?
猜測,由于laerfs只是一個殼,所以小機端的mnt/F還是有的,但是實際的文件不存在了,已經掛載到PC上。驗證一下是不是:
小機端:
PC端:
猜測是對的~!
15:掛載MSC過程中的讀寫設備操作,大部分都是讀,對應BUILK IN,只有一次寫。
USB_OS_READ line 117, offset 0, count 1, fp = 0x40182c38. USB_OS_READ line 117, offset 2, count 1, fp = 0x40182c38. USB_OS_READ line 117, offset 0, count 1, fp = 0x40182c38. USB_OS_READ line 117, offset 0, count 1, fp = 0x40182c38. USB_OS_READ line 117, offset 0, count 1, fp = 0x40182c38. USB_OS_READ line 117, offset 0, count 1, fp = 0x40182c38. USB_OS_READ line 117, offset 0, count 16, fp = 0x40182c38. USB_OS_READ line 117, offset 0, count 1, fp = 0x40182c38. USB_OS_READ line 117, offset 0, count 16, fp = 0x40182c38. USB_OS_READ line 117, offset 0, count 1, fp = 0x40182c38. USB_OS_READ line 117, offset 0, count 8, fp = 0x40182c38. USB_OS_READ line 117, offset 2408, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 2440, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 2472, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 2504, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 2536, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 2568, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 2600, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 2632, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 2664, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 2696, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 2728, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 2760, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 2792, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 2824, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 2856, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 2888, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 2920, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 2952, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 2984, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 3016, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 3048, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 3080, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 3112, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 3144, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 3176, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 3208, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 3240, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 3272, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 3304, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 3336, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 3368, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 3400, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 3432, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 3464, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 3496, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 3528, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 3560, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 3592, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 3624, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 3656, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 3688, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 3720, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 3752, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 3784, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 3816, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 3848, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 3880, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 3912, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 3944, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 3976, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 4008, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 4040, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 4072, count 24, fp = 0x40182c38. USB_OS_READ line 117, offset 4096, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 4128, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 4160, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 4192, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 4224, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 4256, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 4288, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 4320, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 4352, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 4384, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 4416, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 4448, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 4480, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 4512, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 4544, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 4576, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 4608, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 4640, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 4672, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 4704, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 4736, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 4768, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 4800, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 4832, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 4864, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 4896, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 4928, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 4960, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 4992, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 5024, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 5056, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 5088, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 5120, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 5152, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 5184, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 5216, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 5248, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 5280, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 5312, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 5344, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 5376, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 5408, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 5440, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 5472, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 5504, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 5536, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 5568, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 5600, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 5632, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 5664, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 5696, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 5728, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 5760, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 5792, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 5824, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 5856, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 5888, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 5920, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 5952, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 5984, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 6016, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 6048, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 6080, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 6112, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 6144, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 6176, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 6208, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 6240, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 6272, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 6304, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 6336, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 6368, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 6400, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 6432, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 6464, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 6496, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 6528, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 6560, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 6592, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 6624, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 6656, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 6688, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 6720, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 6752, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 6784, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 6816, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 6848, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 6880, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 6912, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 6944, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 6976, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 7008, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 7040, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 7072, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 7104, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 7136, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 7168, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 7200, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 7232, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 7264, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 7296, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 7328, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 7360, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 7392, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 7424, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 7456, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 7488, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 7520, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 7552, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 7584, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 7616, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 7648, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 7680, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 7712, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 7744, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 7776, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 7808, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 7840, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 7872, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 7904, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 7936, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 7968, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 8000, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 8032, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 8064, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 8096, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 8128, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 8160, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 8192, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 8224, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 8256, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 8288, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 8320, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 8352, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 8384, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 8416, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 8448, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 8480, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 8512, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 8544, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 8576, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 8608, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 8640, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 8672, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 8704, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 8736, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 8768, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 8800, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 8832, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 8864, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 8896, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 8928, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 8960, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 8992, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 9024, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 9056, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 9088, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 9120, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 9152, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 9184, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 9216, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 9248, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 9280, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 9312, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 9344, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 9376, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 9408, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 9440, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 9472, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 9504, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 9536, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 9568, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 9600, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 9632, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 9664, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 9696, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 9728, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 9760, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 9792, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 9824, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 9856, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 9888, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 9920, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 9952, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 9984, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 10016, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 10048, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 10080, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 10112, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 10144, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 10176, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 10208, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 10240, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 10272, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 10304, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 10336, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 10368, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 10400, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 10432, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 10464, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 10496, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 10528, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 10560, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 10592, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 10624, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 10656, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 10688, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 10720, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 10752, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 10784, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 10816, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 10848, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 10880, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 10912, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 10944, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 10976, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 11008, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 11040, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 11072, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 11104, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 11136, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 11168, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 11200, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 11232, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 11264, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 11296, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 11328, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 11360, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 11392, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 11424, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 11456, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 11488, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 11520, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 11552, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 11584, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 11616, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 11648, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 11680, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 11712, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 11744, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 11776, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 11808, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 11840, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 11872, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 11904, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 11936, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 11968, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 12000, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 12032, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 12064, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 12096, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 12128, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 12160, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 12192, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 12224, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 12256, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 12288, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 12320, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 12352, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 12384, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 12416, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 12448, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 12480, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 12512, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 12544, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 12576, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 12608, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 12640, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 12672, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 12704, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 12736, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 12768, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 12800, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 12832, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 12864, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 12896, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 12928, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 12960, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 12992, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 13024, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 13056, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 13088, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 13120, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 13152, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 13184, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 13216, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 13248, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 13280, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 13312, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 13344, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 13376, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 13408, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 13440, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 13472, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 13504, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 13536, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 13568, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 13600, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 13632, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 13664, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 13696, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 13728, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 13760, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 13792, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 13824, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 13856, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 13888, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 13920, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 13952, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 13984, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 14016, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 14048, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 14080, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 14112, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 14144, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 14176, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 14208, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 14240, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 14272, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 14304, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 14336, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 14368, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 14400, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 14432, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 14464, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 14496, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 14528, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 14560, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 14592, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 14624, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 14656, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 14688, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 14720, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 14752, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 14784, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 14816, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 14848, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 14880, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 14912, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 14944, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 14976, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 15008, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 15040, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 15072, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 15104, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 15136, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 15168, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 15200, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 15232, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 15264, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 15296, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 15328, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 15360, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 15392, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 15424, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 15456, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 15488, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 15520, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 15552, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 15584, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 15616, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 15648, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 15680, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 15712, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 15744, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 15776, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 15808, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 15840, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 15872, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 15904, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 15936, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 15968, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 16000, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 16032, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 16064, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 16096, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 16128, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 16160, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 16192, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 16224, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 16256, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 16288, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 16320, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 16352, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 16384, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 16416, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 16448, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 16480, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 16512, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 16544, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 16576, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 16608, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 16640, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 16672, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 16704, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 16736, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 16768, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 16800, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 16832, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 16864, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 16896, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 16928, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 16960, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 16992, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 17024, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 17056, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 17088, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 17120, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 17152, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 17184, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 17216, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 17248, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 17280, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 17312, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 17344, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 17376, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 17408, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 17440, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 17472, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 17504, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 17536, count 32, fp = 0x40182c38. USB_OS_READ line 117, offset 17568, count 24, fp = 0x40182c38. USB_OS_READ line 117, offset 32768, count 8, fp = 0x40182c38. USB_OS_READ line 117, offset 2, count 1, fp = 0x40182c38. USB_OS_READ line 117, offset 32784, count 8, fp = 0x40182c38. USB_OS_READ line 117, offset 32816, count 1, fp = 0x40182c38. USB_OS_READ line 117, offset 0, count 16, fp = 0x40182c38. USB_OS_READ line 117, offset 0, count 16, fp = 0x40182c38. USB_OS_READ line 117, offset 0, count 16, fp = 0x40182c38. USB_OS_READ line 117, offset 32832, count 1, fp = 0x40182c38. USB_OS_WRITE line 151, offset 0, count 0, fp = 0x40182c38. open_backing_file line 240, filename F:\. open_backing_file line 240, filename F:\. livedesk/beetles/init/ui/init_server.c 2209 disk_manager_add_and_plugin path:E:\ livedesk/beetles/init/ui/init_server.c 2213 disk_manager_add_and_plugin disk_manager[0].used:0 livedesk/beetles/init/ui/init_server.c 2218 disk_manager_add_and_plugin device_name:UDISK0 livedesk/beetles/init/ui/init_server.c 2209 disk_manager_add_and_plugin path:F:\ livedesk/beetles/init/ui/init_server.c 2213 disk_manager_add_and_plugin disk_manager[0].used:1 livedesk/beetles/init/ui/init_server.c 2213 disk_manager_add_and_plugin disk_manager[1].used:0 livedesk/beetles/init/ui/init_server.c 2218 disk_manager_add_and_plugin device_name:SDMMC-DISK:00 open_backing_file line 240, filename E:\. open_backing_file line 240, filename F:\.16:移植MSC需要的最小代碼:
17:關于device掛在后描述字符串的來歷:
iManufacturer/iProduct/iSerialNumber表征了這些字符串在字符串表中的索引。
18:經過下列的的SCSI Command響應后,PC端必定會mount上msc 磁盤。
fsg->cmnd[0]=0x12 SC_INQUIRY fsg->cmnd[0]=0x12 SC_INQUIRY fsg->cmnd[0]=0x23 SC_READ_FORMAT_CAPACITIES fsg->cmnd[0]=0x3 SC_REQUEST_SENSE fsg->cmnd[0]=0x23 SC_READ_FORMAT_CAPACITIES fsg->cmnd[0]=0x3 SC_REQUEST_SENSE fsg->cmnd[0]=0x23 SC_READ_FORMAT_CAPACITIES fsg->cmnd[0]=0x3 SC_REQUEST_SENSE fsg->cmnd[0]=0x12 SC_INQUIRY fsg->cmnd[0]=0x25 SC_READ_CAPACITY fsg->cmnd[0]=0x3 SC_REQUEST_SENSE fsg->cmnd[0]=0x1a SC_MODE_SENSE_6 fsg->cmnd[0]=0x1a SC_MODE_SENSE_6 fsg->cmnd[0]=0x1a SC_MODE_SENSE_6 fsg->cmnd[0]=0x15 SC_MODE_SELECT_6 fsg->cmnd[0]=0x3 SC_REQUEST_SENSE fsg->cmnd[0]=0x15 SC_MODE_SELECT_6 fsg->cmnd[0]=0x3 SC_REQUEST_SENSE fsg->cmnd[0]=0x25 SC_READ_CAPACITY fsg->cmnd[0]=0x3 SC_REQUEST_SENSE fsg->cmnd[0]=0x25 SC_READ_CAPACITY fsg->cmnd[0]=0x3 SC_REQUEST_SENSE fsg->cmnd[0]=0x25 SC_READ_CAPACITY fsg->cmnd[0]=0x3 SC_REQUEST_SENSE fsg->cmnd[0]=0x12 SC_INQUIRY fsg->cmnd[0]=0x25 SC_READ_CAPACITY fsg->cmnd[0]=0x3 SC_REQUEST_SENSE fsg->cmnd[0]=0x25 SC_READ_CAPACITY fsg->cmnd[0]=0x3 SC_REQUEST_SENSE fsg->cmnd[0]=0x25 SC_READ_CAPACITY fsg->cmnd[0]=0x3 SC_REQUEST_SENSE fsg->cmnd[0]=0x25 SC_READ_CAPACITY fsg->cmnd[0]=0x3 SC_REQUEST_SENSE fsg->cmnd[0]=0x25 SC_READ_CAPACITY fsg->cmnd[0]=0x3 SC_REQUEST_SENSE fsg->cmnd[0]=0x1a SC_MODE_SENSE_618:EHCI是一個寄存器級的標準,這和做軟件開發經常看到的軟件標準是不同的。
19:Linux USB Storage 主控端U盤驅動
Makefile, Kconfig猶如Linux這座宏偉城市的地圖,根據這張地圖,知道了和U盤相關的只有幾個文件,其它的都是特定公司的設備驅動,并非U盤驅動。
典型的主控發送CBW控制字的邏輯:
驅動注冊
20:啥叫LUN,一個device中的一個drive,比如一個讀卡器有四個卡槽,這里讀卡器是device,卡槽是drive,所以有四個LUN.
21:sd card format to 2 parts methods:
czl@czl-RedmiBook-14:~$ sudo fdisk /dev/sdb Welcome to fdisk (util-linux 2.31.1). Changes will remain in memory only, until you decide to write them. Be careful before using the write command.Command (m for help): d No partition is defined yet! Could not delete partition 94624964271897Command (m for help): n Partition typep primary (0 primary, 0 extended, 4 free)e extended (container for logical partitions) Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-31116287, default 2048): Last sector, +sectors or +size{K,M,G,T,P} (2048-31116287, default 31116287): +4GCreated a new partition 1 of type 'Linux' and of size 4 GiB.Command (m for help): t Selected partition 1 Hex code (type L to list all codes): L0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris 1 FAT12 27 Hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT-2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT-3 XENIX usr 3c PartitionMagic 84 OS/2 hidden or c6 DRDOS/sec (FAT-4 FAT16 <32M 40 Venix 80286 85 Linux extended c7 Syrinx 5 Extended 41 PPC PReP Boot 86 NTFS volume set da Non-FS data 6 FAT16 42 SFS 87 NTFS volume set db CP/M / CTOS / .7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux plaintext de Dell Utility 8 AIX 4e QNX4.x 2nd part 8e Linux LVM df BootIt 9 AIX bootable 4f QNX4.x 3rd part 93 Amoeba e1 DOS access a OS/2 Boot Manag 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad hi ea Rufus alignmente W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD eb BeOS fs f W95 Ext'd (LBA) 54 OnTrackDM6 a6 OpenBSD ee GPT 10 OPUS 55 EZ-Drive a7 NeXTSTEP ef EFI (FAT-12/16/ 11 Hidden FAT12 56 Golden Bow a8 Darwin UFS f0 Linux/PA-RISC b 12 Compaq diagnost 5c Priam Edisk a9 NetBSD f1 SpeedStor 14 Hidden FAT16 <3 61 SpeedStor ab Darwin boot f4 SpeedStor 16 Hidden FAT16 63 GNU HURD or Sys af HFS / HFS+ f2 DOS secondary 17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fb VMware VMFS 18 AST SmartSleep 65 Novell Netware b8 BSDI swap fc VMware VMKCORE 1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fd Linux raid auto 1c Hidden W95 FAT3 75 PC/IX bc Acronis FAT32 L fe LANstep 1e Hidden W95 FAT1 80 Old Minix be Solaris boot ff BBT Hex code (type L to list all codes): b Changed type of partition 'Linux' to 'W95 FAT32'.Command (m for help): n Partition typep primary (1 primary, 0 extended, 3 free)e extended (container for logical partitions) Select (default p): p Partition number (2-4, default 2): First sector (8390656-31116287, default 8390656): Last sector, +sectors or +size{K,M,G,T,P} (8390656-31116287, default 31116287): Created a new partition 2 of type 'Linux' and of size 10.9 GiB.Command (m for help): t Partition number (1,2, default 2): b Value out of range. Partition number (1,2, default 2): t Value out of range. Partition number (1,2, default 2): Hex code (type L to list all codes): L0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris 1 FAT12 27 Hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT-2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT-3 XENIX usr 3c PartitionMagic 84 OS/2 hidden or c6 DRDOS/sec (FAT-4 FAT16 <32M 40 Venix 80286 85 Linux extended c7 Syrinx 5 Extended 41 PPC PReP Boot 86 NTFS volume set da Non-FS data 6 FAT16 42 SFS 87 NTFS volume set db CP/M / CTOS / .7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux plaintext de Dell Utility 8 AIX 4e QNX4.x 2nd part 8e Linux LVM df BootIt 9 AIX bootable 4f QNX4.x 3rd part 93 Amoeba e1 DOS access a OS/2 Boot Manag 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad hi ea Rufus alignmente W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD eb BeOS fs f W95 Ext'd (LBA) 54 OnTrackDM6 a6 OpenBSD ee GPT 10 OPUS 55 EZ-Drive a7 NeXTSTEP ef EFI (FAT-12/16/ 11 Hidden FAT12 56 Golden Bow a8 Darwin UFS f0 Linux/PA-RISC b 12 Compaq diagnost 5c Priam Edisk a9 NetBSD f1 SpeedStor 14 Hidden FAT16 <3 61 SpeedStor ab Darwin boot f4 SpeedStor 16 Hidden FAT16 63 GNU HURD or Sys af HFS / HFS+ f2 DOS secondary 17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fb VMware VMFS 18 AST SmartSleep 65 Novell Netware b8 BSDI swap fc VMware VMKCORE 1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fd Linux raid auto 1c Hidden W95 FAT3 75 PC/IX bc Acronis FAT32 L fe LANstep 1e Hidden W95 FAT1 80 Old Minix be Solaris boot ff BBT Hex code (type L to list all codes): bChanged type of partition 'Linux' to 'W95 FAT32'.Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks.czl@czl-RedmiBook-14:~$這樣之后,無論在平臺端還是PC上,掛載此SD卡都出現兩個磁盤:
mnt/F,mnt/G
當MAX_LUNS = 1的時候,PC端和平臺端的掛載情況如下:
可以看到平臺端的mnt/F不見了,被掛載到PC上成了F盤。注意這個時候MAX_LUNS=1
MAX_LUNS=2的時刻,觀察掛載情況:
可以看到,當LUNS為2的時候,平臺端的mnt/F, mng/G不見了,全部都掛載到了PC 上成為了F和 G盤。
這樣來看,LUNS不但和Device上的drive數目有關,也和每個drive的分區數目有關。
?這里貌似和USB那些事兒上講的有出入,書上說的是只算slot,不算分區,但實際測試發現,單張SD卡格式化兩個分區后,雖然只占用一個SLOT,卻需要設置MAX_LUNS=2才能全部掛載,所以還是以實踐為準把,LUNS指的是SLOT和分區數目的總合。所以不止讀卡器這種具備多個卡槽的設備有LUN,連U盤這種獨立的設備,也可以通過建立多個分區偽裝成多個LUN的設備。
進一步,兩個LUN時候device端處理scsi command 的流程(直到掛載成功)
do_scsi_command line 1636, lun 0, command SC_INQUIRY. do_scsi_command line 1636, lun 0, command SC_READ_FORMAT_CAPACITIES. do_scsi_command line 1636, lun 0, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 0, command SC_READ_FORMAT_CAPACITIES. do_scsi_command line 1636, lun 0, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 0, command SC_READ_FORMAT_CAPACITIES. do_scsi_command line 1636, lun 0, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 0, command SC_INQUIRY. do_scsi_command line 1636, lun 1, command SC_INQUIRY. do_scsi_command line 1636, lun 1, command SC_INQUIRY. do_scsi_command line 1636, lun 1, command SC_READ_FORMAT_CAPACITIES. do_scsi_command line 1636, lun 1, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 1, command SC_READ_FORMAT_CAPACITIES. do_scsi_command line 1636, lun 1, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 1, command SC_READ_FORMAT_CAPACITIES. do_scsi_command line 1636, lun 1, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 0, command SC_MODE_SENSE_6. do_scsi_command line 1636, lun 0, command SC_MODE_SENSE_6. do_scsi_command line 1636, lun 0, command SC_MODE_SENSE_6. do_scsi_command line 1636, lun 0, command SC_MODE_SELECT_6. do_scsi_command line 1636, lun 0, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 0, command SC_MODE_SELECT_6. do_scsi_command line 1636, lun 0, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 0, command SC_INQUIRY. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 1, command SC_MODE_SENSE_6. do_scsi_command line 1636, lun 1, command SC_MODE_SENSE_6. do_scsi_command line 1636, lun 1, command SC_MODE_SENSE_6. do_scsi_command line 1636, lun 1, command SC_MODE_SELECT_6. do_scsi_command line 1636, lun 1, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 1, command SC_MODE_SELECT_6. do_scsi_command line 1636, lun 1, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 1, command SC_INQUIRY. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 0, command SC_MODE_SENSE_6. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 1, command SC_MODE_SENSE_6. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 0, command SC_MODE_SENSE_6. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, EAD_CAPACITY. do_scsi_command lSC_MODE_SENSE_6. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_REand line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_READ_CAPACD_10. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10un 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_1standard req:0x6,wValue:0x301,bRequestType=0x80 do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_MODE_SENSE_6. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_MODE_SENSE_6. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_cdo_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_MODE_SENSE_6. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsido_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1,d SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_INQUIRY. do_scsi_command line 1636, lun 0, command SC_READ_FORMAT_CAPACITIES. do_scsi_command line 1636, lun 0, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 0, command SC_READ_FORMAT_CAPACITIES. do_scsi_command line 1636, lun 0, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 0, command SC_READ_FORMAT_CAPACITIES. do_scsi_command line 1636, lun 0, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 0, command SC_INQUIRY. do_scsi_command line 1636, lun 1, command SC_INQUIRY. do_scsi_command line 1636, lun 1, command SC_INQUIRY. do_scsi_command line 1636, lun 1, command SC_READ_FORMAT_CAPACITIES. do_scsi_command line 1636, lun 1, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 1, command SC_READ_FORMAT_CAPACITIES. do_scsi_command line 1636, lun 1, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 1, command SC_READ_FORMAT_CAPACITIES. do_scsi_command line 1636, lun 1, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 0, command SC_MODE_SENSE_6. do_scsi_command line 1636, lun 0, command SC_MODE_SENSE_6. do_scsi_command line 1636, lun 0, command SC_MODE_SENSE_6. do_scsi_command line 1636, lun 0, command SC_MODE_SELECT_6. do_scsi_command line 1636, lun 0, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 0, command SC_MODE_SELECT_6. do_scsi_command line 1636, lun 0, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 0, command SC_INQUIRY. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 1, command SC_MODE_SENSE_6. do_scsi_command line 1636, lun 1, command SC_MODE_SENSE_6. do_scsi_command line 1636, lun 1, command SC_MODE_SENSE_6. do_scsi_command line 1636, lun 1, command SC_MODE_SELECT_6. do_scsi_command line 1636, lun 1, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 1, command SC_MODE_SELECT_6. do_scsi_command line 1636, lun 1, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 1, command SC_INQUIRY. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 0, command SC_MODE_SENSE_6. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 1, command SC_MODE_SENSE_6. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 0, command SC_MODE_SENSE_6. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_REQUEST_SENSE. disk F plug outdisk G plug outdo_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_REQUEST_SENSE. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, EAD_CAPACITY. do_scsi_command lSC_MODE_SENSE_6. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_REand line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_READ_CAPACD_10. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10un 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_1standard req:0x6,wValue:0x301,bRequestType=0x80 do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_MODE_SENSE_6. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_MODE_SENSE_6. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_cdo_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_MODE_SENSE_6. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsido_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1,d SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_READ_10. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 1, command SC_READ_CAPACITY. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 0, command SC_TEST_UNIT_READY. do_scsi_command line 1636, lun 1, command SC_TEST_UNIT_READY.22:主機是如何知道設備有幾個LUNS呢?
hal_udc_ep_set_buf處理很巧妙,先吧buffer 設置給ep0端點,然后設置EP0狀態機為DATA_PHASE,這樣在下個中斷中處理EP0端點的流程中,就可以寫回HOST了。
對應的Linux內核HOST端在probe階段獲取max_lun信息的函數調用。
23:掛載成功:
PC端讀到的usb descriptor信息:
czl@czl-VirtualBox:~/WorkSpace/debug$ lsusb -d 0x1F3A:0x1000 -vBus 001 Device 005: ID 1f3a:1000 Onda (unverified) Couldn't open device, some information will be missing Device Descriptor:bLength 18bDescriptorType 1bcdUSB 1.10bDeviceClass 0 (Defined at Interface level)bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64idVendor 0x1f3a Onda (unverified)idProduct 0x1000 bcdDevice ff.ffiManufacturer 0 iProduct 1 iSerial 2 bNumConfigurations 1Configuration Descriptor:bLength 9bDescriptorType 2wTotalLength 32bNumInterfaces 1bConfigurationValue 1iConfiguration 4 bmAttributes 0x80(Bus Powered)MaxPower 500mAInterface Descriptor:bLength 9bDescriptorType 4bInterfaceNumber 0bAlternateSetting 0bNumEndpoints 2bInterfaceClass 8 Mass StoragebInterfaceSubClass 6 SCSIbInterfaceProtocol 80 Bulk-OnlyiInterface 5 Endpoint Descriptor:bLength 7bDescriptorType 5bEndpointAddress 0x02 EP 2 OUTbmAttributes 2Transfer Type BulkSynch Type NoneUsage Type DatawMaxPacketSize 0x0200 1x 512 bytesbInterval 0Endpoint Descriptor:bLength 7bDescriptorType 5bEndpointAddress 0x81 EP 1 INbmAttributes 2Transfer Type BulkSynch Type NoneUsage Type DatawMaxPacketSize 0x0200 1x 512 bytesbInterval 0 czl@czl-VirtualBox:~/WorkSpace/debug$和程序中給出的描述符信息是完全匹配的:
24:向MSC中拷貝文件時平臺端的打印:
CBW聲明每筆要傳`128個sector.
25:打開MSC磁盤,獲取磁盤信息的流程
26:對于FIFO來說,最大只有512字節,這個信息在主機枚舉階段主機已經獲得,所以每筆傳輸512字節是沒有問題的。
但是對于外部的API來說,可以定義每次API調用傳輸更多的字節,比如API定義傳輸32個 512字節才返回,這可以由應用決定。
內部的實現方式,是通過is_last變量來判斷是否需要上報并喚醒調用API的線程,如果當前非EP0端點并且FIFO中的數據小于一筆512字節大小,則認為是最后一筆,或者傳輸數據達到API設定給data_len的大小,也認為是一筆結束,is_last生效
生效后的is_last會控制用戶層面callback的調用。
這個調用最終會調用notifier喚醒調用API的睡眠線程:
寫MSC,平臺端會讀FIFO,而且是在中斷上下文中
讀MSC, 平臺端會寫FIFO,在中斷上下文
27:USB分析工具 USBTreeView下載:
https://www.uwe-sieber.de/files/UsbTreeView_x64.zip
28:USB Bushund.
Bus Hound
29:最重要的幾個SCSI命令及其意義:
30:掛載MSC后,同一個磁盤下的文件,拷貝到本目錄下,讀/寫操作執行的過程如下:
可以看到,并不是通過硬連接的方式,而是實打實的先讀到PC上,在寫回到設備上。
ekernel/subsys/msc/scsi.c 1374 do_write ekernel/subsys/msc/scsi.c 1374 do_write ekernel/subsys/msc/scsi.c 1374 do_write ekernel/subsys/msc/scsi.c 1374 do_write ekernel/subsys/msc/scsi.c 1374 do_write ekernel/subsys/msc/scsi.c 1374 do_write ekernel/subsys/msc/scsi.c 1374 do_write ekernel/subsys/msc/scsi.c 1374 do_write ekernel/subsys/msc/scsi.c 1374 do_write ekernel/subsys/msc/scsi.c 1374 do_write ekernel/subsys/msc/scsi.c 1374 do_write ekernel/subsys/msc/scsi.c 1374 do_write ekernel/subsys/msc/scsi.c 1374 do_write ekernel/subsys/msc/scsi.c 1374 do_write ekernel/subsys/msc/scsi.c 1374 do_write ekernel/subsys/msc/scsi.c 1374 do_write do_read line 1020, file ekernel/subsys/msc/scsi.c. do_read line 1020, file ekernel/subsys/msc/scsi.c. do_read line 1020, file ekernel/subsys/msc/scsi.c. do_read line 1020, file ekernel/subsys/msc/scsi.c. do_read line 1020, file ekernel/subsys/msc/scsi.c. do_read line 1020, file ekernel/subsys/msc/scsi.c. do_read line 1020, file ekernel/subsys/msc/scsi.c. do_read line 1020, file ekernel/subsys/msc/scsi.c. do_read line 1020, file ekernel/subsys/msc/scsi.c. do_read line 1020, file ekernel/subsys/msc/scsi.c. do_read line 1020, file ekernel/subsys/msc/scsi.c. do_read line 1020, file ekernel/subsys/msc/scsi.c. do_read line 1020, file ekernel/subsys/msc/scsi.c. do_read line 1020, file ekernel/subsys/msc/scsi.c. do_read line 1020, file ekernel/subsys/msc/scsi.c. do_read line 1020, file ekernel/subsys/msc/scsi.c. do_read line 1020, file ekernel/subsys/msc/scsi.c. do_read line 1020, file ekernel/subsys/msc/scsi.c. do_read line 1020, file ekernel/subsys/msc/scsi.c. do_read line 1020, file ekernel/subsys/msc/scsi.c. do_read line 1020, file ekernel/subsys/msc/scsi.c. do_read line 1020, file ekernel/subsys/msc/scsi.c. do_read line 1020, file ekernel/subsys/msc/scsi.c. do_read line 1020, file ekernel/subsys/msc/scsi.c. do_read line 1020, file ekernel/subsys/msc/scsi.c. do_read line 1020, file ekernel/subsys/msc/scsi.c. do_read line 1020, file ekernel/subsys/msc/scsi.c. do_read line 1020, file ekernel/subsys/msc/scsi.c. do_read line 1020, file ekernel/subsys/msc/scsi.c. do_read line 1020, file ekernel/subsys/msc/scsi.c. do_read line 1020, file ekernel/subsys/msc/scsi.c. do_read line 1020, file ekernel/subsys/msc/scsi.c. do_read line 1020, file ekernel/subsys/msc/scsi.c. ekernel/subsys/msc/scsi.c 1374 do_write ekernel/subsys/msc/scsi.c 1374 do_write ekernel/subsys/msc/scsi.c 1374 do_write ekernel/subsys/msc/scsi.c 1374 do_write ekernel/subsys/msc/scsi.c 1374 do_write ekernel/subsys/msc/scsi.c 1374 do_write ekernel/subsys/msc/scsi.c 1374 do_write ekernel/subsys/msc/scsi.c 1374 do_writeLinux CONFIGFS的安裝:
?
czl@czl-VirtualBox:/sys/kernel/config$ cat /proc/mounts |grep configfs configfs /sys/kernel/config configfs rw,relatime 0 0 czl@czl-VirtualBox:/sys/kernel/config$ tree . └── pci_ep├── controllers└── functions3 directories, 0 files czl@czl-VirtualBox:/sys/kernel/config$關于UAC設備和USB聲卡的關聯,可以以下的函數中添加調用棧打印信息
31:USB的幾大傳輸包括控制、批量、中斷、等時傳輸,無論哪種傳輸,第一個包都是由主機先發起的,包括中斷傳輸。前面我們調用 usb_fill_int_urb()填充好了一個 urb,這會兒就該提 交了,然后主機控制器就知道了,然后如果一切順利的話,主機控制器就會定期來詢問 Hub, 問它有沒有中斷,有的話就進行中斷傳輸。
32:關于USB設備配置,接口,端點之間的關系,USB驅動那些事總結如下:
同一時刻,我們只能選擇一種配置,但是可以選擇一個配置里面的多個接口,端點從屬于某個接口。同一個接口也可以由多個接口描述符描述,通過alt setting區分。
USB storage Driver int in linux
usb storage disk driver use config CONFIG_USB_STORAGE=m. compile to ko module by default. compile the usb-storage driver in linux
make M=drivers/usb/storage
driver intialize, systemd called insmod usb-storage.ko if device has been pluged.call stack.
PC Linux envionment PCI XHCI Controller emulated:
USB XHCI domain bdf is 0000:00:14.0.
xhci device add:
pci xhci driver add:
register flow:
xhci_pci_init->pci_register_driver-->...->driver_register->....->bus_add_driver->...>bus_for_each_device->...->_driver_attach->...>device_driver_attach->....->really_probe->pci_device_probe->....->xhci_pci_probe.
上面的storage注冊是從驅動注冊開始,此時設備已經注冊好了,如果從HUB發現設備開始,這個時候驅動是OK的,設備從0開始發現,則需要經歷USB的DEVICE PROBE階段和INTERFACE PROBE節點,所有會有兩層PROBE。發生這種情況比如PCI REMOVE/RESCAN 抖動時候。
echo 1 > /sys/devices/pci0000\:00/0000\:00\:14.0/remove sleep 1 echo 1 > /sys/devices/pci0000\:00/0000\:00\:00.0/rescanno matter usb device or usb interface device, all they are in the usb_bus_type bus.
usb bus type method support usb dvice and usb interface device type recongnition match.
結束!
總結
以上是生活随笔為你收集整理的USB设备驱动学习记录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 以爬虫为例,单线程,协程,线程,进程之间
- 下一篇: 召集众位挑战者-2021百威校园挑战赛4