sahara icon indicating copy to clipboard operation
sahara copied to clipboard

Error response from msm8909

Open willnewton opened this issue 6 years ago • 4 comments

I was interested to try this out with an msm8909 (Quectel SC20 module EVB platform) but I could only get back an error response when I tried any of the register reads. Any idea how I can debug this?

Sending Client Command: 0x02 - Read MSM HW ID
Dumping 12 bytes written
0d 00 00 00 0c 00 00 00  02 00 00 00              | ............
Dumping 16 bytes read
04 00 00 00 10 00 00 00  0d 00 00 00 01 00 00 00  | ................

Error Response

willnewton avatar Nov 28 '17 09:11 willnewton

In my experience, command mode will return invalid command (as it did here) when the command is not supported. Since this value is read from QFPROM one time fuses, it could be that this feature is not implemented or that the sahara version it is using has these commands removed.

Do any other client commands work?

ghassani avatar Nov 28 '17 18:11 ghassani

It seems that all commands return the same error:

Sending Client Command: 0x02 - Read MSM HW ID
Dumping 12 bytes written
0d 00 00 00 0c 00 00 00  02 00 00 00              | ............
Dumping 16 bytes read
04 00 00 00 10 00 00 00  0d 00 00 00 01 00 00 00  | ................

Error Response
Sending Client Command: 0x07 - Read SBL SW Version
Dumping 12 bytes written
0d 00 00 00 0c 00 00 00  07 00 00 00              | ............
Dumping 16 bytes read
04 00 00 00 10 00 00 00  0d 00 00 00 01 00 00 00  | ................

Error Response
Sending Client Command: 0x06 - Read Debug Data
Dumping 12 bytes written
0d 00 00 00 0c 00 00 00  06 00 00 00              | ............
Dumping 16 bytes read
04 00 00 00 10 00 00 00  0d 00 00 00 01 00 00 00  | ................

Error Response
Sending Client Command: 0x03 - Read OEM PK Hash
Dumping 12 bytes written
0d 00 00 00 0c 00 00 00  03 00 00 00              | ............
Dumping 16 bytes read
04 00 00 00 10 00 00 00  0d 00 00 00 01 00 00 00  | ................

Error Response
Sending Client Command: 0x01 - Read Serial Number
Dumping 12 bytes written
0d 00 00 00 0c 00 00 00  01 00 00 00              | ............
Dumping 16 bytes read
04 00 00 00 10 00 00 00  0d 00 00 00 01 00 00 00  | ................

Error Response
Sending Client Command: 0x00 - NOP
Dumping 12 bytes written
0d 00 00 00 0c 00 00 00  00 00 00 00              | ............
Dumping 16 bytes read
04 00 00 00 10 00 00 00  0d 00 00 00 01 00 00 00  | ................

Error Response

willnewton avatar Nov 29 '17 14:11 willnewton

Sahara is retarded sometimes. When it encounters an error, the session needs to be restarted or the device needs to be restarted. Sadly, I did not handle this in the program.

Also, since I have no documentation yet, this is the correct way to send client commands with the program:

  • Restart device to 9008
  • Open Sahara program
  • Uncheck Auto Hello
  • Connect to the device
  • It should automatically read the hello from the device, if not press the Read Hello button.
  • Set Mode in the Hello Handshake section to Client Command Mode
  • Click the Respond button in the Hello Handshake section
  • Go to Command tab if it does not take you there automatically
  • Send a client command

ghassani avatar Nov 30 '17 18:11 ghassani

I tried what you suggested (connect then read hello) and I get:

/dev/ttyUSB1 USB VID:PID=05c6:9008  Qualcomm CDMA Technologies MSM QHSUSB__BULK 
Connected to /dev/ttyUSB1
No data waiting. Not in sahara mode, already in a session, or device requires a restart.

willnewton avatar Dec 08 '17 15:12 willnewton