Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    SG-3100 Bad USB controller

    Scheduled Pinned Locked Moved Official Netgate® Hardware
    18 Posts 3 Posters 1.2k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      maddog3115
      last edited by

      I bought a "new" sg-3100 and everything was working briefly when testing. I went to configure for rollout and not booting properly. After several tries to reload firmware(different USB keys) and having TAC take a look it was determined the USB controller is bad since it doesn't see to read from USB properly. Can i replace the USB controller? If so where is the usb IC located? I did a few searches for the chips closest to the Console and USB ports but nothing definitive.
      3b81c51f-09e5-45b9-8c12-b6b7dbad5a44-image.png
      5091d812-2646-4699-91ce-7c4c2ef3d2e4-image.png

      Thanks,

      R M 2 Replies Last reply Reply Quote 0
      • R
        rcoleman-netgate Netgate @maddog3115
        last edited by

        @maddog3115 More likely your USB image/drive is not written well.

        Windows? Did it try to auto-mount the drive after writing it?

        Ryan
        Repeat, after me: MESH IS THE DEVIL! MESH IS THE DEVIL!
        Requesting firmware for your Netgate device? https://go.netgate.com
        Switching: Mikrotik, Netgear, Extreme
        Wireless: Aruba, Ubiquiti

        1 Reply Last reply Reply Quote 0
        • M
          maddog3115 @maddog3115
          last edited by

          @maddog3115 Hi Rcoleman, tried multiple USB keys with Balena and Rufus the Netgate TAC tech even shared a session and created a key and tested , it was actually the tech that concluded it's a bad USB controller based on the behaviour.

          thanks

          R M 2 Replies Last reply Reply Quote 0
          • R
            rcoleman-netgate Netgate @maddog3115
            last edited by

            @maddog3115 When you boot it up and run "usb reset" without a flash drive installed what do you get for output?

            Ryan
            Repeat, after me: MESH IS THE DEVIL! MESH IS THE DEVIL!
            Requesting firmware for your Netgate device? https://go.netgate.com
            Switching: Mikrotik, Netgear, Extreme
            Wireless: Aruba, Ubiquiti

            M 1 Reply Last reply Reply Quote 0
            • stephenw10S
              stephenw10 Netgate Administrator
              last edited by

              Make sure you have done a full power cycle on the device. If the USB controller throws errors like that it can sometimes be in an invalid state.

              What command did you run to et the second part of your screen shot above?

              It's much easier to parse the console output if it's just copy/pasted here rather than snapshots.

              Steve

              1 Reply Last reply Reply Quote 0
              • M
                maddog3115 @maddog3115
                last edited by stephenw10

                @maddog3115 Hi rcoleman i receive this with usb reset and no key plugged in

                U-Boot 2013.01-02873-g5e4ac3c (Aug 11 2017 - 13:12:40) Marvell version: devel-17.06.0
                
                Board: Rogue-1
                SoC:   MV88F6820 Rev A0
                       running 2 CPUs
                CPU:   ARM Cortex A9 MPCore (Rev 1) LE
                       CPU 0
                       CPU    @ 1600 [MHz]
                       L2     @ 800 [MHz]
                       TClock @ 250 [MHz]
                       DDR4    @ 800 [MHz]
                       DDR4 32 Bit Width,FastPath Memory Access, DLB Enabled, ECC Disabled
                DRAM:  2 GiB
                MMC:   mv_sdh: 0
                DBG: Calling spi_flash_probe from env_relocate_spec()
                SF: Probing bus 0 cs 0 @ 20000000Hz mode 3
                SF: Detected N25Q128 with page size 64 KiB, total 16 MiB
                PCI-e 0: Detected No Link.
                PCI-e 1: Detected No Link.
                USB2.0 0: Host Mode
                USB3.0 1: Host Mode
                
                Map:   Code:                    0x7fedc000:0x7ff975a8
                       BSS:                     0x7ffef600
                       Stack:                   0x7f4cbf20
                       Heap:                    0x7f4cc000:0x7fedc000
                       U-Boot Environment:      0x00100000:0x00110000 (SPI)
                
                Board configuration detected:
                Net:
                |  port  | Interface | PHY address  |
                |--------|-----------|--------------|
                | egiga0 |   RGMII   |     0x00     |
                | egiga1 |   RGMII   |     0x01     |
                | egiga2 |   SGMII   |   In-Band    |
                egiga0 [PRIME], egiga1, egiga2
                Hit any key to stop autoboot:  0
                Marvell>> usb reset
                (Re)start USB...
                USB0:   mvBoardUsbVbusSet: gppNo = 35
                Port (usbActive) : 1    Interface (usbType = 3) : USB XHCI 1.00
                scanning bus 0 for devices... 1 USB Device(s) found
                       scanning usb for storage devices... 0 Storage Device(s) found
                       scanning usb for ethernet devices... 0 Ethernet Device(s) found
                
                1 Reply Last reply Reply Quote 0
                • M
                  maddog3115 @rcoleman-netgate
                  last edited by

                  @rcoleman-netgate hi stephenw10, I fully power cycle before plugging in any Key. The error in the second screengrab is when I use run recovery to execute recovery firmware install.

                  1 Reply Last reply Reply Quote 0
                  • stephenw10S
                    stephenw10 Netgate Administrator
                    last edited by

                    Can we see the full console output with the USB key attached when you run recovery?

                    M 1 Reply Last reply Reply Quote 0
                    • M
                      maddog3115 @stephenw10
                      last edited by stephenw10

                      @stephenw10 here's a full boot and output

                      
                      BootROM - 1.73
                      Booting from SPI flash
                      
                      
                      General initialization - Version: 1.0.0
                      AVS selection from EFUSE disabled (Skip reading EFUSE values)
                      Overriding default AVS value to: 0x23
                      Detected Device ID 6820
                      High speed PHY - Version: 2.0
                      
                      Init Customer board board SerDes lanes topology details:
                       | Lane # | Speed|    Type     |
                       ------------------------------|
                       |   0    |  3   |  SATA0      |
                       |   1    |  5   |  PCIe0      |
                       |   2    |  3   |  SATA1      |
                       |   3    |  4   |  SGMII2     |
                       |   4    |  5   |  PCIe1      |
                       |   5    |  5   |  USB3 HOST1 |
                       -------------------------------
                      
                      PCIe, Idx 0: detected no link
                      PCIe, Idx 1: detected no link
                      High speed PHY - Ended Successfully
                      mv_ddr: mv_ddr-armada-17.06.1-g07f8294 (Aug 11 2017 - 13:12:46)
                      DDR4 Training Sequence - Switching XBAR Window to FastPath Window
                      mv_ddr: completed successfully
                      BootROM: Image checksum verification PASSED
                      
                       __   __                      _ _
                      |  \/  | __ _ _ ____   _____| | |
                      | |\/| |/ _` | '__\ \ / / _ \ | |
                      | |  | | (_| | |   \ V /  __/ | |
                      |_|  |_|\__,_|_|    \_/ \___|_|_|
                               _   _     ____              _
                              | | | |   | __ )  ___   ___ | |_
                              | | | |___|  _ \ / _ \ / _ \| __|
                              | |_| |___| |_) | (_) | (_) | |_
                               \___/    |____/ \___/ \___/ \__|
                       ** LOADER **
                      
                      
                      U-Boot 2013.01-02873-g5e4ac3c (Aug 11 2017 - 13:12:40) Marvell version: devel-17.06.0
                      
                      Board: Rogue-1
                      SoC:   MV88F6820 Rev A0
                             running 2 CPUs
                      CPU:   ARM Cortex A9 MPCore (Rev 1) LE
                             CPU 0
                             CPU    @ 1600 [MHz]
                             L2     @ 800 [MHz]
                             TClock @ 250 [MHz]
                             DDR4    @ 800 [MHz]
                             DDR4 32 Bit Width,FastPath Memory Access, DLB Enabled, ECC Disabled
                      DRAM:  2 GiB
                      MMC:   mv_sdh: 0
                      DBG: Calling spi_flash_probe from env_relocate_spec()
                      SF: Probing bus 0 cs 0 @ 20000000Hz mode 3
                      SF: Detected N25Q128 with page size 64 KiB, total 16 MiB
                      PCI-e 0: Detected No Link.
                      PCI-e 1: Detected No Link.
                      USB2.0 0: Host Mode
                      USB3.0 1: Host Mode
                      
                      Map:   Code:                    0x7fedc000:0x7ff975a8
                             BSS:                     0x7ffef600
                             Stack:                   0x7f4cbf20
                             Heap:                    0x7f4cc000:0x7fedc000
                             U-Boot Environment:      0x00100000:0x00110000 (SPI)
                      
                      Board configuration detected:
                      Net:
                      
                      |  port  | Interface | PHY address  |
                      |--------|-----------|--------------|
                      | egiga0 |   RGMII   |     0x00     |
                      | egiga1 |   RGMII   |     0x01     |
                      | egiga2 |   SGMII   |   In-Band    |
                      egiga0 [PRIME], egiga1, egiga2
                      Hit any key to stop autoboot:  0
                      Marvell>> usb reset
                      (Re)start USB...
                      USB0:   mvBoardUsbVbusSet: gppNo = 35
                      Port (usbActive) : 1    Interface (usbType = 3) : USB XHCI 1.00
                      scanning bus 0 for devices... cannot reset port 2!?
                      1 USB Device(s) found
                      Bad detection, need a second reset...
                      USB0:   mvBoardUsbVbusSet: gppNo = 35
                      Port (usbActive) : 1    Interface (usbType = 3) : USB XHCI 1.00
                      scanning bus 0 for devices... 2 USB Device(s) found
                             scanning usb for storage devices... 1 Storage Device(s) found
                             scanning usb for ethernet devices... 0 Ethernet Device(s) found
                      Marvell>> run recovery
                      (Re)start USB...
                      USB0:   mvBoardUsbVbusSet: gppNo = 35
                      Port (usbActive) : 1    Interface (usbType = 3) : USB XHCI 1.00
                      scanning bus 0 for devices... 2 USB Device(s) found
                             scanning usb for storage devices... 1 Storage Device(s) found
                             scanning usb for ethernet devices... 0 Ethernet Device(s) found
                      reading ubldr.bin
                      228648 bytes read in 29 ms (7.5 MiB/s)
                      Starting application at 0x00200000 ...
                      Consoles: U-Boot console
                      Compatible U-Boot API signature found @0x7f4dc280
                      
                      FreeBSD/armv6 U-Boot loader, Revision 1.2
                      (Tue Jul 10 10:26:23 EDT 2018 root@buildbot3)
                      
                      DRAM: 2048MB
                      Number of U-Boot devices: 5
                      U-Boot env: loaderdev not set, will probe all devices.
                      Found U-Boot device: disk
                        Probing all disk devices...
                        Checking unit=0 slice=<auto> partition=<auto>...disk0: read failed, error=1
                      
                      Checking unit=1 slice=<auto> partition=<auto>... good.
                      Booting from disk1s2a:
                      Loading /boot/defaults/loader.conf
                      /boot/kernel/kernel text=0x1b4 text=0x71add0 text=0x197b88 data=0x88f6c data=0x0+0x50000 syms=[0x4+0x94540+0x4+0xec78c]
                      
                      -
                      Hit [Enter] to boot immediately, or any other key for command prompt.
                      Booting [/boot/kernel/kernel]...
                      No valid device tree blob found!
                      
                      Type '?' for a list of commands, 'help' for more detailed help.
                      
                      1 Reply Last reply Reply Quote 0
                      • stephenw10S
                        stephenw10 Netgate Administrator
                        last edited by

                        Hmm, it finds the USB drive and is able to load ubldr.bin from it. It boots the kernel form it but can't find the dtb file. At least not the one it's looking for.

                        Try this, at the Marvell>> prompt run printenv see if it's lost the correct dtb name.

                        Steve

                        M 1 Reply Last reply Reply Quote 0
                        • M
                          maddog3115 @stephenw10
                          last edited by stephenw10

                          @stephenw10 here it is

                          Marvell>> printenv
                          CASset=max
                          MALLOC_len=10
                          MPmode=SMP
                          autoload=no
                          baudrate=115200
                          boardpn=80500-0148-G00
                          boardrev=R310
                          boardsn=XXXXXXX
                          boot_from_pxe=0
                          boot_order=hd_scr usb_scr mmc_scr hd_img usb_img mmc_img pxe net_img net_scr
                          bootargs=console=ttyS0,115200 mtdparts=spi_flash:4m(boot),-(spi-rootfs) root=/dev/nfs rw nfsroot=10.4.50.38:/srv/nfs/ ip=10.4.50.170:10.4.50.38:10.4.50.254:255.255.255.0:Armada38x:eth0:none mv_net_config=4,(00:50:43:11:11:11,0:1:2:3),mtu=1500 video=dovefb:lcd0:640x480-16@60 clcd.lcd0_enable=0 clcd.lcd_panel=0
                          bootargs_dflt=$console $nandEcc $mtdparts_lgcy $bootargs_root nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip$bootargs_end $mvNetConfig video=dovefb:lcd0:$lcd0_params clcd.lcd0_enable=$lcd0_enable clcd.lcd_panel=$lcd_panel
                          bootargs_end=:$gatewayip:255.255.255.0:Armada38x:$netdev:none
                          bootargs_root=root=/dev/nfs rw
                          bootcmd=run setLED; run emmcboot;
                          bootcmd_auto=setenv bootargs_end :$gatewayip:255.255.255.0:Armada:$netdev:none; stage_boot $boot_order
                          bootcmd_fdt=setenv bootargs_end :$gatewayip:255.255.255.0:Armada:$netdev:none; tftpboot 0x2000000 $image_name;tftpboot $fdtaddr $fdtfile;setenv bootargs $console $nandEcc $mtdparts $bootargs_root nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip$bootargs_end $mvNetConfig video=dovefb:lcd0:$lcd0_params clcd.lcd0_enable=$lcd0_enable clcd.lcd_panel=$lcd_panel; bootz 0x2000000 - $fdtaddr;
                          bootcmd_fdt_boot=setenv bootargs_end :$gatewayip:255.255.255.0:Armada:$netdev:none; tftpboot 0x2000000 $image_name; setenv bootargs $console $nandEcc $mtdparts $bootargs_root nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip$bootargs_end $mvNetConfig video=dovefb:lcd0:$lcd0_params clcd.lcd0_enable=$lcd0_enable clcd.lcd_panel=$lcd_panel; bootz 0x2000000 - $fdtaddr;
                          bootcmd_fdt_edit=setenv bootargs_end :$gatewayip:255.255.255.0:Armada:$netdev:none; tftpboot $fdtaddr $fdtfile; fdt addr $fdtaddr; setenv bootcmd $bootcmd_fdt_boot
                          bootcmd_ftenv=bootargs_end :10.4.50.254:255.255.255.0:Armada:eth0:none
                          bootcmd_lgcy=setenv bootargs_end :$gatewayip:255.255.255.0:Armada:$netdev:none; tftpboot 0x2000000 $image_name;setenv bootargs $console $nandEcc $mtdparts_lgcy $bootargs_root nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip$bootargs_end  video=dovefb:lcd0:$lcd0_params clcd.lcd0_enable=$lcd0_enable clcd.lcd_panel=$lcd_panel;  bootm $loadaddr;
                          bootdelay=3
                          cacheShare=no
                          console=console=ttyS0,115200
                          device_partition=0:1
                          disaMvPnp=no
                          eeeEnable=no
                          emmcboot=fatload mmc 0:1 200000 ubldr.bin; go 200000;
                          enaClockGating=no
                          enaCpuStream=no
                          enaFPU=yes
                          enaMonExt=no
                          enaWrAllo=no
                          eth1addr=xx:xx:xx:xx:xx
                          eth1mtu=1500
                          eth2addr=xx:xx:xx:xx:xx
                          eth2mtu=1500
                          eth3addr=xx:xx:xx:xx:xx
                          eth3mtu=1500
                          ethact=egiga0
                          ethaddr=xx:xx:xx:xx:xx
                          ethmtu=1500
                          ethprime=egiga0
                          factory=setenv autoload yes; bootp; go $loadaddr;
                          fdt_addr=2040000
                          fdt_skip_update=yes
                          fdtaddr=0x1000000
                          fdtfile=armada-38x.dtb
                          ftboot=sleep 2; scsi init; sleep 2; setenv bootargs root=/dev/sda1 rootfstype=ext4 rootwait rw raid=noautodetect init=/sbin/init; ext4load scsi 0:1 ${fdtaddr} /boot/rogue-1.dtb; ext4load scsi 0:1 ${loadaddr} /boot/zImage; bootz ${loadaddr} - ${fdtaddr};
                          gatewayip=10.4.50.254
                          ide_path=/
                          image_name=zImage
                          initrd_name=uInitrd
                          ipaddr=10.4.50.170
                          kernel_addr_r=2080000
                          lcd0_enable=0
                          lcd0_params=640x480-16@60
                          lcd_panel=0
                          limit_dram_size=yes
                          loadaddr=0x02000000
                          loads_echo=0
                          m2boot=scsi reset; fatload scsi 0:$m2dev 200000 ubldr.bin; go 200000;
                          m2dev=1
                          mtdids=spi0=spi_flash
                          mtdparts=mtdparts=spi0.0:4m(boot),-(spi-rootfs)
                          mtdparts_lgcy=mtdparts=spi_flash:4m(boot),-(spi-rootfs)
                          mvNetConfig=mv_net_config=4,(00:50:43:11:11:11,0:1:2:3),mtu=1500
                          mv_pon_addr=xx:xx:xx:xx:xx
                          netbsd_en=no
                          netdev=eth0
                          netmask=255.255.255.0
                          netretry=no
                          pcieTune=no
                          pexMode=RC
                          pxe_files_load=:default.arm-armadaxp-db:default.arm-armadaxp:default.arm
                          pxefile_addr_r=3000000
                          ramdisk_addr_r=2880000
                          recovery=usb start; fatload usb 0:1 200000 ubldr.bin; go 200000;
                          rootpath=/srv/nfs/
                          run_script=no
                          sata_delay_reset=0
                          sata_dma_mode=yes
                          script_addr_r=3000000
                          script_name=boot.scr
                          sd_detection_dat3=no
                          serverip=10.4.50.38
                          setLED=i2c mw 67 ff 0; i2c mw 67 0 1; i2c mw 67 f 35; i2c mw 67 3 40; i2c mw 67 26 0; i2c mw 67 10 0
                          skip_switch_pci_scan=no
                          standalone=fsload 0x2000000 $image_name;setenv bootargs $console $nandEcc $mtdparts_lgcy root=/dev/mtdblock0 rw ip=$ipaddr:$serverip$bootargs_end; bootm 0x2000000;
                          stderr=serial
                          stdin=serial
                          stdout=serial
                          usb0Mode=host
                          usbActive=1
                          usbType=3
                          vxworks_en=no
                          yuk_ethaddr=xx:xx:xx:xx:xx
                          
                          Environment size: 4649/65532 bytes
                          Marvell>>
                          
                          1 Reply Last reply Reply Quote 0
                          • stephenw10S
                            stephenw10 Netgate Administrator
                            last edited by

                            Ah, OK. Yup the envs are missing. Let me have TAC reach out to you again....

                            1 Reply Last reply Reply Quote 0
                            • stephenw10S
                              stephenw10 Netgate Administrator
                              last edited by stephenw10

                              Hmm, that's odd it's actually only the ftdfile env that appears to be wrong.

                              OK try this. At the Marvell prompt run:

                              setenv fdtfile armada-385-80300-0148-G00-X100.dtb
                              saveenv
                              reset
                              

                              Try to boot from USB again.

                              M 1 Reply Last reply Reply Quote 0
                              • M
                                maddog3115 @stephenw10
                                last edited by

                                @stephenw10 you're a genius !!!!!!! that did it now let's see if I can configure it and it sticks and doens't do anything else funny. Do you know what might have caused that?

                                1 Reply Last reply Reply Quote 0
                                • stephenw10S
                                  stephenw10 Netgate Administrator
                                  last edited by

                                  No, it's odd. The only time we ever see that sort of issue on the 3100 is it's unable to read the uboot envs and resets them to the default values. I assumed that might have happened when I saw the fdtname was incorrect but after checking everything else is correct.
                                  The only way I could do that would be manually at the uboot prompt but I can't imagine you did that!

                                  Steve

                                  1 Reply Last reply Reply Quote 0
                                  • stephenw10S
                                    stephenw10 Netgate Administrator
                                    last edited by

                                    I edited your post to obscure the serial and MACs FYI.

                                    M 1 Reply Last reply Reply Quote 0
                                    • M
                                      maddog3115 @stephenw10
                                      last edited by

                                      @stephenw10 thanks so much for your help you're a life saver. I was pretty bummed thinking I got scammed when I bought this as "new" and it's in pretty new condition.

                                      Cheers,

                                      1 Reply Last reply Reply Quote 0
                                      • stephenw10S
                                        stephenw10 Netgate Administrator
                                        last edited by

                                        Great result. The MAC addresses you have there should be sequential and I don't believe they were. If you don't see sequential MACs in pfSense you might want to open a new ticket with support and get the full set of uboot envs for your specific device to be sure.

                                        Steve

                                        1 Reply Last reply Reply Quote 0
                                        • First post
                                          Last post
                                        Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.