10-21-2020, 10:30 AM
(This post was last modified: 10-21-2020, 10:49 AM by idontgetit.
Edit Reason: more info on usb 2.0 powering off drive
)
For the past week I've been trying to get this board to actually boot off a usb attached drive. Here's where I am:
- compiled my own u-boot following instructions here: https://forum.pine64.org/showthread.php?...9#pid55839
- tried so many ayufan and other u-boot (like https://forum.pine64.org/showthread.php?...+usb+3+3.0) I can't keep track anymore
- I have a seagate backup drive + usb 3.0 to sata interface, a JMS578/567 (sold officially by pine too?), and another weird Toshiba (Bus 002 Device 015: ID 0480:a00c Toshiba America Inc) usb 3.0 to sata interface
- upgraded firmware on the JMS578/567 from another SBC forum
There is no common theme among u-boot versions:
- some will power-cycle the usb 2.0 drive to death, some will only do it 2-3 times.
- Some will detect my seagate (external power) usb to sata interface, some won't.
- USB 2.0 is more likely to detect something connected to it, but it doesn't boot. It's just stuck before the point where it should say "Starting kernel...". While using Toshiba interface, the hard drive powers off after the kernel selection prompt.
Now here's the nut-kicker:
- I have a sandisk extreme usb 3.0 thumbdrive which *DOES* boot off of usb 3.0 with *some* u-boot versions. So that confirms usb 3.0 port is fine, and the image I'm trying to boot is also fine.
What I believe I ruled out:
- damaged HDD/SSD
- non-working usb to sata interfaces
- inadequate power supply to rockpro64: I can duplicate all of the above with a 12V 1.5A as well as a 12V 3.5A brick. I'm sure I can rig up a 12V 25A from a desktop power supply if that's going to make some of you obsessed people happy (IRC people kept pestering me about this being power related). On top of that, on a fully booted system (from sd card), anything I throw in the usb ports gets adequate power and works
- shit linux images; I'm able to boot the same image(s) off of the usb thumbdrive connected to usb 3.0
- usb port damage (I can see all devices connected to usb 3.0 A, both usb 2.0 ports, cannot test usb-c, no dongle/device)
I also tried a sata_sil24 compatible card; u-boot sees it but it doesn't go any further than that. Drives connected to the PCIe eSATA (Sonnet Tempo SATA E2P) do not power on while in u-boot, but they will power on and get discovered once a linux kernel is booted. I'm guessing u-boot inadequate sata_sil24 drivers?
I don't know much about grub, or uboot, or compiling my own kernels but I can follow directions.
Questions:
1. Do I have a shit rockpro64 board?
2. Is u-boot not able to work with usb to sata bridges? (hopefully yet)
3. any other magic method you can think of to get usb 3.0 to boot?
- compiled my own u-boot following instructions here: https://forum.pine64.org/showthread.php?...9#pid55839
- tried so many ayufan and other u-boot (like https://forum.pine64.org/showthread.php?...+usb+3+3.0) I can't keep track anymore
- I have a seagate backup drive + usb 3.0 to sata interface, a JMS578/567 (sold officially by pine too?), and another weird Toshiba (Bus 002 Device 015: ID 0480:a00c Toshiba America Inc) usb 3.0 to sata interface
- upgraded firmware on the JMS578/567 from another SBC forum
There is no common theme among u-boot versions:
- some will power-cycle the usb 2.0 drive to death, some will only do it 2-3 times.
- Some will detect my seagate (external power) usb to sata interface, some won't.
- USB 2.0 is more likely to detect something connected to it, but it doesn't boot. It's just stuck before the point where it should say "Starting kernel...". While using Toshiba interface, the hard drive powers off after the kernel selection prompt.
Now here's the nut-kicker:
- I have a sandisk extreme usb 3.0 thumbdrive which *DOES* boot off of usb 3.0 with *some* u-boot versions. So that confirms usb 3.0 port is fine, and the image I'm trying to boot is also fine.
What I believe I ruled out:
- damaged HDD/SSD
- non-working usb to sata interfaces
- inadequate power supply to rockpro64: I can duplicate all of the above with a 12V 1.5A as well as a 12V 3.5A brick. I'm sure I can rig up a 12V 25A from a desktop power supply if that's going to make some of you obsessed people happy (IRC people kept pestering me about this being power related). On top of that, on a fully booted system (from sd card), anything I throw in the usb ports gets adequate power and works
- shit linux images; I'm able to boot the same image(s) off of the usb thumbdrive connected to usb 3.0
- usb port damage (I can see all devices connected to usb 3.0 A, both usb 2.0 ports, cannot test usb-c, no dongle/device)
I also tried a sata_sil24 compatible card; u-boot sees it but it doesn't go any further than that. Drives connected to the PCIe eSATA (Sonnet Tempo SATA E2P) do not power on while in u-boot, but they will power on and get discovered once a linux kernel is booted. I'm guessing u-boot inadequate sata_sil24 drivers?
I don't know much about grub, or uboot, or compiling my own kernels but I can follow directions.
Code:
# This is u-boot from this dude: https://forum.pine64.org/showthread.php?tid=8685&highlight=boot+usb+3+3.0
# but not the official release, the latest compiled stuff
U-Boot SPL 2020.10-07965-g0ce9b07852 (Oct 12 2020 - 21:45:42 +0000)
Trying to boot from SPI
NOTICE: BL31: v2.3(release):v2.3-797-g7ad39818b
NOTICE: BL31: Built : 21:43:53, Oct 12 2020
U-Boot 2020.10-07965-g0ce9b07852 (Oct 12 2020 - 21:45:42 +0000)
SoC: Rockchip rk3399
Reset cause: POR
Model: Pine64 RockPro64 v2.1
DRAM: 3.9 GiB
PMIC: RK808
MMC: mmc@fe310000: 2, mmc@fe320000: 1, sdhci@fe330000: 0
Loading Environment from SPIFlash... SF: Detected gd25q128 with page size 256 Bytes, erase size 4 KiB, total 16 MiB
*** Warning - bad CRC, using default environment
In: serial
Out: vidconsole
Err: vidconsole
Model: Pine64 RockPro64 v2.1
Net: eth0: ethernet@fe300000
starting USB...
Bus usb@fe380000: USB EHCI 1.00
Bus usb@fe3a0000: USB OHCI 1.0
Bus usb@fe3c0000: USB EHCI 1.00
Bus usb@fe3e0000: USB OHCI 1.0
Bus dwc3: usb maximum-speed not found
Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
scanning bus usb@fe380000 for devices... 1 USB Device(s) found
scanning bus usb@fe3a0000 for devices... 1 USB Device(s) found
scanning bus usb@fe3c0000 for devices... 1 USB Device(s) found
scanning bus usb@fe3e0000 for devices... 2 USB Device(s) found
scanning bus dwc3 for devices... 2 USB Device(s) found
scanning usb for storage devices... 1 Storage Device(s) found
Hit any key to stop autoboot: 0
Card did not respond to voltage select!
Card did not respond to voltage select!
PCIe link training gen1 timeout!
Device 0: unknown device
failed to find ep-gpios property
scanning bus for devices...
Device 0: unknown device
Device 0: Vendor: TOSHIBA Rev: 5438 Prod: External USB 3.0
Type: Hard Disk
Capacity: 476940.0 MB = 465.7 GB (976773164 x 512)
... is now current device
Scanning usb 0:7...
Found /boot/extlinux/extlinux.conf
Retrieving file: /boot/extlinux/extlinux.conf
1055 bytes read in 45 ms (22.5 KiB/s)
select kernel
1: kernel-4.4.190-1233-rockchip-ayufan-gd3f1be0ed310
2: kernel-4.4.190-1233-rockchip-ayufan-gd3f1be0ed310-memtest
Enter choice: 1: kernel-4.4.190-1233-rockchip-ayufan-gd3f1be0ed310
Retrieving file: /boot/initrd.img-4.4.190-1233-rockchip-ayufan-gd3f1be0ed310
5140884 bytes read in 74 ms (66.3 MiB/s)
Retrieving file: /boot/vmlinuz-4.4.190-1233-rockchip-ayufan-gd3f1be0ed310
20545544 bytes read in 220 ms (89.1 MiB/s)
append: rw panic=10 init=/sbin/init coherent_pool=1M ethaddr=2e:68:c4:77:e9:11 eth1addr= serial=f671f593e6dba571
cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1 root=LABEL=linux-root rootwait rootfstype=ext4
Retrieving file: /boot/dtbs/4.4.190-1233-rockchip-ayufan-gd3f1be0ed310/rockchip/rk3399-rockpro64.dtb
96273 bytes read in 58 ms (1.6 MiB/s)
## Flattened Device Tree blob at 01f00000
Booting using the fdt blob at 0x1f00000
# ^ this is where it halts. No loading kernel.
# This is U-boot I compiled using instructions linked above, same PS, same drive connected to usb 3.0
# via the toshiba interface. Booting with Pins 20&21 bridged to bypass SPI
U-Boot TPL 2020.10-00787-g7ec87e4192 (Oct 21 2020 - 11:07:54)
Channel 0: LPDDR4, 50MHz
BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB
Channel 1: LPDDR4, 50MHz
BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB
256B stride
lpddr4_set_rate: change freq to 400000000 mhz 0, 1
lpddr4_set_rate: change freq to 800000000 mhz 1, 0
Trying to boot from BOOTROM
Returning to boot ROM...
U-Boot SPL 2020.10-00787-g7ec87e4192 (Oct 21 2020 - 11:07:54 -0400)
Trying to boot from MMC1
U-Boot 2020.10-00787-g7ec87e4192 (Oct 21 2020 - 11:07:54 -0400)
SoC: Rockchip rk3399
Reset cause: POR
Model: Pine64 RockPro64 v2.1
DRAM: 3.9 GiB
PMIC: RK808
MMC: mmc@fe310000: 2, mmc@fe320000: 1, sdhci@fe330000: 0
Loading Environment from SPIFlash... Invalid bus 0 (err=-19)
*** Warning - spi_flash_probe_bus_cs() failed, using default environment
In: serial
Out: vidconsole
Err: vidconsole
Model: Pine64 RockPro64 v2.1
Net: eth0: ethernet@fe300000
starting USB...
Bus usb@fe380000: USB EHCI 1.00
Bus usb@fe3a0000: USB OHCI 1.0
Bus usb@fe3c0000: USB EHCI 1.00
Bus usb@fe3e0000: USB OHCI 1.0
Bus dwc3: usb maximum-speed not found
Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
scanning bus usb@fe380000 for devices... 1 USB Device(s) found
scanning bus usb@fe3a0000 for devices... 1 USB Device(s) found
scanning bus usb@fe3c0000 for devices... 1 USB Device(s) found
scanning bus usb@fe3e0000 for devices... 2 USB Device(s) found
scanning bus dwc3 for devices... cannot reset port 2!?
1 USB Device(s) found
scanning usb for storage devices... 0 Storage Device(s) found
Questions:
1. Do I have a shit rockpro64 board?
2. Is u-boot not able to work with usb to sata bridges? (hopefully yet)
3. any other magic method you can think of to get usb 3.0 to boot?