From owner-freebsd-current@freebsd.org Mon Feb 22 07:03:27 2016 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A61EEAAFB1B; Mon, 22 Feb 2016 07:03:27 +0000 (UTC) (envelope-from hps@selasky.org) Received: from mail.turbocat.net (mail.turbocat.net [IPv6:2a01:4f8:d16:4514::2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 70C1A1D1C; Mon, 22 Feb 2016 07:03:27 +0000 (UTC) (envelope-from hps@selasky.org) Received: from laptop015.home.selasky.org (unknown [62.141.129.119]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.turbocat.net (Postfix) with ESMTPSA id 6F5C51FE022; Mon, 22 Feb 2016 08:03:24 +0100 (CET) Subject: Re: new computer, strange usb messages at boot To: Larry Rosenman References: <20160220051951.GA47875@lrosenman-dell.lerctr.org> <56C8310B.4010908@selasky.org> <9F54F75F-9FF4-4587-8FFD-C6BE6DC20E17@FreeBSD.org> <56C9BF13.4000408@selasky.org> Cc: Dimitry Andric , freebsd-current@freebsd.org, owner-freebsd-current@freebsd.org From: Hans Petter Selasky Message-ID: <56CAB352.70408@selasky.org> Date: Mon, 22 Feb 2016 08:05:54 +0100 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Feb 2016 07:03:27 -0000 Hi, On 02/21/16 17:27, Larry Rosenman wrote: > On 2016-02-21 07:43, Hans Petter Selasky wrote: >> On 02/21/16 14:33, Dimitry Andric wrote: >>> If you ask me, something is just seriously broken in the way the xhci >>> driver works on Haswell or higher Intel CPUs. For example, on an >>> embedded Haswell box with USB3 ports: >> >> Hi, >> >> Nothing is seriously broken in the XHCI driver. Try to set: >> >> hw.usb.xhci.xhci_port_route=0 > > Does this DISABLE USB3? No, only the USB 2.x and 1.x part of the XHCI controller. >> >> Which will route all devices to the EHCI, in your /boot/loader.conf >> >> Does it make any difference? >> >> Refer to the following print: >>> xhci0: Port routing mask set to 0xffffffff >> >> The chipset you're using is special in that the binding of ports >> between XHCI and EHCI is not fixed. Maybe some combinations are simply >> not supported. >> > > Why is it "special"? It seems it's the norm for haswell and newer (in > my case Skylake). With special I mean, that the XHCI controller chipset has additional registers to switch the port routing between XHCI and EHCI for USB 2.0 and 1.0 devices. This was not part of the initial XHCI standard. I believe that is what the enumeration failures are about, that the USB 2.x/1.x lines are not properly routed to the XHCI in hardware. For the sake of the matter you can try to boot the Haswell chipset setting hw.usb.xhci.debug=16 in /boot/loader.conf, and send me the resulting log off-list, without using the hw.usb.xhci.xhci_port_route setting. And I'll see if there are any errors there which we can handle in software. --HPS