usb-only rpi 3b+ (+UART foo)
Per olof Ljungmark
peo at nethead.se
Mon Aug 6 14:46:14 UTC 2018
On 8/6/18 6:21 AM, John Kennedy wrote:
> I'm trying to boot using only USB (no SD card). Seems like it should be easy.
>
> Booted up via my SD card with the USB drive attached, I can see and use it easily:
>
> # usbconfig
> ugen0.1: <DWCOTG OTG Root HUB> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
> ugen0.2: <vendor 0x0424 product 0x2514> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (2mA)
> ugen0.3: <vendor 0x0424 product 0x2514> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (2mA)
> ugen0.4: <vendor 0x0424 product 0x7800> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (2mA)
> ugen0.5: <Logitech USB Receiver> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (98mA)
> --> ugen0.6: <Samsung Portable SSD T5> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
>
> The RPI doesn't get the green boot-light or the rainbow screen. So low-level
> stuff is obviously AWOL. I've put program_usb_boot_mode=1 into the config.txt,
> but can't verify it with vcgencmd since that won't compile on arm64 (I haven't
> tried burning raspbian and seeing if they have a working port to verify).
>
> As a real disk, it's power light comes up delayed. It seems like it should be
> lit before 5-seconds, but I don't know if that is enough for the RPI to try
> and enumerate it. Currently I'm trying to divide and conquer by putting the
> MSDOS boot partition on an SD card and then boot USB off of that, or at least
> try to figure out what is wrong from there.
>
> So my USB console cable finally arrived and I plugged it in:
>
> kernel: ugen0.4: <Silicon Labs CP2102 USB to UART Bridge Controller> at usbus0
> kernel: uslcom0 on uhub0
> kernel: uslcom0: <CP2102 USB to UART Bridge Controller> on usbus0
>
> Connecting via this from my amd64 FreeBSD box:
>
> screen /dev/cuaU0 115200
>
> It's dropping some characters, so hopefully I won't add typos:
>
> [usb reset]
> U-Boot> usb reset
> resetting USB...
> USB0: scanning bus 0 for devices... 5 USB Device(s) found
> scanning usb for storage devices... 0 Storage Device(s) found
>
> U-Boot> usb start
>
> If anybody has some suggestions on how to get that cable to not murder the
> serial output (from the RPI), that would be helpful. The input (to RPI) seems
> totally fine looking at the HDMI console output, but what comes back is very
> spotty (lots of dropped characters, don't see mangling). In any case:
>
> Murdered info from usb info:
> 1: Hub (u-boot root hub)
> 2: Hub (vendor 0x0424, product 0x2514)
> 3: Hub (vendor 0x0424, product 0x2514)
> 4: Human interface (boot keyboard, boot mouse, should be the logitech)
> 5: vendor specific (vendor 0x0424, product 0x7800)
>
> So u-boot isn't even seeing my Samsung drive?
>
> [version]
> aarch64-none-elf-gcc (FreeBSD Ports Collection for aarch64noneelf) 6.4.0
> GNU ld (GNU Binutils) 2.30
>
> That (and it's supporting partition of files) should be from:
> FreeBSD-12.0-CURRENT-arm64-aarch64-RPI3-20180726-r336739.img
>
> [cat /boot/msdos/config.txt]
> arm_control=0x200
> dtparam=audio=on,i2c_arm=on,spi=on
> dtoverlay=mmc
> dtoverlay=pwm
> dtoverlay=pi3-disable-bt
> device_tree_address=0x4000
> kernel=u-boot.bin
>
> program_usb_boot_mode=1
> enable_uart=1
Did you try FreeBSD 12.0-CURRENT #0 r336479: Thu Jul 19 14:52:02 UTC 2018 ?
Neither my rpi3b or rpi3b+ will boot images made after that rev.
//per
More information about the freebsd-arm
mailing list