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