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