Author Topic: Malformed command after SCSI Inquiry request  (Read 10048 times)

mikyak

  • Member
  • ***
  • Posts: 9
Malformed command after SCSI Inquiry request
« on: September 22, 2011, 08:55:11 am »
Hello!

I get the CBW command from the host, decode it, and send the 36 byte scsi inquiry data answer.
On the usb analyzer, this is displayed as a correct transaction.
However, immediately after that, the next transaction shows up as a malformed command
on the analyzer. This malformed command consists only of not ACKed IN tokens.

I try to write the CSW status either after the inquiry data has been sent
or as part of the same transaction. But regardless of whether I send CSW or not, there
is the malformed command.

In one example for a mass storage thumb drive from Freescale, there appears to be no sending  of
CSW status after the inquiry data is sent. Is this correct? According to other sources,
including Jan Axelson's book there should always be a CSW to corresponding CBW.

Any help would be gratly appreciated.


mikyak

  • Member
  • ***
  • Posts: 9
Re: Malformed command after SCSI Inquiry request
« Reply #1 on: September 22, 2011, 09:05:35 am »
It would help if the error could be limited to some part of code.
Can the error be in the inquiry data, the sending logic, or the descriptor descriptions ?
Kind regards!

Jan Axelson

  • Administrator
  • Frequent Contributor
  • *****
  • Posts: 3033
    • Lakeview Research
Re: Malformed command after SCSI Inquiry request
« Reply #2 on: September 22, 2011, 09:27:30 am »
Not ACKed IN tokens aren't a malformed command. They're just a request for data from the device. Hopefully the endpoint is NAKing the IN token packets, not ignoring them.

In any case, your question appears to be why is the host requesting data from the device. I would say look at your response to the Inquiry command, as it appears that the host doesn't think you've sent enough data.

Jan