Suggests that there are still missing kernel modules -- that is usually a sign that a function call can't be found by the kernel. Given the age and "popularity" of the board, it wouldn't surprise me if the dependencies haven't been updated.
It says:
root@LEDE:~# opkg install kmod-ata-core
Package kmod-ata-core (4.4.92-1) installed in root is up to date.
hummm...
./build_dir/target-mips_24kc_musl/linux-ar71xx_generic/linux-4.9.86/drivers/ata/libata-scsi.c:int ata_scsi_ioctl(struct scsi_device *scsidev, int cmd, void __user *arg)
(at least in my build) -- I don't know how the kernel tree gets split into OpenWRT kmod-* packages
https://openwrt.org/toh/zinwell/zw4400 appears to be completely orphaned from the ToH -- might want to update the info on it and/or get someone to link it in.
I planned to...it was never on the old or new ToH link, yet had a device page.
Are you saying...between: drivers and modules...
There's still something missing???
"Unknown symbol" tells me that the CF kernel module is expecting some other kernel module to provide those functions. So, yes, my guess is that you're still missing one or more kernel modules.
Thanks. I'll look over the developer guide.
So I installed other IXP425 kmods to see if they were "complete" in their dependencies:
After installing kmod-ixp4xx-beeper:
Sat Mar 17 23:00:32 2018 kern.warn kernel: [40849.304822] ixp4xx_beeper: Unknown symbol input_allocate_device (err 0)
Sat Mar 17 23:00:32 2018 kern.warn kernel: [40849.362475] ixp4xx_beeper: Unknown symbol input_unregister_device (err 0)
Sat Mar 17 23:00:32 2018 kern.warn kernel: [40849.443384] ixp4xx_beeper: Unknown symbol input_free_device (err 0)
Sat Mar 17 23:00:32 2018 kern.warn kernel: [40849.518255] ixp4xx_beeper: Unknown symbol input_register_device (err 0)
So...
- I rebooted the device
- Removed the module
- I reinstalled kmod-ata-ixp4xx-cf
Sun Mar 18 04:45:45 2018 daemon.err insmod: module is already loaded - pata_ixp4xx_cf
So...the card should be at /dev/sdX, correct?
It appears that it was kmod-ata-core had not loaded. When rebooting and doing lsmod, I see this:
root@LEDE:~# lsmod
aead 2784 2 ixp4xx_crypto,authenc
ath 15648 1 ath5k
ath5k 169704 0
authenc 2848 1 ixp4xx_crypto
cfg80211 212896 3 ath5k,ath,mac80211
compat 8712 3 ath5k,mac80211,cfg80211
crc_ccitt 960 1 ppp_async
crc16 960 0
crc32c_generic 992 0
crypto_hash 8224 3 authenc,crypto_null,crc32c_generic
crypto_null 1992 2 authenc,aead
cryptomgr 1664 0
des_generic 16224 1 ixp4xx_crypto
input_core 20900 1 ixp4xx_beeper
ip_tables 8676 3 iptable_nat,iptable_mangle,iptable_filter
ip6_tables 8472 2 ip6table_mangle,ip6table_filter
ip6t_REJECT 832 2
ip6table_filter 576 1
ip6table_mangle 896 1
ipt_MASQUERADE 608 1
ipt_REJECT 800 2
iptable_filter 640 1
iptable_mangle 768 1
iptable_nat 768 1
ixp4xx_beeper 1216 0
ixp4xx_crypto 11088 0
**libata 113360 1 pata_ixp4xx_cf**
mac80211 366132 1 ath5k
nf_conntrack 47884 9 nf_nat_ipv4,nf_conntrack_ipv6,nf_conntrack_ipv4,xt_state,xt_conntrack,xt_CT,nf_nat_masquerade_ipv4,nf_nat,nf_conntrack_rtcache
nf_conntrack_ipv4 5152 11
nf_conntrack_ipv6 5504 6
nf_conntrack_rtcache 2144 0
nf_defrag_ipv4 832 1 nf_conntrack_ipv4
nf_defrag_ipv6 8752 1 nf_conntrack_ipv6
nf_log_common 2080 2 nf_log_ipv4,nf_log_ipv6
nf_log_ipv4 2848 0
nf_log_ipv6 3072 0
nf_nat 8708 4 nf_nat_ipv4,xt_nat,nf_nat_redirect,nf_nat_masquerade_ipv4
nf_nat_ipv4 3330 1 iptable_nat
nf_nat_masquerade_ipv4 1220 1 ipt_MASQUERADE
nf_nat_redirect 832 1 xt_REDIRECT
nf_reject_ipv4 1696 1 ipt_REJECT
nf_reject_ipv6 2016 1 ip6t_REJECT
**pata_ixp4xx_cf 2497 0**
ppp_async 5952 0
ppp_generic 19308 3 pppoe,ppp_async,pppox
pppoe 7296 0
pppox 1072 1 pppoe
scsi_mod 77952 2 libata,sd_mod
sd_mod 21764 0
slhc 3680 1 ppp_generic
x_tables 8996 23 ipt_REJECT,ipt_MASQUERADE,xt_time,xt_tcpudp,xt_state,xt_nat,xt_multiport,xt_mark,xt_mac,xt_limit,xt_conntrack,xt_comment,xt_TCPMSS,xt_REDIRECT,xt_LOG,xt_CT,iptable_mangle,iptable_filter,ip_tables,ip6t_REJECT,ip6table_mangle,ip6table_filter,ip6_tables
xt_CT 2400 0
xt_LOG 736 0
xt_REDIRECT 672 0
xt_TCPMSS 2464 2
xt_comment 448129
xt_conntrack 2176 16
xt_limit 960 20
xt_mac 608 0
xt_mark 640 0
xt_multiport 1152 0
xt_nat 1152 0
xt_state 672 0
xt_tcpudp 1632 10
xt_time 1568 0
Missing entries in /etc/modules-boot.d/
or /etc/modules.d/
perhaps?
When rebooting, I didn't see the log errors.
I don't have kmod-ata-core so can't poke into it, but it might be that libata
is the "real" name of what it supplies.
I believe so, libata appears to be contained within kmod-ata-core.
Should the drive appear at /dev/hdX, though???
I've never booted an OpenWRT box with an ATA device. Since it is running a Linux kernel, I'd expect to see the driver load, much as I do on an x86 system (this happens to be Ubuntu booting on a relatively recent motherboard):
[ 0.911961] ahci 0000:00:17.0: AHCI 0001.0301 32 slots 6 ports 6 Gbps 0x3f impl SATA mode
[ 0.911964] ahci 0000:00:17.0: flags: 64bit ncq sntf pm led clo only pio slum part ems deso sadm sds apst
[ 0.972564] scsi host0: ahci
[ 0.972744] scsi host1: ahci
[ 0.972922] scsi host2: ahci
[ 0.973081] scsi host3: ahci
[ 0.973222] scsi host4: ahci
[ 0.973344] scsi host5: ahci
[ 0.973370] ata1: SATA max UDMA/133 abar m2048@0xf724b000 port 0xf724b100 irq 123
[ 0.973374] ata2: SATA max UDMA/133 abar m2048@0xf724b000 port 0xf724b180 irq 123
[ 0.973376] ata3: SATA max UDMA/133 abar m2048@0xf724b000 port 0xf724b200 irq 123
[ 0.973377] ata4: SATA max UDMA/133 abar m2048@0xf724b000 port 0xf724b280 irq 123
[ 0.973381] ata5: SATA max UDMA/133 abar m2048@0xf724b000 port 0xf724b300 irq 123
[ 0.973383] ata6: SATA max UDMA/133 abar m2048@0xf724b000 port 0xf724b380 irq 123
When I boot up the machine:
Mon Mar 19 02:00:21 2018 kern.notice kernel: [ 55.983381] SCSI subsystem initialized
Mon Mar 19 02:00:21 2018 kern.debug kernel: [ 56.180692] libata version 3.00 loaded.
libata doesn't load unless kmod-ata-ixp4xx-cf is installed. After I install the kmod and reboot, I see the above lines.
Hmm, I'd expect the driver to then look for things to, well, drive. The dmesg
excerpt above is the driver doing just that, enumerating the potential places that physical drives could be attached. Are you seeing anything like that?
Nothing at all.
The CPU isn't going to be directly connected to the ATA controller. It is likely on the PCI bus (which seems to be working if you have wifi), but could be some other sort of "southbridge" that also needs a driver. If you use tools like lspci is anything looking like an ATA controller found?
root@LEDE:~# lspci
00:0f.0 Ethernet controller: Qualcomm Atheros AR5212/5213/2414 Wireless Network Adapter (rev 01)
I thought the same thing...but I only see the WiFi card I added.
I found this on the serial port...
PCI GPIO 0.1.2.6 CF-IDE GPIO 12 configured.
Any ideas?
EDIT: I attempted to install luci-app-mmc-over-gpio:
Installing luci-app-mmc-over-gpio (git-18.098.72829-575e327-1) to root...
Downloading http://downloads.lede-project.org/releases/17.01.4/packages/armeb_xscale/luci/luci-app-mmc-over-gpio_git-18.098.72829-575e327-1_all.ipk
And this:
Collected errors:
* satisfy_dependencies_for: Cannot satisfy the following dependencies for luci-app-mmc-over-gpio:
* kmod-mmc-over-gpio *
* opkg_install_cmd: Cannot install package luci-app-mmc-over-gpio.
There's no package: kmod-mmc-over-gpio ...yet there's packages that depend on it...?