# [Sort of workaround] xhci_pci crashes after some time

## joanandk

Hi,

I have a HP DL380 Gen9 Server which is connected to a 1-Wire sensor network via USB:

Server -> USB-HUB (EX-SYS 1178) -> USB to I2C adapter -> DS2482-800 (I2C to 1-Wire adapter)

Except the Server, this setup was working for over 5 years with Dell 2950 without issues. I have upgraded the server from Dell to HP about 50days from today. The difference between Dell and HP: USB 2.0 (ehci) and USB 3.0 (xhci).

The USB connection stopped working the first time after 45days. The second time today after 5day. The message always starts like this:

```

[496204.762154] usb 2-11: USB disconnect, device number 3

[496204.762157] usb 2-11.1: USB disconnect, device number 5

```

The device behind 2-11.1 is the USB to I2C adapter. The odd part: even if I change ports on the USB-HUB, the server does no longer recognize the change and it will no longer communicate with the 1-Wire network.

Today I have tried to "grab" USB from the server by using it with Virtualbox and 

```

[507716.384069] ------------[ cut here ]------------

[507716.384077] WARNING: CPU: 15 PID: 4054 at kernel/module.c:1108 module_put+0x90/0xa0

[507716.384079] Modules linked in: ddbridge(O) cxd2099(O) lnbp21(O) stv090x(O) stv6110x(O) mxl5xx(O) stv6111(O) drxk(O) stv0910(O) lnbh25(O) cxd2843(O) stv0367dd(O) tda18212dd(O) dvb_core(O) fuse nfsd auth_rpcgss oid_registry nfs_acl lockd grace sunrpc i2c_dev xt_nat xt_tcpudp xt_conntrack iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_filter ip_tables x_tables af_packet bridge stp ipv6 crc_ccitt llc tun i2c_devantech_iss(O) hid_generic usbhid

[507716.384117] i2c-devantech-iss 2-11.1:1.0: disconnected

[507716.384118]  ipmi_ssif sr_mod cdrom sb_edac ahci libahci libata edac_core tg3 ipmi_si x86_pkg_temp_thermal xhci_pci ptp intel_powerclamp xhci_hcd uhci_hcd pps_core hpwdt libphy usbcore lpc_ich ioatdma hpilo i2c_i801 coretemp i2c_smbus mfd_core i2c_core dca evdev usb_common ipmi_devintf ipmi_msghandler vboxpci(O) vboxnetadp(O) vboxnetflt(O) vboxdrv(O)

[507716.384152] CPU: 15 PID: 4054 Comm: owserver Tainted: G           O    4.9.16-gentoo #1

[507716.384154] Hardware name: HP ProLiant DL380 Gen9/ProLiant DL380 Gen9, BIOS P89 07/18/2016

[507716.384156]  ffffc900081f7d78 ffffffff81296148 0000000000000000 0000000000000000

[507716.384160]  ffffc900081f7db8 ffffffff810580fc 000004545219b6b0 ffff880850bde730

[507716.384163]  ffff880850bde730 ffff880855b44db0 ffff880852ab63c0 ffff88085ba10c20

[507716.384167] Call Trace:

[507716.384174]  [<ffffffff81296148>] dump_stack+0x4d/0x65

[507716.384179]  [<ffffffff810580fc>] __warn+0xcc/0xf0

[507716.384182]  [<ffffffff810581d8>] warn_slowpath_null+0x18/0x20

[507716.384184]  [<ffffffff810c9070>] module_put+0x90/0xa0

[507716.384187]  [<ffffffff81187b1b>] cdev_put+0x1b/0x20

[507716.384191]  [<ffffffff81185140>] __fput+0x1a0/0x1e0

[507716.384195]  [<ffffffff811851b9>] ____fput+0x9/0x10

[507716.384198]  [<ffffffff81073909>] task_work_run+0x79/0xa0

[507716.384202]  [<ffffffff8105b3d1>] do_exit+0x351/0xb30

[507716.384207]  [<ffffffff8104aab1>] ? __do_page_fault+0x231/0x490

[507716.384210]  [<ffffffff8105ca10>] do_group_exit+0x40/0xa0

[507716.384214]  [<ffffffff8105ca7f>] SyS_exit_group+0xf/0x10

[507716.384220]  [<ffffffff815cb2e4>] entry_SYSCALL_64_fastpath+0x17/0x98

[507716.384222] ---[ end trace 65aacef67ede7a85 ]---

```

After stopping the virtual machine, I can access the 1-Wire network (as the whole USB subsystem has been reset).

I am using Kernel 4.9.16-gentoo; system is hardended/amd64 profile.

Long story, short question:

- Is this issue a software or hardware problem?

- What can I do to have a stable USB connection?

Thank for a helping hand.

[Moderator edit: changed [quote] tags to [code] tags to preserve output layout. -Hu]Last edited by joanandk on Thu Feb 21, 2019 7:30 pm; edited 1 time in total

----------

## joanandk

I have in the meantime changed the system. The new system utilises dedicated (PcEngines Wrap 1c) embeddedPC and its native I2C port to a new DS2482-800 chip.

It seems the device got defective (I will be doing some forensics to find which module broke).

Thanks and BR

----------

