Tiny Core Linux
Tiny Core Base => Raspberry Pi => Topic started by: ZeroG on May 29, 2017, 12:54:19 PM
-
I'm new to picore, so I may have made a mistake anywhere, anyway, I can't connect to wifi on my raspberry pi zero W, I have an issue when loading module. It works as expected under raspbian.
My onboot.lst (for armv6 9.0, almost the same for armv7 9.0 except for the wireless tcz version):
---
openssh.tcz
wireless_tools.tcz
firmware-rpi3-wireless.tcz
wireless-4.9.22-piCore.tcz
wpa_supplicant.tcz
---
When I start wpa_supplicant in my bootlocal.sh with :
wpa_supplicant -B -c/etc/wpa_supplicant/wpa_supplicant.conf -iwlan0
I get :
Successfully initialized wpa_supplicant
nl80211: 'nl80211' generic netlink not found
Failed to initialize driver 'nl80211'
In my syslog, I keep having the following line :
Jan 1 00:00:19 box user.warn kernel: [ 19.877097] cfg80211: disagrees about version of symbol module_layout
Any idea ?
-
Try loading the firmware first. Otherwise rmmod the module and then modprobe it again.
-
I missed something, when I tried to modprobe my module, it's not found even if I do have the modules in the onboot.lst file :
wireless-4.9.22-piCore.tcz (module file in the tcz as /usr/local/lib/modules/4.9.22-piCore/kernel/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko)
When I do :
modprobe brcmfmac
I get :
modprobe: module brcmfmac not found in modules.dep
Is there something special to do with modules tcz to register them other than in the onboot.lst ?
It seems to be mounted
$ mount
/mnt/mmcblk0p2/tce/optional/wireless-4.9.22-piCore.tcz on /tmp/tcloop/wireless-4.9.22-piCore type squashfs (ro,relatime)
-
To myself
I had an issue resulting from my tests between the armv6l and armv7l versions, fixed now (my kernel.tclocal symlink was pointing to nothing)
now when I modprobe brcmfmac.ko, I get :
modprobe: can't load module cfg80211 (kernel.tclocal/net/wireless/cfg80211.ko): invalid module format
I'll continue my investigations
-
@ZeroG
I will check moduels and symlink, thanks for reporting.
-
@bmarkus
- using the armv6 version and wireless-4.9.22-piCore.tcz
kernel.tclocal points to :
kernel.tclocal -> /usr/local/lib/modules/4.9.22-piCore-v7/kernel
(is it normal to have v7 in it ?)
I cannot modprobe my module
modprobe: module brcmfmac not found in modules.dep
- using the armv7 version and wireless-4.9.22-piCore-v7.tcz
kernel.tclocal points to :
kernel.tclocal -> /usr/local/lib/modules/4.9.22-piCore-v7/kernel
And I can modprobe my module, but i have an issue with its dependency
modprobe: can't load module cfg80211 (kernel.tclocal/net/wireless/cfg80211.ko): invalid module format
-
It is a bug in the 9.0 armv6. I will fix it in 9.0.1 in few days.
-
@bmarkus
Regarding the armv7 version piCore 9.0 image, the kernel is not built for armv7, it's armv6
Trying on any of the base modules, I get :
modinfo /lib/modules/4.9.22-piCore/kernel/drivers/i2c/busses/i2c-bcm2835.ko -F vermagic
4.9.22-piCore mod_unload modversions ARMv6 p2v8
whereas the wireless-4.9.22-piCore-v7.tcz is indeed built for armv7
modinfo ./squashfs-root-v7/usr/local/lib/modules/4.9.22-piCore-v7/kernel/net/wireless/cfg80211.ko -F vermagic
4.9.22-piCore-v7 SMP mod_unload modversions ARMv7 p2v8
That's why I always have in syslog the fillowing when trying to load any module from wireless-4.9.22-piCore-v7.tcz
cfg80211: disagrees about version of symbol module_layout
Will wait for 9.0.1 to be rebuilt :)
-
Well both released files are the same, that explains the armv6 only kernel in my previous post :
md5sum piCore*.zip
69bfb57427025da8caad4fc859a40464 piCore-9.0.zip
69bfb57427025da8caad4fc859a40464 piCore-9.0-v7.zip
files downloaded from http://tinycorelinux.net/9.x/armv6/releases/RPi/piCore-9.0.zip and http://tinycorelinux.net/9.x/armv7/releases/RPi/piCore-9.0.zip
-
I think I have the same issue with piCore 9.0, a Tenda usb wireless adapter and a Pi 1 B computer. The issue is that the modprobe command could not find the necessary driver, rt2800usb, in /lib/modules/4.9.22-piCore/modules.dep. Note: wireless worked flawlessly under piCore 8.0.
I found that the symbolic link kernel.tclocal in /lib/modules/4.9.22-piCore was pointing to /usr/local/lib/modules/4.9.22-piCore-v7/kernel. The link should point to usr/local/lib/modules/4.9.22-piCore/kernel instead for a Pi 1 B computer. After changing the link, running depmod to regenerate modules.dep, I could run modprobe. It now loads the required firmware and linux drivers and wireless now works in piCore 9.0 on my Pi 1 B.
Question: How does the software determine which hardware it is running on for that symbolic link?