Danqishun
2021-07-13 09:57
采纳率: 50%
浏览 21

ko驱动模块挂载后多次insmod才能启动

烧录进板子,第一次init会这样:
xxx: unknown parameter 'hostmode' ignored
xxx: section 2 reloc 17 sym 'xxx': relocation 10 out of range (0x7f804264 -> 0x80854441)
[ 20.180486] xxx: section 2 reloc 17 sym 'xxx': relocation 10 out of range (0x7f804264 -> 0x80854441)
modprobe: ERROR: could not insert 'xxx': Exec format error
三次init脚本又可以启动了,什么原因?

以下是init脚本:
#!/bin/sh

cd /lib/modules/4.4.15/kernel/drivers/usb/dwc3

insmod dwc3-sn.ko hostmode=0

cd /lib/modules/4.4.15/kernel/drivers/usb/gadget

modprobe libcomposite

cd legacy

insmod data_channel.ko

sleep 1

exit 0

linux内核编译时键盘驱动模块出现了问题!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • Danqishun 2021-07-13 11:02
    已采纳

    仔细检查了一下,modprobe多次以后可以成功?

    点赞 打赏 评论
  • Danqishun 2021-07-13 16:48

    / # mount -t ipcufs mnt /media/root/test_mtp_sd -ofs=8
    / # cd /media/root/test_mtp_sd/
    /media/root/test_mtp_sd # ./init-usb-channel.sh
    elib_configfs: section 2 reloc 17 sym 'elib_raw_spin_lock_s': relocation 10 out of range (0x7f804264 -> 0x808544b9)
    [ 29.106204] elib_configfs: section 2 reloc 17 sym 'elib_raw_spin_lock_s': relocation 10 out of range (0x7f804264 -> 0x808544b9)
    modprobe: ERROR: could not insert 'elib_libcomposite': Exec format error
    elib_data_channel: Unknown symbol elib_usb_composite_probe (err 0)
    elib_data_channel: Unknown symbol elib_usb_composite_unregister (err 0)
    elib_data_channel: Unknown symbol elib_usb_interface_id (err 0)
    elib_data_channel: Unknown symbol elib_usb_add_function (err 0)
    elib_data_channel: Unknown symbol elib_config_ep_by_speed (err 0)
    elib_data_channel: Unknown symbol elib_usb_add_config (err 0)
    elib_data_channel: Unknown symbol elib_usb_string_ids_tab (err 0)
    elib_data_channel: Unknown symbol elib_usb_ep_autoconfig (err 0)
    insmod: ERROR: could not insert module elib-data_channel.ko: Unknown symbol in module
    /media/root/test_mtp_sd #
    /media/root/test_mtp_sd # ./init-usb-channel.sh
    insmod: ERROR: could not insert module elib-dwc3-sn.ko: File exists
    elib_configfs: section 2 reloc 17 sym 'elib_raw_spin_lock_s': relocation 10 out of range (0x7f81b264 -> 0x808544b9)
    [ 38.661820] elib_configfs: section 2 reloc 17 sym 'elib_raw_spin_lock_s': relocation 10 out of range (0x7f81b264 -> 0x808544b9)
    modprobe: ERROR: could not insert 'elib_libcomposite': Exec format error
    elib_data_channel: Unknown symbol elib_usb_composite_probe (err 0)
    elib_data_channel: Unknown symbol elib_usb_composite_unregister (err 0)
    elib_data_channel: Unknown symbol elib_usb_interface_id (err 0)
    elib_data_channel: Unknown symbol elib_usb_add_function (err 0)
    elib_data_channel: Unknown symbol elib_config_ep_by_speed (err 0)
    elib_data_channel: Unknown symbol elib_usb_add_config (err 0)
    elib_data_channel: Unknown symbol elib_usb_string_ids_tab (err 0)
    elib_data_channel: Unknown symbol elib_usb_ep_autoconfig (err 0)
    insmod: ERROR: could not insert module elib-data_channel.ko: Unknown symbol in module
    /media/root/test_mtp_sd #
    /media/root/test_mtp_sd # ./init-usb-channel.sh
    insmod: ERROR: could not insert module elib-dwc3-sn.ko: File exists
    elib_configfs: section 2 reloc 17 sym 'elib_raw_spin_lock_s': relocation 10 out of range (0x7f832264 -> 0x808544b9)
    [ 42.254070] elib_configfs: section 2 reloc 17 sym 'elib_raw_spin_lock_s': relocation 10 out of range (0x7f832264 -> 0x808544b9)
    modprobe: ERROR: could not insert 'elib_libcomposite': Exec format error
    elib_data_channel: Unknown symbol elib_usb_composite_probe (err 0)
    elib_data_channel: Unknown symbol elib_usb_composite_unregister (err 0)
    elib_data_channel: Unknown symbol elib_usb_interface_id (err 0)
    elib_data_channel: Unknown symbol elib_usb_add_function (err 0)
    elib_data_channel: Unknown symbol elib_config_ep_by_speed (err 0)
    elib_data_channel: Unknown symbol elib_usb_add_config (err 0)
    elib_data_channel: Unknown symbol elib_usb_string_ids_tab (err 0)
    elib_data_channel: Unknown symbol elib_usb_ep_autoconfig (err 0)
    insmod: ERROR: could not insert module elib-data_channel.ko: Unknown symbol in module
    /media/root/test_mtp_sd #
    /media/root/test_mtp_sd # ./init-usb-channel.sh
    insmod: ERROR: could not insert module elib-dwc3-sn.ko: File exists
    elib_configfs: section 2 reloc 17 sym 'elib_raw_spin_lock_s': relocation 10 out of range (0x7f849264 -> 0x808544b9)
    [ 45.111854] elib_configfs: section 2 reloc 17 sym 'elib_raw_spin_lock_s': relocation 10 out of range (0x7f849264 -> 0x808544b9)
    modprobe: ERROR: could not insert 'elib_libcomposite': Exec format error
    elib_data_channel: Unknown symbol elib_usb_composite_probe (err 0)
    elib_data_channel: Unknown symbol elib_usb_composite_unregister (err 0)
    elib_data_channel: Unknown symbol elib_usb_interface_id (err 0)
    elib_data_channel: Unknown symbol elib_usb_add_function (err 0)
    elib_data_channel: Unknown symbol elib_config_ep_by_speed (err 0)
    elib_data_channel: Unknown symbol elib_usb_add_config (err 0)
    elib_data_channel: Unknown symbol elib_usb_string_ids_tab (err 0)
    elib_data_channel: Unknown symbol elib_usb_ep_autoconfig (err 0)
    insmod: ERROR: could not insert module elib-data_channel.ko: Unknown symbol in module
    /media/root/test_mtp_sd # ./init-usb-channel.sh
    insmod: ERROR: could not insert module elib-dwc3-sn.ko: File exists
    enter elib/drivers/usb/gadget/legacy/datachannel.c:dataChannelCompositeBind_od 432 <<<-----------------------
    <datachannel.c>-[dataChannelAdd], line[763], befor init_waitqueue_head 888888888888888
    <datachannel.c>-[dataChannelAdd], line[765], after init_waitqueue_head 888888888888888
    <datachannel.c>-[dataChannelBind_od], line[319], Gadget is dualspeed
    <datachannel.c>-[dataChannelBind_od], line[326], Gadget is superspeed
    leave elib/drivers/usb/gadget/legacy/datachannel.c:dataChannelBind_od 333 ------------------------>>>
    leave elib/drivers/usb/gadget/legacy/datachannel.c:dataChannelCompositeBind_od 449 ------------------------>>>
    usbChannel gadget: usbChannel ready
    usbChannel gadget: high-speed config #3: SNS USB channel source/sink
    <datachannel.c>-[dataChannelSetAlt_od], line[377], gadget:84a85558, function:8482ce80, ep:85f03340

    <datachannel.c>-[dataChannelSetAlt_od], line[379], elib_config_ep_by_speed retval:0

    <datachannel.c>-[dataChannelSetAlt_od], line[385], elib_config_ep_by_speed retval:0

    <datachannel.c>-[dataChannelSetAlt_od], line[394], elib_config_ep_by_speed retval:0

    enter elib/drivers/usb/gadget/legacy/datachannel.c:dataChannelSetAlt_od 415 <<<-----------------------
    leave elib/drivers/usb/gadget/legacy/datachannel.c:dataChannelSetAlt_od 417 ------------------------>>>
    /media/root/test_mtp_sd #

    点赞 打赏 评论

相关推荐 更多相似问题