On 05/30/2016 02: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.
[ 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)
[ 13.531556] fsl-asrc 2034000.asrc: driver registered
[ 13.544423] fsl-asoc-card sound: ASoC: CPU DAI (null) not registered
[ 13.544764] fsl-ssi-dai 2028000.ssi: No cache defaults, reading back from HW
[ 13.558141] fsl-asoc-card sound: snd_soc_register_card failed (-517)
[ 13.566862] fsl-asoc-card sound: ASoC: CODEC DAI ac97-hifi not registered
[ 13.568653] Adding 505292k swap on /dev/mmcblk0p3. Priority:-1 extents:1
across:505292k SSFS
Since the 4.6 kernel is not yet on factory (when will it land?), I'm using the
version from the kernel:stable repo.
What can I do to fix it?
I only checked usb_bus_start_enum, but I suspect the explanation for it not
being found matches the others. In source file drivers/usb/core/hcd.c, you will
notice a line that says "EXPORT_SYMBOL_GPL(usb_bus_start_enum);". That means
that only GPL-licensed drivers may use that entry point. Your dmesg output
contains the line that says "usb_otg_fsm: module license 'unspecified' taints
kernel", thus that driver is not licensed appropriately.
If the driver really is licensed in some other fashion, then there is nothing
you can do other than to create private copies of ALL the missing routines and
the things they call. Usually, a significant part of the kernel must be
duplicated!! If the code is, or can be, licensed as GPL, then the initialization
routine of your external driver needs a "MODULE_LICENSE("GPL");" statement.
Larry
--
To unsubscribe, e-mail: [email protected]
To contact the owner, e-mail: [email protected]