This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TUSB9261: Part Cycling between SS_Connect & HS_FS Suspend after programming firmware

Part Number: TUSB9261

Hello,

I've embedded a TUSB9261 into a PCB following the design of the DEMO board. When plugging in the TUSB9261 to a computer via USB with no firmware flashed, or the SPI enable disconnected, the computer recognizes the device completely fine. However, once I flash the firmware to the device, it begins cycling between turning on the SS_Connect LED and the HS_FS Suspend LED. Additionally, the device does not seem to recognize any SATA devices. Any ideas as to what is causing this behavior? 

Thanks

  • Hi Tyler,

    What version of the TUSB9261 FW are you using? There could also be concerns on signal integrity. What are the traces lengths on the USB side TUSB9261? What king of cabling are you using and how long? 

  • I'm using version FW 1.06v. Does any software need to be loaded onto the SSD? Does it need to be formatted before use?

    The USB 3 traces are about 33mm long, and the USB 2 traces are about 60mm long. The USB cable I'm using is about 1 foot long. I'm using a FUSB340TMX‎ and USB3740B-AI2-TR‎ to switch the USB 2/3 signals between the TUSB9261 and another USB device, but if the computer recognizes the TUSB9261 before programming the FW, then it would make sense that the USB signal integrity is fine, correct? 

  • Quick update:

    Found the issue with the connections, my FUSB340 chip was dead. The TUSB9261 appears when connected now, but the HS_FS suspend LED is still lit. I've completely removed any connection the chip has to USB 3, but the LED still remain lit, for some reason. The device I'm trying to connect to is an mSATA SSD, but it still is not being detected as a drive by the computer. 

  • I've completely disconnected the TUSB9261 from any USB 3 connection, here's what I've found:

    When the mSATA device is not installed, the SS_Connect LED lights up, as well as the HS_FS suspend LED, however the TUSB9261 appears in the flash burner utility, as well as an Mass Storage Device in Windows File Explorer with 0 bytes of storage

    When the mSATA device IS installed, the SS_Connect LED lights up, as well as the HS_FS suspend LED, but nothing appears in the flash burner utility, Windows FIle Explorer, or even device manager. 

    My guess is that the TUSB9261 believes it is connected to some kind of USB 3 device, even when nothing is connected to it. This means it disables the HS/FS USB 2.0 port, stopping the device from communicating any SATA information. 

    Does anyone know of a way to stop this behavior? Are there any older firmware versions I could try? Maybe tie the USB 3.0 lines to ground?

  • Hi Tyler,

    Sorry for the delay, do you have a schematic for your board that I can review? Could you also share a screen capture of the device manager? To stop USB 3 communication you simply need to use a USB 2 cable between TUSB9261 and your PC. 

  • Here's the current state of things. The device doesn't appear in device manager with the mSATA SSD installed. When the mSATA SSD is not installed, device manager shows this (USB Mass Storage Device):

    And the file explorer shows this:

    I'm using a USB 3 cable, but I've only attached USB 2 communication circuitry, so I wouldn't think that would effect the communication, would it?

  • Connected by a purely USB 2 cable, still no change. I am getting this in my device manager when the mSATA device is installed now:

  • Just as a bit of extra information, I'm using this part as my oscillator chip:

    https://www.digikey.com/product-detail/en/sitime/SIT9005AI-21-18EH40.000000E/1473-SIT9005AI-21-18EH40.000000E-ND/11472257

    It's a 1.8v LVCMOS 40Mhz MEMS oscillator with plus minus 20ppm frequency stability. 

  • Could it be that the bMaxPower descriptor is set too low? Currently it's set to 70. If my max current draw will be around 800mA, shouldn't that be set higher?

  • Hi Tyler,

    Sorry for the delay. I would agree that bMaxPower should reflect you actual power consumption. Also if you are drawing over 500 mA (USB2 max current) you should be connecting on USB 3 not USB 2. Could you help me understand you application. Where does the USB 3 side of TUSB9261's upstream port connect? Your oscillator GND or TUSB9261 pin VDDOSC does not seem to be connected to GND, in the schematic. However I imagine that R37 and R38 are actually poulated?

    It seems that the FW has been flashed correctly from the device manager when the mSATA card is not installed and there are only descriptor issues when the mSATA card is installed. Do you have a SATA HDD or SSD you could try to connect? Are you using default USB descriptors? These are programmed into flash using the TUSB9261 flash-burner software.

  • I'm utilizing a USB 3 port to provide power, as I understand the max current leaving them is 900mA. I am only using the USB 2 communication out of the port, however. The entire device is bus powered, so no external/ wall power is being applied.

    What value would I input into the Flashburner software to set the bMAxPower to 800 mA? I can't tell if the value "70" represents a hex value or a decimal value in the utility, as some values appear to be hex while others appear to be decimal. 

    My application is essentially switching an mSATA SSD between one USB 3 device and one USB C device, using the USB 2.0 lines. I'm ignoring the USB 3 lines for now, as my client does not want to use them. I forgot to delete the USB 3 lines leaving the TUSB9261, but they are not connected to anything on the physical circuit board.

    R37 and R38 are populated, correct, I forgot to denote that on the schematic. 

    I am using the firmware provided by TI with no alterations whatsoever, so I guess that includes no alterations to the default USB descriptors. I only have mSATA SSD's to try, as the only SATA connector on my PCB is an mSATA header. 

  • Hi Tyler,

    This kind of implementation is not exactly compliant. Even if you are using USB 3.0 connectors if the link enumerates at USB 2.0 you will only get 500 mA not 900 mA (assuming you report as a bus-powered device). In this case USB 3 lanes should be used. However to continue debug I recommend trying to externally power your device if possible. 

    bMaxPower is reported in units of mA but the value in the descriptor should be multiplied by 2 to get the actual max current consumption. In you case this field should list a 400 in decimal.

    I think your mSATA card may not be getting the correct amount of power, could you confirm this in some way?

  • Added an external power supply to the board providing 5v and 3A, still can't connect to the SSD. When powered from the external power, GPIO Pin PWM0, which indicates a USB connection, stays on when not connected to the computer, and shut off when connected to the computer. The SS_Connect LED and HS/FS suspend LED's stay on regardless.

    I tried editing the values in bMaxPower, but the Flash Burner utility says the maximum value I can enter is 0x70, which it is already set to. 

    The mSATA card is receiving 3.225v, and I measured the current draw on the 3.3v line. It was 154mA when not plugged into USB, and ~200mA when plugged in. It drops back down to 154mA when the device enumerates and Windows throws a "USB Malfunctioned" error. On another SSD I tried, there is no such current spike or error, and the TUSB9261 enumerates, but it doesn't appear in the flash utility, disk manager, or file explorer, only in device manager as a generic mass storage device. 

    What about the DevSlp pin on the mSATA drive? Does that need to be driven, or can it be left floating? 

  • Tested driving the DevSlp pin low, no change. Haven't tried driving it high, as, according to the datasheet: "The DevSleep pin is an enable high pin."  I also checked the voltages on the 3.3v line while things booted up, and there were no voltage drops when plugged into the the USB port. I don't really see how the SSD would not be receiving enough power, as the voltage would sag if it did.

     

     

  • Hi Tyler,

    Sorry for the long gap in reply. You were able to get one SSD commented and enumerated to the PC. have you tried using USBTree or USB view softeare to confirm that the SSD can be seen by the PC's USB Host? If it shoes up here and teh device manager then that means TUSB9261 is working on the USB side.

  • The TUSB9261 enumerates regardless of the SSD being inserted or not, I'm almost 100% positive there is no issue on the USB side. The TUSB9261 enumerates with a yellow exclamation point when the SSD is inserted, and enumerates fine with an "empty drive" with no SSD. Reading from this forum, my belief is there is a firmware issue. From what I've found, if the TUSP9261 has an problem mounting the SATA drive, it displays these VID and PID values.

    My problem is almost an exact copy of this one, except I'm using mSATA instead of eSATAp: https://e2e.ti.com/support/interface/f/138/t/280592?TUSB9261-Win-Linux-PC-s-can-only-see-it-when-no-media-is-connected#pi320995=1

    I've ordered a different SSD from Kingston to test to see if a more expensive SSD works. I've tested every firmware version with the different polarities for the SATA data lines, all of them don't work.

  • Hi Tyler,

    From your schematic its seems that you are not in need of any inversions of SATS TX and RX. Just to confirm, you have tried the "standard" versions of the FW (TUSB926x_FW_v1.06 or TUSB926x_FW_v1.05)? Please let me know when you have tested the other SSD. I am going to do some digging internally and try to get back to you ASAP. 

  • My schematic shows I've swapped the TX lines going into A+ and A-:

    I've tried uploading every version of the firmware to the board, v1.06, none of them have worked. I'll update you on the SSD later tonight

  • Tried the other SSD, did not work, had the same issues

  • I tried going to the product page for the device to try to download the firmware again, just to check, and now I when I try to download the U1/U2 disabled firmware, I can't unzip the file, and if I downlod the U1./U2 enabled firmware, the firmware version is 0.99v. Sometimes the TI website even throws a Error 400 Bad Gateway request. Can you link me to the 1.06v and 1.05v firmware versions so I can test a fresh download of them?

  • Hi Tyler,

    Please find the FW at this link: 

    Thanks for the clarification on the schematic. Can you monitor the UART pins of TUSB9261 for Debug messages that are output? Do you have a SATA anaylzer so that we can see whats happening on the SATA side?

  • No change with the new firmware. I don't have a SATA analyzer, but I can check the UART pins later tonight. 

  • mSATA_to_USBC_RERUN.zip

    I've attached the gerbers for my board, although I've removed the USB 3 and USB C components in the top left of the board. Do you think the trace impedance of the SATA lines have anything to do with the issues? My calculations are putting everything at about 90 ohms, which is in the 100 ohm plus minis 15% specified by the datasheet, but maybe I did my math wrong? Trace width is 10 mils, and I have ground planes surrounding the diff pairs with 0.175mm spacing

      

  • Tyler,

    I will review your Gerber's to see what I can find. In the mean time we should focus on the UART  debug message log from TUSB9261. Could you provide the output when the mSATA SSD is connected vs. when it is not?

  • Hello!

    Sorry for the delay, I had to find a 3.3v compatible serial to USB device. Here's the results:

    No SSD inserted:

    ========================================================
    
    ||   TUSB926x Firmware v1.06 [Jan  5 2018 12:01:27]   ||
    
    ||                 Device ID: 0x0000                  ||
    
    ========================================================
    
    
     Reset Flag(s): [Power-Up]
    
    
    [0000000001] Datapath RAM Usage: 80208 / 81920 bytes.
    
    [0000000001] Supported NCQ Depth: 32
    
    [0000000001] U1/U2 Transistions: OFF
    
    [0000000001] USB PHY Suspend: ON
    
    [0000000001] SATA LPM: OFF
    
    [0000000001] Device is Self-powered.
    
    [0000000001] -> usb_hal_init()
    
    [0000000001] USB Core Ver: 0x120a.
    
    [0000000001] USB SSC is OFF.
    
    [0000000051] -> usb_hal_connect()
    
    [0000000051][0000000051] LTSSM state = (0x5) RX DETECT.
    
     -> ahci_init()
    
    [0000000051] -> ahci_hba_reset()
    
    [0000000150] HS/FS/LS state = (0x0) ON.
    
    [0000000153] HS/FS/LS state = (0x5) EARLY SUSPEND.
    
    [0000000156] HS/FS/LS state = (0x3) SUSPEND.
    
    [0000000251] USB Reset event occurred.
    
    [0000000306] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
    
    [0000000306] -> ahci_port_reset(0)
    
    [0000000306] Connected at HIGH speed.
    
    [0000000306] HS/FS/LS state = (0x0) ON.
    
    [0000000339] -> usb_hal_set_address() - addr: 0x7.
    
    [0000000361] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
    
    [0000000361] -> ahci_port_reset(0)
    
    [0000000368] -> handle_usb_set_configuration() - val = 1.
    
    [0000000416] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
    
    [0000000416] -> ahci_port_reset(0)
    
    [0000000471] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
    
    [0000000471] -> ahci_port_reset(0)
    
    [0000000526] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
    
    [0000000526] -> ahci_port_reset(0)
    
    [0000000581] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
    
    [0000000581] -> ahci_port_reset(0)
    
    [0000000636] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
    
    [0000000636] -> ahci_port_reset(0)
    
    [0000000691] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
    
    [0000000691] -> ahci_port_reset(0)
    
    [0000000746] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
    
    [0000000746] -> ahci_port_reset(0)
    
    [0000000801] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
    
    [0000000801] -> ahci_port_reset(0)
    
    [0000000856] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
    
    [0000000856] -> ahci_port_reset(0)
    
    [0000000911] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
    
    [0000000911] -> ahci_port_reset(0)
    
    [0000000966] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
    
    [0000000966] -> ahci_port_reset(0)
    
    [0000001021] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
    
    [0000001271] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
    
    [0000001271] -> ahci_port_reset(0)
    
    [0000001326] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
    
    [0000001326] -> ahci_port_reset(0)
    
    [0000001381] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
    
    [0000001381] -> ahci_port_reset(0)
    
    [0000001436] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
    
    [0000001436] -> ahci_port_reset(0)
    
    [0000001491] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
    
    [0000001491] -> ahci_port_reset(0)
    
    [0000001546] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
    
    [0000001546] -> ahci_port_reset(0)
    
    [0000001601] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
    
    [0000001601] -> ahci_port_reset(0)
    
    [0000001656] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
    
    [0000001656] -> ahci_port_reset(0)
    
    [0000001711] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
    
    [0000001711] -> ahci_port_reset(0)
    
    [0000001766] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
    
    [0000001766] -> ahci_port_reset(0)
    
    [0000001821] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
    
    [0000001821] -> ahci_port_reset(0)
    
    [0000001876] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
    
    [0000001876] -> ahci_port_reset(0)
    
    [0000001931] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
    
    [0000001931] -> ahci_port_reset(0)
    
    [0000001986] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
    
    [0000002236] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
    
    [0000002236] @Error: Timeout waiting for PHY Ready. P0SSTS = 0x00000000, P0SERR = 0x00000000.
    
    [0000002236] Connected to 0 AHCI device(s).
    
    [0000002237] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0xa2.
    
    [0000002237] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0xa2.
    
    [0000002237] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0xa2.
    
    [0000002237] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0xa2.
    
    [0000002237] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0xa2.
    
    [0000002238] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0xa2.
    
    [0000002238] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x23.
    
    [0000002239] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x23.
    
    [0000002239] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x23.
    
    [0000002240] -> ums_bot_case_handler() - case 5.
    
    [0000002243] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x25.
    
    [0000002243] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x1a.
    
    [0000002244] -> ums_bot_case_handler() - case 5.
    
    [0000002244] -> ums_bot_case_handler() - case 5.
    
    [0000002245] -> ums_bot_case_handler() - case 5.
    
    [0000002246] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x1a.
    
    [0000002246] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x1a.
    
    [0000002247] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x25.
    
    [0000002247] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x25.
    
    [0000002247] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x25.
    
    [0000002248] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x9e.
    
    [0000002249] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x9e.
    
    [0000002249] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x9e.
    
    [0000002250] -> ums_bot_case_handler() - case 5.
    
    [0000002250] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x25.
    
    [0000002251] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x25.
    
    [0000002251] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x25.
    
    [0000002252] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x25.
    
    [0000002253] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x25.
    
    [0000002254] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x25.
    
    [0000002257] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x1a.
    
    [0000002258] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x00.
    
    [0000002259] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x00.
    
    [0000002259] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x00.
    
    [0000002259] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x1a.
    
    [0000002260] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x00.
    
    [0000002260] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x00.
    
    [0000002262] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x00.
    
    [0000002263] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x1a.
    
    [0000002263] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x00.
    
    [0000002264] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x1a.
    
    [0000002265] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x00.
    
    [0000002299] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x00.
    
    [0000002300] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x1a.
    
    [0000002300] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x00.
    
    [0000002302] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x00.
    
    [0000002302] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x1a.
    
    [0000002303] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x00.
    
    [0000002795] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x25.
    
    [0000002812] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x25.
    
    [0000003245] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x00.
    
    [0000003500] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x25.
    
    [0000004246] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x00.
    
    [0000005247] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x00.
    
    [0000006248] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x00.
    
    [0000007248] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x00.
    
    [0000008249] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x00.
    
    [0000009249] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x00.
    
    [0000010249] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x00.
    
    [0000011250] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x00.
    
    [0000012250] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x00.
    
    

    SSD inserted:

    ========================================================
    || TUSB926x Firmware v1.06 [Jan 5 2018 12:01:27] ||
    || Device ID: 0x0000 ||
    ========================================================
    
    Reset Flag(s): [Power-Up]
    
    [0000000001] Datapath RAM Usage: 80208 / 81920 bytes.
    [0000000001] Supported NCQ Depth: 32
    [0000000001] U1/U2 Transistions: OFF
    [0000000001] USB PHY Suspend: ON
    [0000000001] SATA LPM: OFF
    [0000000001] Device is Self-powered.
    [0000000001] -> usb_hal_init()
    [0000000001] USB Core Ver: 0x120a.
    [0000000001] USB SSC is OFF.
    [0000000051] -> usb_hal_connect()
    [0000000051][0000000 [ [00000[00000001 [00 [00 [ [ [0rror_isr [000000 [0000 [0000 [0000000548 [0000000584] -> a [000 [000000 [000000 [000000 [000000 [0000 [00 [00000 [00000 [000000 [000000100 [0000 [00000 [00 [00000 [0000001 [00000 [00000012 [ [0000 [000000 [00000 [000000 [ [0000001538 [00000or_is [0000001 [0000001 [00eset(0)
    [000 [000 [0000 [0000 [0000001 [000000200 [00000 [00 [00 [0000 [ [00000022 [ [000 [0000 [0000002408 [000000 [0000 [0000002558 [00000 [000000 [00000 [00000 [0000002 [000ets = 46 [0000 [0000 [0000 [00000 [0000002 [000 [00000isr() - er [000000300003194] [00 [0000003272] -> a [00000 [000000 [00000 [ [0000 [0000 [0000 [0000003602] [000 [00000 [0000003716] [0000 [000 [00 [0 [0000 [00 [000000 [000000 [00000040 [0000_isr() [000000 [0000 [00000042 [000 [0000004346 [000000 [00000 [00000 [00000 [00000 [00 [00 [00000046 [0000 [0000 [000000 [00 [000000 [ [0000004 [ [000000497 [00000 [0000005 [0000005078 [000000 [00000 [0000 [0000 [000000 [0000 [0000005r() - er [00000054 [00000 [00 [000000552 [00000 [00000055 [0000 [00 [0000 [00 [000000 [0000 [0000 [0000005 [0000 [00000059 [0000 [0000 [00 [0000 [00 [00 [0000 [00000062 [0000 [000000 [00000error_isr [0000 [000 [000000 [00000065 [000000 [00 [0000 [00000066 [00 [0000 [00 [00 [000000 [0000 [00 [0000 [000000 [00 [0000 [0000007166 [00000 [00 [000000 [000000 [000000734 [0000007388 [0000007 [000000 [000000 [000 [00000 [ [0000 [000000 [000000resets [000000 [00 [0000 [0000007934] [00 [000000 [0000008042 [000 [0000 [0000008 [00000 [00000 [0000 [00 [00000 [000000 [00000 [ [000000 [0000008 [0000 [00000086 [0000008 [0000_error_is [000000 [00 [0000008 [0000008888 [00000089 [0 [0000008996] [00 [00 [000000 [000000 [0000 [0 [00

    ^This is where I shut off the device

    It seems like when I insert the SSD, the TUSB9261 starts spitting out garbage. Any ideas?

  • Hi Tyler,

    From the second log it seems that TUSB9261 is detecting tons of errors on SATA which is overflowing the log and it never negotiates a connection. This seems to be a SATA compatibility issue. You can try this FW version to limit the SATA bus to Gen1 speed and see if it makes a difference? Unfortunately, I am not sure if there is much more support we can provide beyond this. 

    Please accept my friend request so that I may send you the FW. Please update the thread once you have accepted the request. 

  • Friend request has been accepted

  • Hi Tyler,

    I have sent the file over DM.

  • No dice, still doesn't work. My feeling is the trace impedance is to blame, that seems to be the only possibility at this point?

    Rerunning the math using some online calculators, looks like my differential impedance is closer to 118-121 ohms. 

  • ========================================================
    
    ||   TUSB926x Firmware v1.06 [Apr 25 2018 14:29:38]   ||
    
    ||                 Device ID: 0x0000                  ||
    
    ========================================================
    
    
     Reset Flag(s): [Power-Up]
    
    
    [0000000001] Datapath RAM Usage: 80208 / 81920 bytes.
    
    [0000000001] Supported NCQ Depth: 32
    
    [0000000001] U1/U2 Transistions: OFF
    
    [0000000001] USB PHY Suspend: ON
    
    [0000000001] SATA LPM: OFF
    
    [0000000001] Device is Self-powered.
    
    [0000000001] -> usb_hal_init()
    
    [0000000001] USB Core Ver: 0x120a.
    
    [0000000001] USB SSC is OFF.
    
    [0000000051] -> usb_hal_connect()
    
    [0000000051][0000000051] LTSSM state = (0x5) RX DETECT.
    
     -> ahci_init()
    
    [0000000051] -> ahci_hba_reset()
    
    [0000000150] HS/FS/LS state = (0x0) ON.
    
    [0000000153] HS/FS/LS state = (0x5) EARLY SUSPEND.
    
    [0000000156] HS/FS/LS state = (0x3) SUSPEND.
    
    [0000000251] USB Reset event occurred.
    
    [0000000278] -> 
    [0000000318] -> ah
    [00000
    [0
    [0000000402] -> ah
    [00000004
    [0000000503] -
    [0000000545] -> a
    [0000000
    [0000000617]
    [0000000653] -> a
    [000000
    [000000073⸮
    
    ========================================================
    
    ||   TUSB926x Firmware v1.06 [Apr 25 2018 14:29:38]   ||
    
    ||                 Device ID: 0x0000                  ||
    
    ========================================================
    
    
     Reset Flag(s): [SW] [Power-Up]
    
    
    [0000000001] Datapath RAM Usage: 80208 / 81920 bytes.
    
    [0000000001] Supported NCQ Depth: 32
    
    [0000000001] U1/U2 Transistions: OFF
    
    [0000000001] USB PHY Suspend: ON
    
    [0000000001] SATA LPM: OFF
    
    [0000000001] Device is Self-powered.
    
    [0000000001] -> usb_hal_init()
    
    [0000000001] USB Core Ver: 0x120a.
    
    [0000000001] USB SSC is OFF.
    
    [0000000051] -> usb_hal_connect()
    
    [0000000051][-> ah
    [
    [0000000114] -> a
    [0000000150] ->
    [0000000198] -> ahci_por
    [0000000246] -> ahci
    [00
    [0000000311] -> a
    [000
    [0000000389] 
    [
    [0000000
    [000000047
    [00000005
    [00000005
    [000000
    [0000000652] -> ahci_r
    [0000000700]
    [0000000745
    [00000007
    [0000000817] -> ahci_rx_
    [00
    

    I tried powering it on with a few different SSD's. Some of them are causing the device to reboot randomly, and each reboot includes the flag SW along with Power-Up.

  • Hi Tyler,

    Sorry for the long delay in response. Are you still seeing the issue above? As best I can tell it seems to be a full reset of TUSB9261 but from your message it sounds like GRST does not change state, is that correct?