Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 24 Mar 2012 11:17:49 +0900
From:      Kaho Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>
To:        freebsd-current@freebsd.org
Cc:        , freebsd-usb@freebsd.org
Subject:   Re: USB Flash drive problem with 9.0
Message-ID:  <17628.1332555469@pf2.ed.niigata-u.ac.jp>
References:  <COL112-W354F702F0F2A3DDF718D49B7460@phx.gbl> <201203230825.32954.hselasky@c2i.net>

next in thread | previous in thread | raw e-mail | index | archive | help
  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.

--
Kaho Toshikazu

--
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



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