kernelnewbies.kernelnewbies.org archive mirror
 help / color / mirror / Atom feed
* Disable xhci_hcd USB 3.0 module
@ 2014-12-15 15:04 Gustavo Duarte
  2014-12-15 15:30 ` Greg KH
  0 siblings, 1 reply; 9+ messages in thread
From: Gustavo Duarte @ 2014-12-15 15:04 UTC (permalink / raw)
  To: kernelnewbies

Hi guys,

I have a notebook with 2 ports USB 2.0 and one USB 3.0.

For some reason, kernel uses xhci_hcd module driver for all the three ports.

Since I have an application that isn't compatilbe with xhci_hcd
driver, I need disable it, and force the use of ehci-pc driver.

My question is, since xhci_hcd is compiled inside the kernel, how can
i do to disable it, without re-compile the kernel ?

Thanks in advance.

Gustavo.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Disable xhci_hcd USB 3.0 module
  2014-12-15 15:04 Disable xhci_hcd USB 3.0 module Gustavo Duarte
@ 2014-12-15 15:30 ` Greg KH
  2014-12-15 16:50   ` Gustavo Duarte
  0 siblings, 1 reply; 9+ messages in thread
From: Greg KH @ 2014-12-15 15:30 UTC (permalink / raw)
  To: kernelnewbies

On Mon, Dec 15, 2014 at 01:04:57PM -0200, Gustavo Duarte wrote:
> Hi guys,
> 
> I have a notebook with 2 ports USB 2.0 and one USB 3.0.
> 
> For some reason, kernel uses xhci_hcd module driver for all the three ports.

Then you really have 3 USB 3 ports in the system.

> Since I have an application that isn't compatilbe with xhci_hcd
> driver, I need disable it, and force the use of ehci-pc driver.

What type of application isn't compatible with xhci-hcd?  Shouldn't we
fix something like this in the kernel as this isn't a good thing to
have.

> My question is, since xhci_hcd is compiled inside the kernel, how can
> i do to disable it, without re-compile the kernel ?

You control where the driver is compiled, why not change it if needed?

confused,

greg k-h

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Disable xhci_hcd USB 3.0 module
  2014-12-15 15:30 ` Greg KH
@ 2014-12-15 16:50   ` Gustavo Duarte
  2014-12-15 17:08     ` Greg KH
  0 siblings, 1 reply; 9+ messages in thread
From: Gustavo Duarte @ 2014-12-15 16:50 UTC (permalink / raw)
  To: kernelnewbies

Hi Greg,

The Notebook has physically 2 port USB 2.0 and one port USB 3.0. The
manufacturer specs says that and the output of the command lsusb says
the same:

$ lsusb

Bus 001 Device 002: ID 058f:6254 Alcor Micro Corp. USB Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 5986:024b Acer, Inc

>What type of application isn't compatible with xhci-hcd?  Shouldn't we
>fix something like this in the kernel as this isn't a good thing to
>have.

The app, is a SDK of Robootic kits programming for kids.
http://www.lejos.org/nxt/nxj/tutorial/Preliminaries/GettingStartedLinux.htm
The bug is on the firmware-library of the SDK, so there isn't to fix
on kernel/driver side.

I'm using the kernel compilde by ubuntu 12.04,

$ uname -r
3.8.0-33-generic

And i would like still using that, without recompile it, for this
reason is my question, how can i disable xhci_hcd driver without
recompile it. ?

I hope the explanation of my problem be clear enough.

Thanks in advance.

Gustavo.

On Mon, Dec 15, 2014 at 1:30 PM, Greg KH <gregkh@linuxfoundation.org> wrote:
> On Mon, Dec 15, 2014 at 01:04:57PM -0200, Gustavo Duarte wrote:
>> Hi guys,
>>
>> I have a notebook with 2 ports USB 2.0 and one USB 3.0.
>>
>> For some reason, kernel uses xhci_hcd module driver for all the three ports.
>
> Then you really have 3 USB 3 ports in the system.
>
>> Since I have an application that isn't compatilbe with xhci_hcd
>> driver, I need disable it, and force the use of ehci-pc driver.
>
> What type of application isn't compatible with xhci-hcd?  Shouldn't we
> fix something like this in the kernel as this isn't a good thing to
> have.
>
>> My question is, since xhci_hcd is compiled inside the kernel, how can
>> i do to disable it, without re-compile the kernel ?
>
> You control where the driver is compiled, why not change it if needed?
>
> confused,
>
> greg k-h

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Disable xhci_hcd USB 3.0 module
  2014-12-15 16:50   ` Gustavo Duarte
@ 2014-12-15 17:08     ` Greg KH
  2014-12-15 20:47       ` Gustavo Duarte
  0 siblings, 1 reply; 9+ messages in thread
From: Greg KH @ 2014-12-15 17:08 UTC (permalink / raw)
  To: kernelnewbies

On Mon, Dec 15, 2014 at 02:50:32PM -0200, Gustavo Duarte wrote:
> Hi Greg,
> 
> The Notebook has physically 2 port USB 2.0 and one port USB 3.0. The
> manufacturer specs says that and the output of the command lsusb says
> the same:
> 
> $ lsusb
> 
> Bus 001 Device 002: ID 058f:6254 Alcor Micro Corp. USB Hub
> Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
> Bus 001 Device 003: ID 5986:024b Acer, Inc

Note that USB 3 controllers control USB 2 hubs, odds are there is just
one controller chip in your laptop.

What does 'lspci' show?

> >What type of application isn't compatible with xhci-hcd?  Shouldn't we
> >fix something like this in the kernel as this isn't a good thing to
> >have.
> 
> The app, is a SDK of Robootic kits programming for kids.
> http://www.lejos.org/nxt/nxj/tutorial/Preliminaries/GettingStartedLinux.htm
> The bug is on the firmware-library of the SDK, so there isn't to fix
> on kernel/driver side.

I don't understand, what exact bug is there?

> I'm using the kernel compilde by ubuntu 12.04,
> 
> $ uname -r
> 3.8.0-33-generic

Wow that's old and obsolete, sorry, no one can help you with something
like that here :(

Also, _lots_ of USB 3 bugs have been fixed in the 2 years since that
kernel was released, please try updating and your issues should be
resolve.

> And i would like still using that, without recompile it, for this
> reason is my question, how can i disable xhci_hcd driver without
> recompile it. ?

You can unbind the driver from the device, but as I say above, I really
think this driver also controls the USB 2 hubs as well.  The output of
'lspci -k' will show this, can you provide the output of that?

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Disable xhci_hcd USB 3.0 module
  2014-12-15 17:08     ` Greg KH
@ 2014-12-15 20:47       ` Gustavo Duarte
  2014-12-15 21:01         ` Greg KH
  0 siblings, 1 reply; 9+ messages in thread
From: Gustavo Duarte @ 2014-12-15 20:47 UTC (permalink / raw)
  To: kernelnewbies

Greg,


The lspci output is:

ceibal at ceibal:~$ lspci -k

00:00.0 Host bridge: Intel Corporation ValleyView SSA-CUnit (rev 0e)

Subsystem: CLEVO/KAPOK Computer Device 5471

00:02.0 VGA compatible controller: Intel Corporation ValleyView Gen7 (rev 0e)

Subsystem: CLEVO/KAPOK Computer Device 5471

Kernel driver in use: i915

Kernel modules: i915

00:13.0 SATA controller: Intel Corporation ValleyView 6-Port SATA AHCI
Controller (rev 0e)

Subsystem: CLEVO/KAPOK Computer Device 5471

Kernel driver in use: ahci

Kernel modules: ahci

00:14.0 USB controller: Intel Corporation ValleyView USB xHCI Host
Controller (rev 0e)

Subsystem: CLEVO/KAPOK Computer Device 5471

Kernel driver in use: xhci_hcd

00:1a.0 Encryption controller: Intel Corporation ValleyView SEC (rev 0e)

Subsystem: CLEVO/KAPOK Computer Device 5471

00:1b.0 Audio device: Intel Corporation ValleyView High Definition
Audio Controller (rev 0e)

Subsystem: CLEVO/KAPOK Computer Device 5471

Kernel driver in use: snd_hda_intel

Kernel modules: snd-hda-intel

00:1c.0 PCI bridge: Intel Corporation ValleyView PCI Express Root Port (rev 0e)

Kernel driver in use: pcieport

Kernel modules: shpchp

00:1c.1 PCI bridge: Intel Corporation ValleyView PCI Express Root Port (rev 0e)

Kernel driver in use: pcieport

Kernel modules: shpchp

00:1c.2 PCI bridge: Intel Corporation ValleyView PCI Express Root Port (rev 0e)

Kernel driver in use: pcieport

Kernel modules: shpchp

00:1c.3 PCI bridge: Intel Corporation ValleyView PCI Express Root Port (rev 0e)

Kernel driver in use: pcieport

Kernel modules: shpchp

00:1f.0 ISA bridge: Intel Corporation ValleyView Power Control Unit (rev 0e)

Subsystem: CLEVO/KAPOK Computer Device 5471

00:1f.3 SMBus: Intel Corporation ValleyView SMBus Controller (rev 0e)

Subsystem: CLEVO/KAPOK Computer Device 5471

01:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd.
Device 5286 (rev 01)

Subsystem: CLEVO/KAPOK Computer Device 5471

Kernel driver in use: rtsx_pci

Kernel modules: rtsx_pci

01:00.2 Ethernet controller: Realtek Semiconductor Co., Ltd.
RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 06)

Subsystem: CLEVO/KAPOK Computer Device 5471

Kernel driver in use: r8169

Kernel modules: r8169

02:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8188EE
Wireless Network Adapter (rev 01)

Subsystem: Realtek Semiconductor Co., Ltd. Device 0188

Kernel driver in use: rtl8188ee

Kernel modules: rtl8188ee

===================================================


Seems like here is happening you are saying, one host-controller
(xHCI) manage the three USB port, right ?

May be i have a confusion, and i sorry for that, may be what i am
asking it is impossible or may be is a blunder, any way  following is
my thought:
"
I know that there are several PC, Notebooks with BIOS with the
capability to  enable/disable xHCI USB mode, where you can choice,
xHCI or EHCI.
For this reason i thought that could be possible, instead  by BIOS,
through some kernel configuration or passing a switch parameter at
boot time achieve the same behaviour.
"

Do you are saying that, as this notebook has only one usb
host-controller, these option isn't possible ?

So the only remainder way to resolve this, is trying with a new one kernel ?

Thanks in advance.

Gustavo.

On Mon, Dec 15, 2014 at 3:08 PM, Greg KH <gregkh@linuxfoundation.org> wrote:
> On Mon, Dec 15, 2014 at 02:50:32PM -0200, Gustavo Duarte wrote:
>> Hi Greg,
>>
>> The Notebook has physically 2 port USB 2.0 and one port USB 3.0. The
>> manufacturer specs says that and the output of the command lsusb says
>> the same:
>>
>> $ lsusb
>>
>> Bus 001 Device 002: ID 058f:6254 Alcor Micro Corp. USB Hub
>> Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
>> Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
>> Bus 001 Device 003: ID 5986:024b Acer, Inc
>
> Note that USB 3 controllers control USB 2 hubs, odds are there is just
> one controller chip in your laptop.
>
> What does 'lspci' show?
>
>> >What type of application isn't compatible with xhci-hcd?  Shouldn't we
>> >fix something like this in the kernel as this isn't a good thing to
>> >have.
>>
>> The app, is a SDK of Robootic kits programming for kids.
>> http://www.lejos.org/nxt/nxj/tutorial/Preliminaries/GettingStartedLinux.htm
>> The bug is on the firmware-library of the SDK, so there isn't to fix
>> on kernel/driver side.
>
> I don't understand, what exact bug is there?
>
>> I'm using the kernel compilde by ubuntu 12.04,
>>
>> $ uname -r
>> 3.8.0-33-generic
>
> Wow that's old and obsolete, sorry, no one can help you with something
> like that here :(
>
> Also, _lots_ of USB 3 bugs have been fixed in the 2 years since that
> kernel was released, please try updating and your issues should be
> resolve.
>
>> And i would like still using that, without recompile it, for this
>> reason is my question, how can i disable xhci_hcd driver without
>> recompile it. ?
>
> You can unbind the driver from the device, but as I say above, I really
> think this driver also controls the USB 2 hubs as well.  The output of
> 'lspci -k' will show this, can you provide the output of that?
>
> thanks,
>
> greg k-h

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Disable xhci_hcd USB 3.0 module
  2014-12-15 20:47       ` Gustavo Duarte
@ 2014-12-15 21:01         ` Greg KH
  2014-12-15 21:32           ` Gustavo Duarte
  0 siblings, 1 reply; 9+ messages in thread
From: Greg KH @ 2014-12-15 21:01 UTC (permalink / raw)
  To: kernelnewbies

On Mon, Dec 15, 2014 at 06:47:21PM -0200, Gustavo Duarte wrote:
> 00:14.0 USB controller: Intel Corporation ValleyView USB xHCI Host
> Controller (rev 0e)
> 
> Subsystem: CLEVO/KAPOK Computer Device 5471
> 
> Kernel driver in use: xhci_hcd

One host controller.

> Seems like here is happening you are saying, one host-controller
> (xHCI) manage the three USB port, right ?

Yes.

> May be i have a confusion, and i sorry for that, may be what i am
> asking it is impossible or may be is a blunder, any way  following is
> my thought:
> "
> I know that there are several PC, Notebooks with BIOS with the
> capability to  enable/disable xHCI USB mode, where you can choice,
> xHCI or EHCI.
> For this reason i thought that could be possible, instead  by BIOS,
> through some kernel configuration or passing a switch parameter at
> boot time achieve the same behaviour.
> "
> 
> Do you are saying that, as this notebook has only one usb
> host-controller, these option isn't possible ?

Looks like it.  But I don't know what your bios looks like, poke around
in there and see if you can find a setting like that.  I've never heard
of such a thing though.  The xhci controller is a physical chip, it
can't work like a ehci controller.

> So the only remainder way to resolve this, is trying with a new one kernel ?

To see if the bug you are having with a USB 3 device is fixed, yes.  You
will not be able to ever get the ehci driver to work with this device no
matter what kernel you change to, sorry.

greg k-h

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Disable xhci_hcd USB 3.0 module
  2014-12-15 21:01         ` Greg KH
@ 2014-12-15 21:32           ` Gustavo Duarte
  2014-12-15 21:40             ` Greg KH
  2014-12-15 21:41             ` Mandeep Sandhu
  0 siblings, 2 replies; 9+ messages in thread
From: Gustavo Duarte @ 2014-12-15 21:32 UTC (permalink / raw)
  To: kernelnewbies

Greg,

Thanks for confirm my thought.

 I tried with a kernel 3.16 builded by Ubuntu guys,
http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.16-utopic/linux-image-3.16.0-031600-generic_3.16.0-031600.201408031935_amd64.deb


And the same behaviour, the Roboot lego kit can't establishes the
communication with the PC.

Do you think that with 3.18 kernel I will have a chance to resolve
this ? or there aren't significantly changes related tu USB between
3.16 and 3.18 version.


I guess that the problem is on SDK library usb communication, (libusb)
i'm going to make a research to this side.

Although this issue isn't resolved your help was very helpful, it was
like lightning.

Regards.
Gustavo .

On Mon, Dec 15, 2014 at 7:01 PM, Greg KH <gregkh@linuxfoundation.org> wrote:
> On Mon, Dec 15, 2014 at 06:47:21PM -0200, Gustavo Duarte wrote:
>> 00:14.0 USB controller: Intel Corporation ValleyView USB xHCI Host
>> Controller (rev 0e)
>>
>> Subsystem: CLEVO/KAPOK Computer Device 5471
>>
>> Kernel driver in use: xhci_hcd
>
> One host controller.
>
>> Seems like here is happening you are saying, one host-controller
>> (xHCI) manage the three USB port, right ?
>
> Yes.
>
>> May be i have a confusion, and i sorry for that, may be what i am
>> asking it is impossible or may be is a blunder, any way  following is
>> my thought:
>> "
>> I know that there are several PC, Notebooks with BIOS with the
>> capability to  enable/disable xHCI USB mode, where you can choice,
>> xHCI or EHCI.
>> For this reason i thought that could be possible, instead  by BIOS,
>> through some kernel configuration or passing a switch parameter at
>> boot time achieve the same behaviour.
>> "
>>
>> Do you are saying that, as this notebook has only one usb
>> host-controller, these option isn't possible ?
>
> Looks like it.  But I don't know what your bios looks like, poke around
> in there and see if you can find a setting like that.  I've never heard
> of such a thing though.  The xhci controller is a physical chip, it
> can't work like a ehci controller.
>
>> So the only remainder way to resolve this, is trying with a new one kernel ?
>
> To see if the bug you are having with a USB 3 device is fixed, yes.  You
> will not be able to ever get the ehci driver to work with this device no
> matter what kernel you change to, sorry.
>
> greg k-h

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Disable xhci_hcd USB 3.0 module
  2014-12-15 21:32           ` Gustavo Duarte
@ 2014-12-15 21:40             ` Greg KH
  2014-12-15 21:41             ` Mandeep Sandhu
  1 sibling, 0 replies; 9+ messages in thread
From: Greg KH @ 2014-12-15 21:40 UTC (permalink / raw)
  To: kernelnewbies

On Mon, Dec 15, 2014 at 07:32:52PM -0200, Gustavo Duarte wrote:
> Greg,
> 
> Thanks for confirm my thought.
> 
>  I tried with a kernel 3.16 builded by Ubuntu guys,
> http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.16-utopic/linux-image-3.16.0-031600-generic_3.16.0-031600.201408031935_amd64.deb
> 
> 
> And the same behaviour, the Roboot lego kit can't establishes the
> communication with the PC.
> 
> Do you think that with 3.18 kernel I will have a chance to resolve
> this ? or there aren't significantly changes related tu USB between
> 3.16 and 3.18 version.
> 
> I guess that the problem is on SDK library usb communication, (libusb)
> i'm going to make a research to this side.

There should not be any difference between USB 2 and USB 3 from your
userspace program's point of view, so something is wrong in the kernel.
libusb should be fine.

I suggest posting the real problems you are having here on the
linux-usb at vger.kernel.org mailing list and the developers there can help
you out.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Disable xhci_hcd USB 3.0 module
  2014-12-15 21:32           ` Gustavo Duarte
  2014-12-15 21:40             ` Greg KH
@ 2014-12-15 21:41             ` Mandeep Sandhu
  1 sibling, 0 replies; 9+ messages in thread
From: Mandeep Sandhu @ 2014-12-15 21:41 UTC (permalink / raw)
  To: kernelnewbies

As Greg mentioned, there's probably nothing that the software can do.

You can possibly try using different hardware for your host....one
that has a USB 2.0 root hub.

On Mon, Dec 15, 2014 at 1:32 PM, Gustavo Duarte <gus.duarte@gmail.com> wrote:
> Greg,
>
> Thanks for confirm my thought.
>
>  I tried with a kernel 3.16 builded by Ubuntu guys,
> http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.16-utopic/linux-image-3.16.0-031600-generic_3.16.0-031600.201408031935_amd64.deb
>
>
> And the same behaviour, the Roboot lego kit can't establishes the
> communication with the PC.
>
> Do you think that with 3.18 kernel I will have a chance to resolve
> this ? or there aren't significantly changes related tu USB between
> 3.16 and 3.18 version.
>
>
> I guess that the problem is on SDK library usb communication, (libusb)
> i'm going to make a research to this side.
>
> Although this issue isn't resolved your help was very helpful, it was
> like lightning.
>
> Regards.
> Gustavo .
>
> On Mon, Dec 15, 2014 at 7:01 PM, Greg KH <gregkh@linuxfoundation.org> wrote:
>> On Mon, Dec 15, 2014 at 06:47:21PM -0200, Gustavo Duarte wrote:
>>> 00:14.0 USB controller: Intel Corporation ValleyView USB xHCI Host
>>> Controller (rev 0e)
>>>
>>> Subsystem: CLEVO/KAPOK Computer Device 5471
>>>
>>> Kernel driver in use: xhci_hcd
>>
>> One host controller.
>>
>>> Seems like here is happening you are saying, one host-controller
>>> (xHCI) manage the three USB port, right ?
>>
>> Yes.
>>
>>> May be i have a confusion, and i sorry for that, may be what i am
>>> asking it is impossible or may be is a blunder, any way  following is
>>> my thought:
>>> "
>>> I know that there are several PC, Notebooks with BIOS with the
>>> capability to  enable/disable xHCI USB mode, where you can choice,
>>> xHCI or EHCI.
>>> For this reason i thought that could be possible, instead  by BIOS,
>>> through some kernel configuration or passing a switch parameter at
>>> boot time achieve the same behaviour.
>>> "
>>>
>>> Do you are saying that, as this notebook has only one usb
>>> host-controller, these option isn't possible ?
>>
>> Looks like it.  But I don't know what your bios looks like, poke around
>> in there and see if you can find a setting like that.  I've never heard
>> of such a thing though.  The xhci controller is a physical chip, it
>> can't work like a ehci controller.
>>
>>> So the only remainder way to resolve this, is trying with a new one kernel ?
>>
>> To see if the bug you are having with a USB 3 device is fixed, yes.  You
>> will not be able to ever get the ehci driver to work with this device no
>> matter what kernel you change to, sorry.
>>
>> greg k-h
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2014-12-15 21:41 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-15 15:04 Disable xhci_hcd USB 3.0 module Gustavo Duarte
2014-12-15 15:30 ` Greg KH
2014-12-15 16:50   ` Gustavo Duarte
2014-12-15 17:08     ` Greg KH
2014-12-15 20:47       ` Gustavo Duarte
2014-12-15 21:01         ` Greg KH
2014-12-15 21:32           ` Gustavo Duarte
2014-12-15 21:40             ` Greg KH
2014-12-15 21:41             ` Mandeep Sandhu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).