Subject: Re: NVIDIA ehci(4) USB problem
To: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
From: Chavdar Ivanov <ci4ic4@gmail.com>
List: port-i386
Date: 06/21/2007 16:05:25
On 21/06/07, Izumi Tsutsui <tsutsui@ceres.dti.ne.jp> wrote:
> Does anyone use umass(4) devices on ehci(4) of NVIDIA chipset
> on -current?
>

Check e.g. http://mail-index.netbsd.org/current-users/2007/06/20/0002.html
and the rest from yesterday. At this moment, as soon as I attach a
disk to an ehci i/f I get a panic.

If I attach a USB1.1 hub first, and then the disk, then it works, but
obviously  slowly.

> I'm using ASRock AM2NF3-VSTA board which has NVIDIA nForce3 250
> chipset and its ehci is attached as the following:
> ---
> ehci0 at pci0 dev 2 function 2: NVIDIA nForce3 250 USB2 Host Controller (rev. 0xa2)
> LUS2: Picked IRQ 22 with weight 0
> ehci0: interrupting at ioapic0 pin 22 (irq 3)
> ehci0: BIOS has given up ownership
> ehci0: EHCI version 1.0
> ehci0: companion controllers, 4 ports each: ohci0 ohci1
> usb2 at ehci0: USB revision 2.0
> uhub2 at usb2
> uhub2: NVIDIA EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
> uhub2: 8 ports with 8 removable, self powered
> ---
>
> When I plug a USB flash memory to USB port, the device is properly
> attached and I can mount it. But after some file read/write accesses
> it just hangs in syscall and put the following errors:
>
> ---
> umass0 at uhub2 port 3 configuration 1 interface 0
> umass0: BUFFALO USB Flash Disk, rev 2.00/1.00, addr 2
> umass0: using SCSI over Bulk-Only
> scsibus0 at umass0: 2 targets, 1 lun per target
> sd0 at scsibus0 target 0 lun 0: <BUFFALO, USB Flash Disk, 3.00> disk removable
> sd0: 246 MB, 984 cyl, 16 head, 32 sec, 512 bytes/sect x 503808 sectors
>
>  :
>
> umass0: BBB reset failed, TIMEOUT
> umass0: BBB bulk-in clear stall failed, TIMEOUT
> ---
>
> I unplug the device during the hang, then I get the following panic:
> (taken from dmesg after panic)
>
> ---
> umass0: at uhub2 port 4 (addr 2) disconnected
> sd0(umass0:0:0:0): generic HBA error
> sd0(umass0:0:0:0): generic HBA error
> sd0 detached
> scsibus0 detached
> usbd_free_xfer: timout_handle pendingehci_freex: xfer=0xc2cbdb00 not busy, 0x0000009e
> ehci_freex: !isdone
> umass0 detached
> usb_transfer_complete: xfer=0xc2cbdb00 not busy 0x00000046
> usb_transfer_complete: xfer=0xc2cbdc00 not busy 0x00000046
> usb_transfer_complete: xfer=0xc2cbdd00 not busy 0x00000046
> uvm_fault(0xc06a7f40, 0, 1) -> 0xe
> ----

Mine are different, but everything points to the ehci driver.
Initially I couldn't even boot unless I disabled it - that is under
-current amd64.

>
> The same device connected via a USB 1.1 hub (and NVIDIA's ohci(4))
> works fine. Also it works on NEC's ehci and VIA's ehci.
>
> Adding EHCIF_DROPPED_INTR_WORKAROUND quirk for VIA variants
> in ehci_pci.c doesn't help.
>
> Should I send-pr about this?
> ---
> Izumi Tsutsui
>
Chavdar Ivanov