I am developing host driver for my hardware. It is working fine when i
connect 256MB pendrive. when i connect greater than 256MB (eg: 1,2GB),
it detects well as mass storage device, and shows drive in My device.
But when i click it, it is opened. But after few secons it will
automatically close drive. And hangs.
Why it happens for only more than 256 MB pendrives.
Thanks in Advance.
Regards - D.
Thanks for reply. Yes, you are right.
After mounting my device, host and device communicates with CBW and
CSW (Test Unit Ready only). In the middle of this communication, for
CBW (OUT), my host sends STALL for that command, so CSW also
automatically failled.
This causes, again Mass storage class asks ScsiGetSenseData but at
that time MS class gives the Mass Storage restart. So file system
closes (ie., unmount my disk) abruptly.
Anyway my host again mounted device (1GB pendrive) within seconds. But
this will happened frequently in my case.
May I know why this happens because for one CBW Stall will unmount the
entire device?
Note: (1) I tried with empty pendrive (FAT). The same problem
occured.
(2) The same host driver is working for 256MB pendrive
without any issues.
(3) I did not update latest updates (QFEs).
Regards - D.
=========================================================================
STALL
71828 PID:ce9df6ae TID:e9eccb2 0x8e80fc08: BOT_DataTransfer error
(5.3.1, 31, 0x4, 31, 31, 4000)
71830 PID:ce9df6ae TID:ae813fae +usb_isr >>> SYSINTR_USB
[19] ,INTSTS0=2080
71830 PID:ce9df6ae TID:ae813fae +usb_isr >>> SYSINTR_USB
[19] ,INTSTS0=2180
71830 PID:ce9df6ae TID:e9eccb2 0x8e80fc08: +USBD:ResetPipe
71879 PID:ce9df6ae TID:ae813fae +usb_isr >>> SYSINTR_USB
[19] ,INTSTS0=2080
71879 PID:ce9df6ae TID:ae813fae +usb_isr >>> SYSINTR_USB
[19] ,INTSTS0=2180
71928 PID:ce9df6ae TID:ae813fae +usb_isr >>> SYSINTR_USB
[19] ,INTSTS0=2080
71928 PID:ce9df6ae TID:ae813fae +usb_isr >>> SYSINTR_USB
[19] ,INTSTS0=2180
71975 PID:ce9df6ae TID:ae813fae +usb_isr >>> SYSINTR_USB
[19] ,INTSTS0=2580
73022 PID:ce9df6ae TID:e9eccb2 0x8e80fc08: BOT_DataTransfer warning
(6.7.2.3, RequestLength:18 TransferLength:0 Err:0 UsbErr:0x0,
dwTimeout:5000)
73498 PID:ce9df6ae TID:2e8b5e16 0x8e817a58:
+DHCPV6MessageMgrTimerCallbackRoutine
73498 PID:ce9df6ae TID:ee8f8682 0x8e89b4a8: DhcpV6: Sending Info
Request message
74071 PID:ce9df6ae TID:e9eccb2 0x8e80fc08: BOT_DataTransfer warning
(6.7.2.3, RequestLength:18 TransferLength:0 Err:0 UsbErr:0x0,
dwTimeout:3953)
75120 PID:ce9df6ae TID:e9eccb2 0x8e80fc08: BOT_DataTransfer warning
(6.7.2.3, RequestLength:18 TransferLength:0 Err:0 UsbErr:0x0,
dwTimeout:2904)
76169 PID:ce9df6ae TID:e9eccb2 0x8e80fc08: BOT_DataTransfer warning
(6.7.2.3, RequestLength:18 TransferLength:0 Err:0 UsbErr:0x0,
dwTimeout:1855)
76993 PID:ce9df6ae TID:e9eccb2 0x8e80fc08: BOT_DataTransfer warning
(6.7.2.3, RequestLength:18 TransferLength:0 Err:1460 UsbErr:0x0,
dwTimeout:806)
77218 PID:ce9df6ae TID:e9eccb2 0x8e80fc08: Invalid Csw size: 0, 13
77222 PID:ce9df6ae TID:ae813fae +usb_isr >>> SYSINTR_USB
[19] ,INTSTS0=2080
77222 PID:ce9df6ae TID:ae813fae +usb_isr >>> SYSINTR_USB
[19] ,INTSTS0=2180
77223 PID:ce9df6ae TID:e9eccb2 0x8e80fc08: ScsiGetSenseData error:
1460
77223 PID:ce9df6ae TID:e9eccb2 0x8e80fc08: ScsiTestUnitReady ERROR:
1460
77223 PID:2ea09b2e TID:ee9f4f5a 0x8ea09634: FSD_UnmountDisk
(0xb3430): unmounting...
77223 PID:2ea09b2e TID:ee9f4f5a 0x8ea09634: FATFS!UnmountDisk:
unmounting all volumes on disk 000B3430
77231 PID:2ea09b2e TID:ee9f4f5a 0x8ea09634: CStore Destructor
(000B1830)
77269 PID:ce9df6ae TID:ae813fae +usb_isr >>> SYSINTR_USB
[19] ,INTSTS0=2580
==========================================================================
Thanks for ur reply,
bot.c is mass-storage class driver. Shall we change this class driver
for various host controller (different vendors) hardware?
Regards - D.
No, I think you shall not. Because this driver works fine on many
platforms. I think there is some problems in your HCD.
Because I know of at least two devices, with CE 5.00, with different
HCD's, but the same USB storage drivers.
So my advice is to look inside data transfer Implementation in yout
HCD.
Or it can be problem with the current device. So you can check it in
desktop PC, and you can create USB request log with any USB sniffer
and compare it with your debug output.
>>it can be problem with the current device.
The device is working fine in desktop PC and 3rd party
host driver in ce5.0.
>>and you can create USB request log with any USB sniffer and compare it with your debug output.
There is no PC interference between my host controller
hardware and Pendriver (device). So how can i run USB sniffer.
Main thing is, during mass-storage transfer, device sends STALL for
BULK out (CBW), so only BOT layer unmount my folder. So i suspect, why
device sends STALL?
and what are all the conditions Device sends STALL related to mass
storage (BULK out).
Regards - D.