Index: seabios-1.16.0/src/hw/blockcmd.c
===================================================================
--- seabios-1.16.0.orig/src/hw/blockcmd.c
+++ seabios-1.16.0/src/hw/blockcmd.c
@@ -95,6 +95,7 @@ cdb_read_capacity16(struct disk_op_s *op
     op->buf_fl = data;
     op->cdbcmd = &cmd;
     op->blocksize = sizeof(*data);
+    dprintf(0, "Running cdb_read_capacity16()\n");
     return process_op(op);
 }
 
@@ -353,6 +354,7 @@ scsi_drive_setup(struct drive_s *drive,
 
     struct cdbres_read_capacity capdata;
     ret = cdb_read_capacity(&dop, &capdata);
+    dprintf(0, "%s: cdb_read_capacity returned %d\n", s, ret);
     if (ret)
         return ret;
 
@@ -363,6 +365,7 @@ scsi_drive_setup(struct drive_s *drive,
         return -1;
     }
     drive->sectors = be32_to_cpu(capdata.sectors) + 1ULL;
+    dprintf(0, "%s: After READ CAPACITY(10): blksize=%d sectors=0x%llx\n", s, drive->blksize, drive->sectors);
 
     // Try READ CAPACITY(16) for 64-bit LBA on READ CAPACITY overflow.
     if (drive->sectors == 0x100000000ULL) {
@@ -370,17 +373,24 @@ scsi_drive_setup(struct drive_s *drive,
             dprintf(1, "%s: large disk found, but interface does not support 16-byte commands\n", s);
             goto no_read16;
         }
+        dprintf(0, "%s: large disk found, trying READ CAPACITY(16)\n", s);
         u32 blksize;
         struct cdbres_read_capacity16 capdata16;
         ret = cdb_read_capacity16(&dop, &capdata16);
-        if (ret)
+        dprintf(0, "%s: cdb_read_capacity16 returned %d\n", s, ret);
+        if (ret) {
+            dprintf(0, "%s:   RC(16) failed: %d\n", s, ret);
             goto no_read16;
+        }
 
         blksize = be32_to_cpu(capdata16.blksize);
-        if (blksize != DISK_SECTOR_SIZE)
+        if (blksize != DISK_SECTOR_SIZE) {
+          dprintf(0, "%s: blksize %d, expected %d\n", s, blksize, DISK_SECTOR_SIZE);
             goto no_read16;
+        }
         drive->blksize = blksize;
         drive->sectors = be64_to_cpu(capdata16.sectors) + 1ULL;
+        dprintf(0, "%s: After READ CAPACITY(16): blksize=%d sectors=0x%llx\n", s, drive->blksize, drive->sectors);
     }
 
   no_read16:
