nforce2 usb is broken on -stable

Andrew Atrens atrens at nortelnetworks.com
Fri Aug 22 10:06:23 PDT 2003


Hi All,

I'm running stable from August 19/2003.

I've got a few A7N8X-Deluxe boards. One Rev1.0 and two Rev2.0.  While 
the 1.0 board works, the 2.0 boards lock up on boot during the uhub0 bus 
discovery.

It's extremely frustrating :) ...

While I can boot without the devices and attach them later, the devices 
( logitech usb keyboard, logitech mouse, rio800, samsung  CDMA adapter, 
canon S30 camera, and APC UPS500, are all completely unusable. They 
attach and detach BUT THAT'S ABOUT ALL !!!  Querying them causes the 
query-er to lock up, and most often timeout. Querying the same device 
multiple times (wait-fail, wait-fail) will eventually (2+ iterations) 
cause the box to reset.

Tried this with two motherboards and the above peripherals and it is 
100% reproduceable (for me at least).

I narrowed down the restart problem to the following code snippet in 
ohci.c, line 2242 -

(I've added the printfs) ...

               case UHF_PORT_RESET:
                        DPRINTFN(5,("ohci_root_ctrl_transfer: reset port 
%d\n", index));
                        printf("ohci_root_ctrl_transfer: writing reset 
to port\n");
                        OWRITE4(sc, port, UPS_RESET);
                        printf("ohci_root_ctrl_transfer: wrote reset to 
port\n");
                        for (i = 0; i < 10; i++) {
                                printf("ohci_root_ctrl_transfer: doing 
10ms delay\n");
                                usb_delay_ms(&sc->sc_bus, 10);
                                printf("ohci_root_ctrl_transfer: 
re-reading reset bits\n");
                                if ((OREAD4(sc, port) & UPS_RESET) == 0)
                                        break;
                                printf("ohci_root_ctrl_transfer: failed: 
trying again\n");
                        }

On boot with a usb device attached I see :

...
ohci_root_ctrl_transfer: reset port 2
ohci_root_ctrl_transfer: writing reset to port
ohci_root_ctrl_transfer: wrote reset to port
ohci_root_ctrl_transfer: doing 10ms delay


and that's all !!!


Reproducing -

1.  Attach a usb device (powered or not).
2.  Restart PC  ( warm or cold ).



I've attached is my kernel config....


Any help/advice you can provide would be greatly appreciated ...


Cheers,

Andrew.



-------------- next part --------------

machine		i386
cpu		I686_CPU
ident		ATRENS
maxusers	0

# disable for now, breaks my hpt374 kernel module
#
#options         PAE   


options 	INET			#InterNETworking
options 	INET6			#IPv6 communications protocols

options         IPSEC                   #IP security
options         IPSEC_ESP               #IP security (crypto; define w/ IPSEC)
options         IPSEC_DEBUG             #debug for IP security

pseudo-device   crypto          # core crypto support
pseudo-device   cryptodev       # /dev/crypto for access to h/w

options         VESA

device          hifn            # Hifn 7951, 7781, etc.
device          ubsec           # Broadcom 5501, 5601, 58xx

options         NETGRAPH

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 	MFS			#Memory Filesystem
options 	MD_ROOT			#MD is a potential root device
options 	NFS			#Network Filesystem
options 	NFS_ROOT		#NFS usable as root device, NFS required
options 	MSDOSFS			#MSDOS Filesystem
options 	CD9660			#ISO 9660 Filesystem
options 	CD9660_ROOT		#CD-ROM usable as root, CD9660 required
options 	PROCFS			#Process filesystem
options 	COMPAT_43		#Compatible with BSD 4.3 [KEEP THIS!]
options 	SCSI_DELAY=15000	#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         SHMALL=8192
options         CPU_ATHLON_SSE_HACK
options         CPU_ENABLE_SSE
options         NO_F00F_HACK


# To support HyperThreading, HTT is needed in addition to SMP and APIC_IO
options 	HTT			# HyperThreading Technology

device		isa
device		eisa
device		pci

device          apm

# Floppy drives
device		fdc0	at isa? port IO_FD1 irq 6 drq 2
device		fd0	at fdc0 drive 0
device		fd1	at fdc0 drive 1
#
# If you have a Toshiba Libretto with its Y-E Data PCMCIA floppy,
# don't use the above line for fdc0 but the following one:
#device		fdc0

# 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
device		atapicam		# ATAPI CAM interface
options 	ATA_STATIC_ID		#Static device numbering

# SCSI Controllers
device		ahb		# EISA AHA1742 family
device		ahc		# AHA2940 and onboard AIC7xxx devices
device		ahd		# AHA39320/29320 and onboard AIC79xx devices
device		amd		# AMD 53C974 (Tekram DC-390(T))
device		isp		# Qlogic family
device		mpt		# LSI-Logic MPT/Fusion
device		ncr		# NCR/Symbios Logic
device		sym		# NCR/Symbios Logic (newer chipsets)
options 	SYM_SETUP_LP_PROBE_MAP=0x40
				# Allow ncr to attach legacy NCR devices when 
				# both sym and ncr are configured

device		sym

# SCSI peripherals
device		scbus		# SCSI bus (required)
device		da		# Direct Access (disks)
device		sa		# Sequential Access (tape etc)
device		cd		# CD
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

# Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver
#device		vt0	at isa?
#options 	XSERVER			# support for X server on a vt console
#options 	FAT_CURSOR		# start with block cursor
# If you have a ThinkPAD, uncomment this along with the rest of the PCVT lines
#options 	PCVT_SCANSET=2		# IBM keyboards are non-std

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


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

# Serial (COM) ports
device		sio0	at isa? port IO_COM1 flags 0x10 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


# PCI Ethernet NICs.

device          miibus
device		xl		# 3Com 3c90x (``Boomerang'', ``Cyclone'')

device          pcm

# Pseudo devices - the number indicates how many units to allocate.
pseudo-device	loop		# Network loopback
pseudo-device	ether		# Ethernet support
pseudo-device	sl	1	# Kernel SLIP
pseudo-device	ppp	1	# 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		#Berkeley packet filter

options         USB_DEBUG
device          firewire
device		uhci		# OHCI PCI->USB interface
device		ohci		# OHCI PCI->USB interface
device		usb		# USB Bus (required)
device		ugen		# Generic
device		uhid		# "Human Interface Devices"
device		ukbd		# Keyboard
device		ums		# Mouse
device          urio

device          smbus
device          smb




More information about the freebsd-stable mailing list