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