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