HEADSUP!!! USB MFC committed..

Christopher Sean Hilton chris at vindaloo.com
Sun Apr 4 17:17:22 PDT 2004


On Fri, Mar 26, 2004 at 05:08:35PM -0800, Julian Elischer wrote:

I'm having a problem with Pendrives in general. My "manufactured for
Memorex by Trek" 256M Drive came up in 10 seconds on FreeBSD 4.8. In
4.9 since the MFC it takes two minutes and ten seconds. I suspect that
some quirk got turned off and that the machine it timeing out some
SCSI commands at startup. I would love to get the old behaviour
back. I've built a debugging kernel with CAMDEBUG turned on. Here's
what happens:

Apr  4 19:51:08 dagobah /kernel.test: (xpt0:xpt0:0:-1:-1): debugging flags now 8
Apr  4 19:51:20 dagobah /kernel.test: umass0: USB Solid state disk, rev 1.10/1.00, addr 2
Apr  4 19:51:20 dagobah /kernel.test: umass0:1:0:-1: Attached to scbus1 as device 0
Apr  4 19:51:20 dagobah /kernel.test: (probe0:umass-sim0:0:0:0): INQUIRY. CDB: 12 0 0 0 24 0 

... Wait ...

Apr  4 19:53:30 dagobah /kernel.test: (probe0:umass-sim0:0:0:0): Vendor Specific Command. CDB: 12 0 0 0 24 0 
Apr  4 19:53:32 dagobah /kernel.test: (probe0:umass-sim0:0:0:0): INQUIRY. CDB: 12 1 80 0 ff 0 
Apr  4 19:53:32 dagobah /kernel.test: (probe0:umass-sim0:0:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0 
Apr  4 19:53:32 dagobah /kernel.test: pass0 at umass-sim0 bus 0 target 0 lun 0
Apr  4 19:53:32 dagobah /kernel.test: pass0: <Memorex ThumbDrive 1.12> Removable Direct Access SCSI-2 device 
Apr  4 19:53:32 dagobah /kernel.test: pass0: Serial Number 
Apr  4 19:53:32 dagobah /kernel.test: pass0: 650KB/s transfers
Apr  4 19:53:32 dagobah /kernel.test: Creating DISK da0
Apr  4 19:53:32 dagobah /kernel.test: (da0:umass-sim0:0:0:0): READ CAPACITY. CDB: 25 0 0 0 0 0 0 0 0 0 
Apr  4 19:53:32 dagobah /kernel.test: da0 at umass-sim0 bus 0 target 0 lun 0
Apr  4 19:53:32 dagobah /kernel.test: da0: <Memorex ThumbDrive 1.12> Removable Direct Access SCSI-2 device 
Apr  4 19:53:32 dagobah /kernel.test: da0: Serial Number 
Apr  4 19:53:32 dagobah /kernel.test: da0: 650KB/s transfers
Apr  4 19:53:32 dagobah /kernel.test: da0: 252MB (516096 512 byte sectors: 64H 32S/T 252C)


It looks like the first inquiry command is timing out and then the
code changes the CDB from "12 0 0 0 24 0" to "12 1 80 0 ff 0" which
succeeds. This may just be a matter of needing some more time for the
device to settle before it's probed. I say that because the device
comes right up when the kernel is booted.

I can send you more detailed information if you would like. The usb
device id is Vendor: 0x0a16 Product 0x9780. It's a Trek 256Mb
Thumbdrive manufactured for Memorex.

Thanks for any help you can provide. (I can look into this more deeply
on my own if you can give me some pointers)

# Kernel Configuration for GATEWAY-450 Laptop
#
# $Id$

machine		i386
cpu		I386_CPU
cpu		I486_CPU
cpu		I586_CPU
cpu		I686_CPU
ident		GATEWAY_450
maxusers	0

makeoptions	DEBUG=-g		#Build kernel with gdb(1) debug symbols

options		DDB
options		DDB_UNATTENDED
options		GDB_REMOTE_CHAT

options 	MATH_EMULATE		#Support for x87 emulation
options 	INET			#InterNETworking
options 	INET6			#IPv6 communications protocols
options 	FFS			#Berkeley Fast Filesystem
options 	FFS_ROOT		#FFS usable as root device [keep this!]
options 	SOFTUPDATES		#Enable FFS soft updates support
options 	UFS_DIRHASH		#Improve performance on big directories
options 	NFS			#Network Filesystem
options 	MSDOSFS			#MSDOS Filesystem
options 	CD9660			#ISO 9660 Filesystem
options		EXT2FS			#Linux Filesystems
options 	PROCFS			#Process filesystem
options 	COMPAT_43		#Compatible with BSD 4.3 [KEEP THIS!]
options 	SCSI_DELAY=5000		#Delay (in ms) before probing SCSI
options 	UCONSOLE		#Allow users to grab the console
options 	USERCONFIG		#boot -c editor
options 	VISUAL_USERCONFIG	#visual boot -c editor
options 	KTRACE			#ktrace(1) support
options 	SYSVSHM			#SYSV-style shared memory
options 	SYSVMSG			#SYSV-style message queues
options 	SYSVSEM			#SYSV-style semaphores
options 	P1003_1B		#Posix P1003_1B real-time extensions
options 	_KPOSIX_PRIORITY_SCHEDULING
options 	ICMP_BANDLIM		#Rate limit bad replies
options 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev

options		USER_LDT

options		IPSEC
options		IPSEC_ESP

options 	IPFIREWALL		#firewall
options 	IPFIREWALL_VERBOSE	#enable logging to syslogd(8)
options 	IPFIREWALL_FORWARD	#enable transparent proxy support
options 	IPFIREWALL_VERBOSE_LIMIT=100	#limit verbosity
options 	IPFIREWALL_DEFAULT_TO_ACCEPT	#allow everything by default

options 	IPV6FIREWALL		#firewall for IPv6
options 	IPV6FIREWALL_VERBOSE
options 	IPV6FIREWALL_VERBOSE_LIMIT=100
options 	IPV6FIREWALL_DEFAULT_TO_ACCEPT

options 	IPDIVERT		#divert sockets

options		DA_OLD_QUIRKS
options		CAMDEBUG

device		isa
device		eisa
device		pci

# Floppy drives
device		fdc0	at isa? port IO_FD1 irq 6 drq 2
device		fd0	at fdc0 drive 0

# ATA and ATAPI devices
device		ata0	at isa? port IO_WD1 irq 14
device		ata1	at isa? port IO_WD2 irq 15
device		ata
device		atadisk			# ATA disk drives
device		atapicd			# ATAPI CDROM drives
device		atapifd			# ATAPI floppy drives
device		atapist			# ATAPI tape drives
options 	ATA_STATIC_ID		#Static device numbering

# SCSI Controllers
device		aic0	at isa?

# SCSI peripherals
device		scbus		# SCSI bus (required)
device		da		# Direct Access (disks)
device		sa		# Sequential Access (tape etc)
device		cd		# CD
device		ch		# Tape Changer
device		pass		# Passthrough device (direct SCSI access)

# atkbdc0 controls both the keyboard and the PS/2 mouse
device		atkbdc0	at isa? port IO_KBD
device		atkbd0	at atkbdc? irq 1 flags 0x1
device		psm0	at atkbdc? irq 12

device		vga0	at isa?

# splash screen/screen saver
pseudo-device	splash

# syscons is the default console driver, resembling an SCO console
device		sc0	at isa? flags 0x100
options		SC_PIXEL_MODE
options 	VESA

device		agp		# support several AGP chipsets

device		pcm

# Floating point support - do not disable.
device		npx0	at nexus? port IO_NPX irq 13

# Power management support (see LINT for more options)
device		apm0	at nexus? 

# PCCARD (PCMCIA) support
device		card
device		pcic0	at isa? irq 0 port 0x3e0 iomem 0xd0000

# Serial (COM) ports
device		sio0	at isa? port IO_COM1 flags 0x90 irq 4
device		sio1	at isa? port IO_COM2 irq 3

# Parallel port
device		ppc0	at isa? irq 7
device		ppbus		# Parallel port bus (required)
device		lpt		# Printer
device		plip		# TCP/IP over parallel
device		ppi		# Parallel port interface device
#device		vpo		# Requires scbus and da


# PCI Ethernet NICs.
device		em		# Intel PRO/1000 adapter Gigabit Ethernet Card (``Wiseman'')
device		ed
device		miibus

device		awi
device		wi

# Pseudo devices - the number indicates how many units to allocate.
pseudo-device	loop		# Network loopback
pseudo-device	ether		# Ethernet support
pseudo-device	ppp	4	# Kernel PPP
pseudo-device	tun		# Packet tunnel.
pseudo-device	pty		# Pseudo-ttys (telnet etc)
pseudo-device	md		# Memory "disks"
pseudo-device	gif		# IPv6 and IPv4 tunneling
pseudo-device	faith	1	# IPv6-to-IPv4 relaying (translation)

# The `bpf' pseudo-device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
pseudo-device	bpf	4	#Berkeley packet filter

# USB support
device		uhci		# UHCI PCI->USB interface
device		ohci		# OHCI PCI->USB interface
device		ehci
device		usb		# USB Bus (required)
device		ugen		# Generic
device		uhid		# "Human Interface Devices"
device		ukbd		# Keyboard
device		ulpt		# Printer
device		umass		# Disks/Mass storage - Requires scbus and da
device		ums		# Mouse
device		uscanner	# Scanners
device		urio		# Diamond Rio MP3 Player
device		uvisor
device		ucom
# USB Ethernet, requires mii
device		aue		# ADMtek USB ethernet
device		cue		# CATC USB ethernet
device		kue		# Kawasaki LSI USB ethernet

# FireWire support
device		firewire	# FireWire bus code
device		sbp		# SCSI over FireWire (Requires scbus and da)
device		fwe		# Ethernet over FireWire (non-standard!)


-- Chris

-- 
Chris Hilton                                 chilton-at-vindaloo-dot-com
------------------------------------------------------------------------
                "All I was doing was trying to get home from work!"
                                                 -- Rosa Parks


More information about the freebsd-stable mailing list