ehci support on old VIA vt82xxx disappeared around kernel 3.8.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

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

Thanks!

Geoff



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux