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: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org