[resolved] Newer 02+ fails to flash from USB - ERROR: CTL:TIMEOUT



  • Ok, so a bit of a strange one here.

    Hooked up one of my recent O2+ purchases (the ones with MAC C1:xx:xx - My C0:xx:xx ones are the kickstarter originals) to an expansion dock and let it boot through to first boot completion:

    [  106.636852] jffs2_scan_eraseblock(): End of filesystem marker found at 0x0
    [  106.644079] jffs2_build_filesystem(): unlocking the mtd device... done.
    [  106.650821] jffs2_build_filesystem(): erasing all blocks after the end marker... done.
    [  242.897365] jffs2: notice: (1764) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
    
    
    
    BusyBox v1.26.2 () built-in shell (ash)
    
       ____       _             ____
      / __ \___  (_)__  ___    / __ \__ _  ___ ___ ____ _
     / /_/ / _ \/ / _ \/ _ \  / /_/ /  ' \/ -_) _ `/ _ `/
     \____/_//_/_/\___/_//_/  \____/_/_/_/\__/\_, /\_,_/
     W H A T  W I L L  Y O U  I N V E N T ? /___/
     -----------------------------------------------------
       Ω-ware: 0.1.9 b159
     -----------------------------------------------------
    root@Omega-C04D:/#
    

    Restarted it with reset pressed and initiated a firmware reload from USB, it identified my USB and then that was all she wrote. Just stops there complaining of a timeout.

    root@Omega-C04D:/#
    
       ____       _             ____
      / __ \___  (_)__  ___    / __ \__ _  ___ ___ ____ _
     / /_/ / _ \/ / _ \/ _ \  / /_/ /  ' \/ -_) _ `/ _ `/
     \____/_//_/_/\___/_//_/  \____/_/_/_/\__/\_, /\_,_/
     W H A T  W I L L  Y O U  I N V E N T ? /___/"
    
    Board: Onion Omega2 APSoC DRAM:  128 MB
    relocate_code Pointer at: 87f5c000
    flash manufacture id: c2, device id 20 19
    find flash: MX25L25635E
    *** Warning - bad CRC, using default environment
    
    ============================================
    Onion Omega2 UBoot Version: 4.3.0.3
    --------------------------------------------
    ASIC 7628_MP (Port5<->None)
    DRAM component: 1024 Mbits DDR, width 16
    DRAM bus: 16 bit
    Total memory: 128 MBytes
    Flash component: SPI Flash
    Date:Sep 19 2017  Time:15:11:41
    ============================================
    icache: sets:512, ways:4, linesz:32 ,total:65536
    dcache: sets:256, ways:4, linesz:32 ,total:32768
    CPU freq = 575 MHZ
    Estimated memory size = 128 Mbytes
    Resetting MT7628 PHY.
    Initializing MT7688 GPIO system.
    wifi mac address = 40A36BC1C04D.
    
    
    **************************************
    * Hold Reset button for more options *
    **************************************
    
    
    You have 40 seconds left to select a menu option...
    
    
    Please select option:
       [ Enter ]: Boot Omega2.
       [ 0 ]: Start Web recovery mode.
       [ 1 ]: Start command line mode.
       [ 2 ]: Flash firmware from USB storage.
    
    Option [2] selected.
    System Load Linux then write to Flash via USB Storage.
    Looking for a USB Storage.
    If suitable image is found on USB Storage writing to Flash will be attempted.
    U-Boot will look for a FAT file system.
    (Re)start USB...
    LOW LEVEL INIT USB0:
    Scanning bus 0 for devices...
    New Device 0
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x100 index 0x0 length 0x8
    usb_control_msg: status = success?
    
     INSIDE USB INIT
    
     INSIDE USB INIT: Device responded.
    set address 1
    usb_control_msg: request: 0x5, requesttype: 0x0
    value 0x1 index 0x0 length 0x0
    usb_control_msg: status = success?
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x100 index 0x0 length 0x12
    usb_control_msg: status = success?
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x200 index 0x0 length 0x9
    usb_control_msg: status = success?
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x200 index 0x0 length 0x19
    usb_control_msg: status = success?
    get_conf_no 0 Result 25, wLength 25
    if 0, ep 0
    ##EP epmaxpacketin[1] = 2
    set configuration 1
    usb_control_msg: request: 0x9, requesttype: 0x0
    value 0x1 index 0x0 length 0x0
    usb_control_msg: status = success?
    new device strings: Mfr=0, Product=1, SerialNumber=0
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x300 index 0x0 length 0xFF
    usb_control_msg: status = success?
    USB device number 1 default language ID 0x409
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x301 index 0x409 length 0xFF
    usb_control_msg: status = success?
    Manufacturer
    Product      OHCI Root Hub
    SerialNumber
    Device is a hub?
    usb_control_msg: request: 0x6, requesttype: 0xA0
    value 0x2900 index 0x0 length 0x4
    usb_control_msg: status = success?
    usb_control_msg: request: 0x6, requesttype: 0xA0
    value 0x2900 index 0x0 length 0x9
    usb_control_msg: status = success?
    usb_control_msg: request: 0x0, requesttype: 0xA0
    value 0x0 index 0x0 length 0x4
    usb_control_msg: status = success?
    usb_control_msg: request: 0x1, requesttype: 0x23
    value 0x8 index 0x1 length 0x0
    usb_control_msg: status = success?
    usb_control_msg: request: 0x0, requesttype: 0xA3
    value 0x0 index 0x1 length 0x4
    usb_control_msg: status = success?
    usb_control_msg: request: 0x3, requesttype: 0x23
    value 0x8 index 0x1 length 0x0
    usb_control_msg: status = success?
    usb_control_msg: request: 0x0, requesttype: 0xA3
    value 0x0 index 0x1 length 0x4
    usb_control_msg: status = success?
    usb_control_msg: request: 0x0, requesttype: 0xA3
    value 0x0 index 0x1 length 0x4
    usb_control_msg: status = success?
    usb_control_msg: request: 0x1, requesttype: 0x23
    value 0x10 index 0x1 length 0x0
    usb_control_msg: status = success?
    usb_control_msg: request: 0x3, requesttype: 0x23
    value 0x4 index 0x1 length 0x0
    usb_control_msg: status = success?
    usb_control_msg: request: 0x0, requesttype: 0xA3
    value 0x0 index 0x1 length 0x4
    usb_control_msg: status = success?
    usb_control_msg: request: 0x1, requesttype: 0x23
    value 0x14 index 0x1 length 0x0
    usb_control_msg: status = success?
    New Device 1
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x100 index 0x0 length 0x8
    usb_control_msg: status = success?
    
     INSIDE USB INIT
    
     INSIDE USB INIT: Device responded.
    set address 2
    usb_control_msg: request: 0x5, requesttype: 0x0
    value 0x2 index 0x0 length 0x0
    usb_control_msg: status = success?
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x100 index 0x0 length 0x12
    usb_control_msg: status = success?
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x200 index 0x0 length 0x9
    usb_control_msg: status = success?
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x200 index 0x0 length 0x20
    usb_control_msg: status = success?
    get_conf_no 0 Result 32, wLength 32
    if 0, ep 0
    if 0, ep 1
    ##EP epmaxpacketin[1] = 64
    ##EP epmaxpacketout[2] = 64
    set configuration 1
    usb_control_msg: request: 0x9, requesttype: 0x0
    value 0x1 index 0x0 length 0x0
    usb_control_msg: status = success?
    new device strings: Mfr=1, Product=2, SerialNumber=3
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x300 index 0x0 length 0xFF
    usb_control_msg: status = success?
    USB device number 2 default language ID 0x409
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x301 index 0x409 length 0xFF
    usb_control_msg: status = success?
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x302 index 0x409 length 0xFF
    usb_control_msg: status = success?
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x303 index 0x409 length 0xFF
    usb_control_msg: status = success?
    Manufacturer SanDisk
    Product      Cruzer Blade
    SerialNumber 4C530001140707110013
    Device is a hub?
    2 USB Device(s) found
    scan end
           Scanning bus for storage devices...
    
    =================================================
    1: Hub,  USB Revision 1.10
     -  OHCI Root Hub
     - Class: Hub
     - PacketSize: 8  Configurations: 1
     - Vendor: 0x0000  Product 0x0000 Version 0.0
    
    =================================================
    2: Mass Storage,  USB Revision 2.10
     - SanDisk Cruzer Blade 4C530001140707110013
     - Class: (from Interface) Mass Storage
     - PacketSize: 64  Configurations: 1
     - Vendor: 0x0781  Product 0x5567 Version 1.0
    Testing BULK mode...Identifying a storage device...*
    USB_STORAGE: 1 Storage Device(s) found
    
    
    ***************************************
    * [!] This will take several minutes  *
    * please do not power off your Omega2 *
    ***************************************
    
    
    *ERROR: CTL:TIMEOUT X
    BBB_reset
    usb_control_msg: request: 0xFF, requesttype: 0x21
    value 0x0 index 0x0 length 0x0
    ERROR: CTL:TIMEOUT X
    

    All my previous firmware flashing was on a mini dock, so I thought perhaps this expansion doc is faulty, so I swapped it out for the mini dock, but same result. All USB firmware upgrades result in the timeout.

    Since I can boot into the b159 firmware that it shipped with, I used sysupgrade to flash the b160 firmware and that was successful:

    BusyBox v1.26.2 () built-in shell (ash)
    
       ____       _             ____
      / __ \___  (_)__  ___    / __ \__ _  ___ ___ ____ _
     / /_/ / _ \/ / _ \/ _ \  / /_/ /  ' \/ -_) _ `/ _ `/
     \____/_//_/_/\___/_//_/  \____/_/_/_/\__/\_, /\_,_/
     W H A T  W I L L  Y O U  I N V E N T ? /___/
     -----------------------------------------------------
       Ω-ware: 0.1.9 b159
     -----------------------------------------------------
    root@Omega-C04D:/# cd /root
    root@Omega-C04D:~# cp /tmp/mounts/USB-A1/omega2p-v0.1.10-b160.bin .
    root@Omega-C04D:~# ls -l
    -rwxr-xr-x    1 root     root       7078055 Feb  3 00:02 omega2p-v0.1.10-b160.bin
    root@Omega-C04D:~# sysupgrade omega2p-v0.1.10-b160.bin
    Saving config files...
    killall: watchdog: no process killed
    Sending TERM to remaining processes ... onion-helper udhcpc udhcpc dnsmasq mountd ntpd ubusd logd rpcd netifd odhcpd uhttpd device-client avahi-daemon
    Sending KILL to remaining processes ...
    Switching to ramdisk...
    Performing system upgrade...
    Unlocking firmware ...
    
    Writing from <stdin> to firmware ...
    Appending jffs2 data from /tmp/sysupgrade.tgz to firmware..                                                                                                                                                                      
    Upgrade completed
    Rebooting system...
    umount: can't unmount /dev: Resource busy
    [  888.643697] Removing MTD device #6 (rootfs_data) with use count 1
    [  888.680457] reboot: Restarting system
    
    
       ____       _             ____
      / __ \___  (_)__  ___    / __ \__ _  ___ ___ ____ _
     / /_/ / _ \/ / _ \/ _ \  / /_/ /  ' \/ -_) _ `/ _ `/
     \____/_//_/_/\___/_//_/  \____/_/_/_/\__/\_, /\_,_/
     W H A T  W I L L  Y O U  I N V E N T ? /___/"
    
    Board: Onion Omega2 APSoC DRAM:  128 MB
    relocate_code Pointer at: 87f5c000
    ******************************
    Software System Reset Occurred
    ******************************
    flash manufacture id: c2, device id 20 19
    find flash: MX25L25635E
    *** Warning - bad CRC, using default environment
    
    ============================================
    Onion Omega2 UBoot Version: 4.3.0.3
    --------------------------------------------
    ASIC 7628_MP (Port5<->None)
    DRAM component: 1024 Mbits DDR, width 16
    DRAM bus: 16 bit
    Total memory: 128 MBytes
    Flash component: SPI Flash
    Date:Sep 19 2017  Time:15:11:41
    ============================================
    icache: sets:512, ways:4, linesz:32 ,total:65536
    dcache: sets:256, ways:4, linesz:32 ,total:32768
    CPU freq = 575 MHZ
    Estimated memory size = 128 Mbytes
    Resetting MT7628 PHY.
    Initializing MT7688 GPIO system.
    wifi mac address = 40A36BC1C04D.
    
    
    **************************************
    * Hold Reset button for more options *
    **************************************
    
    
    
    Boot Linux from Flash NO RESET PRESSED.
    ## Booting image at bc050000 ...
       Image Name:   MIPS LEDE Linux-4.4.46
       Image Type:   MIPS Linux Kernel Image (lzma compressed)
       Data Size:    1311684 Bytes =  1.3 MB
       Load Address: 80000000
       Entry Point:  80000000
       Verifying Checksum ... OK
       Uncompressing Kernel Image ... OK
    No initrd
    ## Transferring control to Linux (at address 80000000) ...
    ## Giving linux memsize in MB, 128
    
    Starting kernel ...
    
    [    0.000000] Linux version 4.4.46 (root@2272a3272872) (gcc version 5.4.0 (LEDE GCC 5.4.0 r3273-a0888ec) ) #0 Thu Feb 2 23:46:03 2017
    [    0.000000] Board has DDR2
    [... snip ...]
    [   11.659293] jffs2_scan_eraseblock(): End of filesystem marker found at 0x6c0000
    [   11.666825] jffs2_build_filesystem(): unlocking the mtd device... done.
    [   11.673555] jffs2_build_filesystem(): erasing all blocks after the end marker...
    [   74.198677] random: nonblocking pool is initialized
    [  112.084574] done.
    [  112.086580] jffs2: notice: (414) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
    [  112.103951] mount_root: overlay filesystem has not been fully initialized yet
    [  115.561907] mount_root: switching to jffs2 overlay
    - config restore -
    [  169.712779] urandom-seed: Seed file not found (/etc/urandom.seed)
    [... snip ...]
    [  196.717490] br-wlan: port 2(ra0) entered forwarding state
    [  196.723074] br-wlan: port 2(ra0) entered forwarding state
    [  198.718644] br-wlan: port 2(ra0) entered forwarding state
    
    
    
    BusyBox v1.26.2 () built-in shell (ash)
    
       ____       _             ____
      / __ \___  (_)__  ___    / __ \__ _  ___ ___ ____ _
     / /_/ / _ \/ / _ \/ _ \  / /_/ /  ' \/ -_) _ `/ _ `/
     \____/_//_/_/\___/_//_/  \____/_/_/_/\__/\_, /\_,_/
     W H A T  W I L L  Y O U  I N V E N T ? /___/
     -----------------------------------------------------
       Ω-ware: 0.1.10 b160
     -----------------------------------------------------
    root@Omega-C04D:/#
    

    Thinking the b160 firmware might make a difference, I again tried a USB firmware upgrade by holding reset and powering on, but alas, no difference. Uboot starts, identifies the USB device and then just locks up and throws a timeout error.

    Was wondering if anyone else with one of the later batch of O2+'s has seen similar behaviour?

    Interestingly, it seems that even though the UBoot version is the same as that shipped with my kickstarter O2+'s "4.3.0.3", it does display some differences. Notably, the address of "relocate_code Pointer" changed from "87f60000" to "87f5c000", the date changed from "Date:Oct 18 2016 Time:17:29:05" to "Date:Sep 19 2017 Time:15:11:41" and the later one shows the wifimac address.
    eg: original UBoot:

       ____       _             ____
      / __ \___  (_)__  ___    / __ \__ _  ___ ___ ____ _
     / /_/ / _ \/ / _ \/ _ \  / /_/ /  ' \/ -_) _ `/ _ `/
     \____/_//_/_/\___/_//_/  \____/_/_/_/\__/\_, /\_,_/
     W H A T  W I L L  Y O U  I N V E N T ? /___/"
    
    Board: Onion Omega2 APSoC DRAM:  128 MB
    relocate_code Pointer at: 87f60000
    flash manufacture id: c2, device id 20 19
    find flash: MX25L25635E
    *** Warning - bad CRC, using default environment
    
    ============================================
    Onion Omega2 UBoot Version: 4.3.0.3
    --------------------------------------------
    ASIC 7628_MP (Port5<->None)
    DRAM component: 1024 Mbits DDR, width 16
    DRAM bus: 16 bit
    Total memory: 128 MBytes
    Flash component: SPI Flash
    Date:Oct 18 2016  Time:17:29:05
    ============================================
    icache: sets:512, ways:4, linesz:32 ,total:65536
    dcache: sets:256, ways:4, linesz:32 ,total:32768
    CPU freq = 575 MHZ
    Estimated memory size = 128 Mbytes
    Resetting MT7628 PHY.
    Initializing MT7688 GPIO system.
    
    
    **************************************
    * Hold Reset button for more options *
    **************************************
    

    vs. newer UBoot:

       ____       _             ____
      / __ \___  (_)__  ___    / __ \__ _  ___ ___ ____ _
     / /_/ / _ \/ / _ \/ _ \  / /_/ /  ' \/ -_) _ `/ _ `/
     \____/_//_/_/\___/_//_/  \____/_/_/_/\__/\_, /\_,_/
     W H A T  W I L L  Y O U  I N V E N T ? /___/"
    
    Board: Onion Omega2 APSoC DRAM:  128 MB
    relocate_code Pointer at: 87f5c000
    flash manufacture id: c2, device id 20 19
    find flash: MX25L25635E
    *** Warning - bad CRC, using default environment
    
    ============================================
    Onion Omega2 UBoot Version: 4.3.0.3
    --------------------------------------------
    ASIC 7628_MP (Port5<->None)
    DRAM component: 1024 Mbits DDR, width 16
    DRAM bus: 16 bit
    Total memory: 128 MBytes
    Flash component: SPI Flash
    Date:Sep 19 2017  Time:15:11:41
    ============================================
    icache: sets:512, ways:4, linesz:32 ,total:65536
    dcache: sets:256, ways:4, linesz:32 ,total:32768
    CPU freq = 575 MHZ
    Estimated memory size = 128 Mbytes
    Resetting MT7628 PHY.
    Initializing MT7688 GPIO system.
    wifi mac address = 40A36BC1C04D.
    
    
    **************************************
    * Hold Reset button for more options *
    **************************************
    

    I've tried another from my last batch of 10 and the behaviour is exactly the same.

    Anyone else with a new O2+ (MAC: 40A36BC1xxxx) care to try and see if they are able to flash from USB?



  • @cas Did you try this with another USB stick?



  • @György-Farkas
    No, I tried a different mini-dock and the same usb stick just flashed my O2 b160 fw fine to an older O2+ on that.
    But I should try a different usb stick as well.

    I've just dumped the mtd partitions from an older O2+ so I can also try writing the u-boot and u-boot-env ones back to this new O2+ and see if that makes any difference.



  • Different usb stick, same result:

    
    
       ____       _             ____
      / __ \___  (_)__  ___    / __ \__ _  ___ ___ ____ _
     / /_/ / _ \/ / _ \/ _ \  / /_/ /  ' \/ -_) _ `/ _ `/
     \____/_//_/_/\___/_//_/  \____/_/_/_/\__/\_, /\_,_/
     W H A T  W I L L  Y O U  I N V E N T ? /___/"
    
    Board: Onion Omega2 APSoC DRAM:  128 MB
    relocate_code Pointer at: 87f5c000
    flash manufacture id: c2, device id 20 19
    find flash: MX25L25635E
    *** Warning - bad CRC, using default environment
    
    ============================================
    Onion Omega2 UBoot Version: 4.3.0.3
    --------------------------------------------
    ASIC 7628_MP (Port5<->None)
    DRAM component: 1024 Mbits DDR, width 16
    DRAM bus: 16 bit
    Total memory: 128 MBytes
    Flash component: SPI Flash
    Date:Sep 19 2017  Time:15:11:41
    ============================================
    icache: sets:512, ways:4, linesz:32 ,total:65536
    dcache: sets:256, ways:4, linesz:32 ,total:32768
    CPU freq = 575 MHZ
    Estimated memory size = 128 Mbytes
    Resetting MT7628 PHY.
    Initializing MT7688 GPIO system.
    wifi mac address = 40A36BC1C04D.
    
    
    **************************************
    * Hold Reset button for more options *
    **************************************
    
    
    You have 40 seconds left to select a menu option...
    
    
    Please select option:
       [ Enter ]: Boot Omega2.
       [ 0 ]: Start Web recovery mode.
       [ 1 ]: Start command line mode.
       [ 2 ]: Flash firmware from USB storage.
    
    Option [2] selected.
    System Load Linux then write to Flash via USB Storage.
    Looking for a USB Storage.
    If suitable image is found on USB Storage writing to Flash will be attempted.
    U-Boot will look for a FAT file system.
    (Re)start USB...
    LOW LEVEL INIT USB0:
    Scanning bus 0 for devices...
    New Device 0
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x100 index 0x0 length 0x8
    usb_control_msg: status = success?
    
     INSIDE USB INIT
    
     INSIDE USB INIT: Device responded.
    set address 1
    usb_control_msg: request: 0x5, requesttype: 0x0
    value 0x1 index 0x0 length 0x0
    usb_control_msg: status = success?
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x100 index 0x0 length 0x12
    usb_control_msg: status = success?
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x200 index 0x0 length 0x9
    usb_control_msg: status = success?
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x200 index 0x0 length 0x19
    usb_control_msg: status = success?
    get_conf_no 0 Result 25, wLength 25
    if 0, ep 0
    ##EP epmaxpacketin[1] = 2
    set configuration 1
    usb_control_msg: request: 0x9, requesttype: 0x0
    value 0x1 index 0x0 length 0x0
    usb_control_msg: status = success?
    new device strings: Mfr=0, Product=1, SerialNumber=0
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x300 index 0x0 length 0xFF
    usb_control_msg: status = success?
    USB device number 1 default language ID 0x409
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x301 index 0x409 length 0xFF
    usb_control_msg: status = success?
    Manufacturer
    Product      OHCI Root Hub
    SerialNumber
    Device is a hub?
    usb_control_msg: request: 0x6, requesttype: 0xA0
    value 0x2900 index 0x0 length 0x4
    usb_control_msg: status = success?
    usb_control_msg: request: 0x6, requesttype: 0xA0
    value 0x2900 index 0x0 length 0x9
    usb_control_msg: status = success?
    usb_control_msg: request: 0x0, requesttype: 0xA0
    value 0x0 index 0x0 length 0x4
    usb_control_msg: status = success?
    usb_control_msg: request: 0x1, requesttype: 0x23
    value 0x8 index 0x1 length 0x0
    usb_control_msg: status = success?
    usb_control_msg: request: 0x0, requesttype: 0xA3
    value 0x0 index 0x1 length 0x4
    usb_control_msg: status = success?
    usb_control_msg: request: 0x3, requesttype: 0x23
    value 0x8 index 0x1 length 0x0
    usb_control_msg: status = success?
    usb_control_msg: request: 0x0, requesttype: 0xA3
    value 0x0 index 0x1 length 0x4
    usb_control_msg: status = success?
    usb_control_msg: request: 0x0, requesttype: 0xA3
    value 0x0 index 0x1 length 0x4
    usb_control_msg: status = success?
    usb_control_msg: request: 0x1, requesttype: 0x23
    value 0x10 index 0x1 length 0x0
    usb_control_msg: status = success?
    usb_control_msg: request: 0x3, requesttype: 0x23
    value 0x4 index 0x1 length 0x0
    usb_control_msg: status = success?
    usb_control_msg: request: 0x0, requesttype: 0xA3
    value 0x0 index 0x1 length 0x4
    usb_control_msg: status = success?
    usb_control_msg: request: 0x1, requesttype: 0x23
    value 0x14 index 0x1 length 0x0
    usb_control_msg: status = success?
    New Device 1
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x100 index 0x0 length 0x8
    usb_control_msg: status = success?
    
     INSIDE USB INIT
    
     INSIDE USB INIT: Device responded.
    set address 2
    usb_control_msg: request: 0x5, requesttype: 0x0
    value 0x2 index 0x0 length 0x0
    usb_control_msg: status = success?
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x100 index 0x0 length 0x12
    usb_control_msg: status = success?
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x200 index 0x0 length 0x9
    usb_control_msg: status = success?
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x200 index 0x0 length 0x20
    usb_control_msg: status = success?
    get_conf_no 0 Result 32, wLength 32
    if 0, ep 0
    if 0, ep 1
    ##EP epmaxpacketin[1] = 64
    ##EP epmaxpacketout[2] = 64
    set configuration 1
    usb_control_msg: request: 0x9, requesttype: 0x0
    value 0x1 index 0x0 length 0x0
    usb_control_msg: status = success?
    new device strings: Mfr=1, Product=2, SerialNumber=3
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x300 index 0x0 length 0xFF
    usb_control_msg: status = success?
    USB device number 2 default language ID 0x409
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x301 index 0x409 length 0xFF
    usb_control_msg: status = success?
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x302 index 0x409 length 0xFF
    usb_control_msg: status = success?
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x303 index 0x409 length 0xFF
    usb_control_msg: status = success?
    Manufacturer SanDisk
    Product      Cruzer Blade
    SerialNumber 4C530001410401108410
    Device is a hub?
    2 USB Device(s) found
    scan end
           Scanning bus for storage devices...
    
    =================================================
    1: Hub,  USB Revision 1.10
     -  OHCI Root Hub
     - Class: Hub
     - PacketSize: 8  Configurations: 1
     - Vendor: 0x0000  Product 0x0000 Version 0.0
    
    =================================================
    2: Mass Storage,  USB Revision 2.0
     - SanDisk Cruzer Blade 4C530001410401108410
     - Class: (from Interface) Mass Storage
     - PacketSize: 64  Configurations: 1
     - Vendor: 0x0781  Product 0x5567 Version 1.39
    Testing BULK mode...Identifying a storage device...*
    USB_STORAGE: 1 Storage Device(s) found
    
    
    ***************************************
    * [!] This will take several minutes  *
    * please do not power off your Omega2 *
    ***************************************
    
    
    *ERROR: CTL:TIMEOUT X
    BBB_reset
    usb_control_msg: request: 0xFF, requesttype: 0x21
    value 0x0 index 0x0 length 0x0
    ERROR: CTL:TIMEOUT X
    


  • Seems, u-boot can't be written in the fashion I was expecting:

    # mtd write u-boot.bin mtd0
    Could not open mtd device: mtd0
    Can't open device for writing!
    

    Ah well, time for some research then.



  • @cas I thought another vendor's USB device. I also found some problems with SanDisk Cruzer Blade 8GB USB flash drives on Omega2(+).



  • @György-Farkas said

    @cas I thought another vendor's USB device. I also found some problems with SanDisk Cruzer Blade 8GB USB flash drives on Omega2(+).

    I find them to be the most reliable to the extent that I use them almost exclusively for everything I do.
    I popped out and bought a Strontium 32GB but the result is exactly the same:

       ____       _             ____
      / __ \___  (_)__  ___    / __ \__ _  ___ ___ ____ _
     / /_/ / _ \/ / _ \/ _ \  / /_/ /  ' \/ -_) _ `/ _ `/
     \____/_//_/_/\___/_//_/  \____/_/_/_/\__/\_, /\_,_/
     W H A T  W I L L  Y O U  I N V E N T ? /___/"
    
    Board: Onion Omega2 APSoC DRAM:  128 MB
    relocate_code Pointer at: 87f5c000
    flash manufacture id: c2, device id 20 19
    find flash: MX25L25635E
    *** Warning - bad CRC, using default environment
    
    ============================================
    Onion Omega2 UBoot Version: 4.3.0.3
    --------------------------------------------
    ASIC 7628_MP (Port5<->None)
    DRAM component: 1024 Mbits DDR, width 16
    DRAM bus: 16 bit
    Total memory: 128 MBytes
    Flash component: SPI Flash
    Date:Sep 19 2017  Time:15:11:41
    ============================================
    icache: sets:512, ways:4, linesz:32 ,total:65536
    dcache: sets:256, ways:4, linesz:32 ,total:32768
    CPU freq = 575 MHZ
    Estimated memory size = 128 Mbytes
    Resetting MT7628 PHY.
    Initializing MT7688 GPIO system.
    wifi mac address = 40A36BC1C04D.
    
    
    **************************************
    * Hold Reset button for more options *
    **************************************
    
    
    You have 40 seconds left to select a menu option...
    
    
    Please select option:
       [ Enter ]: Boot Omega2.
       [ 0 ]: Start Web recovery mode.
       [ 1 ]: Start command line mode.
       [ 2 ]: Flash firmware from USB storage.
    
    Option [2] selected.
    System Load Linux then write to Flash via USB Storage.
    Looking for a USB Storage.
    If suitable image is found on USB Storage writing to Flash will be attempted.
    U-Boot will look for a FAT file system.
    (Re)start USB...
    LOW LEVEL INIT USB0:
    Scanning bus 0 for devices...
    New Device 0
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x100 index 0x0 length 0x8
    usb_control_msg: status = success?
    
     INSIDE USB INIT
    
     INSIDE USB INIT: Device responded.
    set address 1
    usb_control_msg: request: 0x5, requesttype: 0x0
    value 0x1 index 0x0 length 0x0
    usb_control_msg: status = success?
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x100 index 0x0 length 0x12
    usb_control_msg: status = success?
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x200 index 0x0 length 0x9
    usb_control_msg: status = success?
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x200 index 0x0 length 0x19
    usb_control_msg: status = success?
    get_conf_no 0 Result 25, wLength 25
    if 0, ep 0
    ##EP epmaxpacketin[1] = 2
    set configuration 1
    usb_control_msg: request: 0x9, requesttype: 0x0
    value 0x1 index 0x0 length 0x0
    usb_control_msg: status = success?
    new device strings: Mfr=0, Product=1, SerialNumber=0
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x300 index 0x0 length 0xFF
    usb_control_msg: status = success?
    USB device number 1 default language ID 0x409
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x301 index 0x409 length 0xFF
    usb_control_msg: status = success?
    Manufacturer
    Product      OHCI Root Hub
    SerialNumber
    Device is a hub?
    usb_control_msg: request: 0x6, requesttype: 0xA0
    value 0x2900 index 0x0 length 0x4
    usb_control_msg: status = success?
    usb_control_msg: request: 0x6, requesttype: 0xA0
    value 0x2900 index 0x0 length 0x9
    usb_control_msg: status = success?
    usb_control_msg: request: 0x0, requesttype: 0xA0
    value 0x0 index 0x0 length 0x4
    usb_control_msg: status = success?
    usb_control_msg: request: 0x1, requesttype: 0x23
    value 0x8 index 0x1 length 0x0
    usb_control_msg: status = success?
    usb_control_msg: request: 0x0, requesttype: 0xA3
    value 0x0 index 0x1 length 0x4
    usb_control_msg: status = success?
    usb_control_msg: request: 0x3, requesttype: 0x23
    value 0x8 index 0x1 length 0x0
    usb_control_msg: status = success?
    usb_control_msg: request: 0x0, requesttype: 0xA3
    value 0x0 index 0x1 length 0x4
    usb_control_msg: status = success?
    usb_control_msg: request: 0x0, requesttype: 0xA3
    value 0x0 index 0x1 length 0x4
    usb_control_msg: status = success?
    usb_control_msg: request: 0x1, requesttype: 0x23
    value 0x10 index 0x1 length 0x0
    usb_control_msg: status = success?
    usb_control_msg: request: 0x3, requesttype: 0x23
    value 0x4 index 0x1 length 0x0
    usb_control_msg: status = success?
    usb_control_msg: request: 0x0, requesttype: 0xA3
    value 0x0 index 0x1 length 0x4
    usb_control_msg: status = success?
    usb_control_msg: request: 0x1, requesttype: 0x23
    value 0x14 index 0x1 length 0x0
    usb_control_msg: status = success?
    New Device 1
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x100 index 0x0 length 0x8
    usb_control_msg: status = success?
    
     INSIDE USB INIT
    
     INSIDE USB INIT: Device responded.
    set address 2
    usb_control_msg: request: 0x5, requesttype: 0x0
    value 0x2 index 0x0 length 0x0
    usb_control_msg: status = success?
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x100 index 0x0 length 0x12
    usb_control_msg: status = success?
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x200 index 0x0 length 0x9
    usb_control_msg: status = success?
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x200 index 0x0 length 0x20
    usb_control_msg: status = success?
    get_conf_no 0 Result 32, wLength 32
    if 0, ep 0
    if 0, ep 1
    ##EP epmaxpacketin[1] = 64
    ##EP epmaxpacketout[2] = 64
    set configuration 1
    usb_control_msg: request: 0x9, requesttype: 0x0
    value 0x1 index 0x0 length 0x0
    usb_control_msg: status = success?
    new device strings: Mfr=1, Product=2, SerialNumber=3
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x300 index 0x0 length 0xFF
    usb_control_msg: status = success?
    USB device number 2 default language ID 0x409
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x301 index 0x409 length 0xFF
    usb_control_msg: status = success?
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x302 index 0x409 length 0xFF
    usb_control_msg: status = success?
    usb_control_msg: request: 0x6, requesttype: 0x80
    value 0x303 index 0x409 length 0xFF
    usb_control_msg: status = success?
    Manufacturer SRT
    Product      USB
    SerialNumber AAB6L294JHXGW3BR
    Device is a hub?
    2 USB Device(s) found
    scan end
           Scanning bus for storage devices...
    
    =================================================
    1: Hub,  USB Revision 1.10
     -  OHCI Root Hub
     - Class: Hub
     - PacketSize: 8  Configurations: 1
     - Vendor: 0x0000  Product 0x0000 Version 0.0
    
    =================================================
    2: Mass Storage,  USB Revision 2.0
     - SRT USB AAB6L294JHXGW3BR
     - Class: (from Interface) Mass Storage
     - PacketSize: 64  Configurations: 1
     - Vendor: 0x090c  Product 0x1000 Version 17.0
    Testing BULK mode...Identifying a storage device...*
    USB_STORAGE: 1 Storage Device(s) found
    
    
    ***************************************
    * [!] This will take several minutes  *
    * please do not power off your Omega2 *
    ***************************************
    
    
    *ERROR: CTL:TIMEOUT X
    BBB_reset
    usb_control_msg: request: 0xFF, requesttype: 0x21
    value 0x0 index 0x0 length 0x0
    ERROR: CTL:TIMEOUT X
    


  • It's the u-boot.
    As far as I can tell, the one that shipped on my newer O2+'s is broken for USB flashing.

    I replaced u-boot and u-boot-env with the ones from my kickstarter O2+'s and I can now successfully flash firmware from USB as expected.



  • @cas Hello! Can you please give us more details about reflashing the uboot? Or, maybe, your uboot dump? I have the same problem with the omega 2s+.



  • @cas How Have you managed to do that. I have same problem with CTL:TIMEOUT X no matter what USB flash I use. I have also added 22ohm resistor to D+ and D- but no difference.



  • @opti-gregor @Artem-Reznikov
    The solution I used was to build a custom firmware with USB support compiled in and with the omega dts file modified such as to enable the u-boot and u-boot-env partitions as read/write.

    Then with the O2+ in a mini-dock and dumps of the u-boot and u-boot-env from my kickstarter O2+ on a USB, I flashed the O2+ with the modified firmware and just wrote the kickstarter copies to the relevant partitions.

    It was a total hack, so I have no idea whether this worked by design or I was just lucky that it worked.
    Note, the officially sanctioned way to replace the bootloader is via an ethernet expansion installed in an expansion dock as documented here Firmware Flashing With Web Recovery Mode and I'd recommend anyone try that first before doing what I did.
    Further, note this useful clarification regarding the documented procedure by @Pavel-Metrokhin in Bootloader for Omega2S and Omega2S+

    Building the Onion software at the time I did this (Feb 2018) was a hit and miss affair, which is why I did it the way I did.

    @Artem-Reznikov
    Apologies for the late reply, somehow I managed to miss your question in the past.



Looks like your connection to Community was lost, please wait while we try to reconnect.