Maybe run: lsusb -v
and compare the output for the difference SanDisk Cruzer USB devices
if they're identical or different.

On Thu, Mar 1, 2012 at 12:38 AM, Dave Frodin <[email protected]> wrote:
> I'm a new subscriber to seabios.org so feel free to straighten me out if 
> needed.
>
> I've been debugging an problem we've been seeing with not being able to boot 
> (Ubuntu specifically) off
> of a variety of "newer" USB thumb drives. I've been specifically looking at 
> an older/newer pair of
> Sandisk Cruzer 4GB drives. I've been adding dprintf's to narrow down the 
> problem to the blockcmd.c file.
> The function scsi_init_drive() queries the USB device to determine stuff like 
> vendor/device/size/etc.
> Near the end of the function is a call to cdb_mode_sense_geom(&dop, 
> &geomdata) to retrieve the info
> related to cyl/head type stuff. On the older/working thumbdrive it returns 
> zeroes for all of the values
> that get used by the code. The newer/failing drive generates a "stall" on the 
> USB bus, which it never
> recovers from. The cdb_mode_sense_geom() function is sending a SCSI CDB Mode 
> Sense (CMD=0x5A) to the device.
>
> As a hack of a test, I removed the call to cdb_mode_sense_geom() and filled 
> the buffer it should have returned
> with zeroes and the failing thumbdrive now boots.
>
> I have some searching I need to do to find out...
> 1) Is there a SCSI command to determine what protocols are supported?
> 2) Is there another SCSI command that might return similar required data?
>
> Has anyone out there experienced similar booting difficulties?
> Or does anyone have any recommendations on what approach I should take?
>
> thanks,
> Dave
>
> _______________________________________________
> SeaBIOS mailing list
> [email protected]
> http://www.seabios.org/mailman/listinfo/seabios

_______________________________________________
SeaBIOS mailing list
[email protected]
http://www.seabios.org/mailman/listinfo/seabios

Reply via email to