使用的是 mt7621a+mt7603e
开机后wifi不能使用, 查了之后wifi时默认关闭的,但是手动配置打不开,以下是开机和操作情况
1. 开机后/sys/class/ieee80211/phy0/macaddress 内容是 ff:ff:ff:ff:ff:ff
后面手动修改为: 96:dc:71:16:5d:f9(板子给br-lan随机分配的ip)
2. 将 /etc/config/wireless 里面的 “option disabled 1 ”一行去除,
执行 #wifi, 发现wlan0有那么一瞬间出现一个修改了mac地址的配置(log有),随后就消失了(不再出现)
3. 如果修改 openwrt/package/kernel/mac80211/files/lib/wifi/mac80211.sh 下面一行
set wireless.radio${devidx}.disabled=0 //原来为1
开机后wlan0就移植没出现情况和原来2一样
我尝试了一些配置,都没能让wifi工作起来,不知道问题出现在哪,麻烦熟悉的人看下,是什么情况,谢谢!!!
附件是log和wireless&network配置
https://whycan.cn/files/members/1485/log_config.zip
最近编辑记录 qrt_room (2019-04-03 16:06:30)
离线
根据此地址wiki使用闭源驱动即可解决 https://github.com/Nossiac/mtk-openwrt-feeds
下载了该网址编译好的驱动 mt7603-for-mt7621-linux-4.4.108.ko, 但是装不了
root@OpenWrt:/lib/modules/4.14.108# rmmod mt7603e.ko
root@OpenWrt:/# insmod mt7603_1.ko
[ 214.356261] mt7603: Unknown symbol __vfs_read (err 0)
[ 214.366519] mt7603: Unknown symbol mips_dma_alloc_coherent (err 0)
[ 214.378964] mt7603: Unknown symbol __vfs_write (err 0)
[ 214.389297] mt7603: Unknown symbol mips_dma_free_coherent (err 0)
[ 214.401740] mt7603: Unknown symbol __dma_sync (err 0)
failed to insert mt7603_1.ko
ps: mt7603_1是改名后的mt7603-for-mt7621-linux-4.4.108.ko
离线
qrt_room 说:Freeboy 说:根据此地址wiki使用闭源驱动即可解决 https://github.com/Nossiac/mtk-openwrt-feeds
下载了该网址编译好的驱动 mt7603-for-mt7621-linux-4.4.108.ko, 但是装不了
root@OpenWrt:/lib/modules/4.14.108# rmmod mt7603e.ko
root@OpenWrt:/# insmod mt7603_1.ko
[ 214.356261] mt7603: Unknown symbol __vfs_read (err 0)
[ 214.366519] mt7603: Unknown symbol mips_dma_alloc_coherent (err 0)
[ 214.378964] mt7603: Unknown symbol __vfs_write (err 0)
[ 214.389297] mt7603: Unknown symbol mips_dma_free_coherent (err 0)
[ 214.401740] mt7603: Unknown symbol __dma_sync (err 0)
failed to insert mt7603_1.kops: mt7603_1是改名后的mt7603-for-mt7621-linux-4.4.108.ko
你的Linux版本是 4.4.108 ?
恩,内核里面生成的文件夹都是这个版本号,看了dl里面内核的包,也是这个4.4.108: linux-4.14.108.tar.xz
root@OpenWrt:/lib/modules/4.14.108# rmmod mt7603e.ko
离线
感觉应该是内核有个 CONFIG 没有打开,打开重新编译一下就好了。
恩,我试着找下,谢谢
离线
多谢提供
离线
我按
https://github.com/Nossiac/mtk-openwrt-feeds
https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=313703
配置后了,开机后出现out of memory问题:
[ 27.055149] Out of memory: Kill process 909 (netifd) score 28 or sacrifice child
[ 27.069901] Killed process 909 (netifd) total-vm:1636kB, anon-rss:48kB, file-rss:688kB, shmem-rss:0kB
[ 27.073860] device eth0.1 entered promiscuous mode
[ 27.097860] device eth0 entered promiscuous mode
[ 27.110625] oom_reaper: reaped process 909 (netifd), now anon-rss:0kB, file-rss:0kB, shmem-rss:0kB
[ 27.151632] sh invoked oom-killer: gfp_mask=0x14200ca(GFP_HIGHUSER_MOVABLE), nodemask=(null), order=0, oom_score_adj=0
[ 27.173236] CPU: 3 PID: 1023 Comm: sh Not tainted 4.14.109 #0
[ 27.184669] Stack : 00000000 0000001d 00000040 80074038 80630000 805d0d94 00000000 00000000
[ 27.201317] 8058fa24 808f7b6c 81b689bc 8060ed07 8058a8c8 00000001 808f7b10 5326168c
[ 27.217963] 00000000 00000000 80850000 00004538 00000000 000000ec 00000007 00000000
[ 27.234607] 00000000 80610000 0002a4b4 00000000 80000000 00000000 80630000 8059499c
[ 27.251252] 0000001c 00200000 ffffffff 0000001d 00000000 802a2710 0000000c 8085000c
[ 27.267898] ...
[ 27.272760] Call Trace:
root@OpenWrt:/# cat /proc/meminfo
MemTotal: 25524 kB
MemFree: 9556 kB
MemAvailable: 15492 kB
Buffers: 0 kB
Cached: 8396 kB
SwapCached: 0 kB
Active: 2376 kB
Inactive: 6648 kB
Active(anon): 652 kB
ps: 才25M,我硬件是256M的。有效内存貌似还有很多
请问如何把 mem改大?这个out of mem的问题怎么处理?
代码是github上拉的最新代码: https://git.openwrt.org/openwrt/openwrt.git master主分支
以下是log
https://whycan.cn/files/members/1485/minicom_outofmem_cap.zip
最近编辑记录 qrt_room (2019-04-09 11:44:20)
离线
uboot中内存没识别对,导致传递错误,推荐使用breed。
看uboot部分的log,貌似有识别到256MB
U-Boot 1.1.3 (Jan 25 2019 - 10:44:22)
Board: Ralink APSoC DRAM: 256 MB
relocate_code Pointer at: 8ff98000
离线
linux 的 boorargs 是怎样的,贴出来看下,我记得.bootargs 可以传递内存大小
log里面没有打印出来,知道kernel里面的位置吗?我打印下
离线
qrt_room 说:smartcar 说:linux 的 boorargs 是怎样的,贴出来看下,我记得.bootargs 可以传递内存大小
log里面没有打印出来,知道kernel里面的位置吗?我打印下
这一行
Kernel command line: console=ttyS0,115200 .....
log里面由打印出来,没有传递内存的参数 ...
[ 0.000000] Kernel command line: console=ttyS0,57600 rootfstype=squashfs,jffs2
离线
那你看下这个参数是不是 u-boot 传递过来的,
如果是 修改 u-boot 的 bootargs, 在后面加 mem=256M参考这个:
https://www.cnblogs.com/cornflower/archive/2010/03/27/1698279.html
好的,THX
离线
发现我板子的uboot传给kernel环境参数的方式和OpenWrt接收的不是同一种,所以OpenWrt并没有收到uboot的参数
log里面的command line参数是OpenWrt自行设置的
我现在修改了kernel的menuconfig(加个mem=256M),如下
make kernel_menuconfig
Kernel hacking --->
(rootfstype=squashfs,jffs2 mem=256M) Default kernel command string
对应.config的CONFIG_CMDLINE="rootfstype=squashfs,jffs2 mem=256M"
开机有效(不在报out of memory):
root@OpenWrt:/# cat /proc/meminfo
MemTotal: 252936 kB
MemFree: 225064 kB
MemAvailable: 205264 kB
ps: 附件是uboot的开机传参的代码,有兴趣的可以看下
https://whycan.cn/files/members/1485/mips_linux_c_20190409-1632.zip
最近编辑记录 qrt_room (2019-04-09 16:33:23)
离线
多亏你们帮忙,不过wifi还是不行,尴尬
root@OpenWrt:/lib/modules/4.14.109# insmod mt7603.ko
[ 215.362292] register mt7603e
root@OpenWrt:/lib/modules/4.14.109#
正常注册,但是"ifconfig -a",没有出现相关的网络设备
离线
modprobe mt7603
modprobe mt7612
ifconfig ra0 up
ifconfig apclii0 up
brctl addif br-lan ra0
brctl addif br-lan apclii0
执行一下试试
执行了insmod再执行modprobe,会提示已加载,单独只使用modprobe, 也是没有看到设备
root@OpenWrt:/lib/modules/4.14.109# insmod mt7603.ko
[ 91.722909] mt7603: module license 'MediaTek' taints kernel.
[ 91.734257] Disabling lock debugging due to kernel taint
[ 91.790926] register mt7603e
root@OpenWrt:/lib/modules/4.14.109#
root@OpenWrt:/lib/modules/4.14.109# modprobe mt7603.ko
mt7603 is already loaded
最近编辑记录 qrt_room (2019-04-09 19:59:49)
离线
看一下驱动是否与内核版本相同 http://nossiac.com/download/mtk-wifi-ko/
对比了内核和下载的文件,确实不一样。不过可能是对下载的包做了处理吧,感觉
user@local /G $ md5sum mt7603.ko
d2460b2adc15d5d17ad4b46013c86bff mt7603.ko
user@local /G $ md5sum mt7603-for-mt7621-linux-4.14.109.ko
81f8715651c7c7a11ea759c165866cf6 mt7603-for-mt7621-linux-4.14.109.ko
看文件也是下载下来:
PKG_URLS:=http://nossiac.com/download/mtk-wifi-ko \
http://119.23.148.191:8888/mtk-wifi-ko
...
PKG_KO:=$(PKG_NAME)-for-$(CONFIG_TARGET_SUBTARGET)-linux-$(LINUX_VERSION).ko
...
define Build/Compile
for PKG_URL in $(PKG_URLS); do \
wget $$$${PKG_URL}/$(PKG_KO) \
-O $(PKG_BUILD_DIR)/$(PKG_KO); \
if [ "$$$$?" != "0" ]; then continue; else break; fi \
done
endef
...
用这个下载下来的驱动(mt7603-for-mt7621-linux-4.14.109.ko)丢到内核,insmod。还是一样的情况,会出现一下两句
[ 91.722909] mt7603: module license 'MediaTek' taints kernel.
[ 91.734257] Disabling lock debugging due to kernel taint
离线
我现在用openwrt 分支lede-17.01的代码 ,将内核回退倒112版本
不会出现(也没其他报错):
[ 91.722909] mt7603: module license 'MediaTek' taints kernel.
[ 91.734257] Disabling lock debugging due to kernel taint
就显示:
register mt7603e
不知道是不是自己的kernel_menuconfig 配的不对,有没有人能提供下mt7603能跑的板子kernel下面的.config文件参考一下
离线