I am now running 4.9-current kernel (from 12th March, ohci.c still at
version 1.103) and userland bits from 4.8-release. The uow device is
now attached to Belkin F5U219 Rev 4 PCI USB card, the list now looks
like this:

# usbdevs -v
Controller /dev/usb0:
addr 1: high speed, self powered, config 1, EHCI root hub(0x0000),
NEC(0x1033), rev 1.00
 port 1 powered
 port 2 powered
 port 3 powered
Controller /dev/usb1:
addr 1: full speed, self powered, config 1, OHCI root hub(0x0000),
NEC(0x1033), rev 1.00
 port 1 addr 2: full speed, power 100 mA, config 1, product
0x2490(0x2490), vendor 0x04fa(0x04fa), rev 0.02
 port 2 powered
Controller /dev/usb2:
addr 1: full speed, self powered, config 1, OHCI root hub(0x0000),
NEC(0x1033), rev 1.00
 port 1 powered
Controller /dev/usb3:
addr 1: full speed, self powered, config 1, OHCI root hub(0x0000),
Compaq(0x0e11), rev 1.00
 port 1 powered
 port 2 powered
 port 3 powered
#

I completed another exercise with plugging/uplugging the uow device
with various timeouts of removal/insertion.

My testing "methodology":
  for timeout in 0.3s 0.5s 1s 1.5s 2s 2.5s 3s; do
    unplug
    wait for timeout
    plug
  done

Tested with both on-board USB and PCI USB. No panics happened. I got
lots of messages like this:

uow0: cmd failed, type 0x01, cmd 0x0029, param 0x0000: IOERROR
uow0: cmd failed, type 0x00, cmd 0x0000, param 0x0000: IOERROR
ohci_freex: xfer=0xd0deb900 not busy, 0x46524545
onewire0 detached
uow0 detached
uow0 at uhub3 port 1 "vendor 0x04fa product 0x2490" rev 1.00/0.02 addr 2
onewire0 at uow0
uow0: read failed, len 1: CANCELLED
uow0: cmd failed, type 0x00, cmd 0x0000, param 0x0000: IOERROR
uow0: cmd failed, type 0x01, cmd 0x0021, param 0x0000: IOERROR
uow0: cmd failed, type 0x00, cmd 0x0000, param 0x0000: IOERROR
uow0: cmd failed, type 0x01, cmd 0x0029, param 0x0000: IOERROR
uow0: cmd failed, type 0x00, cmd 0x0000, param 0x0000: IOERROR
uow0: cmd failed, type 0x01, cmd 0x0029, param 0x0000: IOERROR
uow0: cmd failed, type 0x00, cmd 0x0000, param 0x0000: IOERROR
uow0: cmd failed, type 0x01, cmd 0x0029, param 0x0000: IOERROR
uow0: cmd failed, type 0x00, cmd 0x0000, param 0x0000: IOERROR
ohci_freex: xfer=0xd0deb200 not busy, 0x46524545
onewire0 detached
uow0 detached
uow0 at uhub3 port 1 "vendor 0x04fa product 0x2490" rev 1.00/0.02 addr 2
onewire0 at uow0
uow0: read failed, len 1: IOERROR


So, this PR can be closed.

However, the hangs are still happening no matter to which USB the uow
device is connected, will do more testing and create separate PR for
it once I gather more data.



On Sun, Mar 13, 2011 at 6:48 AM, Jacob Meuser <jake...@sdf.lonestar.org>
wrote:
> On Sat, Feb 12, 2011 at 11:30:01AM -0700, Vladim?r Kotal wrote:
>> The following reply was made to PR i386/6553; it has been noted by GNATS.
>>
>> From: =?ISO-8859-1?Q?Vladim=EDr_Kotal?= <vl...@devnull.cz>
>> To: Jacob Meuser <jake...@sdf.lonestar.org>
>> Cc: gn...@openbsd.org, s...@spacehopper.org
>> Subject: Re: i386/6553: crash in ohci_timeout when plugging/unplugging USB
device
>> Date: Sat, 12 Feb 2011 18:17:51 +0100
>>
>>  On Sun, Jan 30, 2011 at 8:52 PM, Jacob Meuser <jake...@sdf.lonestar.org>
wrote:
>>  > please try -current.  lots of work has been done in this area since
>>  > 4.8 release.
>>
>>  The box is now running 4.9-beta kernel (the userland is the same) with
>>  the same configuration since today. The checkout of the sys tree was
>>  done today, ohci.c has version 1.103.
>>
>>  I casually tried to reproduce the problem with a sequence of
>>  plug/unplug of the uow USB device. This resulted in sequence of
>>  messages on the console but no panic so far.
>>
>>  Sample of the messages:
>>
>>  uow0: cmd failed, type 0x01, cmd 0x0029, param 0x0000: IOERROR
>>  uow0: cmd failed, type 0x00, cmd 0x0000, param 0x0000: IOERROR
>>  ohci_freex: xfer=0xd0dca000 not busy, 0x46524545
>>  onewire0 detached
>>  uow0 detached
>>  uow0 at uhub0 port 1 "vendor 0x04fa product 0x2490" rev 1.00/0.02 addr 2
>>  onewire0 at uow0
>>  uow0: read failed, len 1: CANCELLED
>>  uow0: cmd failed, type 0x00, cmd 0x0000, param 0x0000: IOERROR
>>  uow0: cmd failed, type 0x01, cmd 0x0021, param 0x0000: IOERROR
>>  uow0: cmd failed, type 0x00, cmd 0x0000, param 0x0000: IOERROR
>>  uow0: cmd failed, type 0x01, cmd 0x0029, param 0x0000: IOERROR
>>  uow0: cmd failed, type 0x00, cmd 0x0000, param 0x0000: IOERROR
>>  uow0: cmd failed, type 0x01, cmd 0x0029, param 0x0000: IOERROR
>>  uow0: cmd failed, type 0x00, cmd 0x0000, param 0x0000: IOERROR
>>  uow0: cmd failed, type 0x01, cmd 0x0029, param 0x0000: IOERROR
>>  uow0: cmd failed, type 0x00, cmd 0x0000, param 0x0000: IOERROR
>>  ohci_freex: xfer=0xd0dd6500 not busy, 0x46524545
>>  onewire0 detached
>>  uow0 detached
>>  uow0 at uhub0 port 1 "vendor 0x04fa product 0x2490" rev 1.00/0.02 addr 2
>>  onewire0 at uow0
>>  ohci_freex: xfer=0xd0dd6900 not busy, 0x46524545
>>
>>
>>  It seems that the CANCELLED message is new compared to 4.8 kernel.
>>
>>  I should also mention that since I started using the uow device with
>>  temperature sensors the Soekris box is experiencing hard hangs.
>>  Nothing on the console, it has to be restarted by powering off or via
>>  watchdog. Usually the hang happens at least twice a week (without any
>>  obvious correlation). I will let the box running with 4.9-beta to see
>>  if it goes away or not. Also, I plan to perform more plug/unplug
>>  exercises.
>
> so, is the crash when unplugging the uow fixed?  if it is, could
> you please let me know and enter a new pr for the other problems?
> thanks.
>
> --
> jake...@sdf.lonestar.org
> SDF Public Access UNIX System - http://sdf.lonestar.org

Reply via email to