[U-Boot] Generic bootcmd handling: Missing 'scsi scan'

Hans de Goede
2014-09-14T18:00:52Z

Hi Karsten,

Thanks for testing this!

On 09/14/2014 05:43 PM, Karsten Merker wrote:
> Hello,
>
> I am currently testing the new bootcmd handling introduced at
> http://git.denx.de/?p=u-boot.git;a=commit;h=8cc96848f0a467922820895b6b2363b0c64163b5
> on a sunxi-based system running u-boot v2014.10-rc2.
>
> When installing to MMC, everything works as expected; the
> boot.scr on the first MMC partition is found and executed.
>
> When installing to a SATA disk, the following happens:
>
> U-Boot 2014.10-rc2 (Sep 04 2014 - 07:32:33) Allwinner Technology
>
> CPU: Allwinner A20 (SUN7I)
> I2C: ready
> DRAM: 2 GiB
> MMC: SUNXI SD/MMC: 0
> In: serial
> Out: serial
> Err: serial
> SCSI: SUNXI SCSI INIT
> Target spinup took 0 ms.
> AHCI 0001.0100 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
> flags: ncq stag pm led clo only pmp pio slum part ccc apst
> Net: dwmac.1c50000
> Hit any key to stop autoboot: 0
> switch to partitions #0, OK
> mmc0 is current device
> Scanning mmc 0...
> ** No partition table - mmc 0 **
> ** No partition table - mmc 0 **
> ** No partition table - mmc 0 **
> ** No partition table - mmc 0 **
> ** No partition table - mmc 0 **
> ** No partition table - mmc 0 **
>
> SCSI device 0:
> Device 0: device type unknown
> ... is now current device
> Scanning scsi 0...
> ** Bad device size - scsi 0 **
> ** Bad device size - scsi 0 **
> ** Bad device size - scsi 0 **
> ** Bad device size - scsi 0 **
> ** Bad device size - scsi 0 **
> ** Bad device size - scsi 0 **
> [...]
>
> The last block is the output of running ${scsi_boot}:
>
> sun7i# printenv scsi_boot
> scsi_boot=if scsi dev ${devnum}; then setenv devtype scsi; run scan_dev_for_boot; fi
>
> What appears to be missing here, is a previous 'scsi scan' command.
> When prepending it to ${scsi_boot}, everything works as expected:
>
> sun7i# printenv scsi_boot
> scsi_boot=scsi scan; if scsi dev 0; then setenv devtype scsi; run scan_dev_for_boot; fi
> sun7i# run scsi_boot
> scanning bus for devices...
> Device 0: (0:0) Vendor: ATA Prod.: HGST HTS541010A9 Rev: JA0O
> Type: Hard Disk
> Capacity: 953869.7 MB = 931.5 GB (1953525168 x 512)
> Found 1 device(s).
>
> SCSI device 0:
> Device 0: (0:0) Vendor: ATA Prod.: HGST HTS541010A9 Rev: JA0O
> Type: Hard Disk
> Capacity: 953869.7 MB = 931.5 GB (1953525168 x 512)
> ... is now current device
> Scanning scsi 0...
> Found U-Boot script /boot.scr
> 2033 bytes read in 20 ms (98.6 KiB/s)
> ## Executing script at 43100000
>
> Could you add a 'scsi scan' command to the generic bootcmd
> handling infrastructure?

A good question, I wonder if this is something which would be considered
SoC specific, or if all SoCs need this though?

Stephen (added to the To) what is your take on this ?

Regards,

Hans