#19056: USB1 not working, only USB2
--------------------------------+------------------------
Reporter: martin.espinoza@… | Owner: developers
Type: defect | Status: new
Priority: normal | Milestone:
Component: packages | Version: Trunk
Resolution: | Keywords:
--------------------------------+------------------------
Comment (by luizluca@…):
Hi Martin,
I face the same problem before. I already sent two msgs to openwrt-devel
but I guess an issue ticket is better.
This is a copy of the seconds msg. I already detected the problem.
--
The problem is that kernel missses the USB_OHCI_HCD_PCI option.
ohci-pci was split from ohci_hcd with:
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=c1117afb85890adf4073c7ff18ebcb4d0495e6af
In BB, the usb controller was detected by ohci_hcd. At some point after
the BB kernel version, the USB controller started to be detected only by
ohci-pci and not ohci_hcd.
In BB:root@OpenWrt:/# dmesg | grep ohci
[ 0.543001] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 0.544195] ohci_hcd 0000:00:06.0: setting latency timer to 64
[ 0.544203] ohci_hcd 0000:00:06.0: OHCI Host Controller
[ 0.544910] ohci_hcd 0000:00:06.0: new USB bus registered, assigned bus
number 2
[ 0.545964] ohci_hcd 0000:00:06.0: irq 11, io mem 0xf0804000
[ 1.040235] usb 2-1: new full-speed USB device number 2 using ohci_hcd
In CC (without USB_OHCI_HCD_PCI):
root@OpenWrt:/# dmesg |grep ohci
[ 0.884995] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 0.890242] ohci-platform: OHCI generic platform driver
In CC (with USB_OHCI_HCD_PCI):
[ 0.884343] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 0.885535] ohci-pci: OHCI PCI platform driver
[ 0.892110] ohci-pci 0000:00:06.0: OHCI PCI host controller
[ 0.893716] ohci-pci 0000:00:06.0: new USB bus registered, assigned bus
number 2
[ 0.895858] ohci-pci 0000:00:06.0: irq 11, io mem 0xf0804000
[ 0.965726] ohci-platform: OHCI generic platform driver
[ 1.400359] usb 2-1: new full-speed USB device number 2 using ohci-pci
I fixed my problem creating a new kmod-ohci-pci that includes ohci-pci.ko.
Probably, it should also be added to be built-in on every target that is
pci-based and already include CONFIG_USB_OHCI_HCD build-in, like
target/linux/x86/generic/config-default and others (which one?). However,
it loads nicely as a module.
I can submit the patch for the new kmod but I'm not sure about kernel
dependencies like LINUX_3_x as ohci-pci.ko seems to be present only after
3.10.
Looking the kernel commit log, it seems that ohci-pci wasn't the only one
driver that was split from ohci. It was an effort for multi-plataform
kernels on ARM. I guess every other one might need a kmod-ohci-xxx as
well. So, the problem might affect every OHCI controller that where split.
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/log/drivers/usb/host
/ohci-hcd.c
In summary, no OHCI controller for CC on any target (except by some
drivers that still lives inside ohci-hcd like octeon and other exotic
platforms).
BTW, CONFIG_USB_OHCI_ATH79, used for kmod-usb-ohci is deprecated at
3.14.x.
"This option is deprecated now and the driver was removed, use
USB_OHCI_HCD_PLATFORM instead."
--
Ticket URL: <https://dev.openwrt.org/ticket/19056#comment:1>
OpenWrt <http://openwrt.org>
Opensource Wireless Router Technology
_______________________________________________
openwrt-tickets mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-tickets