This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nrf52840 usb_msc demo windos10 Home Edition USB disk will be lost in about 20 minutes

I used usb_msc with nRF5SDK160098a08e2 sdk to connect the usb of pca10056 development board to win10 home version and the disk could not be recognized after about 20 minutes;

1. Current test conclusion:

 1) Appears only in win10 home edition, not in win10 professional edition;
 2) Use the Debug mode, the optimization level is set to None, the disk is displayed for 20 minutes after mounting, and the disk is not lost. When entering the secondary folder to write the file, the file cannot be written, and finally the disk is lost;


2. Test procedures

nRF5SDK160098a08e2-new-2.rar

3. Problem phenomenon
1) When the USB is connected to the computer


2) The disk is lost in about 20 minutes


4. Test method
1) Burn the compiled program
2) USB connection to win10 home version computer
2) Create TEST1/TEST2/test.txt

   
3) Write the current time in the test.txt file every 10 minutes;
4) After a few times you will find that the file cannot be written;
5) The disk has been lost;



5. The compiled hex file is convenient for you to quickly reproduce the problem;

 2425.usbd_msc_pca10056.hex

Parents
  • Can it be that the  USB port power is turned off after a while? There shouldn't be any difference in how Windows handles a USB drive across Windows versions. Check in Device Manager: 

  • 1. Test conclusion

    1) I turn off the power saving option of USB hub power tube of win10 home version, and the test will still appear;

    2. Other information:

    1) The windows 10 home version is connected to the MCU of other four manufacturers without disk loss;

    2) It can be determined that there is a difference between win10 home edition and win10 professional edition. Previously, we used MCU from other manufacturers to encounter disk loss in win10 home edition, which was finally solved by upgrading SDK;

    3. Personal suggestions:

    1) You find a win10 home computer, which is very easy to reproduce;

  • Hello sir,

    Message from the driver team:

    -----------------

    Yes, it looks like an unsupported command with opcode 133 (0x85) is received. That command is ATA PASS-THROUGH(16), which is an extension not supported by the device. Can the customer check if adding the following code in app_usbd_msc.c changes the host's behaviour:

    - Add function above state_cbw():

    static ret_code_t cmd_atapassthrough(app_usbd_class_inst_t const * p_inst, app_usbd_msc_t const * p_msc, app_usbd_msc_ctx_t * p_msc_ctx)
    {
        NRF_LOG_DEBUG("CMD: ATA PASS-THROUGH");
        return csw_wait_start(p_inst, APP_USBD_MSC_CSW_STATUS_PASS);
    }

    - In switch-case inside state_sbw(), just before default, add case:

    case 0x85:
        ret = cmd_atapassthrough(p_inst, p_msc, p_msc_ctx);
        break;

    -----------------

    Can you please test the suggested workaround, and see how it behaves? Check if the log prints the "CMD: ATA PASS-THROUGH" message, and if the switch-case handling solves the issue.

    Best regards,

    Edvin

  • Hi Edvin:

    The USB test has been re-run according to your suggestion, and the disk will still be lost;
    The log is as follows;

    [00:00:00.064,514] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.064,514] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.064,514] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.064,514] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.064,514] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.000,549] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.000,549] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.000,549] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.000,549] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.000,549] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.000,549] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.000,549] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.061,584] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.061,584] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.061,584] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.061,584] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.061,584] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.061,584] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.061,645] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.122,680] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.122,680] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.122,680] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.122,680] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.122,680] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.122,680] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.122,680] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.058,715] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.058,715] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.058,715] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.058,715] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.058,715] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.058,715] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.058,715] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.119,750] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.119,750] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.119,750] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.119,750] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.119,750] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.119,750] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.119,812] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.055,847] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.055,847] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.055,847] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.055,847] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.055,847] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.055,847] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.055,847] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.116,882] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.116,882] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.116,882] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.116,882] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.116,882] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.116,882] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.116,882] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.052,917] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.052,917] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.052,917] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.052,917] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.052,917] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.052,917] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.052,978] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.114,013] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.114,013] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.114,013] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.114,013] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.114,013] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.114,013] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.114,013] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.050,048] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.050,048] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.050,048] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.050,048] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.050,048] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.050,048] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.050,048] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.111,083] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.111,083] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.111,083] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.111,083] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.111,083] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.111,083] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.111,145] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.047,180] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.047,180] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.047,180] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.047,180] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.047,180] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.047,180] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.047,180] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.108,215] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.108,215] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.108,215] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.108,215] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.108,215] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.108,215] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.108,215] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.044,250] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.044,250] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.044,250] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.044,250] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.044,250] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.044,250] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.044,311] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.105,346] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.105,346] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.105,346] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.105,346] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.105,346] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.105,346] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.105,346] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.041,381] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.041,381] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.041,381] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.041,381] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.041,381] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.041,381] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.041,381] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.102,416] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.102,416] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.102,416] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.102,416] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.102,416] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.102,416] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.102,478] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.038,513] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.038,513] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.038,513] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.038,513] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.038,513] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.038,513] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.038,513] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.099,548] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.099,548] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.099,548] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.099,548] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.099,548] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.099,548] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.099,548] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.035,583] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.035,583] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.035,583] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.035,583] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.035,583] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.035,583] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.035,644] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.096,679] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.096,679] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.096,679] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.096,679] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.096,679] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.096,679] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.096,679] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.032,714] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.032,714] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.032,714] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.032,714] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.032,714] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.032,714] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.032,714] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.093,750] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.093,750] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.093,750] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.093,750] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.093,750] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.093,750] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.093,811] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.029,846] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.029,846] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.029,846] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.029,846] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.029,846] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.029,846] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.029,846] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.090,881] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.090,881] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.090,881] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.090,881] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.090,881] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.090,881] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.090,881] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.026,916] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.026,916] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.026,916] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.026,916] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.026,916] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.026,916] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.026,977] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.088,012] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.088,012] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.088,012] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.088,012] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.088,012] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.088,012] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.088,012] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.024,047] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.024,047] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.024,047] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.024,047] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.024,047] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.024,047] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.024,047] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.085,083] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.085,083] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.085,083] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.085,083] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.085,083] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.085,083] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.085,144] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.021,118] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.021,118] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.021,179] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.021,179] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.021,179] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.021,179] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.021,179] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.082,214] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.082,214] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.082,214] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.082,214] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.082,214] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.082,214] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.082,214] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.018,249] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.018,249] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.018,249] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.018,249] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.018,249] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.018,249] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.018,310] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.079,284] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.079,284] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.079,345] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.079,345] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.079,345] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.079,345] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.079,345] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.015,380] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.015,380] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.015,380] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.015,380] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.015,380] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.015,380] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.015,380] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.076,416] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.076,416] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.076,416] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.076,416] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.076,416] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.076,416] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.076,477] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.012,451] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.012,451] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.012,512] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.012,512] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.012,512] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.012,512] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.012,512] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.073,547] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.073,547] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.073,547] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.073,547] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.073,547] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.073,547] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.073,547] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.009,582] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.009,582] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.009,582] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.009,582] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.009,582] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.009,582] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.009,643] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.070,617] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.070,617] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.070,617] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.070,617] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.070,617] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.070,617] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.070,678] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.006,713] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.006,713] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.006,713] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.006,713] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.006,713] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.006,713] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.006,713] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.067,749] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.067,749] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.067,749] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.067,749] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.067,749] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.067,749] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.067,749] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.003,784] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.003,784] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.003,845] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.003,845] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.003,845] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.003,845] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.003,845] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.064,880] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.064,880] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.064,880] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.064,880] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.064,880] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.064,880] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.064,880] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.000,915] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.000,915] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.000,915] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.000,915] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.000,915] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.000,915] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.000,915] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.061,950] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.061,950] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.061,950] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.061,950] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.061,950] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.061,950] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.062,011] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.123,046] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.123,046] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.123,046] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.123,046] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.123,046] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.123,046] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.123,046] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.059,082] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.059,082] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.059,082] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.059,082] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.059,082] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.059,082] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.059,082] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.120,117] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.120,117] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.120,117] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.120,117] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.120,117] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.120,117] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.120,178] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.056,213] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.056,213] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.056,213] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.056,213] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.056,213] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.056,213] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.056,213] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.117,248] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.117,248] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.117,248] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.117,248] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.117,248] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.117,248] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.117,248] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.053,283] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.053,283] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.053,283] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.053,283] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.053,283] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.053,283] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.053,344] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.114,379] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.114,379] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.114,379] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.114,379] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.114,379] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.114,379] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.114,379] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.050,415] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.050,415] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.050,415] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.050,415] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.050,415] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.050,415] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.050,415] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.111,450] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.111,450] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.111,450] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.111,450] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.111,450] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.111,450] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.111,511] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.041,442] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.041,442] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.041,442] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.041,442] <debug> usbd_msc: CMD: READCAPACITY10
    
    [00:00:00.041,442] <debug> usbd_msc: transfer_in_start: p_buff: 0x20031E98, size: 8
    
    [00:00:00.041,442] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.041,442] <debug> usbd_msc: state: 3, ep in event, status: 0
    
    [00:00:00.041,442] <debug> usbd_msc: csw_wait_start: 0
    
    us: 0
    
    [00:00:00.047,546] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.047,546] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.047,546] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.047,546] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.047,546] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.047,546] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.047,546] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.062,072] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.062,072] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.062,072] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.062,072] <debug> usbd_msc: CMD: READCAPACITY10
    
    [00:00:00.062,072] <debug> usbd_msc: transfer_in_start: p_buff: 0x20031E98, size: 8
    
    [00:00:00.062,072] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.062,072] <debug> usbd_msc: state: 3, ep in event, status: 0
    
    [00:00:00.062,072] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.062,133] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.093,566] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.093,566] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.093,566] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.093,566] <debug> usbd_msc: CMD: READCAPACITY10
    
    [00:00:00.093,566] <debug> usbd_msc: transfer_in_start: p_buff: 0x20031E98, size: 8
    
    [00:00:00.093,566] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.093,627] <debug> usbd_msc: state: 3, ep in event, status: 0
    
    [00:00:00.093,627] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.093,627] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.108,581] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.108,581] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.108,581] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.108,581] <debug> usbd_msc: CMD: TESTUNITREADY
    
    [00:00:00.108,581] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.108,581] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.108,581] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.114,440] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    [00:00:00.114,440] <debug> usbd_msc: cbw_wait_start
    
    [00:00:00.114,440] <debug> usbd_msc: state: 2, ep out event, status: 0
    
    [00:00:00.114,440] <debug> usbd_msc: CMD: INQUIRY
    
    [00:00:00.114,440] <debug> usbd_msc: transfer_in_start: p_buff: 0x20031E98, size: 36
    
    [00:00:00.114,440] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.114,440] <debug> usbd_msc: state: 3, ep in event, status: 0
    
    [00:00:00.114,440] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.114,501] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.114,501] <debug> usbd_msc: state: 6, ep out event, status: 1
    
    tus: 0
    
    [00:00:00.114,501] <debug> usbd_msc: CMD: ATA PASS-THROUGH
    
    [00:00:00.114,501] <debug> usbd_msc: csw_wait_start: 0
    
    [00:00:00.114,501] <debug> usbd_msc: Ep proc status: 0
    
    [00:00:00.114,501] <debug> usbd_msc: state: 6, ep in event, status: 0
    
    [00:00:00.031,982] <debug> app_usbd_core: SETUP: t: 0x80 r: 0x06
    
    [00:00:00.038,024] <debug> app_usbd_core: SETUP: t: 0x80 r: 0x06
    
    [00:00:00.038,024] <debug> app_usbd_core: SETUP: t: 0x00 r: 0x09
    
    [00:00:00.038,085] <debug> usbd_msc: state: 0, ep out event, status: 1
    
    [00:00:00.109,985] <debug> app_usbd_core: SETUP: t: 0x80 r: 0x06
    
    [00:00:00.115,966] <debug> app_usbd_core: SETUP: t: 0x80 r: 0x06
    
    [00:00:00.116,027] <debug> app_usbd_core: SETUP: t: 0x00 r: 0x09
    
    [00:00:00.116,088] <debug> usbd_msc: state: 0, ep out event, status: 1
    
    [00:00:00.033,630] <debug> app_usbd_core: SETUP: t: 0x80 r: 0x06
    
    [00:00:00.039,611] <debug> app_usbd_core: SETUP: t: 0x80 r: 0x06
    
    [00:00:00.039,672] <debug> app_usbd_core: SETUP: t: 0x00 r: 0x09
    
    [00:00:00.039,733] <debug> usbd_msc: state: 0, ep out event, status: 1
    
    [00:00:00.111,572] <debug> app_usbd_core: SETUP: t: 0x80 r: 0x06
    
    [00:00:00.117,614] <debug> app_usbd_core: SETUP: t: 0x80 r: 0x06
    
    [00:00:00.117,614] <debug> app_usbd_core: SETUP: t: 0x00 r: 0x09
    
    [00:00:00.117,675] <debug> usbd_msc: state: 0, ep out event, status: 1
    
    [00:00:00.093,811] <debug> app_usbd_core: SETUP: t: 0x80 r: 0x06
    
    [00:00:00.099,853] <debug> app_usbd_core: SETUP: t: 0x80 r: 0x06
    
    [00:00:00.099,853] <debug> app_usbd_core: SETUP: t: 0x00 r: 0x09
    
    [00:00:00.099,914] <debug> usbd_msc: state: 0, ep out event, status: 1
    
    [00:00:00.046,813] <debug> app_usbd_core: SETUP: t: 0x80 r: 0x06
    
    [00:00:00.052,856] <debug> app_usbd_core: SETUP: t: 0x80 r: 0x06
    
    [00:00:00.052,917] <debug> app_usbd_core: SETUP: t: 0x00 r: 0x09
    
    [00:00:00.052,978] <debug> usbd_msc: state: 0, ep out event, status: 1
    
    [00:00:00.029,113] <debug> app_usbd_core: SETUP: t: 0x80 r: 0x06
    
    [00:00:00.035,095] <debug> app_usbd_core: SETUP: t: 0x80 r: 0x06
    
    [00:00:00.035,156] <debug> app_usbd_core: SETUP: t: 0x00 r: 0x09
    
    [00:00:00.035,217] <debug> usbd_msc: state: 0, ep out event, status: 1
    
    [00:00:00.107,055] <debug> app_usbd_core: SETUP: t: 0x80 r: 0x06
    
    [00:00:00.113,159] <debug> app_usbd_core: SETUP: t: 0x80 r: 0x06
    
    [00:00:00.113,159] <debug> app_usbd_core: SETUP: t: 0x00 r: 0x09
    
    [00:00:00.018,310] <debug> usbd_msc: state: 0, ep out event, status: 1
    
    [00:00:00.090,148] <debug> app_usbd_core: SETUP: t: 0x80 r: 0x06
    
    [00:00:00.096,191] <debug> app_usbd_core: SETUP: t: 0x80 r: 0x06
    
    [00:00:00.096,191] <debug> app_usbd_core: SETUP: t: 0x00 r: 0x09
    
    [00:00:00.096,313] <debug> usbd_msc: state: 0, ep out event, status: 1
    
    [00:00:00.043,151] <debug> app_usbd_core: SETUP: t: 0x80 r: 0x06
    
    [00:00:00.049,194] <debug> app_usbd_core: SETUP: t: 0x80 r: 0x06
    
    [00:00:00.049,194] <debug> app_usbd_core: SETUP: t: 0x00 r: 0x09
    
    [00:00:00.049,255] <debug> usbd_msc: state: 0, ep out event, status: 1
    
    [00:00:00.025,390] <debug> app_usbd_core: SETUP: t: 0x80 r: 0x06
    
    [00:00:00.031,433] <debug> app_usbd_core: SETUP: t: 0x80 r: 0x06
    
    [00:00:00.031,433] <debug> app_usbd_core: SETUP: t: 0x00 r: 0x09
    
    [00:00:00.031,494] <debug> usbd_msc: state: 0, ep out event, status: 1
    
    [00:00:00.007,629] <debug> app_usbd_core: SETUP: t: 0x80 r: 0x06
    
    [00:00:00.013,671] <debug> app_usbd_core: SETUP: t: 0x80 r: 0x06
    
    [00:00:00.013,671] <debug> app_usbd_core: SETUP: t: 0x00 r: 0x09
    
    [00:00:00.013,732] <debug> usbd_msc: state: 0, ep out event, status: 1
    
    [00:00:00.085,632] <debug> app_usbd_core: SETUP: t: 0x80 r: 0x06
    
    [00:00:00.091,613] <debug> app_usbd_core: SETUP: t: 0x80 r: 0x06
    
    [00:00:00.091,674] <debug> app_usbd_core: SETUP: t: 0x00 r: 0x09
    
    [00:00:00.091,735] <debug> usbd_msc: state: 0, ep out event, status: 1
    
    [00:00:00.067,871] <debug> app_usbd_core: SETUP: t: 0x80 r: 0x06
    
    [00:00:00.073,852] <debug> app_usbd_core: SETUP: t: 0x80 r: 0x06
    
    [00:00:00.073,913] <debug> app_usbd_core: SETUP: t: 0x00 r: 0x09
    
    [00:00:00.074,035] <debug> usbd_msc: state: 0, ep out event, status: 1
    
    [00:00:00.050,170] <debug> app_usbd_core: SETUP: t: 0x80 r: 0x06
    
    [00:00:00.056,152] <debug> app_usbd_core: SETUP: t: 0x80 r: 0x06
    
    [00:00:00.056,213] <debug> app_usbd_core: SETUP: t: 0x00 r: 0x09
    
    [00:00:00.056,274] <debug> usbd_msc: state: 0, ep out event, status: 1
    
    

    app_usbd_msc.c  file is as follows;

    app_usbd_msc-1.c

  • Hello,

    I noticed that the timestamp from your log isn't chronological? Do you know the reason for that? Is the nRF resetting when the log timer resets? If so, have you checked why it resets? By the way, are the timestamps from the logging module or your terminal?

    One example of this is between line 9 and 11. Is this a reset, or just the app_timer/nrf_log acting funny?

    Have you tried to print something in the log on startup, and see if that occurs when the log reset the timer?

    If you have a reset, can you check the reset register on restart?

  • This reply was deleted.
  • Hello,

    I see that our R&D team is discussing whether or not they can spend resources (physical and time) to research this issue by installing the Windows version on a computer. 

    In the meantime, they still struggled to understand the timestamp on the logs. Was the ATA PASS the last command issued from the USB host, or was there something after that? I am sorry if this is really obvious for you. It was not to us, unfortunately. 

    From their last internal message:

    "My suspicion is that there is another ATA-related command issued from Windows which we consider a fail. My candidate is the "ATA SENSE". On Google I found that some Linux versions check for SMART values every 10 seconds and this is my suspicion in this case. Maybe this Windows version does this check in a similar fashion.

    Are there any other commands that are not handled? I can't see it from your logs, but I am not sure if there are any resets in the log or not.

    BR,

    Edvin

Reply
  • Hello,

    I see that our R&D team is discussing whether or not they can spend resources (physical and time) to research this issue by installing the Windows version on a computer. 

    In the meantime, they still struggled to understand the timestamp on the logs. Was the ATA PASS the last command issued from the USB host, or was there something after that? I am sorry if this is really obvious for you. It was not to us, unfortunately. 

    From their last internal message:

    "My suspicion is that there is another ATA-related command issued from Windows which we consider a fail. My candidate is the "ATA SENSE". On Google I found that some Linux versions check for SMART values every 10 seconds and this is my suspicion in this case. Maybe this Windows version does this check in a similar fashion.

    Are there any other commands that are not handled? I can't see it from your logs, but I am not sure if there are any resets in the log or not.

    BR,

    Edvin

Children
  • Hello,

    Did you check whether you had any resets during the runtime of the log? 

    Our main suspicion is that there are still some unhandled USB events, but I don't see any NRF_LOG_DEBUG("CMD: UNSUPPORTED"), which would suggest an unhandled event in the log. Therefore, I want to know whether your log is from one take, or if you have snipped together several runs.

    It would also be good if you write something like:

    NRF_LOG_INFO("application start"); in the beginning of your application. Then you would know if you have any resets during the runtime.

    Best regards,

    Edvin

  • Hello,

    I am so sorry for our no response in the last two months. We spend a lot of resources on the development of new functions so that the issue is suspended. My apologies again and now it is the time to restart it. The issue was processed by  @Mars_xu but he is busy in other things, so I accept an assignment to take it over.

    I have read all the replies and add required codes to /examples/peripheral/usbd_msc/. I repeat the test and capture the logs. All the logs are export to usbd_msc_pca10056_abnormal.log from Debug Terminal of SEGGER Embedded Studio for ARM V4.30b (64-bit) ("SES" for short). The modified source code files and the log file are attached.

    I have searched the log file and find "CMD: ATA PASS-THROUGH" in it. Maybe this is what you want. And from there, the timestamps are out-of-order. I promise that I did not reset the development board (nRF52840-DK).

    And you can see there are lots of "Logs dropped" in the log file. I have defined macro NRF_LOG_DEFERRED to 0 according to https://devzone.nordicsemi.com/f/nordic-q-a/43365/nrf_log-logs-are-dropped, but I get asset failed finally.

    I am wondering if there is any progress in the last two months? Please kindly let me know. I will appreciate it if you could provide some additional suggestions.

    Yours,

    DJJ

    usbd_msc_pca10056_debug.7z

  • Hello DJJ,

    I don't have any news on this front. 

    Can you please explain to me the difference between usbd_msc_pca10056_abnormal.log and usbd_msc_pca10056_asset_failed.log? I see that the "abnormal" is the one that contains the "CMD: ATA PASS-THROUG". The other one does not. What is the difference?

    I see that some logs are dropped. Is it possible to remove some of the logs that aren't essential? 

    When do you get this CMD: ATA PASS-THROUG? Is it "immediately" after connecting the USB, or is it after the 20 minutes, when the usb device has stopped responding?

    Can you please try to set breakpoints in the following places, to check whether they are hit, but the log is dropped:

    1: Somewhere near the start of your application? E.g. where you print the "Reset reason". I want to double check that the device doesn't reset (even though you don't do it manually).

    2: In the error handler. Please define DEBUG in your preprocessor definitions. Then set a breakpoint in app_error_handler_bare() in app_error.c (make sure that the APP_ERROR_CHECK() -> APP_ERROR_HANDLER() is pointing to this, after you add DEBUG in your preprocessor definitions). 

    Then, approximately where in the log are you when the device stops responding? Is it the "CMD: ATA PASS_THROUGH"?

    BR,
    Edvin

  • Hello Edvin,

    It is my negligence to not explain the "asset failed" one to you. As mentioned in my last reply, I defined macro NRF_LOG_DEFERRED to 0 to solve the problem that lots of logs are dropped. However, it leads to asset failed finally. I exported the logs to usbd_msc_pca10056_asset_failed.log in case there is any useful information. It seems that I caused a confusion. I am sorry for that.

    To solve the problem that a lot of logs are dropped, I have disabled some  statements (e.g. NRF_LOG_DEBUG("state: %d, ep out event, status: %d", p_msc_ctx->state, p_event->drv_evt.data.eptransfer.status);) which print the status of usbd. I repeat the test and export the logs to usbd_msc_pca10056_abnormal_0915_01.log. However, some logs are still dropped. So I disabled all the statements except these who begin with "CMD:" in app_usbd_msc.c. I repeat the test for another 3 times and the log files are named in sequence. Unfortunately, the problem is not solved totally. And I hope that there is no important information that is dropped. All the log files are attached. 

    I have set breakpoints in the required places and run the program in debug mode with DEBUG defined. I am sure that there is no reset in the whole running period. And the function app_error_handler_bare() is never called. 

    I confirm that the device stops responding when the "CMD: ATA PASS-THROUGH" is printed. After that, the logs are printed in a very slow speed and the logs are similar. You could verify this point by checking the logs after "CMD: ATA PASS-THROUGH". Moreover, I notice that  it spend less time to stop responding in debug mode than that connect to PC only. The device stops responding in 3, 8 and 13 minutes and the corresponding log files are "03", "02" and "04" respectively. If you connect the device to PC only, it will spend abort 20 minutes to stop responding.

    I hope there is any information useful and could help you.

    Yours,

    DJJ

    usbd_msc_pca10056_abnormal_logs.7z

  • Hello Edvin,

    I am wondering if there is any progress now? The issue is of great concern to us. I will appreciate it if you could pay some attention to it and kindly let me know if there is any progress.

    Thank you in advance.

    Yours,

    DJJ

Related