All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <greg@kroah.com>
To: Geoff Winkless <geoff@defgeoff.co.uk>
Cc: Linux-USB <linux-usb@vger.kernel.org>
Subject: Re: ehci support on old VIA vt82xxx disappeared around kernel 3.8.
Date: Fri, 31 May 2019 12:11:28 -0700	[thread overview]
Message-ID: <20190531191128.GA25230@kroah.com> (raw)
In-Reply-To: <CAEzk6fe0+LHFbZgN4t8_NVS_fysj7wHFGerMB1fhoHmXsCogVw@mail.gmail.com>

On Fri, May 31, 2019 at 05:40:23PM +0100, Geoff Winkless wrote:
> Hi
> 
> Apologies if this is the incorrect place to post this, if so please
> feel free to call me names and then suggest somewhere more appropriate
> :)
> 
> We have an embedded device on an old EPIA Mini-ITX board that runs
> Linux 2.6. There are features in more recent (>3.10) kernels that
> would be useful to us, so I tried to build them for it; however while
> the kernel runs perfectly fine, ehci support simply fails, which is
> catastrophic for the device's use - we need USB2 speeds.
> 
> I worked backwards and found that it runs normally on 3.7.9, but on
> 3.7.10 it starts throwing up errors:
> 
> usb 1-5: new high-speed USB device number 3 using ehci_hcd
> usb 1-5: device descriptor read/8, error -110
> usb 1-5: device descriptor read/8, error -110
> usb 1-5: new high-speed USB device number 4 using ehci_hcd
> usb 1-5: device not accepting address 4, error -110
> usb 1-5: new high-speed USB device number 5 using ehci_hcd
> 
> By 3.8.0 ehci simply doesn't work, as if someone decided these errors
> were too hard to deal with and just disabled the device support.
> 
> Chipset is VIA vt82xxx; the ID of the offending bus is 1106:3104
> 
> I tried every combination of loading ehci before and after etc,
> setting the old_scheme_first value, disabling acpi/apm, basically
> anything I could find on the web that seems related to ehci problems,
> but nothing seems to make the ehci driver even recognise the device.
> 
> /proc/bus/pci/devices shows
> 
> 0000 11063123 0  e6000008        0   0   0    0 0     0  400000
> 0 0 0  0 0     0 agpgart-via
> 0008 1106b091 0         0        0   0   0    0 0     0       0
> 0 0 0  0 0     0
> 0080 11063038 c         0        0   0   0 d001 0     0       0
> 0 0 0 20 0     0 uhci_hcd
> 0081 11063038 c         0        0   0   0 d401 0     0       0
> 0 0 0 20 0     0 uhci_hcd
> 0082 11063038 5         0        0   0   0 d801 0     0       0
> 0 0 0 20 0     0 uhci_hcd
> 0083 11063104 9  e6400000        0   0   0    0 0     0     100
> 0 0 0  0 0     0
> 0088 11063177 0         0        0   0   0    0 0     0       0
> 0 0 0  0 0     0
> 0089 11060571 0       1f0      3f6 170 376 dc01 0     0       8
> 0 8 0 10 0     0 VIA_IDE
> 008d 11063059 5      e001        0   0   0    0 0     0     100
> 0 0 0  0 0     0 snd_via82xx
> 0090 11063065 c      e801 e6401000   0   0    0 0     0     100
> 100 0 0  0 0     0 via-rhine
> 0100 11063122 c  e0000008 e4000000   0   0    0 0 c0002 4000000
> 1000000 0 0  0 0 20000
> 
> (apologies for the long lines, I cut down the spacing as much as I could).
> 
> So you can see that the 11063104 line doesn't even have the ehci-hcd
> driver associated; on earlier kernel versions the line reads
> 
> 0083 11063104 9  e6400000 0 0 0 0 0 0 100 0 0 0 0 0 0 ehci_hcd
> 
> Output from lsmod, just in case you're thinking I just haven't
> inserted the ehci driver...
> 
> usbnet 10726 0 - Live 0xcfb4f000
> ohci_hcd 15520 0 - Live 0xcfad9000
> uhci_hcd 15679 0 - Live 0xcfa94000
> ehci_hcd 30853 0 - Live 0xcfa49000
> pl2303 6016 0 - Live 0xcf979000
> ftdi_sio 25410 0 - Live 0xcf940000
> option 18882 0 - Live 0xcf8e7000
> usb_wwan 4082 1 option, Live 0xcf8a2000
> 
> I'm happy to dig for myself - I appreciate this is a fairly niche
> problem; I have getting on for 30 years' development experience in
> various platforms, including low-level hardware access in assembly
> when I was young, but all I've ever done with the kernel is modify in
> a very small way a few device drivers and I don't even know where to
> start with this so could do with some pointers.
> 
> I tried running a diff on drivers/usb between 3.7.9 and 3.7.10, but
> other than a few changes around usbserial there doesn't seem to be
> much, which seems odd given that the behaviour clearly changed. The
> 3.7.10 changelog only lists some usb-audio changes, a change for
> memory allocation for some urb blocks, and some fixes for usb-serial,
> so I guess something else changing has modified the way the USB core
> interacts with the hardware.

Can you run 'git bisect' to determine the exact commit that caused this
problem?  That would be most helpful.

> Did we intentionally simply drop support for this chipset in 3.8?

That kernel was released in 2013, that's a long time ago to try to
remember something as specific as that :(

greg k-h

  reply	other threads:[~2019-05-31 19:11 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-31 16:40 ehci support on old VIA vt82xxx disappeared around kernel 3.8 Geoff Winkless
2019-05-31 19:11 ` Greg KH [this message]
2019-06-03 15:10   ` Geoff Winkless
2019-06-03 15:29     ` Alan Stern
2019-06-03 15:39       ` Geoff Winkless
2019-06-03 17:09         ` Alan Stern
2019-06-01  0:04 ` Alan Stern

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190531191128.GA25230@kroah.com \
    --to=greg@kroah.com \
    --cc=geoff@defgeoff.co.uk \
    --cc=linux-usb@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.