Mt7621, usb-storage Failing

Hi,

I'm guessing that this is just me missing a needed dependency in my build, but I admit - having no luck finding it. I have tried to add the needed dependencies (per this info) => I do see the USB storage device in the kernel log, but it's not showing up in /dev/sd*, and I see scsi related errors (kernel log)? These are captured below - any thoughts? I did try adding in various kmod_fs drivers as well.

[    4.423298] kmodloader: - scsi_mod - 0
[    4.427163] kmodloader: dependency not loaded scsi_mod
[    4.436002] kmodloader: dependency not loaded scsi_mod
[    9.923157] scsi_mod: Unknown symbol scsi_req_init (err -2)
[    9.928817] scsi_mod: Unknown symbol sg_scsi_ioctl (err -2)
[    9.934434] scsi_mod: Unknown symbol scsi_sense_desc_find (err -2)
[    9.940621] scsi_mod: Unknown symbol sg_free_table_chained (err -2)
[    9.947122] scsi_mod: Unknown symbol scsi_command_size_tbl (err -2)
[    9.953394] scsi_mod: Unknown symbol scsi_device_type (err -2)
[    9.959308] scsi_mod: Unknown symbol scsilun_to_int (err -2)
[    9.965051] scsi_mod: Unknown symbol scsi_normalize_sense (err -2)
[    9.971238] scsi_mod: Unknown symbol sg_alloc_table_chained (err -2)
[    9.997403] scsi_mod: Unknown symbol scsi_req_init (err -2)
[   10.003147] scsi_mod: Unknown symbol sg_scsi_ioctl (err -2)
[   10.008783] scsi_mod: Unknown symbol scsi_sense_desc_find (err -2)
[   10.014970] scsi_mod: Unknown symbol sg_free_table_chained (err -2)
[   10.021515] scsi_mod: Unknown symbol scsi_command_size_tbl (err -2)
[   10.027791] scsi_mod: Unknown symbol scsi_device_type (err -2)
[   10.033708] scsi_mod: Unknown symbol scsilun_to_int (err -2)
[   10.039453] scsi_mod: Unknown symbol scsi_normalize_sense (err -2)
[   10.045640] scsi_mod: Unknown symbol sg_alloc_table_chained (err -2)

And, from usbutils (lsusb), I see that Class and Driver are blank? BTW, the ID information is correct (Transcent JetFlash)!

/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci-mtk/1p, 5000M
    ID 1d6b:0003
    |__ Port 1: Dev 2, If 0, Class=, Driver=, 5000M
        ID 8564:1000
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci-mtk/2p, 480M
    ID 1d6b:0002

Thanks!

Missing symbols usually mean something went wrong at compile time. I thought I saw something come by on the mailing list about that today.

Thanks! Will try to find the mailing list item (have tried to get on that list before, some somewhere the sign-up email is getting blocked :frowning_face:).

You don't need to sign up to find it, got a bit of help to track it down myself though:

https://lists.infradead.org/pipermail/openwrt-devel/2021-April/034651.html

1 Like

Thanks!! I took a look, not sure the mailing list issue applies (for the mt7621), agreed?

But also, looking more at the log, I see the lines below recurring,

[    5.171035] kmodloader: - scsi_mod - 0
[    5.174854] kmodloader: dependency not loaded scsi_mod
[    5.189139] kmodloader: dependency not loaded scsi_mod
[    5.201508] kmodloader: dependency not loaded scsi_mod
[   10.802459] scsi_mod: Unknown symbol scsi_req_init (err -2)
[   10.808081] scsi_mod: Unknown symbol sg_scsi_ioctl (err -2)
[   10.813692] scsi_mod: Unknown symbol scsi_sense_desc_find (err -2)
[   10.819875] scsi_mod: Unknown symbol sg_free_table_chained (err -2)
[   10.826381] scsi_mod: Unknown symbol scsi_command_size_tbl (err -2)
[   10.832645] scsi_mod: Unknown symbol scsi_device_type (err -2)
[   10.838555] scsi_mod: Unknown symbol scsilun_to_int (err -2)
[   10.844292] scsi_mod: Unknown symbol scsi_normalize_sense (err -2)
[   10.850475] scsi_mod: Unknown symbol sg_alloc_table_chained (err -2)
[   10.941956] scsi_mod: Unknown symbol scsi_req_init (err -2)
[   10.947619] scsi_mod: Unknown symbol sg_scsi_ioctl (err -2)
[   10.953233] scsi_mod: Unknown symbol scsi_sense_desc_find (err -2)
[   10.959416] scsi_mod: Unknown symbol sg_free_table_chained (err -2)
[   10.965910] scsi_mod: Unknown symbol scsi_command_size_tbl (err -2)
[   10.972178] scsi_mod: Unknown symbol scsi_device_type (err -2)
[   10.978085] scsi_mod: Unknown symbol scsilun_to_int (err -2)
[   10.983825] scsi_mod: Unknown symbol scsi_normalize_sense (err -2)
[   10.990003] scsi_mod: Unknown symbol sg_alloc_table_chained (err -2)

So thinking that scsi_mod is just plain missing => this causes the unknown symbols after that? Or do I have that wrong?

Thanks again.

FYI ... hmmm.

# insmod scsi_mod
failed to insert /lib/modules/5.4.110/scsi_mod.ko

Really seems like this file is not happy. But I may be wrong!

No looks like something different. You can run 'strings' on the module(s) to see of they provide those symbols. I'm sure someone with a real background in this stuff will chime in :slightly_smiling_face:

1 Like

Great idea, thanks! Did that, they are there. For some reason it seems like the module will not load. Then again, I may be full of it :rofl:

have you tried to copy the /lib/ dir into ~, and manually depmodding the copied directory to ensure the modules.* files are up to date? i.e.

mkdir ~/lib
cp -r /lib/modules ~/lib/
depmod -b ~/. 
modprobe -d ~/. <module name>/

i've seen errors like that when either the kernel was missing symbols or my module dependency files were out of date.

Definitely willing to try - thanks! Hmmm, getting this odd error though (even though I see the directory),

~# depmod -b ~/.
depmod: can't change directory to '/5.4.110': No such file or directory

But,

# ls -alF ~/lib/modules
drwxr-xr-x    3 root     root           224 Apr 12 21:00 ./
drwxr-xr-x    3 root     root           224 Apr 12 21:00 ../
drwxr-xr-x    2 root     root          7176 Apr 12 21:00 5.4.110/

Thanks again.

just cd to your home, then do


depmod -b .
modprobe -d . {modulename}

Yep, I had tried that too - same error. Very weird!

Thanks.

same error as your original post, or here?

Exactly the same. I also tried depmod -b /root. Same error, but I confirmed that,

# ls /root/lib/modules/5.4.110/
cfg80211.ko              ip6t_REJECT.ko           mt7603e.ko               nls_cp437.ko             ums-datafab.ko           xhci-plat-hcd.ko
compat.ko                ip6table_filter.ko       mt7615-common.ko         nls_iso8859-1.ko         ums-freecom.ko           xt_FLOWOFFLOAD.ko
crc-ccitt.ko             ip6table_mangle.ko       mt7615e.ko               nls_utf8.ko              ums-isd200.ko            xt_LOG.ko
crc32_generic.ko         ip_tables.ko             nf_conntrack.ko          ntfs.ko                  ums-jumpshot.ko          xt_MASQUERADE.ko
crc32c_generic.ko        ipt_REJECT.ko            nf_conntrack_rtcache.ko  ppp_async.ko             ums-karma.ko             xt_REDIRECT.ko
ehci-fsl.ko              iptable_filter.ko        nf_defrag_ipv4.ko        ppp_generic.ko           ums-sddr09.ko            xt_TCPMSS.ko
ehci-hcd.ko              iptable_mangle.ko        nf_defrag_ipv6.ko        pppoe.ko                 ums-sddr55.ko            xt_comment.ko
ehci-pci.ko              iptable_nat.ko           nf_flow_table.ko         pppox.ko                 ums-usbat.ko             xt_conntrack.ko
ehci-platform.ko         jbd2.ko                  nf_flow_table_hw.ko      scsi_mod.ko              usb-common.ko            xt_limit.ko
exfat.ko                 leds-gpio.ko             nf_log_common.ko         sd_mod.ko                usb-storage.ko           xt_mac.ko
ext4.ko                  libcrc32c.ko             nf_log_ipv4.ko           sg.ko                    usbcore.ko               xt_mark.ko
f2fs.ko                  mac80211.ko              nf_log_ipv6.ko           slhc.ko                  vfat.ko                  xt_multiport.ko
fat.ko                   mbcache.ko               nf_nat.ko                uas.ko                   x_tables.ko              xt_nat.ko
fsl-mph-dr-of.ko         msdos.ko                 nf_reject_ipv4.ko        uhci-hcd.ko              xhci-hcd.ko              xt_state.ko
gpio-button-hotplug.ko   mt76-connac-lib.ko       nf_reject_ipv6.ko        ums-alauda.ko            xhci-mtk.ko              xt_tcpudp.ko
ip6_tables.ko            mt76.ko                  nls_base.ko              ums-cypress.ko           xhci-pci.ko              xt_time.ko

And,

# uname -r
5.4.110

Crazy! LOL.

Same error also with just depmod

i assume manually insmodding the module in the ~/lib/modules/5.4.110/ also yielded a similar error?

i'm not sure if /root is writable in openwrt. nor am i certain if you are considering ~ and /root to be the same (which they may be in openwrt, again not sure).

the idea of copying the lib/modules folder to ~/lib is to have a writable directory, which then would allow the depmod -b command to create the module dependency files.

then we use modprobe on that temporary root (presumably ~, but i mean you could use your usb key path if it's more intuitive) with the -b flag, it would eliminate any symbol issues related to the module dependency files.

Slighly differenet,

# insmod ~/lib/modules/5.4.110/scsi_mod.ko
failed to insert /root/lib/modules/5.4.110/scsi_mod.ko

Makes sense, and the directory is writeable - as the copy operation works. It's odd ... I just carefully looked at the path, and it's going to root ... not /lib/modules?!?! It's like that's missing somehow.

Thanks!

if you're using busybox depmod, you may need to override a configuration file

just scope out the directions here (often the compiled versions of busybox for routers are without any instructions as they can add up)

1 Like

Appreciate the pointers! Was pulling my hair out, nothing seemed to be working (likely a lot on me :stuck_out_tongue_winking_eye:). So as a last resort I tried the TESTING kernel (5.10) => bingo, came straight up (USB and all)! Seems like something is now broken in the 5.4 kernel? Configuration related I'm thinking / guessing?

Thanks again.

it's very possible.

file a bug report if the non-testing build is the current version. it's probably not just you who is experiencing the issue.

1 Like