2040:7200 SuperSpeed USB failure (and kernel oops) after launching tvtime: ERROR Transfer event TRB DMA ptr not part of current TD; unable to handle kernel NULL pointer dereference at 0000000000000018; IP is at usb_set_interface+0x19/0x2d0

Bug #1200204 reported by Ronald J. Wright
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Invalid
Medium
Unassigned

Bug Description

The machine has Ubuntu 13.04 installed, and it consists of an ASUS H87I-PLUS motherboard with Haswell hardware and a combination of USB 2.0 and SuperSpeed USB ports. I am having trouble using it with a Hauppauge WinTV-HVR-950Q TV tuner card. Plugging in the card or leaving it plugged in before boot does not lead to any failures, but after I launch tvtime, it causes a USB failure, which causes USB shutdown and then a kernel oops. I plugged the card into various USB 2.0 and SuperSpeed USB ports, and I have even used version 3.10 of the Linux kernel. However, the same result occurred whether a SuperSpeed USB port or a USB 2.0 port was used, and the same USB failure (with USB shutdown but without a kernel oops) occurred in version 3.10 of Linux. I tried the same version of Ubuntu (with an official Ubuntu-supported kernel) on a Lenovo X201 Tablet containing only USB 2.0 ports, and it seems to work fine. This leads me to believe that there is a bug in the xhci driver. Attached are logs documenting the USB failure in both the Ubuntu-supported 3.8.0 kernel and the 3.10 kernel that occurred on launch of tvtime.

Upstream URL: http://comments.gmane.org/gmane.linux.usb.general/89930

ProblemType: Bug
DistroRelease: Ubuntu 13.04
Package: linux-image-3.8.0-26-generic 3.8.0-26.38
ProcVersionSignature: Ubuntu 3.8.0-26.38-generic 3.8.13.2
Uname: Linux 3.8.0-26-generic x86_64
ApportVersion: 2.9.2-0ubuntu8.1
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC2: ron 1937 F.... pulseaudio
 /dev/snd/controlC1: ron 1937 F.... pulseaudio
 /dev/snd/controlC0: ron 1937 F.... pulseaudio
CRDA: Error: command ['iw', 'reg', 'get'] failed with exit code 1: nl80211 not found.
Date: Wed Jul 10 08:16:02 2013
HibernationDevice: RESUME=UUID=eb7fabf7-3980-4caf-af26-e6c53469c718
InstallationDate: Installed on 2013-07-06 (4 days ago)
InstallationMedia: Ubuntu 13.04 "Raring Ringtail" - Release amd64 (20130424)
IwConfig:
 eth1 no wireless extensions.

 lo no wireless extensions.
MachineType: ASUS All Series
MarkForUpload: True
ProcEnviron:
 TERM=xterm
 PATH=(custom, no user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.8.0-26-generic root=UUID=6a9a5196-9fc6-43aa-befb-efe292bed5a1 ro crashkernel=384M-2G:64M,2G-:128M quiet splash vt.handoff=7
PulseList:
 Error: command ['pacmd', 'list'] failed with exit code 1: Home directory not accessible: Permission denied
 No PulseAudio daemon running, or not running as session daemon.
RelatedPackageVersions:
 linux-restricted-modules-3.8.0-26-generic N/A
 linux-backports-modules-3.8.0-26-generic N/A
 linux-firmware 1.106
RfKill:

SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 04/15/2013
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: 0306
dmi.board.asset.tag: To be filled by O.E.M.
dmi.board.name: H87I-PLUS
dmi.board.vendor: ASUSTeK COMPUTER INC.
dmi.board.version: Rev X.0x
dmi.chassis.asset.tag: Asset-1234567890
dmi.chassis.type: 3
dmi.chassis.vendor: Chassis Manufacture
dmi.chassis.version: Chassis Version
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr0306:bd04/15/2013:svnASUS:pnAllSeries:pvrSystemVersion:rvnASUSTeKCOMPUTERINC.:rnH87I-PLUS:rvrRevX.0x:cvnChassisManufacture:ct3:cvrChassisVersion:
dmi.product.name: All Series
dmi.product.version: System Version
dmi.sys.vendor: ASUS

Revision history for this message
Ronald J. Wright (logiconcepts819) wrote :
Revision history for this message
Ronald J. Wright (logiconcepts819) wrote :
description: updated
Revision history for this message
Brad Figg (brad-figg) wrote : Status changed to Confirmed

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
description: updated
Revision history for this message
Joseph Salisbury (jsalisbury) wrote : Re: SuperSpeed USB failure (and kernel oops) after launching tvtime: ERROR Transfer event TRB DMA ptr not part of current TD; unable to handle kernel NULL pointer dereference at 0000000000000018; IP is at usb_set_interface+0x19/0x2d0

Did this issue start happening after an update/upgrade? Was there a kernel version where you were not having this particular problem? This will help determine if the problem you are seeing is the result of the introduction of a regression, and when this regression was introduced. If this is a regression, we can perform a kernel bisect to identify the commit that introduced the problem.

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Also, this issue appears to be an upstream bug, since you tested the latest upstream kernel. Would it be possible for you to open an upstream bug report[0]? That will allow the upstream Developers to examine the issue, and may provide a quicker resolution to the bug.

Please follow the instructions on the wiki page[0]. The first step is to email the appropriate mailing list. If no response is received, then a bug may be opened on bugzilla.kernel.org.

Once this bug is reported upstream, please add the tag: 'kernel-bug-reported-upstream'.

Changed in linux (Ubuntu):
importance: Undecided → Medium
tags: added: saucy
Revision history for this message
Ronald J. Wright (logiconcepts819) wrote :

I have tested older revisions of the Linux kernel using the Ubuntu 13.04 and 12.04.2 live CDs. I ended up with the same USB failure (and kernel oops), so I suspect this issue has been present since the initial implementation of the xhci driver and is therefore not a regression.

tags: added: bios-outdated-0507 needs-upstream-testing
removed: usb3
tags: added: regression-potential
tags: added: precise
Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Ronald J. Wright (logiconcepts819) wrote :

I updated the BIOS, and this did not change anything.

Revision history for this message
Ronald J. Wright (logiconcepts819) wrote :
Revision history for this message
Christopher M. Peñalver (penalvch) wrote :

Ronald J. Wright, thank you for performing the requested update. Did this problem not occur in a release prior to Precise?

tags: added: latest-bios-0507
removed: bios-outdated-0507
Revision history for this message
Ronald J. Wright (logiconcepts819) wrote :

AFAIK, my machine seems unable to run any Ubuntu version older than Precise. When I ran the live CDs for Ubuntu 10.04.4 and 10.10, it could not boot and threw me into Busybox (probably because I was running the live CD off of a flash drive and USB 3.0 is not supported in these versions. Even if I had an optical drive and ran these versions of Ubuntu from a physical CD, the USB ports would most likely not work anyways). When I ran the live CD for Ubuntu 11.04, the system froze on the Ubuntu splash screen. When I ran the live CD for Ubuntu 11.10, a kernel oops occurred during boot and the startup process stopped.

Revision history for this message
Christopher M. Peñalver (penalvch) wrote :

Ronald J. Wright, thank you for attempting to test for a regression. When you tested 3.10, was this the one provided via the Ubuntu repository or the mainline via https://wiki.ubuntu.com/Kernel/MainlineBuilds ?

Revision history for this message
Ronald J. Wright (logiconcepts819) wrote :

Actually, it was neither. I downloaded the upstream 3.10 version directly from the kernel.org homepage and followed the instructions on https://wiki.ubuntu.com/KernelTeam/GitKernelBuild to build the kernel. Then, I installed the deb packages generated by the build and tried it out.

Revision history for this message
Christopher M. Peñalver (penalvch) wrote :

Ronald J. Wright, thank you for providing the requested information. Just to advise, the kernels provided in https://wiki.ubuntu.com/Kernel/MainlineBuilds are upstream kernels packaged into .debs with no modifications. Hence, could you please test the latest upstream kernel via http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.10.1-saucy/ ?

tags: added: kernel-bug-exists-upstream-v3.10
Revision history for this message
Ronald J. Wright (logiconcepts819) wrote :

I ended up with the same result that occurred when testing the 3.10 kernel that I built myself.

Revision history for this message
Ronald J. Wright (logiconcepts819) wrote :
tags: added: kernel-bug-exists-upstream kernel-bug-exists-upstream-v3.10.1
removed: kernel-bug-exists-upstream-v3.10 needs-upstream-testing
tags: added: unable-to-test-regression-potential
removed: regression-potential
summary: - SuperSpeed USB failure (and kernel oops) after launching tvtime: ERROR
- Transfer event TRB DMA ptr not part of current TD; unable to handle
- kernel NULL pointer dereference at 0000000000000018; IP is at
+ 2040:7200 SuperSpeed USB failure (and kernel oops) after launching
+ tvtime: ERROR Transfer event TRB DMA ptr not part of current TD; unable
+ to handle kernel NULL pointer dereference at 0000000000000018; IP is at
usb_set_interface+0x19/0x2d0
description: updated
Revision history for this message
Christopher M. Peñalver (penalvch) wrote :

Ronald J. Wright, thank you for testing the latest mainline kernel available. Could you please unplug all USB devices, plug in just the Hauppauge WinTV-HVR-950Q TV tuner card, and then immediately place the following in a terminal and attach the results:
lsusb -v > lsusb-v.log

tags: added: needs-usb-trace
Revision history for this message
Ronald J. Wright (logiconcepts819) wrote :
Revision history for this message
Christopher M. Peñalver (penalvch) wrote :

Ronald J. Wright, thank you for providing the requested attachment. Could you please boot into the newest mainline kernel, and gather a USB trace for a more in depth analysis following http://www.kernel.org/doc/Documentation/usb/usbmon.txt ?

Thank you for your understanding.

Revision history for this message
Ronald J. Wright (logiconcepts819) wrote :
Revision history for this message
Christopher M. Peñalver (penalvch) wrote :

Ronald J. Wright, the issue you are reporting is an upstream one. Could you please report this problem through the appropriate channel by following the instructions _verbatim_ at https://wiki.ubuntu.com/Bugs/Upstream/kernel#KernelTeam.2BAC8-KernelTeamBugPolicies.Overview_on_Reporting_Bugs_Upstream ?

Thank you for your understanding.

Helpful bug reporting tips:
https://help.ubuntu.com/community/ReportingBugs

tags: added: has-usb-trace
removed: needs-usb-trace
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Ronald J. Wright (logiconcepts819) wrote : [BUG] xhci_hcd: ERROR Transfer event TRB DMA ptr not part of current TD
Download full text (98.6 KiB)

[1.] One line summary of the problem:
2040:7200 SuperSpeed USB failure after launching tvtime: ERROR Transfer
event TRB DMA ptr not part of current TD

[2.] Full description of the problem/report:
The machine has Ubuntu 13.04 installed, and it consists of an ASUS
H87I-PLUS motherboard with Haswell hardware and a combination of USB 2.0
and SuperSpeed USB ports. I am having trouble using it with a Hauppauge
WinTV-HVR-950Q TV tuner card. Plugging in the card or leaving it plugged
in before boot does not lead to any failures, but after I launch tvtime,
it causes a USB failure, which causes USB shutdown. The same result
occurred whether a SuperSpeed USB port or a USB 2.0 port was used. I
tried the same version of Ubuntu (with an official Ubuntu-supported
kernel in the main repository) on a Lenovo X201 Tablet containing only
USB 2.0 ports, and it seems to work fine. This leads me to believe that
there is a bug in the xhci driver. Here is the URL to the Launchpad bug
report: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1200204

[3.] Keywords (i.e., modules, networking, kernel): usb, XHCI, kernel

[4.] Kernel version (from /proc/version):
Linux version 3.10.1-031001-generic (apw@gomeisa) (gcc version 4.6.3
(Ubuntu/Linaro 4.6.3-1ubuntu5) ) #201307131550 SMP Sat Jul 13 19:51:31
UTC 2013

[5.] Output of Oops.. message (if applicable) with symbolic information
resolved (see Documentation/oops-tracing.txt)
(No oops in upstream mainline kernel)

[6.] A small shell script or example program which triggers the problem
(if possible)
(With tvtime installed and a Hauppauge WinTV-HVR-950Q TV tuner plugged
into any USB port on an ASUS H87I-PLUS board:)
#!/bin/bash
tvtime

[7.] Environment
Description: Ubuntu 13.04
Release: 13.04

[7.1.] Software (add the output of the ver_linux script here)
If some fields are empty or look unusual you may have an old version.
Compare to the current minimal requirements in Documentation/Changes.

Linux ron-H87I-PLUS 3.10.1-031001-generic #201307131550 SMP Sat Jul 13
19:51:31 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

Gnu C 4.7
Gnu make 3.81
binutils 2.23.2
util-linux 2.20.1
mount support
module-init-tools 9
e2fsprogs 1.42.5
pcmciautils 018
PPP 2.4.5
Linux C Library 2.17
Dynamic linker (ldd) 2.17
Procps 3.3.3
Net-tools 1.60
Kbd 1.15.5
Sh-utils 8.20
wireless-tools 30
Modules Loaded snd_usb_audio snd_usbmidi_lib au8522_dig xc5000
tuner au8522_decoder au8522_common au0828 videobuf_vmalloc hid_generic
tveeprom dvb_core v4l2_common videobuf_core videodev usbhid hid
snd_hda_codec_realtek snd_hda_codec_hdmi parport_pc ppdev bnep rfcomm
bluetooth coretemp snd_hda_intel snd_hda_codec kvm snd_hwdep snd_pcm
crc32_pclmul ghash_clmulni_intel i915 snd_page_alloc aesni_intel
aes_x86_64 snd_seq_midi lrw gf128mul snd_seq_midi_event glue_helper
ablk_helper snd_rawmidi drm_kms_helper cryptd snd_seq drm mei_me psmouse
snd_seq_device eeepc_wmi i2c_algo_bit asus_wmi snd_timer serio_raw mei
sparse_keymap snd v...

Revision history for this message
Ronald J. Wright (logiconcepts819) wrote :
Revision history for this message
Ronald J. Wright (logiconcepts819) wrote :
Download full text (106.1 KiB)

Hi Sarah,

I have attached the dmesg output to the Launchpad bug report as you
requested.

Ron Wright

On 07/29/2013 12:19 PM, Sarah Sharp wrote:
> Hi Ron,
>
> Thanks for reporting this bug.
>
> A patch that should fix the verbose logging issue has been added to
> Greg's usb-linus branch, and it should be queued for 3.11 shortly. That
> should make the "ERROR Transfer event TRB DMA ptr not part of current
> TD" messages go away. Please let me know if the messages still occur.
>
> https://git.kernel.org/cgit/linux/kernel/git/gregkh/usb.git/commit/?h=usb-linus&id=07f3cb7c28bf3f4dd80bfb136cf45810c46ac474
>
> As for the USB shutdown issue, please compile a 3.11 kernel from Greg's
> usb-linus branch, with CONFIG_USB_DEBUG and CONFIG_USB_XHCI_HCD_DEBUGGING
> enabled. Start recording dmesg, and then use tvtime to cause the host
> to shutdown. Attach the updated dmesg to the ubuntu bug report, and
> email me back to let me know you've updated it.
>
> Sarah Sharp
>
> On Sun, Jul 14, 2013 at 06:32:59PM -0500, Ron Wright wrote:
>> [1.] One line summary of the problem:
>> 2040:7200 SuperSpeed USB failure after launching tvtime: ERROR
>> Transfer event TRB DMA ptr not part of current TD
>>
>> [2.] Full description of the problem/report:
>> The machine has Ubuntu 13.04 installed, and it consists of an ASUS
>> H87I-PLUS motherboard with Haswell hardware and a combination of USB
>> 2.0 and SuperSpeed USB ports. I am having trouble using it with a
>> Hauppauge WinTV-HVR-950Q TV tuner card. Plugging in the card or
>> leaving it plugged in before boot does not lead to any failures, but
>> after I launch tvtime, it causes a USB failure, which causes USB
>> shutdown. The same result occurred whether a SuperSpeed USB port or
>> a USB 2.0 port was used. I tried the same version of Ubuntu (with an
>> official Ubuntu-supported kernel in the main repository) on a Lenovo
>> X201 Tablet containing only USB 2.0 ports, and it seems to work
>> fine. This leads me to believe that there is a bug in the xhci
>> driver. Here is the URL to the Launchpad bug report:
>> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1200204
>>
>> [3.] Keywords (i.e., modules, networking, kernel): usb, XHCI, kernel
>>
>> [4.] Kernel version (from /proc/version):
>> Linux version 3.10.1-031001-generic (apw@gomeisa) (gcc version 4.6.3
>> (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #201307131550 SMP Sat Jul 13
>> 19:51:31 UTC 2013
>>
>> [5.] Output of Oops.. message (if applicable) with symbolic
>> information resolved (see Documentation/oops-tracing.txt)
>> (No oops in upstream mainline kernel)
>>
>> [6.] A small shell script or example program which triggers the
>> problem (if possible)
>> (With tvtime installed and a Hauppauge WinTV-HVR-950Q TV tuner
>> plugged into any USB port on an ASUS H87I-PLUS board:)
>> #!/bin/bash
>> tvtime
>>
>> [7.] Environment
>> Description: Ubuntu 13.04
>> Release: 13.04
>>
>> [7.1.] Software (add the output of the ver_linux script here)
>> If some fields are empty or look unusual you may have an old version.
>> Compare to the current minimal requirements in Documentation/Changes.
>>
>> Linux ron-H87I-PLUS 3.10.1-031001-generic #201307131550 SMP Sat Jul
>> 13 1...

Revision history for this message
Joseph Salisbury (jsalisbury) wrote : Please test latest development kernel (3.11.0-7.14)

Given the number of bugs that the Kernel Team receives during any development cycle it is impossible for us to review them all. Therefore, we occasionally resort to using automated bots to request further testing. This is such a request.

We are approaching release and would like to confirm if this bug is still present. Please test again with the latest development kernel and indicate in the bug if this issue still exists or not.

You can update to the latest development kernel by simply running the following commands in a terminal window:

    sudo apt-get update
    sudo apt-get dist-upgrade

If the bug still exists, change the bug status from Incomplete to Confirmed. If the bug no longer exists, change the bug status from Incomplete to Fix Released.

Thank you for your help, we really do appreciate it.

Changed in linux (Ubuntu):
status: Confirmed → Incomplete
tags: added: kernel-request-3.11.0-7.14
Revision history for this message
Ronald J. Wright (logiconcepts819) wrote :

The USB shutdown bug still exists as of version 3.11.0-8.15. Since I have gained a greater awareness of this issue, I am beginning to suspect that it is similar to the one described in #1151622.

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Christopher M. Peñalver (penalvch) wrote :

Ronald J. Wright, could you please provide the URL to the upstream archive discussion?

As well, could you please test the latest mainline kernel via http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12-rc2-saucy/ and advise on the results?

tags: added: needs-upstream-testing
removed: kernel-bug-exists-upstream
Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Ronald J. Wright (logiconcepts819) wrote :

If you mean the URL to an archive of messages that were sent between me and the xHCI maintainer (Sarah Sharp), here is the URL: http://comments.gmane.org/gmane.linux.usb.general/89930. So far, what is seen at Gmane does not differ from what is seen in comment #24, as I have not received any further replies from Sarah.

I have tested versions 3.12-rc2-saucy and 3.12-rc3-saucy. In these versions, I am no longer getting the message "ERROR Transfer event TRB DMA ptr not part of current TD", but I still have the same USB shutdown issue.

tags: added: bot-stop-nagging kernel-bug-exists-upstream-v3.12-rc3
removed: kernel-bug-exists-upstream-v3.10.1 kernel-request-3.11.0-7.14 needs-upstream-testing
description: updated
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Ronald J. Wright (logiconcepts819) wrote :

Six months have passed since I have tested the 3.12-rc3 mainline kernel, and I confirm that the USB shutdown issue still exists after testing the 3.14 mainline kernel. (FYI, the system was upgraded from Raring to Saucy on December 21, 2013.)

Revision history for this message
Christopher M. Peñalver (penalvch) wrote :

Ronald J. Wright, as per http://www.asus.com/Motherboards/H87IPLUS/#support_Download_8 an update is available for your BIOS (1005). If you update to this, does it change anything?

If not, could you please provide the output of the following terminal command:
sudo dmidecode -s bios-version && sudo dmidecode -s bios-release-date

Thank you for your understanding.

tags: added: bios-outdated-1005 kernel-bug-exists-upstream-v3.14
removed: kernel-bug-exists-upstream-v3.12-rc3 latest-bios-0507
Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Ronald J. Wright (logiconcepts819) wrote :

I updated the BIOS to version 1004, and this did not change anything.

Revision history for this message
Ronald J. Wright (logiconcepts819) wrote :

I meant to say BIOS version 1005, not 1004.

tags: added: latest-bios-1005
removed: bios-outdated-1005
Changed in linux (Ubuntu):
status: Incomplete → Triaged
Revision history for this message
Ronald J. Wright (logiconcepts819) wrote :

It turns out that we now have a workaround for this bug. It appears as if bug 1313279 is a duplicate of this bug, because I installed the mainline 3.13.4 kernel, and I was able to get tvtime to run without shutting down the USB host.

Revision history for this message
Ronald J. Wright (logiconcepts819) wrote :

To add to my previous comment, the workaround was around for a while now, but I did not know until now.

Revision history for this message
Ronald J. Wright (logiconcepts819) wrote :

I just tried out the latest version of the Trusty kernel (3.13.0-88-generic #135-Ubuntu), and I confirm that the bug seems to be fixed (i.e., USB is fully working, and tvtime runs without shutting down the USB host).

Revision history for this message
Christopher M. Peñalver (penalvch) wrote :

Ronald J. Wright, this bug report is being closed due to your last comment https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1200204/comments/35 regarding this being fixed with an update. For future reference you can manage the status of your own bugs by clicking on the current status in the yellow line and then choosing a new status in the revealed drop down box. You can learn more about bug statuses at https://wiki.ubuntu.com/Bugs/Status. Thank you again for taking the time to report this bug and helping to make Ubuntu better. Please submit any future bugs you may find.

Changed in linux (Ubuntu):
status: Triaged → Invalid
To post a comment you must log in.