Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 24 Mar 2012 11:40:02 +0200
From:      Andriy Gapon <avg@FreeBSD.org>
To:        Kaho Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>, Alexander Motin <mav@FreeBSD.org>
Cc:        freebsd-current@FreeBSD.org, freebsd-usb@FreeBSD.org
Subject:   Re: USB Flash drive problem with 9.0
Message-ID:  <4F6D9672.4050201@FreeBSD.org>
In-Reply-To: <17628.1332555469@pf2.ed.niigata-u.ac.jp>
References:  <COL112-W354F702F0F2A3DDF718D49B7460@phx.gbl> <201203230825.32954.hselasky@c2i.net> <17628.1332555469@pf2.ed.niigata-u.ac.jp>

next in thread | previous in thread | raw e-mail | index | archive | help
on 24/03/2012 04:17 Kaho Toshikazu said the following:
>   Hello,
> 
>   I have a similar problem with Transcend 16GB USB flash. When the flash
> is plugged, FreeBSD attache it, but reports very big capacity and can
> not read/write it. UQ_MSC_NO_INQUIRY makes jobs in my machines.
> 10-current and 8-stable have same problem, and 9-stable is not tested.

Could the problem be related to r229288 (r232943 in stable/9)?
The dates below match the MFC date 2012-03-13.

> To: freebsd-usb@freebsd.org
> Subject: Re: USB Flash drive problem with 9.0
> From: Hans Petter Selasky <hselasky@c2i.net>
> Date: Fri, 23 Mar 2012 08:25:32 +0100
> Cc: Alexander Motin <mav@freebsd.org>, freebsd-current@freebsd.org, "J.J. Day" <day1234@hotmail.com>
> 
> On Friday 23 March 2012 06:14:08 J.J. Day wrote:
>> 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


-- 
Andriy Gapon



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4F6D9672.4050201>