USB Flash drive problem with 9.0

J.J. Day day1234 at hotmail.com
Fri Mar 23 21:27:45 UTC 2012


>> I am upgrading a FreeBSD server and have encountered a problem with
>> mounting a USB flash drive. The system was on 6.3 and I upgraded to 9.0
>> using CVS repositories. The flash drive worked properly at all steps
>> throughout the upgrade. However, after the OS upgrade was complete, I
>> made a mistake and destroyed some of the server application.
>> 
>> So, I set the
>> upgraded drive aside, copied the original source drive to a different
>> spare, and repeated the upgrade process taking care to verify the
>> functioning of the applications during the process. When I finished the
>> second time, everything worked properly except for mounting the flash
>> drive.
>> 
>> it appears that something changed with the OS code that reads the drive
>> firmware between the first time I ran cvsup on (about) the 9th and the
>> second time I ran it about the 18th.
>> 
>> 
>> 
>> This is the output from the first upgrade (3/11/2012) when the drive is
>> inserted:
>> 
>> 
>> 
>> 	ugen4.2: <HP> at usbus4
>> umass0: <HP v165w, class 0/0, rev 2.00/32.76, addr 2> on usbus4
>> umass0:  SCSI over Bulk-Only; quirks = 0x0100
>> umass0:2:0:-1: Attached to scbus2
>> da0 at umass-sim0 bus 0 scbus2 target 0 lun 0
>> da0: <hp v165w 3276> Removable Direct Access SCSI-4 device
>> da0: 40.000MB/s transfers
>> da0: 30960MB (63406080 512 byte sectors: 255H 63S/T 3946C)
>> And diskinfo output:
>> 
>> 
>> 
>> 	da0
>> 	512         	# sectorsize
>> 	32463912960 	# mediasize in bytes (30G)
>> 	63406080    	# mediasize in sectors
>> 	0           	# stripesize
>> 	0           	# stripeoffset
>> 	3946        	# Cylinders according to firmware.
>> 	255         	# Heads according to firmware.
>> 	63          	# Sectors according to firmware.
>> 	AA22064F00000035	# Disk ident.
>> This is the output from the second upgrade (3/18/2012) when the drive is
>> inserted:
>> 
>> 
>> 
>> 	ugen4.2: <HP> at usbus4
>> umass0: <HP v165w, class 0/0, rev 2.00/32.76, addr 2> on usbus4
>> umass0:  SCSI over Bulk-Only; quirks = 0x0100
>> umass0:2:0:-1: Attached to scbus2
>> da0 at umass-sim0 bus 0 scbus2 target 0 lun 0
>> da0: <hp v165w 3276> Removable Direct Access SCSI-4 device
>> da0: 40.000MB/s transfers
>> da0: 17454747090944MB (71776119061217281 512 byte sectors: 64H 32S/T 0C)
>> And diskinfo shows:
>>
>
>Hi,
>
>> 
>> 	da0
>> 	512         	# sectorsize
>> 	-144115188075855360	# mediasize in bytes ()
>> 	-281474976710655	# mediasize in sectors
>> 	0           	# stripesize
>> 	0           	# stripeoffset
>> 	-137438953471	# Cylinders according to firmware.
>> 	64          	# Heads according to firmware.
>> 	32          	# Sectors according to firmware.
>> 	AA22064F00000035	# Disk ident.
>> Since the size information is incorrect, the /dev/da0s1 device is not
>> created and the drive cannot be mounted. The problem only happens with a
>> large drive. When I use a 4GB or 8GB drive, everything works correctly.
>> 
>> If there is any information that I can submit that can assist in solving
>> the problem please let me know.
>> 
>
>This does not look like a USB problem. It is the SCSI/CAM layer which queries 
>over SCSI USB how big the disk is.
>
>BTW:
>
>dec2hex(17454747090944)
>ans = FE000000000
>
>So it looks like some additional bits have sneaked in there?
>
>dec2hex(32463912960)
>ans = 78F000000
>
> 0xFE000000000 / 0x78F000000
>ans =  537.67
>
>So it looks like the mediasize was multiplied by 512 when it shouldn't.
>
>--HPS

So the problem could be that the header is shifted two bytes?

I don't know where to look, but is there any way I can see what the header is that 
is presented from the drive or how the system processes it?

JJ
 		 	   		  


More information about the freebsd-usb mailing list