El 2016-05-30 21:30, Alexander Graf escribió:
Hi Oscar,

On 05/30/2016 09:09 PM, Oscar C wrote:
Hi,

I'm trying to boot a udoo quad board (imx6, similar to cubox-i). It boots and I can login but one of the usb ports work. Looking at the dmesg output I see that there are unknown symbol errors when the usb modules are being loaded:

[   12.905677] libphy: fec_enet_mii_bus: probed
[   12.910917] fec 2188000.ethernet eth0: registered PHC device 0
[   12.979507] usbcore: registered new interface driver usbfs
[   12.985146] usbcore: registered new interface driver hub
[   12.990659] usbcore: registered new device driver usb
[ 13.175153] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 13.407405] usb_otg_fsm: module license 'unspecified' taints kernel.

This message means that the driver author didn't specify the license
in the source file.

[   13.413995] Disabling lock debugging due to kernel taint
[ 13.420407] usb_otg_fsm: Unknown symbol usb_bus_start_enum (err 0)
[   13.426990] usb_otg_fsm: Unknown symbol usb_control_msg (err 0)
[ 13.433189] usb_otg_fsm: Unknown symbol usb_hub_find_child (err 0) [ 13.463782] usb_otg_fsm: Unknown symbol usb_bus_start_enum (err 0)
[   13.471592] usb_otg_fsm: Unknown symbol usb_control_msg (err 0)
[ 13.478116] usb_otg_fsm: Unknown symbol usb_hub_find_child (err 0)

and those most probably mean that the driver is trying to use
functions / variables that are defined outside its own scope, but not
declared with EXPORT_SYMBOL() which would be needed to have something
get used by a non-GPL module. And indeed, in the source you can see

drivers/usb/core/hcd.c:EXPORT_SYMBOL_GPL(usb_bus_start_enum);

which declares one of those "missing" symbols, but only to GPL
modules. The fix would be to add a

MODULE_LICENSE("GPL");

line in the usb_otg_fsm driver source file. At least if that's an
accurate description and the file is indeed GPL (which I guess it is,
since it's upstream). Send that patch upstream, mark it as CC
[email protected]. It will get into our tree automatically then.
If you like we can also backport it earlier if going via stable turns
out too slow for you :).


Thanks Alex.

To see if I fixed it correctly, I compiled the module after the changes you suggested. Although that errors are now gone, I have another problem with the usb subsystem: even though all modules can be loaded, as soon as I try to load the module ci_hdrc_imx, the kernel hangs without any error at all.

If I boot the board blacklisting the ci_hdrc_imx module (appending modprobe.blacklist=ci_hdrc_imx as boot parm) I can boot and logon, but no usb devices are present. This is the output from hwinfo and lsusb (empty):

nohostname:~ # hwinfo --usb --usb-ctrl
03: None 00.0: 0c03 USB Controller (UHCI)
  [Created at pci.996]
  Unique ID: OUde.nXi7rxFKh4B
  SysFS ID: /devices/soc0/soc/2100000.aips-bus/2184200.usb
  SysFS BusID: 2184200.usb
  Hardware Class: usb controller
  Model: "ARM USB 0"
  Device: "ARM USB 0"
  Module Alias: "of:NusbT<NULL>Cfsl,imx6q-usbCfsl,imx27-usb"
  Driver Info #0:
    Driver Status: uhci-hcd is active
    Driver Activation Cmd: "modprobe uhci-hcd"
  Driver Info #1:
    Driver Status: ci_hdrc_imx is not active
    Driver Activation Cmd: "modprobe ci_hdrc_imx"
  Config Status: cfg=new, avail=yes, need=no, active=unknown

nohostname:~ # lsusb -vvvv
nohostname:~ #

What can I do now?

Thanks!
--
Cheers
--
To unsubscribe, e-mail: [email protected]
To contact the owner, e-mail: [email protected]

Reply via email to